sip协议汇总十篇

时间:2023-02-09 15:28:21

sip协议

sip协议篇(1)

一、引言

随着通信技术的发展及人们对通信要求的提高,当今的通信业务集音频、数据信息、视频于一体。同时,Internet及IP网络的发展也为各种通信业务提供了基础。

SIP是IETF指定的用于实现多媒体回话控制的协议,该协议具有实现简单、扩展性强的特点,并且具有强大的多媒体会话和业务扩展能力以及用户查找和定位能力。由于SIP可以和现有的Internet协议紧密联系,从而获得了广泛应用,并且SIP已被3GPP组织作为R5/R6多媒体子系统(IMS)的呼叫控制协议。本文将对IMS网络和SIP协议进行介绍,并提出一种基于IMS网络的SIP信令协议栈。

二、IMS网络结构及SIP协议

IMS是3GPP在R5版本中提出的支持IP多媒体业务的子系统。IMS以SIP为核心呼叫控制协议,为移动终端提供多媒体呼叫控制业务,具有应用服务器层、会话控制层、传输与终端层三层结构,包括CSCF、HSS、MGCF和MGW等实体。

IMS中最重要的实体是CSCF和HSS,CSCF负责处理多媒体会话业务,相当于SIP服务器,包括CSCF(P-CSCF)、查询CSCF(I-CSCF)和服务CSCF(S-CSCF)。HSS(归属用户服务器)是IMS中所有与用户和服务相关的数据主存储器,存储了用户身份、注册信息、接入参数和服务触发信息等。

SIP是IETF制定基于ASCII码的面向IP电话和多媒体会议的应用层控制协议,用于建立、修改和终止多媒体会话,使参与会话的成员可以通过多播方式、单播连网或二者结合的方式进行通信。

典型SIP协议中有客户机和服务器之分,客户机是为了向服务器发送请求而与服务器建立连接的应用程序,User Agent和Proxy中含有客户机;服务器是用来向来自客户机的请求提供服务并处理应答的应用程序。SIP协议具有四层结构,最底层是语法和编码层,第二层是传输层,第三层是事物层,最顶层是事物用户层(TU层)。

三、基于IMS网络的SIP信令协议栈

在SIP协议中,用户客户端通过向服务器发送在网络中的路由请求即可以建立起一个会话过程。因为注册服务器需要提供用户的位置信息,所以需要将SIP地址映射转换为IP地址。IMS中的呼叫会话控制功能(CSCF)的网络实体是服务器和注册服务器,CSCF即是控制实现实时多媒体业务的多媒体服务器。IMS包括三种呼叫会话控制功能:CSCF(P-CSCF)、问讯CSCF(I-CSCF)、服务CSCF(S-CSCF)。CSCF通过SIP协议来实现上述控制控制功能,其中P-CSCF为移动用户接入IMS提供的SIP服务器,I-CSCF是运营网络的入口服务器,同时可以对其它网络隐藏其归属网络的拓扑图,S-CSCF是SIP的注册服务器,执行用户的会话控制服务。因此,IMS网络可以在CSCF的基础上利用SIP协议经过注册过程和会话过程来实现多媒体通信的目的。

本节通过引入有限状态机进行修改和二次开发,实现了一个稳定高效的SIP协议栈,通过提供SIP操作的基本数据结构和应用程序编程接口(API),如用于表示SIP中各类对象的数据结构、对消息和消息体进行解析的API以及实现四类有限状态机的API。该协议栈主要包括4个模块:状态机模块、解析器模块、工具模块、上层封装接口模块,其结构图如图1所示。

3.2解析器模块

解析器模块主要完成对SIP消息的语法解析,它的作用是将收到的SIP消息从文本解析为SIP消息结构体(sip_t),处理完后将待发送的sip_t结构还原成SIP文本消息后在发送。SIP消息的解析过程为:对收到的消息解析起始行,若是SIP请求则解析SIP请求方法、请求URI和SIP版本,若非SIP请求则解析SIP版本、状态码和原因短语;然后依次进行解析SIP头域、解析SIP消息体并保存各项参数完成解析过程。

3.3工具模块

工具模块主要提供完善的SDP协商机制和对话管理的API。本协议栈中的SDP协商工具使用从SDP offer去构建SDP answer的方法,通过分析invit请求中消息体SDP部分的媒体参数描述来构造对于invit请求的响应消息中的SDP消息部分。在对话中,可以动态创建新的事务来开始端点之间的SIP通信过程,帮助管理UA的消息排序和UA之间正确的路由。本协议栈的对话管理工具主要是创建对话并对对话消息进行管理。

3.4上层封装接口模块

上层封装接口模块根据MVC模式中的Model层的调用方式提供面向Model层的简便易用的操作协议栈接口。上层封装接口模块在eXosip封装SIP协议调用接口的基础上进一步封装,供Model层调用,从而使用简单的几行代码就可以实现一个音视频的呼叫。

四、结束语

SIP协议可以创建、管理和终结IMS网络中各种类型的多媒体业务,从而使各种类型的客户端通过SIP都可以建立高质量的端到端通信。本文提出一种SIP协议栈,实现了SIP软终端,可以在IMS网络下实现具备基于SIP的视频和音频通信功能。

参考文献

[1]孙建勇.基于SIP协议的软终端的研究与实现[D].北京邮电大学,2004.

[2]陈朝鹏. SIP协议在IMS系统中的应用[J].中国科技信息,2006(2).

sip协议篇(2)

关键词:SIP 软交换 游牧

SIP称为会话初始协议,是用于在IP网络中建立、修改和终止多媒体会话的一种应用层控制协议。SIP是由IETF组织于1999年提出的一个在基于IP网络中,特别是在Internet结构的网络环境中,实现实时通信应用的一种信令协议。1999年3月,ITEF的多方多媒体会话控制工作组提出了RFC2543建议,之后,SIP在互操作性和新特性等方面得到了进一步的增强,因而2002年6月,ITEF的SIP工作组又发表了RFC3261建议,以取代RFC2543。作为一个IETF提出的标准,SIP协议在很大程度上借鉴了其他各种广泛存在的Internet协议,如HTTP(超文本传输协议)、SMTP(简单邮件传输协议)等,和这些协议一样,SIP也采用基于文本的编码方式,协议简单,具有更好的功能扩展性。目前,SIP协议已被广泛应用于基于软交换的网络中进行基本的呼叫控制,而且3GPP R5版本也选择SIP作为3G移动通信多媒体域的信令协议。因此,SIP协议的应用具有很重要的研究意义。

一、SIP协议分析

1. SIP协议的强大功能

SIP协议不但具备简单、开放、兼容和可扩展的特点。而且还考虑了对传统电话网的各种业务的支持。目前,SIP协议在软交换网络中,已经能够很好地提供基本话音业务、传真业务、各类补充业务等。

由于SIP协议是应用层的控制协议,只负责呼叫控制并携带SDP消息体来进行媒体协商,与具体的媒体类型没有关系,媒体的具体参数可以由SDP协商完成。因此,SIP协议具有很强的多媒体通信能力,能够方便地实现视频通信等业务。

SIP协议的动态注册机制,使用户移动变得十分方便。除了能在移动通信网络中实现基于IP的移动话音和多媒体通信业务,还能为固定软交换网络用户提供游牧性的业务。游牧业务是指当用户漫游到异地,也可以随时接入到网络中,实现其在归属地所能得到的服务。游牧用户可以改变网络接入点,但是当用户改变网络接入点时。正在进行的会话或通信会终止,即不具有会话的持续性,也不进行切换。

由此可以看出,采用SIP协议进行呼叫控制的软交换网络与传统的PSTN网络相比,最令人瞩目的功能就是对视频多媒体业务和游牧业务的支持。

2. SIP协议的优点

(1)与媒体无关的会话控制可以使SIP支持丰富的多媒体通信。

(2)SIP地址与终端位置的无关性使SIP用户天生具有移动性。

(3)协议简单,易于扩展,使SIP协议能够支持许多新业务;对不支持业务信令的透明封装,可以继承多种已有的业务。

(4)使用SIP智能终端可以将网络设备的复杂性推向边缘,简化网络核心部分。

二、SIP协议在软交换网络中的应用

1.基本应用

SIP协议在软交换网络中最基本的应用,就是控制主被叫双方建立各种会话,包括基本语音通信、视频通信、传真。

(1)视频通信业务。该业务除了可以建立点对点视频通信外,如果终端支持,还可以进行通话过程中的媒体格式切换。例如,两个用户正在进行视频通信,通话过程中,通话的任何一方通过发送re-Invite请求都可以修改正在进行通话的媒体格式,进行媒体格式的切换。

(2)传真业务。由于传真机不支持网口,所以SIP协议的应用主要体现在软交换之间。G.711透传方式传真的建立流程同G.711语音通话的建立流程一致;T.38格式的传真,ITU-T也对SDP的描述进行了详细规定。因此,SIP协议能够支持传真业务。

以上两种应用,都是在修改一个已经处于确认状态的对话。但有些时候,虽然Invite建立的对话还没有进入确认状态(没有收到最终响应),也有可能需要修改会话中的某些部分,此时用re-Invite消息就无法来完成会话的更改,因为Invite请求无法作用于本次对话。例如,使用“早媒体”(Early Media)播放语音通知的情况,媒体通道在Invite消息得到最终响应之前已经建立,真正的会话时需要采用新的媒体通道。在这种情况下,SIP协议还规定了一种使用Update消息来修改会话的方式。Update消息可以由对话中的任意一方发送,不影响对话状态就能更改会话参数。

由此可见,SIP协议支持与媒体无关的会话控制,可以使SIP协议更加灵活的支持各种媒体格式的会话控制。

2. 游牧性的应用

SIP的注册机制使SIP用户地址和终端位置没有关联性,因此具有游牧性。当用户游牧到异地,首先要接入到游牧地网络,通过游牧地网络进行注册,并到归属地网络进行身份认证,其业务属性也保存在归属地。如果用户呼出,需要保证呼叫能够通过游牧地的软交换进行接续。同时,注册过程也可以使归属地的软交换能够联系到用户,能够进行呼叫的接续。

虽然SIP协议天生支持用户移动性,但是游牧业务的实现跟网络组织结构有密切的关系。

(1)在网络接入侧:根据软交换网络组网要求,终端要接入到软交换网络中,首先需要接入到软交换网络边缘汇聚设备――SAC(业务接入控制设备)。用户游牧时,还要求能够通过游牧地SAC接入到游牧地软交换,并且注册、通话等过程都不能旁路掉游牧地软交换。因此,游牧地设备(包括SAC、软交换)需要记录下用户名、IP地址以及对应的其他网络信息(如果能够获得),并将相关的地址信息改为自身的IP地址,再将消息前转。

(2)核心网络部分:通过路由机制以保证各级软交换之间的可联系性,使用户在游牧地也可以经过游牧地软交换、归属地软交换完成注册过程;通过路由机制保证响应消息以及后续的呼叫请求消息可以按照要求的路由转发。

(3)归属地:用户注册应该由归属地来进行认证,除了方便用户信息管理之外,还能够保证归属地软交换能够联系到用户。用户的业务属性也应该存在于归属地,使归属地能够知晓用户使用的业务。

由此可见,要实现游牧业务,除了网络配合之外,还需要具备专门的路由机制保证注册流程是可监管的、合理、合法的。

sip协议篇(3)

中图分类号:TN915

SIP协议作为应用层信令控制协议,其连同其他协议为用户提供服务。SIP协议运用UDP传输,利用自身应用层可靠性机制确保传输信息的准确性和可靠性。SIP协议是当前使用较为广泛的VoIP协议,控制实现IP网络信令。SIP协议设计之初将协议灵活性和易用性考虑在内,却忽略了SIP协议安全性的重要性,致使,目前SIP协议安全性存在缺陷。

1 SIP协议存在的安全隐患

1.1 注册劫持

SIP协议注册指的是用户终端将自己信息注册到某个注册服务器上,在这个注册服务器上,根据address-of-record能找到该用户地址,该注册服务器可查看Register消息From字段确定消息能否修改注册用户的注册地址。但From字段可能被UA拥有者修改,这就为恶意修改注册信息提供了可能。比如,恶意攻击者可模拟UA,以检查的名义修改address-of-record相关联系地址,恶意攻击者首先注销原有合法用户注册信息,接着,修改From字段,让自己设备地址成为“合法注册用户”,通过这种修改,可让自己设备成功访问当前合法用户可访问的位置。这种形式的攻击是对无请求发送数字签名的攻击,通常情况下,大概所有的SIP UAs希望认证收到的请求,从而控制对自身资源的访问。正是这种恶意威胁的存在让SIP实体对原始请求做安全认证成为了一种必然。

1.2 伪装服务器

伪装服务器是攻击者实现攻击的一种手段,恶意攻击者常常将自己伪装成远端服务器,用户终端UA错误地被截获。例如,恶意攻击者在区域,重定向服务器在区域,恶意攻击者常将自己伪装成为在区域,一旦用户UA向区域发送消息,在区域的恶意攻击者便截获用户发往区域的请求,并假冒区域的重定向服务器向用户回答伪造的应答。这种恶意攻击严重地威胁着相当大一部分成员,一旦用户发送给区域的信息被区域截获,同时应答给用户一个伪造的应答,这样一来,以后用户UA所有的Register请求会发到区域。攻击者将应答From字段改为重定向服务器就可实现伪装服务器的目的,这就需要用户UA认证接受请求的服务器安全性[1]。

1.3 篡改消息

篡改消息分为篡改SIP消息体和篡改SIP消息头字段两种类型。篡改SIP消息体是指攻击者修改SIP消息的加密密钥,SIP UA路由必然请求通过信任的proxy服务器,UA信任proxy服务器转发请求,虽然,proxy服务器被信任,但它不希望proxy服务器得到会话密钥,这是因为,一旦proxy服务器有恶意的存在,其就会像中间人一样修改会话密钥,从而破坏原始请求UA安全。篡改消息带来的威胁不只是针对会话密钥,其对SIP端到端的内容都有一定的威胁,比如,对SDP、向用户展示的MIME包体以及电话信令等等。如果攻击者修改SDP包体,比如在RTP媒体流中安装窃听设备,那么就可以达到窃听语音通信的目的。为了保护一些重要的SIP消息头字段,UA要加密SIP包体,同时对端端之间的头字段做限制,比如对于Subject主题字段,可能出现攻击者将Subject重要请求改为次要请求,对于这种篡改SIP消息头字段的恶意攻击必须有一种安全机制来保护。但并非所有的头字段需要保护,有一部分头字段在proxy服务器处理请求的过程中合法更改的[2]。

1.4 恶意修改或结束对话

SIP根据BYE请求结束会话,有的恶意攻击者会伪造这种请求,如果伪造的请求被接收到,会话会提前被结束。比如,非会话方的恶意攻击者获得初始信息,这些初始信息包括会话双方在会话过程中的参数,一旦恶意攻击者在会话过程中发送BYE请求,当BYE请求被接收到后,会话会提前结束。除了会话终止还有恶意修改等,比如,发送re-INVITE请求改变会话。恶意攻击者之所以能恶意修改会话或者提前终止会话都是因为其在会话双方建立会话阶段捕获了一些初始消息,获取了一些重要的会话参数,比如,From字段、To字段等等,如果这些重要的会话参数被加密传输,恶意攻击者就不能伪造请求了。

1.5 拒绝服务

拒绝服务是指攻击者通过转发网络通讯堵塞其网络接口,从而使某个特定的网络节点不能正常工作,因攻击受害的可能是网络、联网主机或路由器等。常见的拒绝服务有以下两种[3]:(1)对SIP中间服务器的攻击;(2)对SIP终端系统的攻击。

2 SIP协议安全对策

2.1 网络层和传输层的安全保护

为确保消息的安全性和可靠性,要对消息进行完全加密,理论上,SIP协议由其自身底层安全机制确保自身安全,比如利用网络层IPSec、传输层TLS等加密SIP消息。但基于IPSec网络的复杂性,这种方法的成本较高,所以,考虑TLS,TLS可能遭受IP欺骗,但其作为一个能确保会话安全性的手段,可以考虑采用TLS加密SIP消息。TLS工作在应用程序和TCP层之间,面向TCP以上传输层的安全,在传输过程中,得益于其TLS套接口,消息的可靠性和机密性得到了保证。然而,对SIP服务器来说,不能维持过量的TLS负荷,其的扩展性是应该考虑的问题。

2.2 HTTP摘要认证

SIP协议常采用HTTP摘要认证机制来完成身份的认证,HTTP摘要认证可有唯一确定的用户名及密码认证一个用户,其认证机制主要有Proxy-to-User和User -to-User两种模式。其中,User -to-User只实现Register-to-User情况,因此,通过ser -to-User实现UA之间认证的可靠性并不能保证。目前,HTTP摘要认证只能实现Server在本区域UA认证,不能实现Proxy对域外UA认证、Proxy之间的认证以及UA对Server的认证。

2.3 应用层端到端加密

SIP协议可利用PGP加密方式和S/MIME加密方式来完成应用层端到端的加密,这是因为PGP和S/MIME均是公私钥和单向散列算法相结合的加密体系,均能提供数字签名、鉴别以及保密的功能,这样可确保被加密信息的机密性和真实性。但考虑到一些SIP消息头域只有对Proxy可见才行,所以,端到端的加密不一定能完成对SIP消息的完全加密。

3 结束语

本文详细地阐述了当前SIP协议存在的安全威胁,并提出了提高SIP协议安全性的一些认证机制,但这些提出的安全策略都存在一定的弊端,随着信息网络技术的不断发展,对SIP协议及其安全性要进行更深入地探讨。

参考文献:

[1]俞志春,方滨兴,张兆心.SIP协议的安全性研究[J].计算机应用,2007(11):2124-2125.

[2]司端锋,潘爱民.IP电话中的安全性研究[J].计算机工程,2007(03):105-107.

[3]黄元飞,金丽萍.网络与信息安全标准化现状及下一步研究重点[J].电信科学,2008(01):23-26.

[4]薛晓飞,陈璐等.RTP基于SIP和RTP的VOIP通信[J].指挥信息系统与技术,2012(01):68-71.

sip协议篇(4)

一、IMS-NGN网络概况

IMS(IP Multimedia Subsystem)是IP多媒体系统, 是新一代的通信理念,它能够满足现在的终端客户更新颖、更多样化多媒体业务的需求,也是解决移动与固网融合,引入语音、数据、视频三重融合等差异化业务的重要方式。IMS把原有的垂直型的网络架构演进成了水平的网络架构,并且独立出了业务应用层,从而使得不同的业务应用之间的互操作性和共享性更为灵活。SIP(Session Initiation Protoca1)称为会话初始协议,是用于在IP网络中建立、修改和终止多媒体会话的一种应用层控制协议。SIP是由IETF组织于1999年提出的一个在基于IP网络中,特别是在Internet结构的网络环境中,实现实时通信应用的一种信令协议。

3GPP组织在Release 5及Release 6阶段对IP多媒体应用领域进行了详细的分析研究,Release 5完成了IP多媒体子系统(IMS)核心网的组网框架、公共组件及基本业务流程定义,Release 6在对Release 5相关部分进一步扩展更新基础上,增加了对IMS关键业务能力、QoS保障、网络互通以及IMS/CS融合等方面的定义。这个由3GPP组织提出的IMS架构和思路被业界公认为是比较完善的针对IP多媒体领域的解决方案,面向CDMA2000接入的3GPP2标准组、面向固网的TISPAN(Telecommunications and Internet converged Services and Protocols for Advanced Networking)标准组均以3GPP IMS模型作为基础和参照进行了相应IP多媒体网络架构和业务体系的定义。

图1、IMS网络的演进

NGN通过控制承载分离,构成一个分布的系统结构。使整体建网成本大大降低,网络升级容易,便于加快新业务和新应用的开发和部署,快速实现低成本全网统一业务覆盖。简化了网络层次结构提高了网络资源利用率,减少了传统电路交换机中继互联的复杂性和降低了承载网的成本。

二、IMS的网络架构:

图2、3GPP IMS网络架构示意图

IMS网络架构,利用SIP的灵活性,可支持无线网络中大量的电话和非电话业务。该体系按其逻辑功能可分成3层:即传送网络层(包括终端网关等)、会话控制层和应用服务层,因而体系结构采用控制和承载相分离的方式如图3所示,分为接入互联层、会话控制层、和应用层。

图3、IMS网络功能实体

接入互联层完成的主要功能包括各类SIP终端SIP会话的发起终结;实现IP分组承载各种承载类型之间的转换;根据业务部署和会话层的控制实现各种QoS策略;完成与传统PSTN/PLMN间的互联互通等功能。

