CN107517202B - 一种sip信令的二进制化发送和接收方法 - Google Patents
一种sip信令的二进制化发送和接收方法 Download PDFInfo
- Publication number
- CN107517202B CN107517202B CN201710632801.3A CN201710632801A CN107517202B CN 107517202 B CN107517202 B CN 107517202B CN 201710632801 A CN201710632801 A CN 201710632801A CN 107517202 B CN107517202 B CN 107517202B
- Authority
- CN
- China
- Prior art keywords
- binary
- signaling
- session
- sip
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种SIP信令的二进制化发送和接收方法,由UAC(用户代理客户端)接收TCP/UDP数据流;UAC从接收到的TCP/UDP数据流中提取SIP信令;UAC中的二进制转换系统将提取出的SIP信令转换为二进制信令,并打包,以TCP/UDP数据流发送给UAS。本发明还涉及一种SIP信令的二进制化接收方法,UAS接收UAC传输过来的TCP/UDP数据流,从中提取二进制信令;UAS中的二进制编码系统将接收到的二进制信令转换成对应的SIP信令。本发明提升了压缩率,实现了在带宽有限、速率较低的无线链路中节省稀缺的无线带宽资源的目的。
Description
技术领域
本发明涉及移动通信领域,尤其涉及一种SIP信令的二进制化发送和接收方法。
背景技术
在移动终端和移动网络的双重推动下,移动互联网发展非常迅速。即时通信(Instant Message,IM)技术正在以各种技术实现方式从PC机向手机等移动终端进行渗透。用户利用各种移动终端可以实现文字或语音视频聊天、文件交互等。当前,移动通信网络正与Internet(因特网)走向融合,第三代移动通信系统(3G)能向终端直接传送IP数据包,提供丰富的多媒体业务。许多原来用在Internet中的IP网络协议,也被引入到无线通信中,作为各个层次的控制和封装协议。例如,3GPPR5中将会话启动协议(Session InitiationProtocol,SIP)作为IP多媒体子系统(IP Multimedia Subsystem,IMS)的核心控制协议。
SIP协议作为音视频通信的首选标准,应用越来越广泛。但是,这些原本用于宽带固定网络的信令消息,为了便于理解和使用,对于消息长度没有进行优化。如果直接应用在带宽有限、速率较低的无线链路中,不但会占用过多的原本就稀缺的无线带宽资源,还会产生显著的传输时延;如果再考虑到信令往返时间,建立一次会话的时间将是无法容忍的。
SIP协议采用的是文本格式的信令,其流程烦琐、对移动终端的要求较高。即使SIP协议具有非常好的扩展性,但由此带来的数据包却非常大,如一个普通的SIP包就有500Bytes左右。如果用SIP协议MESSAGE请求发送文本聊天消息,发送一句“你好”,消息头都可能达到600Bytes,在以流量计费的移动互联网中,这样的方式就是在直接浪费金钱。一个支持ICE的SDP(会话描述协议)包通常会超过1500Bytes,在实现应用中,可能达到3000Bytes。在移动互联网中,MSS(最大报文段长度)通常在1360Bytes左右,传输大于MSS的数据都会被分包。在电信3G网络实测中,如果某基站连接的用户较多,一个MSS大小的TCP包通常需要重传两到三次。如果能将SIP协议压缩到一个MSS以内,是提升网络传输效率有效办法。
描述SIP标准压缩方式的是RFC3468,其采用RFC3320sigcomp压缩方法,但效果并不理想。这样就造成移动终端在接入即时通信系统时、以及在接入即时通信系统后,与其他移动终端用户进行即时通信时,所需交互的信令数据量较大;同时还造成移动终端自身计算和处理的数据量也较大的问题。这样,受移动终端本身软硬件的限制和网络带宽的限制,会降低移动终端的用户体验,增加网络负担,不利于基于移动终端的即时通信业务大规模的实施及应用。
发明内容
鉴于上述分析,本发明旨在提供一种基于移动终端的即时通信业务中的消息转换方法,用以解决sip信令应用在移动通信中因信令消息体积庞大对紧缺的无线频谱资源造成浪费的带宽问题。
本发明的目的主要是通过以下技术方案实现的:
一种SIP信令的二进制化发送方法,其特征在于,包括以下步骤:
步骤S1.UAC(用户代理客户端)接收TCP/UDP数据流;
步骤S2.UAC从接收到的TCP/UDP数据流中提取SIP信令;
步骤S3.UAC中的二进制转换系统将提取出的SIP信令转换为二进制信令,并打包,以TCP/UDP数据流发送给UAS。
所述SIP信令定义了一个消息头,用于指示SIP信令的开始和结束信息;步骤S2中UAC根据SIP信令的消息头从TCP/UDP数据流中提取SIP信令。
步骤S3中所述二进制转换系统将提取出的SIP信令转换为二进制信令进一步包括:二进制编码处理器接收SIP信令,并转发给编码器;编码器对其中需要发给UAS的消息进行二进制编码,转换为二进制信令,并传输给会话管理器和二进制编码处理器;二进制编码处理器将二进制信令打包发送到UAS。
所述需要发给UAS的消息是通过提取SIP消息中的关键内容、去除UAS不需要的内容得到的。
所述步骤S3中将SIP信令转换为二进制信令进一步包括:将SIP信令中的每个消息元素用二进制格式的消息元素替换。
所述会话管理器用于会话创建与销毁,当会话管理器判断是初始会话消息,则新建一会话,每个会话保存表示当前会话状态的会话属性。
一种SIP信令的二进制化接收方法,包括以下步骤:
步骤S1:UAS接收UAC传输过来的TCP/UDP数据流,从中提取二进制信令;
步骤S2:UAS中的二进制编码系统将接收到的二进制信令转换成对应SIP信令。
其中,所述二进制编码系统将接收到的二进制信令转换成对应的SIP信令进一步包括:二进制解码分发器接收二进制信令,将二进制信令分发给解码器,二进制信令在解码器中经过解码后送到会话管理器和二进制解码分发器。
所述二进制信令中有多个解码器实例,由二进制解码分发器根据hash算法分发给各个解码器。
本发明有益效果如下:提升了压缩率,实现了在带宽有限、速率较低的无线链路中节省稀缺的无线带宽资源,减少对无线频谱资源的浪费;还能显著减少传输时延,缩短信令往返时间和建立一次会话的时间。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为二进制转换系统的示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
根据本发明的实施例,公开了SIP信令的二进制化发送和接收方法,SIP信令在UA(用户代理,User Agent)上转换为二进制进行发送,UA也接收二进制信令,并解析为SIP信令。UA包括UAC(用户代理客户端,User Agent Client)和UAS(用户代理服务器,User AgentServer),UAC/UAS的划分是针对一个事务的。在一个呼叫中的多个事务里,UAC和UAS的角色是可以互换的。例如在A和B的呼叫中,A向B发起呼叫,在呼叫建立的事务中,A是UAC,B是UAS;呼叫结束时,B先挂机,在呼叫释放的事务中,B是UAC,A是UAS。换句话说,每个一般的UA都是UAS和UAC的结合体。UA的实际物理形态可以是但不限于IP Phone,SoftPhone,GateWay等。
根据本发明的一个具体实施例,公开了一种SIP信令的二进制化发送方法,具体包括以下步骤:
步骤S1:UAC(用户代理客户端)接收TCP/UDP数据流。其中,为保证二进制化和传输层解耦,UAC同时支持TCP和UDP方式传输。
步骤S2:UAC从接收到的TCP/UDP数据流中提取SIP信令。
具体地,SIP信令格式如表1,SIP信令中定义了一个消息头(前4个字节),用于指示SIP信令的开始和结束等信息。消息头的定义有助于UAS从TCP/UDP数据流中将SIP信令完整的提取出来,所述TCP/UDP数据是以流方式传输的。UAC根据SIP信令的消息头从TCP/UDP数据流中提取SIP信令。实施例中所述消息头长度为4字节,包括表示信令开始的字节、表示版本和信令长度的字节。
表1
表中,第一个字节为固定0x00,表示消息开始;
第二个字节高三位用于表示版本,最大支持八种不同版本,低五位用于表示各参数选择,比如是否带压缩(二进制化后一样可以再压缩)等;
三、四两字节表示消息长度,即定义一个消息的最大长度为65535;
五字节表示呼叫事件类型;
六字节表示呼叫ID长度(为便于用表格说明,这里的长度都默认为2,实际长度根据内容来定,后面有涉及到变长数据的,长度都默认为2),由于呼叫ID是变长的(对于变长属性都按该方式处理),长度是2表示紧跟长度后面的两字节(7、8字节)为callid真正内容;
九字节表示caller长度;
十、十一字节表示caller真正的内容;
十二字节表示called长度;
十三、十四字节表示called真正的内容;
十五字节表示SDP包体长度;
十六、十七表示SDP包体内容。
步骤S3:UAC中的二进制转换系统将提取出的SIP信令转换为二进制信令,并打包,以TCP/UDP数据流发送给UAS(用户代理服务器)。具体地,将SIP消息中给定格式的每个消息元素用二进制格式的消息元素替换;以及采用变长数据打包和SDP中处理多个媒体描述的打包技术将二进制信令打包。
所述二进制转换系统(如图1所示)在UA中,包括:二进制编码处理器、编码器、会话管理器、二进制解码分发器、解码器等。
其中,二进制编码处理器接收来自应用层的SIP信令,并将SIP信令交给编码器,由编码器对其中需要发给UAS的消息进行二进制编码,将部分SIP信令转换为二进制信令,并传输给会话管理器和二进制编码处理器,二进制编码处理器再将二进制信令打包发送到UAS。
所述需要发给UAS的消息是指:在编码过程中提取SIP消息中的关键内容,如callid、消息类型、主叫、被叫等;编码过程中去除不需要的内容,如branch、tag、头域说明等,这些不需要的内容保存在二进制解码器的会话中,不需要发给UAS,以减小包体大小。本实施例中,为了保证性能,可以采用多个编码器进行多线程编码,同时处理从应用层来的消息。
会话管理器用于会话创建与销毁,当会话管理器判断是初始会话消息,则新建一会话,每一个会话都有一个唯一的标识callid,该callid从SIP消息头域Call-ID中得到,同一个callid的信令在同一个会话内处理,每个会话保存表示当前会话状态的会话属性。优选的,提供一个状态机,用于处理会话中的状态,状态的跳转是通过状态机来管理的,状态机由SIP信令来驱动。例如,当收到结束的信令将通知会话管理器来销毁会话。
本发明的另一个具体实施例,公开了一种SIP信令的二进制化接收方法,上述步骤S3中编码后的二进制信令,经过打包,以TCP/UDP数据流发送给UAS:
具体包括以下步骤:
步骤S1:UAS接收UAC传输过来的TCP/UDP数据流,从中提取二进制信令。
步骤S2:UAS中的二进制编码系统将接收到的二进制信令转换成对应的SIP信令,具体包括解析二进制比特数据,再根据设定的转换规则转换成对应的SIP消息内容,生成SIP消息。其中,为保证二进制化和传输层解耦,UAS同时支持TCP和UDP方式传输。
具体地,二进制编码系统中的二进制解码分发器接收二进制信令,将二进制信令分发给解码器,二进制信令在解码器中经过解码后送到会话管理器和二进制解码分发器,再由二进制解码分发器传送到应用层。其中,所述二进制信令中有多个解码器实例,由二进制解码分发器根据hash算法分发给各个解码器。
UAS解码二进制信令后,根据解析得到的SIP信令,得到UAS反馈的应答SIP信令。UAS此时作为UAC,按照上述SIP信令的二进制化发送方法,将反馈的应答SIP信令转换为应答二进制信令,再传输给上述UAC,此时该UAC已经作为应答过程中UAS,应答二进制信令会进一步解析为应答SIP信令。通信事务如上述方式进行发送和接收。
上述二进制编码处理器中的编码器、二进制解码分发器和解码器经过优化与压力测试,能保证高性能,能提供吞吐量高的TPS(每秒钟request/事务的数量)。
二进制编码包格式中的内容的顺序改变,或增加内容:如调整callid在二进制包中的位置或者增加disnumber作为主叫给被叫的显示号码,也同样能实现本方案,都可视为本方案的替代方案。
综上所述,本发明实施例提供了一种SIP信令转换方法,通过将SIP消息转换成对应的二进制消息,再将二进制消息转换成对应的SIP消息,能比传统的RFC3320sigcomp在压缩率(压缩比)上有很大的提升,传统方法的压缩率只能达到50%-70%,采用本发明压缩比能达到80%-90%。经过编码后大部分的二进制消息只有原SIP消息大小的20%,解决了SIP信令应用在移动通信中存在的带宽问题,避免了因信令消息体积庞大对紧缺的无线频谱资源造成浪费;实现了在带宽有限、速率较低的无线链路中,节省了稀缺的无线带宽资源的目的,显著的减少了传输时延,缩短信令往返时间和建立一次会话的时间,建立一次会话的时间能缩短50%。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种SIP信令的二进制化发送方法,其特征在于,包括以下步骤:
步骤S1.UAC接收TCP/UDP数据流;
步骤S2.UAC从接收到的TCP/UDP数据流中提取SIP信令;UAC根据SIP信令的消息头从TCP/UDP数据流中提取SIP信令,所述消息头用于指示SIP信令的开始和结束信息,所述消息头长度为4字节,包括表示信令开始的字节、表示版本和信令长度的字节;
步骤S3.UAC中的二进制转换系统将提取出的SIP信令转换为二进制信令,并打包,以TCP/UDP数据流发送给UAS;所述二进制转换系统在UA中,包括:二进制编码处理器、编码器、会话管理器、二进制解码分发器、解码器;二进制编码处理器接收SIP信令,并转发给编码器;编码器对其中需要发给UAS的消息进行二进制编码,转换为二进制信令,并传输给会话管理器和二进制编码处理器;
所述需要发给UAS的消息是通过提取SIP消息中的关键内容、去除UAS不需要内容得到的;去除的所述内容保存在二进制解码器的会话中;采用多个编码器进行多线程编码,同时处理从应用层来的消息;
将SIP信令转换为二进制信令进一步包括:将SIP信令中的每个消息元素用二进制格式的消息元素替换;采用变长数据打包和SDP中处理多个媒体描述的打包技术将二进制信令打包;
二进制编码处理器将二进制信令打包发送到UAS;会话管理器用于会话创建与销毁,当会话管理器判断是初始会话消息,则新建一会话,每一个会话都有一个唯一的标识callid,该callid从SIP消息头域Call-ID中得到,同一个callid的信令在同一个会话内处理,每个会话保存表示当前会话状态的会话属性;提供一个状态机,用于处理会话中的状态,状态的跳转是通过状态机来管理的,状态机由SIP信令来驱动;
二进制解码分发器用于在UAC作为UAS时,接收二进制信令,将二进制信令分发给解码器,二进制信令在解码器中经过解码后送到会话管理器和二进制解码分发器,再由二进制解码分发器传送到应用层。
2.一种SIP信令的二进制化接收方法,其特征在于,包括以下步骤:
步骤S1:UAS接收UAC传输过来的TCP/UDP数据流,从中提取二进制信令;
步骤S2:UAS中的二进制编码系统将接收到的二进制信令转换成对应的SIP信令,所述二进制编码系统在UA中,包括:二进制编码处理器、编码器、会话管理器、二进制解码分发器、解码器;
二进制解码分发器接收二进制信令,将二进制信令分发给解码器,二进制信令在解码器中经过解码后送到会话管理器和二进制解码分发器,再由二进制解码分发器传送到应用层;所述二进制信令中有多个解码器实例,由二进制解码分发器根据hash算法分发给各解码器;UAS解码二进制信令后,根据解析得到的SIP信令,得到UAS反馈的应答SIP信令;
二进制编码处理器用于在UAS作为UAC时,接收SIP信令,并转发给编码器;编码器对其中需要发给UAC的消息进行二进制编码,转换为二进制信令,并传输给会话管理器和二进制编码处理器;二进制编码处理器将二进制信令打包发送到UAS;会话管理器用于会话创建与销毁,当会话管理器判断是初始会话消息,则新建一会话,每一个会话都有一个唯一的标识callid,该callid从SIP消息头域Call-ID中得到,同一个callid的信令在同一个会话内处理,每个会话保存表示当前会话状态的会话属性;提供一个状态机,用于处理会话中的状态,状态的跳转是通过状态机来管理的,状态机由SIP信令来驱动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710632801.3A CN107517202B (zh) | 2017-07-28 | 2017-07-28 | 一种sip信令的二进制化发送和接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710632801.3A CN107517202B (zh) | 2017-07-28 | 2017-07-28 | 一种sip信令的二进制化发送和接收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107517202A CN107517202A (zh) | 2017-12-26 |
CN107517202B true CN107517202B (zh) | 2020-10-27 |
Family
ID=60722756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710632801.3A Active CN107517202B (zh) | 2017-07-28 | 2017-07-28 | 一种sip信令的二进制化发送和接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107517202B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351224A (zh) * | 2018-04-03 | 2019-10-18 | 成都鼎桥通信技术有限公司 | 一种sip状态服务的发布方法和装置 |
CN112887497B (zh) * | 2020-12-24 | 2022-11-01 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 通信方法、装置和计算机存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738448B2 (en) * | 2005-12-29 | 2010-06-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for generating and sending signaling messages |
CN106817341B (zh) * | 2015-11-27 | 2019-11-26 | 中国科学院沈阳计算技术研究所有限公司 | 一种面向移动互联网的sip协议节流传输系统及方法 |
-
2017
- 2017-07-28 CN CN201710632801.3A patent/CN107517202B/zh active Active
Non-Patent Citations (1)
Title |
---|
Signaling Compression (SigComp);R. Price等;《Network Working Group RFC3320》;20030131;第1-23页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107517202A (zh) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1992143B1 (en) | Method and device for generating and sending signaling messages | |
US7143191B2 (en) | Protocol message compression in a wireless communications system | |
US6807173B1 (en) | Method and system for improving bandwidth availability in a data communication network by tokenizing messages | |
TWI442742B (zh) | 效能增強協定、系統、方法及裝置 | |
US7324443B2 (en) | Binary protocol for session initiation in a wireless communications system | |
US9392082B2 (en) | Communication interface and method for robust header compression of data flows | |
US20130176944A1 (en) | Method, device and system for establishing a bearer for a gsm network | |
US6963587B2 (en) | Communication system and method utilizing request-reply communication patterns for data compression | |
CN102075737A (zh) | 视频监控会话方法 | |
CN113225123B (zh) | 卫星移动通信系统中电路话音到voip话音的转换方法 | |
CN107517202B (zh) | 一种sip信令的二进制化发送和接收方法 | |
EP3504858B1 (en) | Improved lawful interception | |
AU2004316014B2 (en) | Method and arrangement for state memory management | |
CN1761241B (zh) | 利用加密在分组通信网络中处理语音数据 | |
CN101197825A (zh) | 一种传输压缩消息的方法、系统及设备 | |
CN112887497B (zh) | 通信方法、装置和计算机存储介质 | |
Hannu | Signaling compression (SigComp) requirements & assumptions | |
US8331356B2 (en) | Method, apparatus and system for transmitting a global text telephone signal | |
CN103210623B (zh) | 用于在网际协议通信网络中在对信令消息应用面向对象处理的实体之间交换信令消息的方法、实体和系统 | |
WO2010075794A1 (zh) | 一种压缩复用报文处理方法及装置 | |
JP2011101246A (ja) | 通信システム、通信装置、通信方法およびプログラム | |
CN101754409B (zh) | 一种ip承载的建立方法及所采用的软交换 | |
KR101006141B1 (ko) | Sip 메시지 전송 방법 | |
CN102394891A (zh) | 基于VoIP网络实现超长SIP协议信令包传输的方法 | |
Forte et al. | Template-based signaling compression for push-to-talk over cellular (PoC) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |