首页>>厂商>>短信平台厂商>>北京春笛

金笛短信服务器简介

2003/11/06

  金笛短信服务器(SMS-SVR)是一款包含GSM-Modem和SMS应用软件及SMS开发接口的企业短信网关。主要结合企业OA系统实现公文通知、邮件到达提醒;用于客户关系管理系统(CRM)实现客户SMS组发、群发;用于售后服务部门或技术支持部门实现客户与工程师的紧密联络。另外,该系统还可以用于银行代理业务:收水、电、煤气、有线电视费通知,代发工资通知等;用于证券实现股价通知等。

  金笛短信服务器提供2种发送手段。如果用户数量在1000人以内,可以通过GSM-Modem实现发送,如果人数在1000人以上,可以通过移动或联通的网关实现发送,还可以通过第三方短信服务商(SP)实现短消息发送。

  金笛短信服务器提供多种形式的短信接入方法,支持用SMTP、HTTP提交数据,实现SMS成批发送,也可以通过数据库提交SMS发送数据。

一、基本说明

  1、 短信网关(SmsGate):互联通的短信网关。用于响应客户端程序的连接请求,接收客户端程序要发送的短信(MT),同时通知短信是否送达(Report)给手机用户,对手机用户上行的短信(MO)转发给客户端。
  2、 MO(Mobile Originate):手机用户发起的短信。
  3、 MT(Mobile Terminated):手机用户接收的短信。
  4、 Report:运营商会将手机用户是否收到短信、包月帐单的情况,返回一个状态报告。
  5、 包月帐单:对于包月信息,在用户订阅关系确认后(72小时),每月发送一次帐单对其收费。
  6、 短连接:客户端程序在有短信发送时,与Gate连接,发送一条后连接挂断。此方式适用与在网页中嵌入发送功能。该方式不能接收Report及MO。
  7、 长连接:客户端程序一直保持与Gate的连接。该方式能接收Report与MO,客户端需要在通信API基础上开发程序。
  8、 业务类型:短信内容服务可主要分为点播与订阅两种。点播类业务随机发生,用户需要该信息时临时点播,为一次性服务关系。订阅信息由用户定制订阅关系,服务方按时向全部订阅者发送同样的信息。
  9、 业务编号:为用户发送的每条短信,都必须归属于一项在运营商处申报的业务。业务编号唯一确定一项业务,同时确定了信息费(包括免费情况)。在发送短信时,需要标记该业务的号码。
  10、 子号码:互联通为每个用户分配一个用户id、密码、子号码,用户可在此子号码基础上开展业务。该子号码附加在互联通的特服号加上即构成用户的唯一特服号。用户可在子号码后继续添加号码,目前总长度(包括子号码)限制在8位。用户在发送与接收时只需关心子号码,而不用关心互联通特服号。
  11、 第三方付费:用户开展的某些业务,可能存在为他人点播的情况,如:A手机用户为B手机用户点播一条信息、自写短信等。这样B手机为接收者,但付费方为A,即第三方付费。默认情况下,付费手机即为接收手机,如果是第三方付费,在发送时需注明付费手机。
  12、 用户注册:手机用户在申请使用服务方所提供的信息服务前,需要注册。注册中要对手机用户进行验证,验证通过后注册成功。
  13、 用户订阅:每项服务都必须由用户亲自订阅才可以使订阅关系生效。点播服务如果是通过上行信息点播则可以立即生效,如果在网上点播,一样需要是已注册用户。根据运营商的要求,我们必须保存各用户的完整订阅关系,对于订阅类信息的发送,会根据我们这里订阅的关系来发送。用户只需提供发送的信息即可。

二、短信发送方式

  用户的短信发送采用两种主要方式:
  1、 Api连接方式:该方式主要负责发送用户注册密码、点播服务信息。通过调用相应的函数发送。
  2、 URL方式:该方式发送订阅类信息、用户定制关系。
  用户与我方主机连接的机器必须有固定IP地址,我方会将用户的id与IP地址绑定,保证安全性。

三、API连接方式发送数据

  用户可根据自身业务特点及技术、投入等各方面因素,来决定采用何种方式与短信网关连接。
短连接:实现简单,适用于在网页程序中直接发送,但只能单向发送。

  长连接:功能完全,可灵活实现各项功能,但需要投入较大精力编写程序。
SmsSend客户端软件:使用数据库交互,用户无须关心开发细节,完成了在用户业务前的全部功能。

四、SmsGate基本端口


五、短信网关示例程序(SmsGateDemo)

  为便于客户端开发程序及调试,为客户端提供了一个SmsGate的示例程序:SmsGateDemo。该程序对客户端能够接收客户端的MT,仿真MO及Report。其整体功能与SmsGate相同,只是对用户号、密码、短信业务代码等不做检查。

六、短连接API
  短连接API以COM组件形式提供。
  文件名:SmsLink.DLL
  使用方式:首先需注册组件:regsvr32 smslink.dll
  接口说明(所有返回值都以字符串形式返回,当返回值为"0"时表示执行成功,"-1"为网络连接错误或参数错误,其他错误类型可根据定义判断):

