WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章SMS MMSSMS技术短消息网关通信模块的设计与实现

短消息网关通信模块的设计与实现
作者:黄华 张靖宇  来源:不详  发布时间:2005-7-8 15:23:27
后与汇接网关通信,请求目的地的网关地址,然后与目的网关建立socket连接,交付该消息并记录前转话单。
在整个通信模块中,所有的server都使用队列接口函数mqm_init( )初始化消息队列并复接在队列上。收发数据使用mqm_send( )和mqm_recv( )函数完成。存储消息采用固定的数据结构,其结构如下:
struct mqm_connection {
unsigned int package_server_seqnum; //由网关自行产生。若消息从队列4中来,该元素将是转化后的CMPP协议格式的消息序列号;若消息从队列2中来,该元素将是转化后的SMPP协议格式的消息序列号。
short mqm_sockfd; //接收该消息的socket;
short mqm_seqnum; //收到的消息序列号;
time_t mqm_timeout; //收到该消息的时间;
int total_length; //该消息的长度;
char   mqm_buf[MAX_PACKET_SIZE]; //该消息的内容;
char converted_buf[MAX_PACKET_SIZE]; //转换协议后的消息内容;
};
现以MO请求业务为例,描述通信模块的工作流程。
当SMSC以SMPP格式的DELIVER_SM消息发出订阅某个SP的言语传情短消息,经由smpp_server收到,从队列4中转发给package_server。Package_server收到MO请求后回送给SP一个SMPP格式的DELIVER_SM_REP应答消息,并用mqm_connection结构体存储这条MO消息的各个信息。 之后,package_server就把该消息转换成CMPP协议的CMPP_Deliver消息,并通过队列1送到cmpp_server中,转发给目的SP。SP在接收到这个消息后,会产生一个CMPP格式的CMPP_Deliver_Rep的应答消息返回给网关。当package_server收到了应答信号,也需要用mqm_connection结构体存储。这时,一条MO短消息转发成功,package_server记录SMO话单。
下面给出在Linux7.2版本的操作系统下,用C语言实现的package_server的主要代码:
main()
{
mqm_init( ); //初始化队列;
……
pipe( ); //建立管道;
if (( child_pid = fork( ) ) ==0)
{
//通过管道通知2队列有数;
while(1){
get_result_msg_info(REQUEST_2,pipfd2[1]);
}
}
……
//建立监听描述符集;
FD_ZERO ( &monit);
FD_SET ( )_;
……
//处理队列中来的数据
while(1)
{
select ( ); //监听2,4,6队列;
if ( FD_ISSET(queue2,&read_monit )) //如果2队列有数;
{
handle_queue2_in( );//处理2队列来的数据;
}
……
}//end while;
} //end main;
4 结束语
短消息网关是无线互联网短消息业务中最为关键的一个设备,它为手机用户和互联网的信息资源架起了一座桥梁。本文中短消息网关的通信模块设计周全,结构合理,为计费、路由、超时重传等模块提供了良好的扩展性。经实验室测试,在奔2处理器,64兆内存的机器上,收发包速率为每秒5000条,不丢包率达到100%,是一个稳定的系统。
参考文献
[1] 短消息网关设备规范(V1.2).中国移动通信集团公司,2001.
[2] 中国移动通信短消息网关测试规范(V1.2). 中国移动通信公司,2001.
[3] 中国移动通信信息资源站实体与互联网短消息网关接口协议(V1.3).中国移动通信集团公司,2001.
[4] Short Message Peer to Peer Protocol Specification v3.4 .SMPP Developers Forum,1999.
[5] W.Richard Stevens.UNIX网络编程.施振川,周利民,孙宏晖等译.清华大学出版社,1999.

上一页  [1] [2] 

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码