会话层完成基本会话的控制,完成用户注册、SIP会话路由控制、和应用服务器交互执行应用业务中的会话、维护管理用户数据、管理业务QoS策略等功能,和应用层一起为所有用户一致的业务环境。会话层包括CSCF(Call Server Control Function)、MRFC(Multimedia Resource Function Controller)、BGCF(Breakout Gateway Control Function)、IM-SSF(IP Multimedia Service Switching Function)等功能实体。其中CSCF包括P-CSCF(Proxy CSCF)、I-CSCF(Interrogating CSCF)、S-CSCF(Serving CSCF)等类型,在物理上可以是合一的,也可以分别设置。P-CSCF是UE接入IMS系统的入口,实现了在SIP协议中的Proxy和User Agent功能。S-CSCF在IMS核心网中处于核心的控制地位,负责对UE的注册鉴权和会话控制,执行针对主叫端及被叫端IMS用户的基本会话路由功能,并根据用户签约的IMS触发规则,在条件满足时进行到AS(Application Server)的增值业务触发及业务控制交互。I-CSCF在IMS核心网中起到关口节点的作用,提供本域用户服务节点分配、路由查询以及不同IMS域间拓扑隐藏等功能。

应用层,向用户提供业务逻辑,包括实现传统的基本电话业务,如呼叫前转、呼叫等待、会议等业务;实现CS和PS已有的智能业务、基于SIP的非传统电信业务等丰富的娱乐、游戏业务。

三、IMS的业务流程:

IMS控制层通过SIP(RFC 3261)基本协议建立、改变或结束多媒体会话及媒体协商。SIP协议具备以下优点:

(1)与媒体无关的会话控制可以使SIP支持丰富的多媒体通信。

(2)SIP地址与终端位置的无关性使SIP用户天生具有移动性。

(3)协议简单,易于扩展,使SIP协议能够支持许多新业务;对不支持业务信令的透明封装,可以继承多种已有的业务。

(4)使用SIP智能终端可以将网络设备的复杂性推向边缘,简化网络核心部分。

下面介绍SIP协议在IMS业务流程控制中的应用。

图4、IMS呼叫流程简化结构

如图所示,当A用户想要与B用户进行会话时,UE A就生成一个SIP INVITE请求,并且通过GM参考点将该请求发送给P-CSCF。P-CSCF会对用户A进行鉴权,若A为合法用户且签订了相应租约,P-CSCF通过Mw参考点转发给S-CSCF。S-CSCF继续处理这个请求,执行服务控制,包括与应用服务器(AS)的交互,并且通过SIP INVITE请求中的用户B的身份最终确定用户B的归属运营商的入口点。I-CSCF会通过Mw参考点收到该请求,并且通过Cx参考点来联系HSS,以找到正在为用户B提供服务的S-CSCF。该S-CSCF负责处理这个终结的会话,包括与服务器AS的交互,并最终通过Mw参考点将这个请求发送给P-CSCF。经过进一步处理后(例如压缩和隐私检查),P-CSCF通过Gm参考点将这个SIP INVITE请求发送给UE B。 UE B生成一个183响应,该响应经过与INVITE消息相同路径反向传回给UE A。再经过几次往返协商后,UE A和UE B完成会话建立。

会话结束时,UE A(或UE B)发起SIP BYE请求,该请求沿着INVITE相同路径传送给UE B(或UE A),UE B返回一个200(OK)响应,沿途的CSCF和所有的AS都会清除与本次会话有关的所有对话状态信息,SIP就完成了一次IMS业务流程控制。

四、结束语:

SIP及基于SIP的IMS业务体系为NGN的开发打下了基础,显示出巨大的潜力,全球已有50%的运营商部署了IMS。基于IMS架构的移动固定融合网络是能够得到普遍认同的最佳解决方案。

参考文献:

[1]《3G IP多媒体子系统IMS--融合移动网与因特网》 (芬)Gonzalo Camarillo,Miguel A.García-Martin张同须译 人民邮电出版社 2009

[2]《IMS技术原理及应用》 胡乐明 曹磊 陈洁 电子工业出版社 2008

sip协议篇(5)

一、SIP简述

SIP称为会话初始化协议,是由Internet工程任务组IETF于1999年提出的一个实现实时通信应用的信令协议。这里,会话是指用户之间的实时数据交换。SIP协议作用于建立、修改、释放多媒体会话。其中,会话可以是不同的数据,例如:数字化后的音、视频数据等。因此,SIP的应用具有很大的灵活性。

二、设计方案

SIP的主要部件包括用户、服务器、重定向服务器以及注册服务器。SIP呼叫建立正是依赖这些功能实体来实现。用户由用户客户端和用户服务器组成。前者只用于初始SIP请求,并负责发起呼叫;后者主要实现呼叫的接收并做出相应的响应。服务器具有解析能力,主要用于接收用户发来的请求,根据网络策略将请求发给相应的服务器,并根据服务器的应答对用户做出响应,也可以将收到的消息做适当的修改后再发出。重定向服务器将获得的呼叫的下一跳地址信息告诉呼叫方,呼叫方由此地址直接向下一跳发出申请,而重定向服务器则退出这个呼叫控制过程。注册服务器用来完成用户服务器的登录。在SIP系统中所有的用户服务器都要在网络上注册、登录,以便用户客户通过服务器能找到。

基于SIP协议的音视频终端的实现主要由信令控制协议-SIP协议协同音视频处理模块、媒体传输控制模块、界面控制模块这四个模块。在整个设计中,界面控制建立起用户与底层实现的桥梁,主要使用C#来进行相应的界面布局。信令控制模块由SIP协议来实现,用于实现呼叫建立、更新会话和拆除会话等功能,并向界面控制模块提供一些必要的接口。音视频处理模块主要实现的音视频数据的采集、多媒体数据流编解码、图片渲染、音频播放。媒体控制协议由RTP/RTCP协议来实现,RTP主要负责流媒体数据的封装,以及媒体流的实时传输,而RTCP主要负责不同通信实体之间交换控制信息,管理传输的质量,提供流量的控制以及拥塞控制等服务。

2.1SIP通信控制模块

在信令控制控制中,本设计采用开源的PJSIP协议栈。首先是因为PJSIP的代码层次非常的清晰,从低级到高级都提供很方便的接口调用以供开发,而且对接口提供了详细丰富的文档说明和相当多的测试案例,大大缩短开发周期;其次,它高度的可移植性也为开发人员带来了极大的便利,只需要编译一次就可以在多种平台上运行;再次,它高效的性能也保证了在低配置的终端也能带来良好的通话体验。最后,PJSIP支持多种SIP功能及扩展功能,例如多人会话、即时消息、IMS等等。

2.2音视频处理模块设计

由于是基于windows系统平台开发,所以音视频数据的采集都采用Windows自带的API函数库。音频的采集和播放采用的就是Windows Multimedia API,waveInXXX类的函数用于采集,waveOutXXX类函数用于播放。而视频的采集采用的是Windows的DirectShow,运用DirectShow我们可以很方便的从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。视频的渲染则是采用SDL来完成,SDL是一个跨平台的音视频渲染库,可以实现Linux,MAC,IOS,Android以及windows平台的音视频渲染。