1、 SetServerAddress(BSTR strIP, BSTR strPort)
  设置SmsGate的IP地址及端口。程序会对IP地址进行一定的检查。
2、 ConnectServer()
  前题:已经调用过1。
  连接SmsGate,返回值类型:连接成功、网络错误或winsock错误码。

3、 SetUserPass(BSTR strUser, BSTR strPassword)
  设置用户ID与密码。用户ID与密码由互联通分配。

4、 SendTextMsg(BSTR strServiceCode, BSTR strSubCode, BSTR strDestMobile, BSTR strContent)
  前题:ConnectServer与SerUserPass正确。
  发送短信,参数分别为:业务代码、子号码、接收手机、短信内容。

  支持群发,接收手机可以为多个,在参数strDestMobile中以mobile1;mobile2;mobilen 形式传送,分隔符为半角分号,不可以有空格。由于通信协议的限制,每次只能发送不超出100个手机,若超过100个手机,程序会自动将其分解为多批(每批<=100个)发送,但返回值只能是最后一批发送的情况。建议每次发送不要超过100个手机号码。

  返回值:"-1"通信错误,"-2"数据超长,"-3"接收手机号码过多,"-4"电话号码错误。"0"成功,1及以上为协议中定义错误。

5、 SendTextMsgA(BSTR strServiceCode, BSTR strSubCode, BSTR strDestMobile, BSTR   strContent, BSTR strPayMobile)

  前题:ConnectServer与SerUserPass正确。
  发送第三方付费短信,参数定义基本与4相同,最后一个参数为付费手机号码。为安全起见,第三方付费不支持群发,即接收手机只能是一个。
  返回值同4。

6、 CloseConnect()
  断开与SmsGate的连接,释放资源。在发送结束后必须调用该函数。

  每次连接后,原则上只能发送一次(调用SendTextMsgX一次),但在调用CloseConnect前,连接仍然保持,在脚本中可连续发送多条短信。但短连接不支持链路检测,SmsGate会在一定时间后(目前为60秒)断开连接。原则上建议每次发送时都要连接、发送一次、断开。但对于在脚本中连续发送的情况(如为一个或一组用户连续发送多条短信,为多组用户发送同一条短信等)可连续调用SendTextMsgX发送,但前提是连续调用。若在调用发送函数中间调用其他语句,可能导致超时,SmsGate会自动挂断。此情况下,组件不保证后面发送的信息都能成功发送。发送是否成功需要查看返回值。

示例参见Sample.asp。

七、长连接API
  长连接以动态连接库形式提供。
  文件:SmsComm.dll SmsComm.lib SmsComm.h。
  接口函数及说明参照SmsComm.h。
  示例程序参见LongLinkDemo。

八、SmsSend

  SmsSend是互联通公司为用户开发的客户端短信处理软件。该软件具有如下优点:

  1、 软件完成了除用户具体业务外的全部功能。
  2、 软件通过读写客户端数据库,来完成发送与接收短信的功能,极大的简化了客户端程序的开发工作。
  3、 通过数据库进行数据交互,与用户接口程序之间没有直接联系。用户只需考虑自己的业务流程及处理方法。
  4、 软件完成了有关短信收发的全部功能,包括发送下行短信(MT)、接收上行短信(MO)、错误处理、短信是否送达等。同时,提供了定时发送的功能。
  5、 程序处理简洁,系统资源占用小。
  6、 合理安排数据库表结构,将发送后的短信从待发短信表中转移到已发短信表,降低查询时间及资源占用,减少数据库系统的负荷。
  7、 数据库操作,大部分采用调用存储过程的方式,提高运行效率,降低网络及数据库系统负担。使用存储过程,同时也为用户提供了很高的灵活性,用户可根据自身特殊需求改动数据库表结构及存储过程。

  用户接口程序只负责将需要发送的短信填入待发短信表,如果支持用户点播等,需要处理用户上行短信表中的数据。用户可自行选择接口程序的编制方法、语言等。


九、API连接中发送短信结果值

0:成功。
1:非法用户ID。
2:非法用户密码。
3:非法的源地址。
4:欠费获暂停服务。
5:消息格式错。
6:消息序号重复(长连接时有效)
7:信息长度错。
8:业务代码错。
9:子号码错误。
10:手机号码错误。
11:手机号码在黑名单中。
12:无法解析目的手机号段。
13:超过业务代码发送上限。
14:计费手机与目的手机不在同一个运营商中。
15~100:其他未定义错误。
101:未能送达。
102:未知发送错误。

北京春笛公司供稿 CTI论坛编辑



相关链接:
北京春笛公司基于linux的内外网邮件路由方案 2004-10-21
金笛邮件列表JDMailList V1.0功能介绍 2004-10-21
北京春笛公司分布式电子邮件系统设计 2004-10-20
北京春笛公司彩邮系统运营方案建议书 2004-10-20
北京春笛公司内外网邮件收发方案 2004-10-20

分类信息:  移动增值_与_移动  移动增值_与_sms  移动_与_sms