2010-10-09 | #1 (permalink) |
论坛管理员
注册日期: 2009-06-30
帖子: 861
|
金笛短信组件产品说明书
金笛短信组件产品说明书
一、简介 短信猫是利用工业手机终端(以下简称短信猫)作为短信的收发中心,通过专用数据线连接短信猫和短信应用服务器,应用点到点的传送方式,实现多用户的短信接收和发送功能,便于进行低成本的信息实时发布和查询。所有短信数据发射接收均可由企事业自身完成,不用将敏感的商业数据(如库存、会议\活动通知、客户的手机号\电子邮件地址等)传送给第三方短信服务商(SP)发送,无需和Internet网络保持连接,可最大限度地确保短信数据的安全。 短信猫提供众多程序设计语言和开发工具的应用程序开发接口(API),客户可以根据需要灵活方便地进行二次开发,快速构建企事业单位的无线短信中心服务系统,或者集成到OA、CRM、PDM、ERP、MIS等信息化系统及协同应用系统、邮件系统中,将这些系统的信息即时传递到每个员工、合作伙伴及客户的手机上。 二、功能特点 1、 连接短信猫及发送短信支持阻塞及无阻塞模式:阻塞模式就是调用时直到操作完成才返回,而无阻塞模式调用后马上返回,后台执行具体的操作,完成后以事件的方式通知操作的实际结果; 2、 工作于无阻塞模式时发送短信支持队列和优先级机制:队列支持在很短的时间内可以任意调用发送请求,而优先级类似于操作系统提供的线程优先级、发送队列中有很多短信等待发送时优先发送级别高的短信,同优先级的首先发送先进入队列的短信,而定时发送短信功能需求可在指定时间采用阻塞模式发送来实现(阻塞模式发送就是意味着发送优先级最高),特别地,对于无阻塞模式发送短信,当发送失败时可以根据指定次数再次自动尝试发送; 3、 发送内容长度不限,中文超过70个字符或英文超过140个字符的短信将自动拆分成多条发送,并自动加入拆分短信的序号如(1/3),而且针对每条拆分的短信提供发送结果的事件通知; 4、 最多可支持128个短信猫同时并行联机工作,并自动实现负载平衡,每个组件的实例对应操作一个短信猫设备,完全可以满足短信收发业务量大的情况; 5、 支持群发短信,调用一次可以为多个号码发送相同内容的短信,并提供对每个发送目标号码提供状态结果的事件通知; 6、 支持短信署名,在每条发送的短信前自动加入姓名、电话号码或公司名称,有力增加发送短信的亲和力; 7、 支持发送短信的状态报告,同时支持中英文短信的发送; 8、 支持设置短信猫仅工作于接收模式,使其专用于大量查询业务请求的情况,当工作于此模式的短信猫收到发送请求时会自动将此请求转给工作于可发送的短信猫来执行,有效提高查询业务反馈的速度; 9、 支持发送普通文字短信、闪烁短信、WAP PUSH、免提短信等,需要说明的是不是所有的手机都支持闪烁短信等,一般诺基亚的手机基本都支持闪烁; 10、 支持连接、接收、发送等操作的日志记录,支持启动时是否自动发送上次退出后未发送成功短信的选项; 11、 提供SIM卡相关的接收新短信、存储空间已满、帐户余额不足等事件通知,有效掌握短信猫的服务状态; 12、 支持短信猫接收到来电时的事件通知,并实现了呼叫转移(需要相应的SIM卡支持),以防来电时可能干扰正常的短信服务; 13、 支持获得短信猫当前的工作状态及信号强度,支持设置/获取其系统时间、操作短信猫及SIM卡中的电话薄等; 14、 连接计算机采用工业标准的RS232串口或USB接口; 15、 支持标准的工业短信猫如索尼/爱立信GM29、WAVECOM、SIEMENS等公司的产品。 三、应用范围 短信猫适用于以下范围: l 企事业单位信息发布的通道 由于短信猫具有操作简单、实时性强、支持群发、使用价格便宜等特点,在有效的保证信息发布的时效和便捷的同时,能够大幅度降低信息发布的成本。充分利用短信猫,能够把最新、最及时的各种信息发布到公司员工、合作伙伴和客户的手机上,从而有效的提高公司的运作效率,提高客户的满意度,在激烈的竞争中占据主动地位。 l 企事业单位信息查询的通道 短信猫同时支持上行短信。利用这个功能,可以为员工提供信息查询的通道,例如查询相关产品的规格、最新的价格、库存情况、联系人信息等等;可以为客户提供查询服务和支持的通道,例如便于客户获取产品的详细信息及报价、产品的真伪、订单的状态等等。 l 适合没有申请移动公司的短信通道的企业采用 由于移动运营商短信通道的申请成本和使用成本都非常高,而且申请和取消通道的过程都非常麻烦,对申请的企事业也有很多限制,不适合于绝大多数企事业采用,而短信猫则无须申请即可实现企事业的短信服务中心,同时还提供更灵活的选择,即可以根据自身的需要随时开通和取消。 l 适合强调网络、应用和信息安全的企事业单位使用 由于短信猫根本不需要与互联网连接,只需要连接到一台完全独立的专用服务器或者是公司内部网上的服务器,能够做到从物理上保证网络和应用的安全,最大程度地保证企业的信息安全。 l 适合于不具有专业IT人员的公司使用 短信猫能够与现有应用完全无缝集成,无需专业人员来维护,能够让企事业最方便地完成与所有人的通讯工作;同时短信猫还支持无人职守功能,能够极大的减轻员工的劳动强度,降低公司的人力成本,提高公司的整体工作效率。 四、应用行业 无论各行各业,都可以通过短信猫进行快速有效的信息传递。 1. 证券营业部、证券经纪可以用来: Ø 发送股评、即时行情等; Ø 发送公告信息、通知等; Ø 发送资金异动信息。 2. 大型企业、事业单位、政府机关可以用来 Ø 发送内部事务通知,任务、工资条、业务变更等; Ø 发送业务办理结果通知; Ø 与本单位业务人员、出差人员联系; Ø 与各地经销商、重点客户联系,发布产品信息及新品通告; Ø 发送行业特定信息,如水费、周费、年检通知、税费等。 3. 商场、超市、专卖店可以用来: Ø 作商业活动广告、新品宣传、打折及联谊活动通告; Ø 向客户和会员发送特价、打折、促销等各种活动信息; Ø 供货商、商场、超市企业内部联系。 4. 保险公司可以用来: Ø 保费摧缴、结算通知等; Ø 业务员联系; Ø 发送新业务通告、保费调整等信息。 5. 广告公司、其它媒体可以用来: Ø 发送广告报价,广告播出/刊出通知; Ø 代理客户短消息广告。 6. 旅行社可以用来: Ø 发布旅游线路信息、报价等广告; Ø 发布各种通知和注意事项给客户; Ø 与外地或工作中的导游联系。 7. 销票中心、汽车站、火车站、飞机场 Ø 对重点、固定客源(如旅行社、外贸公司、各定点定票单位等)公布票务及相关情况(如高速公路情况、火车临时加快列车及晚点情况、飞机增加航班及天气原因延时开航等); Ø 企业内部联系(如长途汽车司机、列车长相互联络)。 8. 大中小学校可以用来: Ø 教师与行政人员等之间的联系; Ø 学校、班主任与家长直接的联系。 9. 需要向公众或内部人员大量传送信息的各行各业; ……
__________________
让世界倾听我们的笛声 |
2010-10-09 | #2 (permalink) |
论坛管理员
注册日期: 2009-06-30
帖子: 861
|
金笛短信组件开发接口说明
金笛短信组件开发接口说明
概述:短信组件接口为COM组件形式,可以工作在Window 98/Me/NT4/2000/ XP/2003等各种版本的Windows操作系统中,可以直接在VB6、VC6、Delphi、.NET(VC.NET、C#、VB.NET、J#)、Lotus Notes、Exchange Server、VJ6、C++ Builder、PowerBuilder、VBScript、JavaScript、JScript等开发语言和环境中调用。 一、 COM组件接口描述(适用于VB、VBScript、JavaScript、LotusScript等) 1、 属性 1.1 ReadAutoDelete As Boolean 读取短信(执行ReadSimMsg操作)后是否自动删除SIM卡中的记录标志,读写,系统缺省为False 注:如果没有说明在什么情况下可调用,那就意味着任何时候都可调用,下同 1.2 CommunicationPara As EMobileCommPara 通讯参数如波特率、数据位、停止位等,只读 EMobileCommPara定义如下: COMM_BAUDRATE2400=0,数字2400表示波特率 COMM_BAUDRATE4800=1 COMM_BAUDRATE9600=2,9600,n,8,1:9600波特率、无校验位、8位数据位、1位停止位;此值最常用,系统缺省 COMM_BAUDRATE19200=3 COMM_BAUDRATE38400=4 COMM_BAUDRATE57600=5 COMM_BAUDRATE115200=6 1.3 CommunictionPort As EMobileCommPort 通讯端口,只读,EMobileCommPort定义如下: INVALID_COMMPORT=0 //无效端口,系统缺省 COM1_COMMPORT=1 //对应COM1端口 COM2_COMMPORT=2 //对应COM2端口 …… COM32_COMMPORT=32 //对应COM32端口 通过驱动可将红外或USB口虚拟成串口,但通过红外收发速度较低,计算机缺省只提供几个串口,但可通过串口扩充卡实现更多串口。 1.4 EnableLoadSend As Boolean 连接短信猫后是否自动发送上次退出时未发送短信的标记,读写,系统缺省为False,注意:仅在连接短信猫前设置有效,只需要设置一次即可,不需要每次连接前设置一次,针对多个短信猫并联时同时有效 1.5 EnableLog As Boolean 是否启用日志标记,系统缺省为False,读写 日志将自动记录短信猫的相关操作,有效掌握其工作状态 1.6 EncodeMode As EMobileSendEncode 发送短信编码方式,读写。EMobileSendEncode定义如下 PDU_SENDENCODE=1,最常用,基本上手机都支持,系统缺省 TEXT_SENDENCODE=2,某些手机不支持,不推荐使用 UNICODE_SENDENCODE=4,通过CDMA短信猫发送时采用,为组件将来升级预留 ENCRYPT_SENDENCODE=128此方式可与前面的几种联合使用,为本公司其它产品而预留,OEM开发商不能使用 在发送短信前设置有效 1.7 ModemVersion As Variant 短信猫唯一序列号,只读,连接短信猫成功后调用有效 1.8 ModemModel As Variant 短信猫型号,只读,连接短信猫成功后调用有效 1.9 ModemName As Variant 短信猫名称,只读,连接短信猫成功后调用有效 1.10 ModemStatus As EMobileModemStatus 短信猫状态,只读。EMobileModemStatus定义如下: UNINIT_STATUS=0 //没有初始化 OPENING_STATUS=1 //正在打开,为无阻塞模式连接时返回的状态 OK_STATUS=2 //正常状态,可以执行收发短信等操作 OTHERUSED_STATUS=3 //已经被打开使用,不能再打开 SENDBUSY_STATUS=4 //正在发送短信 RECBUSY_STATUS=5 //正在接收短信 OTHERBUSY_STATUS=6 //设备忙,正在执行其它操作 ONREST_STATUS=7 //出于休息期,短信猫收发一定数量的短信后需要休息一定时间 1.11 ModemTime As Date 短信猫系统时间,读写,连接短信猫成功后调用有效 1.12 EnableSendFunction As Boolean 短信猫是否启用发送标志,读写。缺省为真,设为假将只接收短信,用于大量查询业务情况以有效提高查询反馈速度。 1.13 ModemVersion As Variant 短信猫版本,连接短信猫成功后有效 1.14 ModemType As EMobileModemType 短信猫类型,读,对于标准的短信猫不用设置,内部会自动判别,连接短信猫前设置有效 EMobileModemType定义如下: UNKNOWN_MODEMTYPE=0, //不确定的类型 WAVECOM_GSM_MODEMTYPE=1, //WAVECOM公司产品 SONYERICSSON_GSM_MODEMTYPE=2,//索尼/爱立信产品,系统缺省 NOKIA_GSM_MODEMTYPE=3, //诺基亚公司产品 SIEMENS_GSM_MODEMTYPE=4, //西门子公司产品 CDMA_MODEMTYPE=5, //CDMA猫 GPRS_MODEMTYPE=11 //GPRS 1.15 SimTelCode As Variant 短信猫中插入的SIM卡对应的电话号码,需要首先写入才可读取,设置手机号码可以更好的发送短信,有超过一个短信猫同时工作时推荐分别采用一个移动和联通的SIM卡,系统可以根据此号码分类发送到移动和联通网络的手机,这样可以避免短信互通时可能出现的故障,读写 1.16 Timeouts As Integer 操作(比如执行读取短信猫IMEI、型号、名称等)超时时间,以秒为单位,系统缺省为15秒,不能低于5秒,设置后对以后的操作有效,读写 1.17 WorkMode As EMobileWorkMode 短信猫工作模式,读写。EMobileWorkMode定义如下: SYNCHRONOUS_WORKMODE=1 //阻塞模式(同步) ASYNCHRONOUS_WORKMODE=2 //无阻塞模式(异步) 系统缺省为阻塞模式,以上两种模式互斥使用,连接短信猫前设置对连接操作有效,连接后设置对发送短信操作有效,如果要完成定时发送短信操作可以在发送前改为阻塞模式发送即可实现。 1.18 SendFailedTry As Integer 发送失败时尝试的次数,缺省为6次。读写,只对无阻塞模式发送的短信有效,只需要设置一次即可,不需要每次连接都设置,针对多个短信猫并联时同时有效 1.19 KeepHistoryDay As Integer 发送历史记录缓存的天数,系统缺省为一个月(30天),不能低于一个星期,此值对于日志的保留时间同样有效,读写。只需要设置一次即可,不需要每次连接都设置,针对多个短信猫并联时同时有效 1.20 LogFilePath As Variant 日志及发送缓冲数据保存路径,读写。只需要设置一次即可,组件自动记录到注册表中,针对多个短信猫并联时同时有效。注意,如果设置的路径在NTFS分区下面,而组件在脚本环境中使用,需要设置此目录脚本用户写的权限 1.21 CountryCode As Variant 国别代码,缺省设置了“86”,发送短信时使用。 1.22 ServiceStartTime As Variant 短信猫发送短信的开始时间,如果不设置表示全天都可以发送,格式如下:8/00/00 表示早上8点开始服务 1.23 ServiceEndTime As Variant 短信猫发送短信的结束时间,如果不设置表示全天都可以发送,格式如下:18/00/00 表示晚上6点停止服务 1.24 ModemSignal As Variant 短信猫当前工作的信号强度。返回值为整型(0-31),数字越大,表示信号越强,但如果为99表示无网络服务,将无法完成收发操作,请调整天线位置自动信号强度足够好,连接短信猫成功后有效 2、 方法 2.1 CreateUniqueID () As Variant 生成标识短信的唯一ID号,用于发送短信、查询短信状态及发送短信结果事件通知中 2.2 SetDbInterface (eParaType As EMobileParaType,varDbInfo As Variant) As Boolean 设置短信数据库接口相关参数,EMobileParaType指定varDbInfo具体的类型,定义如下: BSTR_PARATYPE=8, //XML格式字符串类型 DISPATCH_PARATYPE=9, //XML文档接口指针 FILE_PARATYPE=10 //XML文件路径 varDbInfo对应的XML格式描述由其它文档说明,返回是否成功标志,如果设置成功,连接短信猫正常后就将开始定时查询数据库来收发短信 2.3 ConnectModem ( eCommPort As EMobileCommPort, [ eCommPara As EMobileCommPara = COMM_BAUDRATE9600] ) As EMobileModemStatus 给定通讯短信端口连接短信猫,连接参数eCommPara可选,返回短信猫状态,对于无阻塞模式可能返回UNINIT_STATUS(说明根本无法打开端口,可能是指定端口没有连接短信猫或已经被其它软件如超级终端等打开)或OPENING_STATUS(正在打开端口进行初始化工作)状态,OPENING_STATUS为正常状态 2.4 SetSMCA (bstrSMCA As String, [bSimFlag As Boolean = True]) 设置短信服务中心号码,比如移动的北京地区为8613800100500,初始化短信猫时只需要设置一次即可,不需要每次连接都设置,bSimFlag为真表示设置到SIM卡,为假设置到内存,可选参数,缺省为真,设置到SIM卡操作的同时将自动设置到内存中,发送短信用内存中记录的短信服务中心号码,连接短信猫成功后调用有效 2.5 GetSMCA ([bSimFlag As Boolean = False]) 得到短信服务中心号码,bSimFlag为真获取SIM卡中保存的短信中心号码,连接短信猫时自动将SIM卡中的短信服务中心号码设置到内存中,缺省为假,连接短信猫成功后调用有效 2.6 GetCallTransfer ()As Variant 获得呼叫转移设置,连接短信猫成功后调用有效 返回以XML格式描述的转移设置 2.7 SetCallTransfer (varCallTransfer As Variant) As Boolean 设置呼叫转移,需要相应的SIM卡支持,比如中国移动的全球通(我们推荐使用),而中国移动的神州行SIM卡则不支持,返回成功与否标志,连接短信猫成功后调用有效 varCallTransfer:为呼叫转移的XML格式描述文档,我们推荐首先把SIM卡插入普通的手机来设置呼叫转移,然后再插入短信猫中,这样设置同样有效,而且更直接些 2.8 GetPhoneBookCount (eStoragePosition As EMobileStoragePosition, pvUsed As Variant) As Variant 获取指定存储位置电话簙已用及存储空间,EMobileStoragePosition定义如下: SIMCARD_STORAGEPOSITION=1, //SIM卡中的电话簙 MOBILE_STORAGEPOSITION=2, //手机或短信猫电话簙 MSISDN_STORAGEPOSITION=4, //MSISDN,唯一标识 MISSING_STORAGEPOSITION=8, //未接来电 RECEIVEDCALL_STORAGEPOSITION=16, //已接来电 DAILEDCALL_STORAGEPOSITION=32 //已拨电话 pvUsed:标识返回已用数量 方法调用返回总的存储空间数量 连接短信猫成功后调用有效,此方法还未实现 2.9 ReadPhoneBook (eStoragePosition As EMobileStoragePosition, sPosNumber As Integer, pvTelName As Variant) As Variant 读取指定存储位置的电话簙记录 sPosNumber:指定记录位置 pvTelName:返回电话号码对应的名称 方法调用返回电话号码字符串 连接短信猫成功后调用有效,此方法还未实现 2.10 WritePhoneBook (eStoragePosition As EMobileStoragePosition, sPosNumber As Integer, bstrTelName As String, bstrTelNumber As String) As Boolean 写入指定存储位置的电话簙记录 sPosNumber:指定记录位置 bstrTelName:指定记录名称 bstrTelNumber:指定电话号码字符串 方法调用返回成功与否标志 连接短信猫成功后调用有效,此方法还未实现 2.11 AddPhoneBookItem (eStoragePosition As EMobileStoragePosition, bstrTelName As String, bstrTelNumber As String) As Boolean 向指定存储位置电话簙添加新记录 bstrTelName:指定记录名称 bstrTelNumber:指定记录电话号码 方法调用返回是否成功标志 连接短信猫成功后调用有效,此方法还未实现 2.12 DeletePhoneBook (eStoragePosition As EMobileStoragePosition, sPosNumber As Integer) As Boolean 删除指定存储位置的电话记录 sPosNumber:指定记录位置 方法返回是否成功标志 连接短信猫成功后有效,此方法还未实现 2.13 SendMsg (bstrMsgID As String, bstrDestNumber As String, bstrMsgContent As String, SplitCount As Variant, [eMsgType As EMobileMsgType = TEXTSMS_MSGTYPE], [bstrSignName As String], [sSendPriority As Integer = 16], [bStatusReport As Boolean = False], [bEnglish As Boolean = False]) As EmobileMsgStatus 发送单个短信,参数说明: bstrMsgID:消息ID号,由GetMsgID生成 bstrDestNumber:发送目标手机号,请在手机号前加国际代码,如大陆的手机号前要加86 bstrMsgContent:发送内容,发送中文短信超过70个字符或全英文短信超过140个字符的内容将自动拆分发送 SplitCount:返回长短信拆分发送的条数,没有拆分的返回1 eMsgType:发送短信的类别,缺省为普通文字短信,定义如下: TEXTSMS_MSGTYPE=0 //普通文字短信 FLASHSMS_MSGTYPE=1 //闪烁短信,仅部分手机支持 MINGTISMS_MSGTYPE=2 //免提短信,仅部分手机支持 EMS_MSGTYPE=3 //EMS彩信 MMS_MSGTYPE=4 //MMS多媒体短信 此参数可选,缺省为普通文字短信 bstrSignName:短信署名,比如您发送“祝您生日快乐!”的内容,署名为小张,则对方收到的短信显示为“[小张]:祝您生日快乐!”,此参数可选,缺省不采用署名 sSendPriority:发送优先级,类似于线程优先级,从1到32,数值大的优先发送,用于无阻塞模式发送短信;此外,阻塞模式此参数无效,优先级始终最高;此参数可选,缺省16 bStatusReport:是否需要状态报告,如报告是否成功发送,运营商短信中心是否成功传递,但需要等待更多的时间才能完成发送操作,此参数可选,缺省不需要状态报告 bEnglish:是否发送纯英文的短信,一条纯英文短信一次可以发送140个字符,此参数可选,缺省为非英文,发送非英文短信的话接收方手机必须支持相应的语言才能浏览短信内容,否则显示乱码 此方法返回短信发送状态,在发送前设置工作模式为ASYNCHRONOUS_WORKMODE,则执行无阻塞模式短信发送,调用立即返回,后台进行发送操作,发送结果以事件的形式通知,否则执行阻塞模式发送,直到完成发送操作才返回,推荐采用无阻塞模式发送,因为正常情况发送一条短信需要3秒左右的时间,连接短信猫成功后调用有效,对于阻塞模式群发或发送有拆分情况的短信,返回最后一条短信的发送状态,其它短信的发送状态由事件的形式通知。 返回值EMobileMsgStatus定义如下: UNKNOWN_MSGSTATUS=0, //未知状态 WAITSEND_MSGSTATUS=1, //添加到发送队列中等待发送 SENDING_MSGSTATUS=2, //正在发送 TIMESOUT_MSGSTATUS=3, //发送超时 PARTSENDOK_MSGSTATUS=4, //部分发送成功 SENTOK_MSGSTATUS=5, //发送成功 RECEIVED_MSGSTATUS=6, //已经收到 RETURNCONFIG_MSGSTATUS=7, //回复确认 STOPSEND_MSGSTATUS=11, //被停止发送 FAILED_MSGSTATUS=12, //发送失败 FAILEDOVER_MSGSTATUS=13, //指定次数都发送失败 PARAERR_MSGSTATUS=14, //参数错误导致发送失败 2.14 SendGroupMsg (bstrMsgID As String, arrDestNumber As Variant, bstrMsgContent As String, [bstrSignName As String], [sSendPriority As Integer = 16], [bStatusReport As Boolean = False], [bEnglish As Boolean = False]) As Variant 群发短信,参数与SendMsg类似,但 arrDestNumber:为发送目标手机号数组,可以是以分号“;”分割的字符串(VT_BSTR),如:8613911713597;8613601146927,或者是字符串数组(VT_ARRAY | VT_BSTR),也可以是变体型数组(VT_ARRAY | VT_VARIANT),请参考调用范例的使用方法 返回值为长短信拆分发送的条数,没有拆分的返回1 而且仅支持发送普通文字短信,连接短信猫成功后调用有效 2.15 GetSimMsgCount (pvUsed As Variant) As Variant 读取SIM卡中短信数量,pvUsed为已经使用的,调用方法返回SIM卡整个存储空间大小,连接短信猫成功后调用有效 2.16 GetWaitSend ([bAllFlag As Boolean = False) As Variant 得到发送队列中等待发送的短信数量,bAllFlag为真表示获取所有端口的等待发送短信数量,为假获取本端口的等待发送短信数量,如果仅获得本端口则连接短信猫成功后调用有效,获取所有短信可以在连接前调用 2.17 GetNewMsgCount (pvPosition As Variant) As Variant 获取新短信保存的位置及数量,主要用于无法捕获组件事件通知的情况,如用于VBScript脚本环境 pvPosition:新短信位置,为字符串,如2;5;8,表示SIM卡2、5、8存储位置为新收到的短信 方法调用返回新短信的数量,如果没有新的返回0。 2.18 ReadSimMsg (sPosIndex As Integer, pvFromNumber As Variant, pvArrivedTime As Variant, pvMsgContent As Variant, pvMsgType As Variant) As Boolean 读取SIM卡中指定位置的短信,参数说明: sPosIndex:指定在SIM卡中的位置序号,从1开始,不能超过总的存储空间数量,需要注意的是在SIM卡中短信的需要不一定是连续的,如1、3位置有短信,2位置可能是空的 pvFromNumber:表示短信来源手机号(如果为草稿箱短信,则为发送目标手机号) pvArrivedTime:表示到达时间(如果为草稿箱短信,时间无效) pvMsgContent:表示短信内容 pvMsgType:表示短信类型 返回读取成功与否标记,连接短信猫成功后调用有效 2.19 DeleteSimMsg (sPosIndex As Integer) As Boolean 删除SIM卡中指定位置的短信,返回删除结果,新收到短信处理完成后推荐及时删除,否则SIM卡满后将无法在接收新的短信,连接短信猫成功后有效 sPosIndex指定删除短信在SIM卡中的保存位置 2.20 ClearSim () As Boolean 清空SIM卡中所有的短信,为接收新短信做准备,比较耗时,返回操作成功与否标记,连接短信猫成功后调用有效 2.21 GetMsgSendStatus (bsrtMsgID As String, bstrDestNumber As String, sSplitIndex As Integer,pvSentCommPort As Variant, pvStatusTime As Variant,pvErrCode As Variant) As EMobileMsgStatus 获得指定短信ID、发送目标手机号及拆分序号的短信发送状态,返回具体执行发送的端口、状态时间、发送失败时的错误码及对应发送状态 bsrtMsgID:指定短信ID bstrDestNumber:指定发送目标号码 sSplitNum:指定拆分短信的序号 pvSentCommPort:执行发送的端口 pvStatusTime:返回其对应状态的时间 pvErrCode:发送失败时的错误码 eMsgStatus:返回其发送状态 说明:在组件内部会自动缓存指定天数的发送记录,超过天数的发送记录会自动清除,清除后的记录将无法再得到状态。 2.22 GetSendCount (bstrMsgID As String, pvSplitCount As Variant, pvSendToCount As Variant) As Variant 获得指定ID短信发送时拆分的条数、发送目标的个数,并返回已经成功发送总的条数 bstrMsgID:指定短信ID pvSplitCount:返回发送时拆分的条数 pvSendToCount:返回发送目标的个数 2.23 GetMsgSendDetail (bstrMsgID As String, eParaType As EMobileParaType , bstrXmlFile As String) As Variant 获得指定短信ID的详细发送记录,返回为XML格式描述的形式 eParaType:指定得到的类型 bstrXmlFile:指定保存到XML文件的路径 2.24 DeleteSendMsg (bsrtMsgID As String) As Boolean 取消并删除消息发送队列及历史记录中指定ID的短信 bsrtMsgID:指定短信ID 调用返回成功与否标志 2.25 DisConnectModem ()As Variant 断开与短信猫的连接,释放相关资源,返回本端口等待发送短信数量,连接短信猫成功后调用有效 2.26 GetLogInfo (sWithinDay As Integer = 7)As Variant 得到指定天数以内的日志信息,为XML格式形式,由其它文档描述,连接短信猫成功后调用表示清除本端口日志信息,连接短信猫前调用表示清除所有端口日志记录 2.27 ClearLogInfo (sPreDay As Integer=7) 清空指定天数以前的日志信息,连接短信猫成功后调用表示清除本端口日志信息,连接短信猫前调用表示清除所有端口日志记录 2.28 GetLastError (pvErrDescription As Variant) As EMobileErrorType pvErrDescription为最近一次操作错误的文字描述信息,并返回错误状态类型eErrorType,EMobileErrorType定义如下: OK_ERRTYPE=0, //正常 PARAINVALID_ERRTYPE=1, //参数无效 NOTSUPPORT_ERRTYPE=2, //还未实现 UNABLELOG_ERRTYPE=3, //没有启用日志功能 UNINIT_ERRTYPE=4, //短信猫还没有初始化 OPENPORTERR_ERRTYPE=5, //打开串口失败,可能是已经被其它工具打开或不存在指定的端口 NONSUPPORTAT_ERRTYPE=6, //连接的设备不支持AT指令 NOSIMCARD_ERRTYPE=7, //短信猫中没有插入SIM卡 NOMEMORY_ERRTYPE=8, //系统内存资源不足 NOTSETSMCA_ERRTYPE=9, //没有设置短信服务中心号码,无法执行发送短信操作 ADDQUEUEERR_ERRTYPE =10, //添加到队列失败,可能是相同ID的短信已经发送过 OVERCOUNT_ERRTYPE =11, //因为没有正确授权使用,连接一次最多发送18条短信 TIMEOUTS_ERRTYPE=12 //操作超时 WRITECOMMERR_ERRTYPE=13 //写通讯端口失败 RECORDNOTEXIST_ERRTYPE=14 //记录不存在 NETWORK_RP_ERRTYPE=30 //网络应答错误 NETWORK_TP_ERRTYPE=31 //网络传输错误 SMS_SERVICE_ERRTYPE=32 //短信服务错误 NOT_SUPPORT_ERRTYPE=33 //请求不支持错误 SMS_PDUPARAMETER_ERRTYPE=34 //PDU参数错误 SIM_NOTINSERTED_ERRTYPE=35 //SIM卡没有插入错误 SIM_PINREQUIRED_ERRTYPE=36 //SIM卡需要输入密码错误 SIM_COMMUNICATION_ERRTYPE=37 //SIM卡通讯错误错误 SEND_MEMORYFAIL_ERRTYPE=38 //内存错误错误 INVALID_INDEX_ERRTYPE=39 //无效索引错误 MEMORY_FULL_ERRTYPE=40 //内存已满错误 NETWORK_SERVICE_ERRTYPE=41 //网络服务错误 NETWORK_TIMEOUT_ERRTYPE=42 //网络超时错误 UNKNOWN_ERRTYPE=60 //未知错误 3、 事件 3.1 ConnectModemResult (eModemStatus As EMobileModemStatus) 连接短信猫结果通知 eModemStatus为连接短信猫后的当前状态 3.2 ModemReceivedMsg (eMsgType As EMobileMsgType, sSimPosition As Integer, bstrFromNumber As String, bstrContent As String, dtSentTime As Date) 短信猫收到消息通知 eMsgType:表示短信类型 sSimPosition:表示短信在SIM卡中的保存位置 bstrFromNumber:表示发信手机号码 bstrContent:表示短信内容 dtSentTime:表示对方发送的时间 3.3 ModemReceivedCall (bstrFromNumber As String) 短信猫收到呼入来电事件通知 bstrFromNumber表示来电号码 3.4 SentMsgStatus (bstrMsgID As String, bstrDestNumber As String, bstrContent As String, sSplitIndex As Integer, eMsgStatus As EMobileMsgStatus, dtStatusTime As Date) 短信猫发送短信结果事件通知,注意:对于阻塞模式群发或发送拆分短信同样有效 bstrMsgID:表示短信ID标识,对应发送短信的ID bstrDestNumber:表示发送目标手机号 bstrContent:发送的短信内容 sSplitIndex:为短信拆分后的序号,发送的短信不需要拆分的话为1,如果拆分,相应会有1、2、3等数字来分别标识拆分的短信状态 eMsgStatus:表示短信发送的最终状态 dtStatusTime:表示此状态对应的时间 3.5 SimCardNoMemory () 短信猫SIM卡存储空间已满通知,如果收到此事件,需要尽快把SIM卡中的短信内容取到其它地方保存或清空,否则将无法再接收新的短信 3.6 SimCardNoMoney () 短信猫中SIM卡余额不足事件通知,但收到此事件通知时短信猫将无法再执行发送短信请求,请及时交费或为SIM卡充值 3.7 ModemException (eExceptionType As EMobileExceptionType) 短信猫异常通知,比如掉电、模块耗损导致无法正常工作等 4、 在脚本语言中调用说明 4.1 VBScript (LotusScript,NOTES开发语言,类似) 用脚本创建对象:CreateObject("XTTSmsCom.ModemService") 或者用HTML中的<OBJECT>标记在网页上创建一个ID为SMSService的对象: <OBJECT classid= clsid:77889F2E-B15C-4482-B7D3-0599EEBFC1E8 id=SMSService></OBJECT> 在VBScript脚本中无法捕获组件事件,所以推荐使用阻塞模式连接及阻塞模式发送,也可以先用可以捕获事件的语言进行再包装后用于此环境中。 4. 2 JavaScript 在网页中用JavaScript来捕获连接短信猫事件演示: 创建名为SMSService的对象 <OBJECT classid="clsid:77889F2E-B15C-4482-B7D3-0599EEBFC1E8" id="SMSService" ></OBJECT> 将事件定向到SMSService _ConnectResult函数 <SCRIPT FOR="SMSService" EVENT= "ConnectModemResult (eModemStatus)"> SMSService _ ConnectModemResult (eModemStatus) </SCRIPT> 连接短信猫事件的处理函数 <SCRIPT> function SMSService _ ConnectModemResult (eModemStatus) { //根据eModemStatus返回值进行相应的处理 } </SCRIPT>
__________________
让世界倾听我们的笛声 |
2010-10-09 | #3 (permalink) |
论坛管理员
注册日期: 2009-06-30
帖子: 861
|
短信猫使用注意事项
短信猫使用注意事项
一、 准备 1、推荐购买一个全球通SIM卡(因为此类卡支持呼叫转移、交费有发票、发送短信资费便宜、网络较稳定等,不支持联通CDMA网络SIM卡)或者短信包月卡,把SIM卡装入普通手机中,设置好短信服务中心号码及呼叫转移(推荐转移到公司的总机),如果没有设置呼叫转移来电时将产生一个事件通知后将自动挂断。 2、将SIM卡插入工业手机模块中,接好天线、串口线(或者USB装串口线),然后接通电源,等短信猫信号指示灯开始闪动时表示其已经开机,并注册GSM网络成功。 二、 注意事项 1、请不要为SIM卡设置密码,否则造成连接短信猫时失败; 2、请不要带电插拔SIM卡、以免发生危险及损坏SIM卡; 3、如果给小灵通发送短信,发送号码规则为106+区号+实际号码。
__________________
让世界倾听我们的笛声 |
2010-10-09 | #4 (permalink) |
论坛管理员
注册日期: 2009-06-30
帖子: 861
|
使用说明
1、先执行本目录下的BAT文件“注册短信COM组件.bat”注册成功短信核心COM组件;
2、CallSmsCom.dsp为Microsoft Visual C++ 6.0的工程文件; 3、CallSmsCom.vcproj为Microsoft Visual Studio 2005工程项目; 4、本目录下的子目录Release有已经编译好的执行程序,可以直接体验短信组件的功能; 5、“短信组件开发接口说明.doc”为开发接口描述,请重点阅读此文档,可以参考VC调用范例中的调用方法; 6、“短信组件产品说明书.doc”为本产品的说明书。 下载地址:http://www.sendsms.cn/download/JinDiSmsCom.rar
__________________
让世界倾听我们的笛声 |