音视频数据的数据量通常比较大,未经过压缩编码的视频在因特网上的传输效率十分低下,而且占用大量的网络资源,造成网络堵塞。音视频编码方面,本设计采用开源框架FFMPEG,这是一款非常强大的视频处理的开源框架。它支持丰富的视频编解码种类如VP8,H.263,H.264等,编解码效率高效。音频的编解码主要实现了G711,G729,iLBC,Speex等标准。

三、结束语

SIP协议简单、通用性好,而且移植性强等特点得到大家的关注。基于SIP协议的软交换新技术的研究和应用,将使视频通信进入一个新的发展和应用时期。

参考文献

[1] BUR GOODE.Voice Over Internet Protocol.ProCeeding of the IEEE.2003

[2]司瑞峰,韩心慧,龙勤,潘爱民. SIP标准中的核心技术与研究进展.软件学报. 2005

sip协议篇(6)

1 引言

IP电话通常被称为Internet电话或网络电话,是指利用Internet作为传输载体进行语音通信的技术。IP传真就是指利用Internet实现传真业务的技术。在SIP协议中,Internet的实时传真业务的运行模式主要分为两类:T.38协议的Fax Relay模式和Fax Pass through模式。

本文描述了基于SIP T.38和Fax Pass through模式的实时传真传送,对于T.38模式主要使用了媒体传输协议UPD/UDPTL,虽然是使用UDP来实现,但使用TCP传送T.38传真数据包的SIP会话建立可以从UDP方式演变出,本文描述的呼叫信息流是flow Internet-draft的实现。

2 基于SIP协议的实时传真业务原理

支持T.38的Internet电话网关可以在RTP语音流被检测到之前通过他们,一旦这些流被DSP资源监测到,T.38传真设备将从语言模式转换到传真模式,并初始化T.38传真数据包的传送。这些实例可以被用于“网络网关”,“企业网关”和传真设备及终端。SIP T.38 Fax Relay传输过程包括:呼叫的建立,数据传输和信号的发出,体系结构如图1所示。

2.1 Internet语音网关及传真检测

Internet语音网关有两种方式来检测传真传送:一是在发送端网关检测到T.30呼叫语音。二是在接收端网关检测到V.21初始标志序列。当CED可用时,该序列一直跟随着CED。

CED语音可以被接受方网关检测到,它不能作为传真的触发信号。Internet语音网关要支持T.38实时传真必须支持对V.21初始标识序列的监测。

2.2 Internet电话网关和T.38传真媒体连接

通过成功的传真监测,媒体连接的描述将使用SDP协议进行修改。将传真媒体连接加入到现有的语音连接上,在传真检测后,修改SDP T.38媒体属性时要特别注意到T.38 MaxBitRate(媒体连接最大T.38速率)。在回应最大速率请求时,要遵循以下原则:如果远端的SDP描述包括最大传真速度X,本地主机最大速率设置为Y,则本地主机将在SIP回应中发送最大传真速度为Min(X,Y)的Re-invite请求进行协商。

2.3 SIP会话和传真结束

完成传真传送时,任何在传真检测前成功建立的语音连接将被恢复,即传真会话结束,语音会话恢复。

2.4 Internet电话网关和传真pass-through模式

Fax pass-through模式对防止呼叫错误十分重要,例如对SIP通信不支持T.38的情况。对于支持PCM/G.711而不支持T.38实时传真的Internet电话网关,最好采用pass-through模式来转换会话。Internet电话网关可以通过识别SDP T.38连接回退到pass-through模式,以便转向到一个新的语音连接。新的语音连接应该具有如下特点:传输速率最小,PCM G.711编码,静音抑制,回应关闭。产生T.38 Re-invite失败的电话网关,转而初始化Re-invite消息为pass-through模式。

3 基于SIP协议的传真呼叫流程

会话由语音描述开始,然后会话修改为T.38传真模式。Internet传真终端之间呼叫流程如图2所示,具体流程为:

step1:SIP invite消息发送到被叫方请求语音连接,这里使用一个SIP,语音连接建立;

step2:终端网关检测到初始序列,SIP Re-invite请求被发送到发出端网关来修改会话参数,这样建立起T.38传真连接;

step3:成功的认证后,T.38 IFP传真数据报通过UDP端口发送/接收;

step4:只有传真传送结束,语音性能恢复,呼叫结束。

4 结论

本文对SIP系统中实时传真业务进行了细致的分析,充分利用SIP中的T.38协议提供的实时传真功能,设计了基于SIP T.38协议的实时传真业务。在今后的开发工作中,将会对SIP中的实时传真业务进行进一步的完善,使实时传真业务得到更广泛的应用。

[参考文献]

sip协议篇(7)

中图分类号:TP393.0

文献标识码:A

DOI: 10.3969/j.issn.1003-6970.2015.07.025

0 SIP简介

SIP(会话初始协议,RFC3261)是IETF定义的通过IP网络建立和管理多媒体会话的协议,它采用的是众所周知的客户机服务器模式,它借鉴了SMTP(简单邮件传送协议,RFC2821)以及HTTP(超文本传送协议,RFC2616)的原理,而这两个协议是因特网上最成功的协议,同时,SIP是一个基于文本的协议,这意味着它更易于扩展、纠错和构建各种业务。因此,在IMS(IP多媒体子系统)中,选择SIP作为其会话控制协议,更易于建立具有更大承载能力的业务。

根据协议标准定义及实际研制经验,协议平台的SIP协议分析划分为以下几部分内容: SIP事务用户层(TU,Transaction User),事务层(TR,TRansaction),传输层(TP,TransPort),编解码模块(SIP PARSER/SDPPARSER,SIP协议编解码及SDP编解码),信令压缩模块(SIGCOMP)几个协议主体部分。除了这几个协议主体以外,SIP还需要实现和上层业务、数据库以及底层承载之间的接口,方便进行数据以及消息的交互。

SIP协议的TU层是SIP协议主体的重要组成部分,它的功能包含几个方面:(1)负责SIP消息到上层应用进程的消息分发;对上层应用屏蔽底层协议实现和分布式处理的细节;(2)对于需要创建对话的,维护对话的生命周期,管理对话的事务列表;(3)完成UAC, UAS或者pro xy的协议栈行为。

SIP采用的是一种offer/answer模型来描述会话。一个UA发起一个会话描述,称为offer,另一个UA以另一个会话描述来进行响应则为answer,一个offer/answer在一个Dialog上下文中进行交互,因为在具体实现SIP协议栈时,TU需要建立数据区来维护对话Dialog的相关信息,如图1所示,TU是通过建立leg模型来维护dialog的,TU建立的数据区称作leg,leg将会保存对于会话创建、会话释放,处理请求、处理响应所需要的一些关键信息,而这些信息是通过SIP消息从相应的头部中进行提取,和会话相关的主要头部From,To以及Call-ID中的信息将都会保存在leg中。

数据区的创建根据协议栈的行为分为UA和proxy两种情况。

