具体实施方式
本发明提供一种短信发送方法,用于解决现有技术中利用互联网发送短信给用户带来的不便的问题。
为了使本技术领域的技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参见图1,该图为本发明所述短信发送方法一种实施方式流程图。
本发明实施例所述短信发送方法,所述方法包括以下步骤:
S10、主叫用户利用自身真实手机号码进行注册。
S20、接收所述主叫用户发送的短信请求。
本发明实施例所述短信发送方法在步骤S10之前还可以包括,所述发送方用户和所述接收方用户预先签约认证的过程。
运营商短信系统接收到一条MT短信。所谓MT短信,特指用户端接收短信,可以简单理解为用户接收的短信,或者说下行短信。
运营商短信系统判断该用户订购了短信双收业务。
运营商短信系统将该条短信抄送给短信双收系统,运营商短信系统与短信双收系统之间采用SMPP协议,命令为:Deliver_SM。
Deliver_SM是SMPP协议的一个命令消息,具体如下:
Deliver_SM命令由SMSC(Short Message Service Center;短信息服务中心)产生,SMSC通过此命令发送短消息到目的ESME(ExternalShort Message Entity;扩展短信息实体)。
Deliver_SM也可用于发送传送回执消息。Deliver_SM用于发送传送回执消息时的语法格式与Submit_SM的语法消息体是相同的,只是在消息头中的Command_id是“deliver_sm″。
字段 |
长度 (字节) |
类型 |
service_type |
最大6 |
C_String |
source_addr_ton |
1 |
Integer |
source_addr_npi |
1 |
Integer |
source_addr |
最大21 |
C_DecString |
dest_addr_ton |
1 |
Integer |
dest_addr_npi |
1 |
Integer |
destination_addr |
最大21 |
C_DecString |
esm_class |
1 |
Integer |
protocol ID |
1 |
Integer |
priority_flag |
1 |
Integer |
schedule_delivery_time |
最大17 |
C_StringTime |
validity_period |
最大17 |
C_StringTime |
registered_delivery_flag |
1 |
Integer |
replace_if_present_flag |
1 |
Integer |
data_coding |
1 |
Integer |
sm_default_msg_id |
1 |
Integer |
sm_length |
1 |
Integer |
short_message |
最大160 |
C_String |
具体参数说明:
service_type:保留字段,为将来扩展用。必须设为NULL。
source_addr_ton:源地址编码类型,如不需要,可设为NULL。
source_addr_npi:源地址编码方案,如不需要,可设为NULL。
source_addr:提交该短消息的SME的地址。source_addr是提交的短消息的源地址。如不需要,可设为NULL。
dest_addr_ton:目的地址编码类型,如不需要,可设为NULL。
dest_addr_npi:目的地址编码方案,如不需要,可设为NULL。
destination_addr:短消息的目的地址。对于移动终止的短消息来说,它就是目的手机的MSISDN。如不需要,可设置为NULL。
esm_class:该字短为短消息类型。对submit_sm消息来说,该字段必须为NULL;对deliver_sm消息来说,该字段表示这条消息是状态报告。该字段的具体解释请参考后面的消息体参数说明。但对于普 通的SUBMIT_SM命令,此字段设为0。
取值说明:
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
lag |
Reserved |
UDHI |
Reserved |
Reserved |
Reserved |
Delivery Receipt |
Reserved |
Reserved |
其中,UDHI:表示短消息内容是否有头结构。
Delivery Receipt:在DELIVER_SM协议中使用,表示此条消息是否是状态报告。
protocol ID:GSM协议类型。
priority_flag:短消息的优先级。当设置了短消息为高优先级,短消息中心会将该短消息移到同一目的地址的消息队列的前端,优先进行发送。
priority_flag取值说明:“0”:普通优先级(缺省值);“1”:高优先级;“>1”:保留。
schedule_delivery_time:该字段表示计划下发该短消息的时间。时间格式请参考前面定义的C_StringTime的格式。如不需要,可设置为NULL。
validity_period:该字段表示短消息的最后生存期限。时间格式请参考前面定义的C_StringTime的格式。如不需要,可设置为NULL。
registered_delivery_flag:该字段是注册短消息标志,表示当短消息到达最后的目的地后,是否需要状态报告。
registered_delivery_flag取值说明:“0”:不需要;“1”:需要;“>1”:保留。
replace_if_present_flag:该字段表示替换短消息标志。即当提交的短消息的源地址和目的地址相同时,是否替换存在的短消息。
replace_if_present_flag取值说明:“0”:不替换;“1”:替换;“>1”:保留。
data_coding:该字段表示数据编码方案。
data_coding取值说明:“0”:缺省编码方案(7bit编码);“4”:二 进制编码方案(8bit编码);“8”:UCS2编码方案(GB13000);其他值:保留。
sm_default_msg_id:该字段表示预定义短消息ID。该ID是短消息服务中心建立的预定义短消息表的索引。当不想发送预定义短消息时,该字段应设为NULL。预定义短消息ID值从0x01到0x64。
sm_length:要发送的短消息数据内容的字节长度。
short_message:该字段表示短消息数据内容。最大可到160字符。
只有sm_length中定义的字节长度可用。此字段的数据编码格式由data_coding决定。
S30、针对所述主叫用户进行用户身份的认证鉴权,确认合法用户。
用户输入用户名和密码,验证该用户是否为合法用户。
用户可以点击个人互联网文件夹业务界面中“写信息”,打开“写信息”页面;用户在“写信息”页面中写入信息内容,通过通讯录选择或直接输入收信人手机号码。用户点击业务界面中“发送信息”立即发送短信,或者设置定时发送时间,提交后系统会自动定时发送短信。短信双收系统会自动将用户发送的短信进行保存。
S40、保存所述主叫用户发送的短信。
S50、通过互联网向移动运营商短信系统发送所述短信至被叫用户的移动终端,并向被叫用户显示主叫用户的真实手机号码。
通过INTERNET采用SMPP协议的短信系统发送短信至接收方计算机用户,同时在互联网文件夹中保留该短信的备份。
用户在输入框中录入信息内容和收件人。
短信双收系统向运营商短信系统进行短信发送请求,短信双收系统与运营商短信系统采用SMPP协议进行通讯,请求命令为Submit_SM。
所谓SMPP协议,即短消息点对点协议。SMPP接口协议最初由ETSI收录在GSM03.39规范中,描述了短消息服务中心与扩展短消息实体之间通信交互的协议关系及数据传输格式。
Submit_SM是SMPP协议的一个命令消息,具体如下:
Submit_SM命令用于SP(signalling point;信令点)提交短消息到SMSC,以便SMSC把此短消息发给特定SP。
字段 |
长度 (字节) |
类型 |
service_type |
最大6 |
C_String |
source_addr_ton |
1 |
Integer |
source_addr_npi |
1 |
Integer |
source_addr |
最大21 |
C_DecString |
dest_addr_ton |
1 |
Integer |
dest_addr_npi |
1 |
Integer |
destination_addr |
最大21 |
C_DecString |
esm_class |
1 |
Integer |
protocol ID |
1 |
Integer |
priority_flag |
1 |
Integer |
schedule_delivery_time |
最大17 |
C_StringTime |
validity_period |
最大17 |
C_StringTime |
registered_delivery_flag |
1 |
Integer |
replace_if_present_flag |
1 |
Integer |
data_coding |
1 |
Integer |
sm_default_msg_id |
1 |
Integer |
sm_length |
1 |
Integer |
short_message |
最大160 |
C_String |
具体参数说明:
service_type:保留字段,为将来扩展用。必须设为NULL。
source_addr_ton:源地址编码类型,如不需要,可设为NULL。
source_addr_npi:源地址编码方案,如不需要,可设为NULL。
source_addr:提交该短消息的SME的地址。是提交的短消息的源地址。如不需要,可设为NULL。
dest_addr_ton:目的地址编码类型,如不需要,可设为NULL。
dest_addr_npi:目的地址编码方案,如不需要,可设为NULL。
destination_addr:短消息的目的地址。对于移动终止的短消息来说,它就是目的手机的MSISDN。如不需要,可设置为NULL。
esm_class:该字短为短消息类型。对submit_sm消息来说,该字段必须为NULL;对deliver_sm消息来说,该字段表示这条消息是状态报告。该字段的具体解释请参考后面的消息体参数说明。但对于普通的SUBMIT_SM命令,此字段设为0。
取值说明:
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Flag |
Reserved |
UDHI |
Reserved |
Reserved |
Reserved |
Delivery Receipt |
Reserved |
Reserved |
其中,UDHI:表示短消息内容是否有头结构。置位表示有。
Delivery_Receipt:在DELIVER_SM协议中使用,表示此条消息是否是状态报告。
protocol_ID:GSM协议类型。
priority_flag:短消息的优先级。当设置了短消息为高优先级,短消息中心会将该短消息移到同一目的地址的消息队列的前端,优先进行发送。
取值说明:“0”:普通优先级(缺省值);“1”:高优先级;“>1”:保留。
schedule_delivery_time:该字段表示计划下发该短消息的时间。时间格式请参考前面定义的C_StringTime的格式。如不需要,可设置为NULL。
validity_period:该字段表示短消息的最后生存期限。时间格式请参考前面定义的C_StringTime的格式。如不需要,可设置为NULL。
registered_delivery_flag:该字段是注册短消息标志,表示当短消息到达最后的目的地后,是否需要状态报告。
取值说明:“0”:不需要;“1”:需要;“>1”:保留。
replace_if_present_flag:该字段表示替换短消息标志。即当提交的短消息的源地址和目的地址相同时,是否替换存在的短消息。
取值说明:“0”:不替换;“1”:替换;“>1”:保留。
data_coding:该字段表示数据编码方案。
取值说明:“0”:缺省编码方案(7bit编码);“4”:二进制编码方案(8bit编码);“8”:UCS2编码方案(GB13000);其他值:保留。
sm_default_msg_id:该字段表示预定义短消息ID。该ID是短消息中心建立的预定义短消息表的索引。当不想发送预定义短消息时,该字段应设为NULL。预定义短消息ID值从0x01到0x64。
sm_length:要发送的短消息数据内容的字节长度。
short_message:该字段表示短消息数据内容。最大可到160字符。只有sm_length中定义的字节长度可用。此字段的数据编码格式由data_coding决定。
运营商短信系统将该条短信进行投递,并返回给短信双收系统确认命令:Submit_SM_rsp。
Submit_SM_rsp是SMPP协议的一个命令消息,具体如下:
字段 |
长度(字节) |
类型 |
Message_id |
最大9 |
C_HexString |
具体参数说明:
Message_id:该字段表示短消息ID,由短消息中心产生,用于以后查询及替换短消息用,或是表明状态报告所对应的源消息。如果没有,该字段必须设为NULL。
短信双收系统还可以向用户提示短信发送成功。
本发明实施例所述短信发送方法,是通过采用标准SMPP,并进行必要的定制和扩展,向运营商短信系统发送短信的,跳跃了运营商的短信网关(SMG)系统,不需要显示SP代码,可以实现真实发送方手机号码的显示。
本发明提供一种短信接收方法,用于解决现有技术中利用互联网 发送短信给用户带来的不便的问题。
为了使本技术领域的技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参见图2,该图为本发明所述短信接收方法一种实施方式流程图。
本发明实施例所述短信接收方法,所述方法包括以下步骤:
S100、被叫用户利用自身真实手机号码进行注册。
S200、通过互联网接收其他用户向移动运营商短信系统发送所述被叫用户的短信。
接收发送方用户通过采用SMPP协议的短信系统发送的短信。
本发明实施例所述短信接收方法在步骤S10之前还可以包括,所述发送方用户和所述接收方用户预先签约认证的过程。
运营商短信系统接收到一条MT短信。运营商短信系统判断该用户订购了短信双收业务。运营商短信系统将该条短信抄送给采用SMPP协议的短信双收系统。
S300、保存接收到的短信。
S400、针对被叫用户进行用户身份的认证鉴权,确认合法用户。
接收方用户输入用户名和密码,验证该用户是否为合法用户。
首次使用的客户端需要输入帐号密码,以后可以选择自动记住密码,短信双收系统验证通过后,用户进入系统。
短信双收系统主要实现用户使用业务的入口,例如发短信、收短信、定时发送、转发、回复等业务使用的按钮和界面,用户体验类似一个邮箱。
用户可以选择个人互联网文件夹业务界面中“收信箱”“发信箱”“草稿箱”“垃圾箱”,查看其中的信息内容;用户可以对个人互联网文件夹中的信息进行排序、删除、珍藏、移动文件夹等操作。用户还可以设置规则,对短信接收进行黑白名单控制,以拒绝垃圾短信。
S500、将接收到的短信通过互联网发送至所述被叫用户的计算机。
短信双收系统收到该条短信后,自动存储到该注册用户的个人收 件箱互联网文件夹中。
短信双收系统返回给运营商短信系统确认命令:Deliver_SM_resp。
Deliver_SM_resp是SMPP协议的一个命令消息。具体如下:语法和SUBMIT_SM_RESP的语法消息体是一样的,只是在消息头中的Command_id是“deliver_sm_resp″。
本发明实施例所述短信接收方法,通过采用标准的SMPP协议,并进行必要的定制和扩展,向短信系统发送的短信,跳跃了运营商的短信网关(SMG)系统,不需要显示SP代码,可以实现真实发送方手机号码的显示。网站系统在运营商短信网关进行注册的SP代码,仅用于实现用户的业务订购/退订,不用于短信发送。
本发明提供一种短信收发系统,用于解决现有技术中利用互联网发送短信给用户带来的不便的问题。
为了使本技术领域的技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参见图3,该图为本发明实施例所述短信收发系统结构示意图。
本发明实施例所述短信收发系统,采用标准SMPP协议,并进行必要的定制和扩展,与运营商的短信系统相通讯,所述短信收发系统与接收方计算机和发送方计算机相通信。
所述短信双收系统主要实现用户使用业务的入口,例如发短信、收短信、定时发送、转发、回复等业务使用的按钮和界面,用户体验类似一个邮箱。
所述短信双收系统包括用于采集所述短信系统中的发送方用户发送的短信请求和短信及发送方计算机用户名的接收单元、用于确认所述发送方计算机和接收方计算机的合法身份的鉴权单元,以及用于存储短信的存储单元,以及用于发送短信的发送单元。
所述短信双收系统收发短信的过程可以参见前文所述的过程。具体不再详述。
所述短信系统进一步可以与用户手机相通讯。
所述短信双收系统进一步连接互联网文件夹,用于存储所述接收方用户接收到的短信。
本发明实施例所述短信收发系统,采用标准SMPP协议,并进行必要的定制和扩展,与运营商的短信系统相通讯,短信发送不需要使用SP代码,短信采用实名发送,用户接收到的网络短信和通过手机发送的点对点短信是相同的。被叫用户B即接收方用户不用区分主叫用户A即发送方用户通过手机发送还是通过网络发送。当被叫用户B在手机上直接回复主叫用户A时,本发送实施例所述短信收发系统的接收单元从运营商的短信系统中采集到该条短信,并存储到主叫用户A用户的互联网文件夹中,同时,主叫用户A的手机上也会收到同样的一条点对点短信。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。