Proxy方式下会存在一人一出两个Leg对象,人呼侧由TU收到事务层的初始请求而创建人呼侧Leg对象,消息通过人呼侧Leg处理后上报上层应用,上层应用处理结束后,转发初始请求到TU的出呼侧,TU进而创建出呼侧Leg对象以及下发SIP消息。

UA方式下,作为被叫网元,TU协议栈收到事务的初始请求后,创建人呼Leg后,通过初始请求消息上报上层业务,上层业务处理完业务逻辑后,通过人呼Leg回送响应到事务层。后续请求和响应都是通过人呼Leg传送。作为主叫网元,上层应用调用发送初始请求接口到TU,TU创建出呼侧Leg后,初始请求消息通过该Leg发送至事务层,后续请求和响应都是通过出呼侧Leg传递。

1 forking功能

fork即常说的分叉,一个请求可以分叉为发往多个目标地址的请求。假定B用户为一号多机用户,即一个SIP用户可以同时在很多终端上注册,每种终端可以实现不同的功能,比如便携PC支持视频而固定SIP电话可能功能简洁,B用户多个终端同时在线,当A用户呼叫B用户时,那么B用户的多个终端都会收到呼叫请求,它的任意终端都可以去响应这个呼叫。A最终会选择一个终端创建会话。

在IMS中实现fork功能涉及到的网元类型分为终端(UA行为)以及服务器(proxy)行为,根据协议的描述,梳理不同网元的处理原则。

1.1 终端处理原则

(1)请求

根据协议的描述,只有初始对话(独立事务)请求才会发生fork。终端可以在初始请求INVITE的码流中的通过添加Request-Disposition头部中指示进行fork的相关处理。同时,当被叫终端注册了多个时,主叫终端可以添加Accept-Contact,Reject-Contact参数,指示选择符合用户偏好的被叫以及优先级更高的被叫。

(2)响应

当fork发生时,多个被叫终端都会对主叫产生响应,未创建对话前,主叫终端可以接受或拒绝任何被叫终端的Fork应答,如果终端拒绝fork临时应答,那么必须发送cancel或者bye请求,这些请求是针对每个终端即每一个fork的分支都需要发出。

主叫终端如果接收到被叫终端一个fork分支的成功应答即2xx响应,开始创建会话;应该释放其他fork分支的早对话和非早对话,具体释放的方式根据各个fork分支的不同而不同。其中对于已经收到了临时响应的fork分支,不管是否建立起了早对话,则发送CANCEL请求来释放;对于没有收到任何的临时响应的fork分支,则不能发送CANCEL请求,通过TU设置的保护定时器超时,来释放该分支的相关资源。

主叫终端只能收到一条最终响应,如果收到2xx响应,则建立对话,如果为2xx以上的响应,则认为无法建立呼叫,则需要释放呼叫。

1.2 处理原则

(1)请求

提取码流中fork和用户喜好相关的字段,处理fork请求,比如到被叫的归属的服务器,需要将初始INVITE请求分叉为多个发送到被叫终端,对于非初始请求,需要进行转发。

(2)响应

立即转发除100(Trying)以外的任何临时响应。立即转发能成功建立对话的第一条2xx成功响应,如果其中任意一个地址接收呼叫,该网络服务器应该向其它地址发送CANCEL消息,如果由于网络时延而导致在服务器接收到多个200消息,服务器应当将后续的200消息拒绝掉,不应当后向转发,这样能保证只有一个终端能够建立对话。

对于3xx类以上的非成功响应,根据响应码的具体含义进行处理,比如3xx需要优先传到主教终端进行重定向,而对于4xx、5xx、6xx等非成功相应,即先保存这些响应,如果最后没有收到任何2xx响应,则根据协议规定的优选的原则选择响应码发送到主叫终端,结束整个会话。

2 SIP中fork的实现原理

SIP协议实现fork的基本逻辑功能:包括fo rk呼叫状态维护,管理多个临时响应创建的对话,并在会话创建之前维持多个早对话出/人呼侧消息的正确关联关系。上层业务维护多个Contact的上下文与分叉呼叫之间的关系,分别对早对话进行承载控制。

2.1 确定是否发生fork

当被叫终端注册了多个Contact地址时,SIP协议需要去提取码流中的相关字段,通过Accept-Contact,Reject-Contact参数确定好被叫目标集,并按照优先级将多个被叫终端进行排序,进一步的提取Request-Disposition头部的关键信息,对是否需要进行fork进行确定,该头部的内容如下:

proxy-directive=”proxy”

fork-directive="fork"/"no-fork"

parallel-directive="parallel"/"sequential"

其中proxy-directive确定当前的网元是否为proxy,fork-directive是用来指示是否需要fork,当指示为”no-fork”时,虽然被叫有多个,但是初始请求只会发送给优先级最高的被叫终端并不会产生分叉,如果指示为”fork”时,则进一步的读取parallel-directive指示的值,parallel-directive若为“parallel”为并行fork,并行fork则需要被叫归属的服务器将初始的INVITE请求同时发送给多个被叫终端,既并行呼叫;若为“sequential”为串行fork,串行fork则不需要服务器将初始请求同时发送给多个被叫终端,而是逐个的发送,先发给第一个优先级最高的被叫,如果接通,则不需要进行后续处理,如果没有成功接续,则继续发送给第二个被叫,依次类推。

2.2 TU中会话的维护

从前面SIP的简介我们得知,TU需要去维护会话dialog,而对于dialog的维护,TU需要创建数据区Leg去保存相应的信息,fork情况下,可能存在同时发起多路fork分支的呼叫,而多个被叫终端的对话信息是不完全相同的,如果把所有的信息都保存在简单情况下的一个Leg数据区里,则容易引起一些误操作,逻辑很不清楚,所以,可以采用TU维护多对数据区的方式来解决。

普通呼叫情况下,SIP的TU层只需要维护人呼侧和出呼侧的一对Leg即可,这样所有的消息都通过这一对Leg来进行关键信息的记录以及转发。而fork情况下,由于终端有多个,而每个终端都可以传送不同的请求和响应到主叫终端,为了对每个终端的信息进行彼此独立的进行保存,TU为每一个终端建立对应的数据区Leg,具体如图2所示,图2和图1比较可以看出,fork情况下,TU的人呼侧和出呼侧分别有多个Leg,而且人呼侧和出呼侧是一一对应的,比如In Leg(0)和Out Leg(0)是对应第一个被叫终端,用来记录第一个别叫终端和主叫之间的会话信息,并进行这一分支呼叫的消息转发,而In Leg(l)和Out Leg(l)是为主叫终端和第二个被叫终端服务的。当然,不管是fork的第一个分支还是第二个分支和主叫发生联系,这都是属于当前的这一个完整的会话,因此两路分支之间也可能有信息的交互,此时可以通过CALL这样的一个空间来保存两者的数据区索引,方便通过一个人呼叫的Leg能很快的访问到另一个分支的Leg。

3 具体流程

SIP的具体流程要分为并行和串行两种情形,分别进行介绍:

3.1 并行流程

在并行流程中主叫的请求会同时被发送给两个别叫用户,具体流程如图3所示,其中User AgentA为主叫用户,User Agent B,C为被叫用户,Proxy Server是IMS系统中的某个具体的网元,是服务器,主要是起到消息转发以及完成fork功能的作用。

各步骤的具体含义如下:

主叫用户A发起请求INVITE到服务器,对应图上消息(1);

假定此服务器是被叫归属地的网元,它能检测到有多个被叫联系contact地址,同时通过Request-Disposition确定为发生并行fork,于是,向两个被叫用户B和C发起INVITE请求,对应图上消息(2)和(3);

两个被叫用户收到INVITE请求后,提示用户并振铃,都发送180( Ringing)消息通过服务器传给主叫用户,主叫用户能同时听到两个被叫的回铃音,对应图上消息(4)(5)(6)(7),此时,两路别叫的180消息中的To头部的tag值是不一样的,这样服务器中实现SIP的TU层就可以维护两个leg,来保存两路的不同会话信息;

两个被叫用户都会送响应,上图中被叫用户B接通呼叫,产生2000K的应答,而被叫用户C则回送4XX消息,显示忙,服务器接收到两个被叫的不同应答,需要进行处理,它主动地对被叫用户C回送ACK,以结束被叫用户C之间的呼叫,同时将被叫用户B的200 OK转发到主叫侧,具体对应图上的(8)(9)(10)(11);

主叫收到成功响应后,回送ACK消息到被叫用户B予以证实,呼叫建立,对应图上的(12)和(13);

主叫挂机,发送BYE消息,被叫回应200 0K响应,整个通话结束,对应图上的(14)(15)(16)(17)。

3.2 串行流程

在并行流程中主叫的请求会按照优先级先后发送给两个被叫用户,具体流程如图4所示:

各步骤的具体含义如下:

主叫用户A发起请求INVITE到服务器,对应图上消息(1);

假定此服务器是被叫归属地的网元,它能检测到有多个被叫联系co ntact地址,同时通过Request-Disposition确定为发生串行fork,就需要根据两个被叫用户的优先级,优先级通过Accept-Contact,Reject-Contact等参数按照RFC3841协议规定的原则进行权值的计算,假定用户B的优先级高于用户C,服务器现将INVITE转发给用户B,对应图上消息(2);

被叫用户B收到INVITE请求后,提示用户并振铃,并发送180(Ringing)消息通过服务器传给主叫用户,主叫用户能听到被叫用户B的回铃音,对应图上消息(3)(4);

被叫用户B忙,因此回送4XX消息,服务器接收后,由于是fo rk情况,因此不将此失败响应发送给主叫用户,直接给被叫用户回送ACK确认,并将此初始请求消息INVITE继续发送到第二个用户C,对应图上消息(5)(6)(7);

被叫用户C收到INVITE请求后,提示用户并振铃,并发送180(Ringing)消息通过服务器传给主叫用户,并进一步的发送200 0K响应接续通话,对应图上消息(8)(9)(10)(11);

主叫收到成功响应后,回送ACK消息到被叫用户B予以证实,呼叫建立,对应图上的(12)和(13);

sip协议篇(8)

引言

目前传统的公众交换电话网(pstn)上传送着许多数据业务,由于快速增长的数据业务给并不适合传送数据业务的电话网造成了很大的压力。因此,基于分组技术的数据网与电路交换网最终必将走向融合,产生下一代由业务驱动的网络。软交换是下一代网络交换的核心,如果说传统电信网络是基于程控交换机的网络,而下一代网络则是基于软交换的网络。

1系统开发的技术基础

1.1软交换的概念

我国信息产业部电信传输研究所对软交换的定义是:“软交换是网络演进以及下一代分组网络的核心设备之一,它独立于传送网络,主要完成呼叫控制、资源分配、协议处理、路由、认证、计费等主要功能,同时可以向用户提供现有电路交换机所能提供的所有业务,并向第三方提供可编程能力。”

1.2 sip协议介绍

会话初始化协议sip(session initiation protocol)是一个面向internet 会议和电话的简单信令协议,sip最初由ietf mmusic (multiparty multimedia session control) 工作组提出。www.133229.cOM它的主要目的是为了解决ip网中的

信令控制,以及同软交换机的通信,从而构成新一代的通信平台。

2 系统的总体设计和实现

2.1系统的层次结构

软交换采用业务与交换分离的设计思想,在系统设计结构上将软交换技术应用设计为三层结构,底层为用户接入层,中间为交换支撑层,最上面是业务实现层。系统的层次结构如图1所示。

2.2呼叫管理服务器的设计与实现

呼叫管理服务器处于该体系结构中的网络控制层,它是软交换系统的核心部分。呼叫管理服务器除了完成呼叫控制、连接控制和协议处理功能外,还将提供原来由网守设备提供的资源管理、路由以及认证、计费等功能。

软交换系统的运行需要sip协议栈和sdp协议栈。客户端应该能够产生invite和ack请求,能够产生和解析call-id,content-length,content-type,cseq,from和to头部字段。呼叫管理服务器应该能够接收invite,ack,bye,cancel和register请求,应该能够产生和解析call-id,content-length,content-type,cseq,expires,from,max-forwards,via和to头部字段。为了能够使客户端和服务端能够使用rtp传输语音流,sdp协议应该能够产生和解析v,o,s,c,t,m和a头部字段。

本系统以面向对象的方法设计了一个满足系统要求的最小sip和sdp协议栈。sip协议栈支持invite,ack,bye,register和cancel请求,支持100,180,200,300,400,500和600状态应答,支持subject,contact,call-id,content-length,content-type,cseq,expires,from,max-forwards,via和to头部字段。sdp协议栈支持v,o,s,c,t,m和a头部字段。sip和sdp中的头部字段都是以类的形式实现的,所支持的头部字段都是从一个抽象类header继承而来。抽象类header的定义如下:

class header

{

public:

header();

virtual ~header() = 0;

virtual string encode() const = 0;

virtual void decode(const string& headerstring) = 0;

virtual string getname() const = 0;

};

其中最主要的方法为decode,主要用来对相应的头部字段进行解析,getname方法返回当前的头部字段类的类名,encode方法用来产生相应的头部字段的字符串。

其中sip协议栈的结构如图2所示:

解析层是对sip消息进行解析和构造。解析层实现的关键在于各个头部字段类的设计及其相应decode方法的实现。解析层的实现借鉴了vocal开放源码中sipstack的头部字段类的设计方法,vocal的sipstack对rfc2543完全支持,但协议栈非常的庞大,设计的过程中 参考 了vocal的sipstack的头部字段类的设计形式实现了一个简洁,实用的sip协议栈,sip协议栈的大小还不到vocal的sipstack的1/10。

3 结束语

总之,基于sip协议软交换系统的前景非常广阔,在这个领域,有许多技术难题等待人们去解决。相信在大家的共同推动之下,软交换系统的应用将得到快速的 发展 。

参考 文献

[1]强磊等编著.基于软交换的下一代 网络 组网技术[m].人民邮电出版社,2005

sip协议篇(9)

主要内容分析内容:不同网络之间的寻址与定位;消息的映射预处理;终端地址的转换;硬件模块的组成。

具体设计了网关会话层软件程序的结构和功能模块的划分,给出了实现互通时的外部通信流程与内部消息流程,及硬件模块化设计。

关键词:SIP;H.323;转换网关

中图分类号:TN915 文献标识码:A 文章编号:1007—9599 (2012) 14—0000—02

一、SIP与H.323的区别

(一)协议的出发点:H.323的传输从电路交换方式变更为分组交换方式;SIP协议主要是完成了基于Internet上IP电话的应用同时增加了QoS呼叫保障机制。

(二)消息编码的不同:H.323采用压缩编码规则和ASN.1的二进制方法;SIP是基于文本的协议,与H.323相比具有较强的优越性。

(三)会话能力的协商和调整方法:

H.323利用H.245进行能力协商的会话控制;

SIP采用SDP协议描述。

(四)Session管理的方式:

H.323的session由MCU执行会议控制功能,参加会议的终端全部都向MCU发送控制消息;H.323设计便于计费,对带宽的管理也比较简单。

SIP session设计为分布式,他具有分布式的多播功能,多播功能能够实现更方便的会议控制,简化用户定位、群组邀请等,节约带宽。

通过以上对比分析,从协议互通角度考虑,SIP和H.323网络互通需要解决以下问题:

H.323和SIP地址的转换;寻址定位的实现;消息映射和呼叫过程同步。

二、H.323地址与SIP地址的转换

SIP和H.323支持的地址格式不同:

H.323支持地址类型:H.323 ID、E—mail地址、IP地址和主机名,URL地址。

SIP地址由URL定义其结构,用以指示主叫、被叫、重定向和请求目的地址,在SIP消息内的From,To,Contact字段和Request—URL字段中。

因此,如果完成H.323和SIP网络之间的互通,就必须要实现H.323和SIP网络之间的地址解析和映射,当网关收到来自H.323网络或SIP网络的消息,需要在消息内解析所包含的地址单元,再按地址映射表,转换成对方网地址格式,然后封装在需要发出的消息中。

SIP 地址转换成 H.323地址的转换规则:

(一)e164部分:当SIP地址中userinfo为Tel格式例如+86—010—****@IP地址,这部分将被转化成为H.323地址中e164部分,其中的+,—号会去掉。地址被转化成H.323地址中e164部分,为“86010****”。

(二)h323—ID部分:SIP地址中的userinfo部分会直接转成为h323—ID,例如sip:terminal@IP转成h323— ID就是sip:jack@IP地址。

(三)url—ID部分:SIP地址中的存在类似的user@domain,可以直接转化成为H.323 url—ID部分。sip:terminal@bell—转为url—ID就是sip:terminal @bell—。

(四)email—ID部分:SIP地址存在user@group这中email地址格式,那么将email地址转化为h.323地址的email—ID部分,如sip:terminal@IP地址可以转 terminal @IP地址。

(五)transport—ID部分:SIP地址中存在IP地址和端口的部分,H.323地址需要用transport—ID表示,如SIP地址如果是sip:terminal@IP,那么转成H.323地址:transport—ID是IPAddress IP地址:端口号。

从H.323地址转换到SIP地址时:

1.e164部分:e164部分转换成一个电话号码的SIP地址,规则是:sip:telephone@host:user=phone.

例如e164ID为86010****转化成SIP地址就是:sip:+86—010—****@host:user=phone。

2.h323—ID部分:这部分可以转化成为SIP地址的userinfo部分, 但是如果地址是terminal @IP地址这种类型的话,需要将mailto转化成sip。

3.email—ID:需要将sip标识符加在email—ID的前面,例如email—ID 是

terminal@IP变换到SIP地址就是:sip:terminal@IP。

4.url—ID :需要将sip标识符加在url—ID的前面,如url—ID是h323:

变换成SIP地址就是:sip:.

sip协议篇(10)

传统的旅游信息是在Web网页上的,可能存在很多缺点,比如:信息混乱,内容复杂,广告多,搜索时间长,用户界面的视觉效果差等等。用户经常花费很多时间用来搜索信息,但是通常却找不到他们想要的信息。手机对人们来说,或许已成为必不可少的一部分,因此对更多人来说其成本更低,使用更为方便快捷。目前,市面上并没有一个完整的旅游信息平台。

本文提出了一个基于Android技术的旅游信息系统应用程序。旅游信息终端的通信架构是基于SIP(会话初始协议)协议设计的,其中浏览旅游信息的音频和视频模块是基于H.264协议和RTP(实时传输协议)设计的。旅游信息是通过区域实现模块分化的,用户可以选择景点并播放关于该景点的音频或视频信息,或者阅读图片和文本信息,从而选定最感兴趣的景点游玩。

1.技术原理

旅游信息终端使用SIP协议作为基本层。SIP协议是由IETF(因特网工程任务组)制定的多媒体通信协议,广泛用于控制交流会话。它依赖于传输层,其中会话可能由音频信息和视频信息共同构成。

SIP模块分为用户,服务器和注册服务器3部分。当用户发送一个音频或视频请求,用户首先向注册服务器发送注册请求。当注册服务器通过注册请求之后,音频或视频请求则被发送到服务器响应请求,以允许播放音频或视频信息。图1显示了一个基于SIP协议的音频或视频通信过程。

2.旅游信息终端的设计

本文提出的旅游信息终端系统采用当前最热的Android技术,如图2所示。旅游信息终端的通信架构是基于SIP协议设计的,其中浏览旅游信息的音频和视频模块是基于H.264协议和RTP(实时传输协议)设计的。该系统采用信号控制层和SIP协议共同完成信号控制。音频和视频信息传输层是实现层,包含了RTP传输模块、媒体模块及其他模块等。

当用户想看多媒体的信息时,开放媒体线程的请求被发送到服务器。多媒体信息通过H.264协议编码并压缩,然后再使用RTP协议发送到响应的接收线程中。通过H.264协议进行解码处理后,用户打开音频和视频线程查看信息。图3显示了整个处理过程。

本文的旅游信息终端以天津这个城市为例。根据天津的区域分布,旅游信息终端在此基础上按照其街区进行划分景点。天津市分为16个区,比如河北区、河西区、北城区、西青区等等(见图4)。当用户打开软件时,第一次使用会提示一个新手引导页面。每个区域的景点都有完整的信息介绍。

用户可以通过使用这个程序查看周边景点信息,也可以浏览在其他区域的景点信息。这种一站式信息检索可以为游客节省大量的时间,它让用户有更多的时间来制定一个更合理的旅行计划。当用户查询景点信息时,该软件会向用户提供多样的景点介绍方式,比如文本信息、图像信息、语音信息等等。当用户不方便阅读文本信息时,多元化的信息服务为用户提供了便捷的选择,比如通过音频信息来了解景点。

上一篇: 供货协议 下一篇: 银行党风廉洁工作总结
相关精选
相关期刊