HI,欢迎来到学术之家,发表咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 sip协议

sip协议

时间:2023-02-13 14:16:05

sip协议

sip协议范文1

关键词:会话初始化协议SIP;TCPN;建模;模型

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)25-0035-02

1 引言

第三代合作伙伴3GPP选择SIP协议作为第三代移动通信系统的IP多媒体子系统(IMS)心灵协议,是因其具有灵活、无缝和可扩展性,它将逐渐成为下一代网络NGN中关键控制协议之一。它可以满足多媒体通信与网络电话的要求,所以很多的通讯公司均先后研发出了支持SIP的服务产品与终端产品。为充分适应这些技术的发展,SIP协议需要进行进一步的完善与扩充,但是如果协议在设计环节出现任何问题都会给系统带来难以预料的影响,所以为保证协议的稳定性和安全性,应在早期开发时尽可能挖掘其隐蔽的问题并找出解决方案。

目前研究SIP协议主要涉及以下几方面:基于SIP的应用于服务[3];SIP测试工具和方法;其他协议与SIP协同工作。因时间着色Petri网TCPN[2]在描述带有较复杂的交互动作和时间约束的系统过程中具有明显的优势,故本文以TCPN为模型分析工具进行SIP协议分层TCPN模型的构造,并在不同状态下实现分层建模。

2 SIP协议事务处理

SIP协议通过事务进行会话控制,其主要事务有INVITE、non_INVITE事务。INVITE事务完成会话的创建,non_INVITE事务则完成会话的保持与关闭。SIP端系统(User Agent,UA)是连接服务器从而发送服务请求的一种应用程序。因UA向服务器发送服务请求并接收来自服务器的响应,故一个UA有UAS(用户服务器)和UAC(用户客户端)两部分,这两部分就是SIP协议中的两个最关键的参与者,UAC创建呼叫请求,UAS接受呼叫给出响应。

在SIP的请求消息中,最常用的有INVITE、REGISTER、CANCEL和BYE。其响应消息有1xx、2xx、3xx、4xx、5xx、6xx6种。SIP的呼叫方式有3种:从UAC到UAS的直接呼叫、从UAC发出的重定向呼叫、服务器发起呼叫。本文主要针对应用最广的直接呼叫进行分层建模。

3 SIP协议TCPN分层建模

本文应用CPN Tools[4]进行INVITE事务的分层建模,并在不同的抽象层次上描述协议行为细化模型。这种方法在一个层次中描述协议细节,有利于优化或局部完善协议模型,也能有效把握模型规模,便于确认模型与分析协议性质。

SIP协议的TCPN分层模型中的10个模型页分别处于不同的层次,每页所描述的是对应抽象级别上的协议功能,低级别页作为高级别页的替代变迁子页。各层次模型页功能描述如下表1。各层内部模块细化是依据UAS与UAC在INVITE事务执行过程中具备的不同状态进行的,因在terminated状态下协议无行为,而仅表示终止事务,故没有单独描述此状态。

3.1 总体流程建模

SIP协议分层TCPN模型的top page(顶级页)如下图1所示,它总体描述了协议运行的网络拓扑,其中使用了2个替代变迁对NET、UAS和UAC在协议运行过程中的交互行为进行描述。UAC通过NET向UAS发送REQUEST型数据,UAS将RESPONSES型数据通过NET回传给UAC。

Client页用以描述UAC的行为,下图2所示为其页模型。图中的3个替代变迁对应的子页能够更加细致地描述处于不同状态的UAC端行为。库所Scene用以描述UAC的行为,变迁TransErr可以模拟协议在不同条件下出现传输层错误时所采取的处理方式。

3.2 网络层建模

下图3所示为NET页模型,描述的是由UAC到UAS的网络传输建模。库所Schannel_Em记录的是有多少个消息被成功地传送到了UAS端,其初值为0。库所CollectorCTS用以收集不可靠链路丢失的消息。变迁RCTS与CTOS用以模拟不可靠链路。不可靠链路的具体建模方式如表2所示。

通过上述时间类型、弧表达式及防卫表达式的应用,可模拟存在重复数据包、延迟、丢包的不可靠链路。若对其某些参数做适当的修改,便可动态调整其链路的可靠性,以此来真实地模拟不可靠链路。

3.3 具体行为建模

本文表1中的Sproceeding、Ccalling、Cproceeding等底层模型页描述UAS和UAC在不同状态下处理事件的过程,也就是对协议的具体行为建模。下文以UAC端处于Ccalling状态时的应答消息处理行为为例,阐述具体行为的模型描述方式。

下图4所示为UAC处于Ccalling状态时处理INVITE消息的模型,即Ccalling页模型。图中CallTimer表示UAC处于超时状态时消息的处理过程,CallResp表示UAC收到UAS应答时对消息的处理过程。库所TimerAorB用以控制A与B两个定时器的触发。融合库所cloneCs用队列存放UAC每次状态的变化,其队首为UAC的当前状态,Scenec记录UAC的当前状态和导致UAC变为此状态的事件。Message存放初始条件下从SIP协议上层收到的INVITE请求。Channel_Em用以记录当前是否收到UAS的应答,其初值为0。

当收到UAS会送的响应消息时,变迁CallResp被点火执行,即运行其对应的函数代码。此函数代码中sta与st均为SCENEC型变量,st是处理消息前UAC的状态,sta为处理消息后UAC的状态。Action部分调用函数call_resp(st,resp)完成UAC对不同类型响应消息的处理,该函数代码如下:

由上述代码可知,处理类型为r2xx的应答消息后UAC处于TERM状态,处理类型为r3xx的应答消息后处于COMP状态,处理类型为r1xx的应答消息后处于PROC状态。

4 总结

本文给出了SIP协议处理INVITE事务的TCPN分层模型,对该协议总体流程、网络层、UAS与UAC间的具体行为在不同模型层次上分别进行建模。该层次模型规模可控、功能划分直观、数据结构完备,为建模后期协议的验证与改进提供了较完善的模型基础。

参考文献:

[1] 姜秀玉,杨峰,崔再惠.SIP协议实现中消息解析的研究[J].计算机工程与设计,2010(7).

[2] 何中阳,李鸥,杨白薇,等.基于TCPN的TCP协议形式化描述[J].计算机工程,2011(9).

sip协议范文2

SIP协议

面临安全威胁

最常见的SIP攻击都是指向SIP协议本身的一些安全漏洞。比如,SIP采用的明码原文传输机制决定了它的信息总是以未加密的明码原文形式在网络上传输,因此容易被识别和篡改。 归纳起来,针对SIP的主要攻击有如下几项。

1.中间人攻击

如果没有外加安全机制,SIP协议无法防御以ARP欺骗或其他技术实施的中间人攻击。一旦中间人攻击形成,通话双方的所有RTP包都将先被传输至攻击者的电脑上。从某种意义上说,攻击者的电脑成为了两个用户之间的一个看不见的路由器。此外,因为所有的RTP包都是以明码原文形式传输的,攻击者可以轻易地重组这些包并获得.wmv可执行文件。一些常见的软件,如Wireshark可以帮助重组RTP包。

2.密码获取攻击

未经授权的第三方可以通过截取REGISTER报文中的信息破解用户密码。

在实施了中间人攻击后,攻击者将有能力截取明码报文。而后,未经授权的第三方可以根据报文中的信息执行字典式攻击,破解该报文所代表的用户密码。

在SIP协议中,用户密码是以哈希值的形式在网络上传输的,而哈希算法从理论上确保了不能由密文推出原文。尽管如此,攻击者可以将他能预测到的各种可能的密码写入字典中,并逐个计算它们的哈希值。一旦攻击者计算出了与报文中相同的哈希值,用户密码也就被破解了。此外,与穷举式攻击不同,字典式攻击更难被察觉。这是因为该攻击可以离线操作,因此不受SIP服务器的安全设置的约束,例如“用户最多只能尝试输入3次密码”等。

然而,我们注意到,字典式攻击在本质上是不稳定的。这是因为该攻击的成功与否完全取决于用户的密码是否被提前输入在攻击者的字典里。换句话说,如果用户使用的是相对简单的密码,例如12345,该密码的安全级别将非常低; 然而,假如用户使用了由大小写字母以及各种数字组成的复杂密码,该密码的安全级别将会显著提高,因为攻击者很难在其字典中预测到这种密码组合。虽然如此,在VoIP通信中将所有的安全压力都只放在用户的密码上并不是个明智的选择。大多数用户,即便意识到简单密码的缺陷,出于方便记忆的考虑依然倾向于使用简单密码,例如他们的名字、房屋号码、手机号码、车牌照或者生日,而在离线字典式攻击下,这些简单密码的易受攻击性将会被进一步扩大。

3.拒绝服务攻击(DoS)

攻击者可以通过大量发送包含伪造IP地址的报文来实现拒绝服务攻击。通常来说,攻击者会在报文的From包头中添加一个伪造的地址以伪装自己,并将受害者的IP地址添加在To包头中。当SIP实体接受到该报文后,UA会自动回复该报文而不进行询问。这是因为SIP协议中将UA设定为不对会话INVITE进行验证,而只是产生一些对应的变量,如tag和call-ID值,来唯一地标识该对话。因此,攻击者可以编写一个很简单的程序生成含有随机信息的INVITE报文。而随着大量INVITE报文的生成和发送,受害UA将会在短时间内收到大量未接来电,从而导致该UA丧失与其他合法用户通信的能力。

4.会话终止攻击

一旦会话在用户双方三次握手建立后,任何通信一方都可以终止会话。在此条件下,攻击者可以监控用户双方间的通话,截取其传输的报文,提取报文中的关键会话变量,如branch、tag以及call-ID值。根据这些变量,攻击者可以产生一个伪造的BYE报文发送给通话的任意一方,造成该通话在未经授权的情况下即被终止。

SIP协议的安全机制

本质上,SIP协议应用的两种安全机制分别为逐跳机制(hop-by-hop)和端对端机制(end-to-end)。HTTP摘要认证和S/MIME就是被应用于SIP的两种常见的端对端安全机制。

对HTTP摘要认证而言,用户将会被SIP服务器询问其储存于数据库中的密码,而作为应答,用户密码的摘要将会被传输于底层协议中。S/MIME则采用了非对称加密技术,依靠认证中心(CA)签发的证书和个体产生的签名,为UA和SIP服务器提供认证功能; 同时,S/MIME也采用对称加密技术为SIP的载荷SDP提供机密性保证。但是,仍然有一些SIP报文的包头不能被S/MIME所加密,这是因为SIP协议规定SIP报文中的某些包头必须被设定为明码原文并可以被中间实体所修改,例如Via包头。

当分析上述两种端对端安全机制的优点和缺陷时,我们注意到:

执行和部署HTTP认证机制很容易,但是它使用的算法相对简单也导致了其只能提供相对较低的安全级别。尽管MD5哈希算法可以确保攻击者不能仅仅根据哈希值反推出原文; 但是,由于原文包含的除用户密码以外的所有变量在SIP报文中都是以明文方式传输,一旦大量的“变量―哈希值”对(pairs)被截获,用户密码的安全性将会在离线字典式攻击下变得十分脆弱。

S/MIME可以保证SIP报文的机密性、完整性、认证性以及不可否认性。但是S/MIME使用的隧道模式也导致了大量的数据传输以及更多的带宽需求,因此实施起来更为复杂。此外,在当今盛行的IPv4环境下,S/MIME最大的制约条件就是公共密钥基础架构(PKI)的缺乏。而一旦使用另一种自签凭证,Diffie-Hellman密钥交换技术并不能阻止可能的中间人攻击,这又将引发新的安全问题。

对于逐跳安全机制来说,IPSec和TLS是两种最常见的机制。

在单向的TLS认证中,只有用户可以认证SIP服务器,因为服务器持有CA签发的证书,但反之则不然。与S/MIME类似,此协议同样使用非对称加密技术并因此依赖于IPv4环境下缺少的PKI。此外,TLS认证机制只能被部署在相邻的SIP实体间。因此,当一个SIP实体(尤其是服务器)需要维持大量的与其他不同SIP实体相同步的TLS连接时,该实体很可能会变得超负荷。

IPSec协议运行于网络层,它可以提供对整个原始报文的封装并为其添加新的包头。这可以保证即便是那些特殊的SIP包头(即那些必须对中间实体可见的包头)也不会对未经授权的第三方可见。但是,IPSec在IPv4中只是一个非强制性的选择,这也导致了其较低的部署和执行率。

简而言之,当逐跳安全机制和端对端安全机制共同执行时,SIP协议可以得到充足的安全支持。但遗憾的是,部署这些安全机制都存在着或多或少的局限性。其中之一就是在当前网络环境中缺乏PKI,而这又恰恰是实施非对称加密技术的必要条件之一。

增强安全性的建议

作者提出了一种可能的解决方法: 允许UA采用对称密钥加密算法来询问SIP服务器。

为了保证通信的认证和机密性,在用户和服务器之间实施作者提出的安全机制的具体步骤为以下几个方面。

1.加密及认证

sip协议范文3

关键词:下一代网络(ngn);软交换;sip协议

引言

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

1系统开发的技术基础

1.1软交换的概念

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

1.2 sip协议介绍

会话初始化协议sip(session initiation protocol)是一个面向internet 会议和电话的简单信令协议,sip最初由ietf mmusic (multiparty multimedia session control) 工作组提出。它的主要目的是为了解决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

[2]秦维佳.c/c++程序设计教程[m].机械 工业 出版社,2007

sip协议范文4

论文摘要:介绍了ims网络系统与sip协议在ims网络中的应用,在设定的网络仿真环境前提下,设计并且建立了ims网络会话的仿真模型以及会话流程。通过采用opnet网络仿真软件仿真指出ims网络应用sip协议呼叫时延的产生原因,通过设计引入“前提”的概念来改进时延,并且利用opnet网络仿真工具通过仿真比较验证了该方案的有效性和正确性。

0引言

ip多媒体子系统ims(ip multimedia subsystem)是3gpp制定的3g网络核心技术标准,在rs版本中首次提出并在r6和r7版本中进一步完善。ims是一个在基于ip的网络上提供多媒体业务的通用网络架构,即实现多媒体业务的建立、维护及管理等功能的核心网络体系架构。其核心特点是采用会话初始协议sip(session initial protocol)和与接入的无关性,并实现了会话控制实体cscf(call session control function)和承载控制实体mgcf(media gateway control function)功能上的分离。但由于基于ims的网络融合技术还不成熟,ims网络中应用sip协议产生的最主要问题就是呼叫建立的时延问题。本文首先通过仿真论证了:ims网络中用户在会话建立之前的前提准备:用户注册、鉴权,安全联盟,路由等是占用链路时间较多的步骤,也是ims中业务流程和sip会话时延过长的主要原因;其次提出了ims网络应用sip协议产生时延的改进策略,仿真论证了此策略是有效可行的。

1 ims系统介绍

图1所示是3gpp r7中定义的ims网络结构图,所有的功能在各个逻辑节点中完成。如果在同一物理设备中实现两个逻辑节点,相关的接口就成为该设备的内部接口。图1中实线表示支持用户业务流的接口,虚线表示仅支持信令的接口,图中最重要的实体就是呼叫会话控制功能cscf和归属用户服务器hss, hss用于存储各种用户有关数据,cscf在ip多媒体子系统中,分为如下3个功能实体:

(1) proxy cscf: p cscf是ims cn中的第一个接触点。p-cscf起类似一个的作用,接受请求并在其内部为这些请求服务或者继续将他们前转。

(2)interrogation cscf:i cscf是运营商网络内的接触点,所有都连接到该网络运营商的签约用户,或者当前位于该网络运营商的业务区域内的漫游用户。

(3) servingse cscf: s_ cscf为ue执行会话控制业务。为支持业务,它维持网络运营商需要的一个会话状态。在一个运营商网络内,不同的s-cscf可以有不同的功能性。

除此之外,ims网络中还有如多媒体资源功能控制器mrfc(media resource function controller)、多媒体资源功能处理器mrfp(media resource function processor)和中断网关控制功能bgcf等网络实体,在此不做详述。

2 sip协议在ims中的应用

当3gpp rs在规划ims时,由于sip的灵活性和可扩展性,决定采用sip机制作为ims网络的会话初始化协议。3g网络被分为3个不同的域:电路交换域、分组交换域和ip多媒体交换域。其中ip多媒体子系统域是3g中最重要的域,这个域采用sip作为主要的信令协议向用户提供基于因特网的多媒体服务。从逻辑上讲,所有的3g终端都包含一个sip用户,ip多媒体网络节点就是sip规范中所提到的。

sip协议在ims网络中的应用十分广泛,涉及ims网络会话的建立,媒体协商和会话修改等。在sip规范中,为了建立一个呼叫会话,ua通常发起请求,服务器服务路由请求,同时注册服务器提供ua的位置信息,因此需要将sip地址映射成ip地址来进行最后的路由。3gpp ims使用了这种机制模型架构:ims中的用户为用户设备,而ims中的服务器是指名为呼叫会话控制功能的网络实体。同时,3gppims使用了sip的扩展功能,主要包括sip压缩(主要是指媒体流的压缩)、安全、制定的cscf路由等。

3基于时延产生的ims会话仿真实现

此次设计的仿真思路是:针对较成熟的rs标准,首先结合ims会话实际流程进行合理的环境前提设定,其次模拟设计实现一种合理简化环境中的ims会话流程,接着在仿真软件中进行网络仿真模型的建立和描述、仿真节点模型的设计和建立以及仿真进程模型的设计和建立,旨在通过仿真分析ims网络在应用sip完成会话引起的时延情况。

3.1仿真前提设定

本节所描述的仿真前提建立在ims网络基本要求、sip会话流程和ims业务实现环境的基础上,对将要实际应用中的ims网络会话环境进行了合理的简化:

(1)业务环境设定:设有两个用户((ue a和ue b), s cscf1作为ue a的,s一 cscf2作为ue b的,ses cscf1不需通过ies cscf2查询hss2来获得see cscf2的地址,从而在仿真环境中省略了ies cscf2和hss2。并将ggsn的功能集成到仿真网络模型图的其它各个组件中。

(2)业务实现设定:首先,在ims网络中资源相关操作由s cscf,ies cscf.hss.ue.pwe cscf来完成,仿真环境中省去资源控制组件和策略控制组件。其次,将会话过程中所有时间都计算在内,把ggsn和as的组件在网络模型中省略,将其仿真涉及的相关功能集成到cscf中。

以上仿真环境的简化和假设可保证都建立在合理和不影响研究主要问题的基础之上。

3.2仿真模型和会话流程的设计及建立

根据ims网络用户会话的原理,仿真实现的会话过程是:在业务环境和链路环境假设的基础上,由ue a发起对ue b的会话,期间经历ue a在归属网络的注册、鉴权、发起会话、建立路由、会话、注销。根据仿真假设,设计了具体的ims网络模型如图2所示。

图2中各个组件都是ims网络会话和环境的重要组件,其功能在第一节中已有介绍,不再赘述。在前述仿真前提设定的基础上,为实现用户a与用户b之间的会话,设计了与图2网络架构相对应的仿真会话流程,整个设计的仿真会话流程十分复杂(总有95个步骤),由于篇幅限制,现简化流程如图3所示。

图3所示的ims网络流程如下:(1)ue a向附着设备发送请求。(2)附着设备响应,ue a获得ims网络入口地址的地址。(3)ue a向ims网络发送注册请求。(4)-(5)ims网络入口找到为ue a服务的呼叫控制组件。(6) ims网络入口将ue a的请求转发给为ue a服务的呼叫控制组件。(7)服务组件进行身份认证。(8)一(9)发起邀请:ue a发送invite向ue b发起会话邀请。(10)资源协商与预留:ue a发送prack进行媒体协商确认;ue b用200 ok响应;ue a收到ack后发update进行资源预留协商;ue b以180消息响应:ue a用prack响应;ue b以200 ok消息响应,摘机,示意可进行会话。(11)一(12)会话:ue a收到200后进行会话。(13)(14)会话注销:ue a发起bye进行注销请求;ueb用ack结束会话。

3.3仿真结果分析

在opnet仿真工具中,首先进行网络仿真模型的建立和描述,其次进行仿真节点模型的设计和建立,然后进行仿真进程模型的设计和建立,最后模拟用户a和用户b之间的三次会话过程,从仿真数据中提取以时延为参数的数据,得到试验仿真的时延示意图如图4所示。

在图4中,横轴15s之前是会话建立的时间,因此可以看出在会话建立的过程中网络端到端时延不断增大,在15s处曲线到达最高峰,会话建立起来后曲线迅速下降,网络端到端时延迅速减小。因此从整体曲线来看得到结论:ims网络中用户在会话建立之前的前提准备,包括注册、鉴权、安全联盟、路由等是占用链路时间较多的流程步骤,也是在ims中业务流程和sip协议会话时延过长的主要原因。

4 ims网络应用sip协议时延改进方案

4.1时延改进方案

从3gpp rs中可知,不能为会话预留网络资源是会话建立的严重缺陷。为了使会话启动后失败的可能性最小,有必要在被叫方得到通知前进行资源预留。ims业务为了进行资源预留,网络需要知道被叫方的ip地址、端口及会话参数。为实现这点,没有提供/应答的交换是不行的。但是会话是在提供/应答交换之后建立,而且一般用户只有在会话建立起来后才被振铃。为了解决这个问题,引入“前提”这个概念,会话过程中有两种前提:

第一种“前提”:会话双方必须在已经完成资源预留之后,才进行振铃提示会话可以正常开始。其优势就是可以在任何情况下,只要会话开始就可以得到资源和会话质量的保证。

第二种“前提”:会话可以在会话双方没有完成资源预留的情况下,即会话开始和资源预留同时进行,只要资源预留能逐步满足会话的要求即可。这种“前提”在网络性能较好和用户较少时可节省时间,减少会话时延,但如果考虑全ip网络的基础上,这种情况的性能不会使用户满意,因为会话质量在某些情况下得不到保证,从而无法符合ims网络的要求。

从对两种前提的描述可知,前提的变化会影响会话中各个步骤占用的时延。因此,如果可以综合两种“前提”来完成整个会话效果应更好。例如,在ims网络入口处设置网络性能的预判,或在ims网络注册过程中对描述网络性能的某些数据进行记录和分析,在用户发起会话之前,可根据这些数据来选择两种“前提”中的一种,从而调整会话流程的顺序和进度,减少时延。下面将通过仿真对上述解决思路进行具体实现,并验证其可行性和有效性。

4.2时延改进方案仿真结果分析

改进后以组件间的时延为参数,重新在各个网络仿真组件中的进程模块中进行编程和相关设置,根据时延参数来选择采用第一或者第二种“前提”进行仿真,仿真环境与上面改进前的一致,从仿真数据中提取以时延为参数的数据,得到试验仿真时延示意图如图5所示。

从图5可以看出,时延峰值有所降低,并且注意图4和图5中,纵轴1.50,1.75,2.00等处的图形点,就不难发现改进后的效果:时延有所下降。因此可以得出结论:在ims网络入口处,通过编程设置和记录组件间的时延参数,并按照其变化调整“前提”选择的解决方案可以有效减少ims网络会话时延。

sip协议范文5

关键词: mSwitch 移动、多媒体、多业务软交换系统

IPv6网际协议版本6Internet Protocol Version6

IPv4网际协议版本4Internet Protocol Version4

SIP 起始会话协议 Session Initiation Protocol

IP电话

一、前言

随着Internet 规模的不断扩大,现行的IPv4网络面临着IP地址即将耗尽与骨干路由器效率低下等问题,这与现行IPv4的地址机制与管理密切相关。由于当前网际协议(IPv4)的局限性,被命名为IPv6的新一代网际协议正在被深入的研究和标准化中。

IPv6被视作下一代网络的核心协议,而由IETF设计的SIP也被普遍认定为下一代多媒体通信的核心协议。因此,IPv6环境下的SIP通信是未来网络通信的发展方向。在接下来的论文中,我们描述了在IPv6环境下使用SIP的优势,并结合软交换产品mSwitch提出一个能够在混合IP环境中提供语音服务的解决方案。

二、多网络环境下的SIP服务

尽管IPv6已被认为是下一代互联网络协议核心标准之一。但是,新生事物从诞生到广泛应用需要一个过程,尤其是对于现时IPv4仍然很好的支撑着的Internet。IPv4 / IPv6互通技术以保证IPv4能够平稳过渡到IPv6,除此之外,互通技术应该对普通用户做到“无缝”,使用起来没有感到不便,对信息传递做到高效。在过渡时期,要解决相互通信的问题无非两类:第一类就是IPv6之间互相通信的问题;第二类就是解决IPv6与IPv4之间的通信问题。

1、IPv6网络环境的SIP通信

SIP不是垂直型通信系统,不能独立提供业务,它必须与其它协议共同使用来构建一个完整的多媒体体系结构, 所以在构建下IPv6网络的多媒体体系时, 采用以下的协议组合提供多媒体业务。①网络层:IPv6;②传输层:使用TCP、UDP;③应用层:包括以SIP为核心的多个协议。

IPv6环境下SIP网络的基本结构于IPv4类似,由两部分组成:用户(UA,User Agent)和网络服务器。网络服务器同样也包括:(Proxy)服务器、重定向(Redirect)服务器、注册(Registrar)服务器(注.只是理论上的SIP网络服务器可细分为以上4种功能的服务器,但在实际中,它们并不是物理上分离的。重定向和服务器一般位于mSwitch系统控制层的SLR/RS服务器中)。值得一提的是,由于IPv6128位的地址空间、对数据报流控机制和支持安全性等新特性,IPv6网络需要功能扩展的DNS的加入。

2、IPv6与IPv4之间SIP的通信

双协议栈和NAT-PT

双协议栈这样的设想要求同时支持IPv4和IPv6。也就是说,IPv4和IPv6的路由协议同时在网络上运行,系统的终端设备具有IPv4和IPv6的地址、可以发送和接收IPv4和IPv6的数据报。如果接收到某IPv4地址的报文,终端设备回应的报文中将含有该IPv4地址,主机间的数据传送也使用相同的方法。

由于潜在的网络不兼容,SIP在IPv6和IPv4网络环境中设备并不能够直接的连接,我们需要一个合适的网关机制去允许UAS相互连接,因此我认为,可以在mSwitch系统控制层的SLR/RS服务器中增加SIP协议转换网关(SIP Protocol Translation Gateway),它位于IPv4和IPv6客户端的边界上,采用双协议栈机制来转换两边的协议,这样就允许终端设备只需要支持一种IP版本,提供了一种便利的IPv4和IPv6设备间通信机制。SIP协议转换网关也可以被看成是一个,用来修改某IPv4/IPv6主机发送过来的信令,并使其被另一边的IPv6/IPv4主机所理解。

SIP协议转换网关具体的功能是接收并修改SIP信令,为RTP通信设置UDP映射,并把SIP信令传递给另一个。SIP协议转换网关必须拥有两个外部,一个为IPv4目标另一个为IPv6目标。如果某SIP请求信令被IPv4端接收到,在经过SIP协议转换网关修改其格式后它被发送给IPv6,反之亦然。一般SIP信令的以下部分需要被修改:Contact header、Request UR、SDP headers、Content-Length、VIA。也可以把两边的功能都整合入SIP协议转换网关,但这将增加网关的复杂性并且也会增加网关的负载,因为网关不得不处理更多的SIP消息,可能还要提供类似于CPL的翻译或路由的服务。

NAT-PT(Network Address Translation-Protocol Translation) 是网络地址转换-协议转换的缩写,它是一种IPv4与IPv6之间通信的工具。NAT-PT是由两部分组成:网络地址转换和协议转换。NAT-PT的协议转换使用了SIIT算法,而网络地址转换与IPv4的NAT是很相似的,不过前者是IPv4与IPv6地址之间的转换,后者是IPv4的私有地址与正式地址之间的转换。作为通信的中间设备,NAT-PT可在IPv4和IPv6网络之间转换IP报头地址,同时根据协议不同对分组做相应的语义翻译,从而使纯IPv4和纯IPv6站点之间能够“透明”通信。要允许IPv6的主机和IPv4的主机相互通信,其中的一个实例就是NAT-PT,当SIP主机成功建立连接后,多媒体流将使用NAT-PT相互交换。

sip协议范文6

【关键词】ARM9;VOIP;语音终端

Abstract:With the VOIPtechnology matures,more and morepeople achievethereal-time communicationthrough the Internet. In this paper,the designof theVOIPvoice terminalisbased onARM9. Thearticle introducesthehardware design and softwaredesign of the terminal,includingtransplanting methods of theSIPprotocol stack together withvoice codeclibraryand application development.

Keywords:ARM9;VOIP;Voice terminal

1.VOIP概述

VoIP(Voice over Internet Protocol)是一种以IP电话为主,并推出相应的增值业务的技术,它就是将模拟信号(Voice)数字化,以数据封包(Data Packet)的形式在IP网络(IP Network)上做实时传递[1]。

VoIP的基本原理:通过语音的压缩算法对语音数据编码进行压缩处理,然后把这些语音数据按TCP/IP标准进行打包,经过IP网络把数据包送至接收地,再把这些语音数据包串起来,经过解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目的。

2.SIP协议说明

SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话[2]。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。

SIP 会话使用多达四个主要组件:SIP用户、SIP注册服务器、SIP服务器和SIP重定向服务器。这些系统通过传输包括了SDP协议(用于定义消息的内容和特点)的消息来完成 SIP 会话。下面概括性地介绍各个 SIP 组件及其在此过程中的作用。

1)用户

SIP 用户(UA) 是终端用户设备,如用于创建和管理SIP会话的移动电话、多媒体手持设备、PC、PDA等。用户客户机发出消息。用户服务器对消息进行响应。

2)注册服务器

SIP 注册服务器是包含域中所有用户的位置的数据库。在SIP通信中,这些服务器会检索出对方的IP地址和其他相关信息,并将其发送到SIP服务器。

3)服务器

SIP服务器接受SIP UA的会话请求并查询SIP注册服务器,获取收件方UA的地址信息。然后,它将会话邀请信息直接转发给收件方UA(如果它位于同一域中)或服务器(如果UA位于另一域中)。

4)重定向服务器

SIP 重定向服务器允许SIP服务器将SIP会话邀请信息定向到外部域。SIP重定向服务器可以与SIP注册服务器和SIP服务器同在一个硬件上。

3.VOIP语音终端的硬件设计

VOIP语音终端硬件原理图如图1所示。其语音收发过程:首先接收模拟语音信号,然后进行A/D转换、语音压缩编码,最后经过打包封装后传输到网络上;在接收端,VOIP语音终端接收网络上传输来的数据包,经过解封装、语音解压缩解码和转换后,将模拟语音信号提供给用户。

从图中可以看出,VOIP语音终端主要由以下几部分组成。

1)CPU:这里选用Samsung公司的S3C2410微处理芯片作为终端的CPU,该芯片是专门为网络应用设计的处理器,是一款由Samsung为手持设备设计的低功耗、高度集成的32位RISC处理器。它的显著特性是它是一个32位ARM920T RISC处理器,实现了MMU,AMBABUS和Harvard高速缓冲体系结构。通过提供一系列完整的系统设备,S3C2410大大减少了整个系统的成本,消除了为系统配置额外器件的需要。另外,它的工作频率最高达到203MHz,使得处理器轻松运行于Windows CE,Linux等操作系统以及进行较为复杂的信息处理。

图1 VOIP语音终端原理框图

图2 VOIP应用层软件流程图

2)语音编解码模块:本文所设计的VOIP语音终端支持G.711、G.723.1、G.729和CVSD等多种编解码格式,我们选用美国.INC公司的CMX639芯片完成CVSD编码, 其他编码利用TI公司的TMS320VC5502实现。其中,TMS320VC- 5502是编解码模块的主控,所有编解码的数据必须经过TMS320VC5502。这么做的好处是可以节约S3C2410的接口资源。

3)CODEC模块:该模块的主要功能是完成话音数据的A/D和D/A转换,我们选择了ANALOG DEVICES公司的AD73311芯片完成CODEC功能,它同TMS320VC5502交互的是64Kbps的PCM数据。另外,CMX639的输人输出必须是模拟信号,因此我们利用S3C2410控制一个继电器或模拟开关来实现模拟音频信号的分路。

4.VOIP语音终端的软件设计

在已经配置好的硬件基础上,就需要定制平台和编写代码实现各个功能模块,最终实现整个终端系统。软件设计主要包括三部分工作:操作系统的选择与移植、SIP协议栈实现和语音编解码库的实现和应用程序的设计。

4.1 操作系统的选择与移植

1)选择Linux作为底层操作系统。

2)本系统的开发环境为:操作系统:Centos7;目标板:ARM9开发板;编辑器:vi编辑器;编译器:arm-linux-gcc 3.4.1;编程语言:C语言。

4.2 SIP协议栈实现

选择开源SIP协议栈 Osip2/eXosip作为方案的SIP协议栈来完成应用程序的开发,同时按eXosip的推荐采用oRTP协议栈来实现实时传输协议RTP。Osip2/eXosip和oRTP协议栈都是用标准c实现的协议栈,但其默认运行环境为PC上的Linux,要把它运用到方案的嵌入式环境中,就需要对其进行编译移植工作。

主要的编译步骤如下:

①建立安装树,并设定路径。

Mkdir /armbuild

ExportARM_INSTALL_TREE=/armbuild

②编译Osip2。

./configure-prefix=/usr-host=arm-linux-with-gnu-ld-disable-static

make

make install DESTDIR=$ARM_INSTALL_TREE

③编译eXosip。

./configure-prefix=/usr-host=arm-linux-withCgnu-ld-disable-static-disable-glib-with-osip=$ARM_INSTALL_TREE/usr

make

make install DESTDIR=$ARM_INSTALL_TREE

④编译oRTP。

./configure-prefix=/usr-host=arm-linux-with-gnu-ld-disable-static

make

make install DESTDIR=$ARM_INSTALL_TREE

⑤最后将安装树目录内生成的库文件放到目标板根文件系统RAMDISK内的/usr目录下。

4.3 语音编解码库的实现

对于语音编解码库,我们选用开源的语音编解码算法 SPEEX。同样,对其调用的方法,先将其用交叉编译器编译为ARM平台的库文件,然后下载到目标板中,应用程序通过库文件对其进行调用。

交叉编译步骤为:

./configure -prefix=/usr-host=arm -linux-with-gun-ld-disable-static-enable-fixed-point -enable-arm-asm

make

make install DESTDIR=$ARM INSTALL_TREE

4.4 应用程序的设计

对于应用程序部分的开发,我们主要是调用Osip2/eXosip协议库的API接口函数,来完成VOIP语音终端的呼叫过程。主要使用的API有:

1)eXosip_answer_call():建立通话,如拒绝通话或超过一分钟无确认,则中止呼叫。

2)eXosip_build_initial_invite():进行呼叫。

3)eXosip_initiate_call():进行通话。

4)eXosip_terminate_call():中止呼叫。

软件流程见图2所示。

程序在PC上编写完后,用交叉编译器编译成ARM平台的可执行文件,再下载到目标板上运行。

5.结论

随着VOIP技术的飞速发展,人们对互联网免费的语音业务的使用越来越多。本文研究设计了一种以AMR9为平台的VOIP语音终端的方法。该设计中涉及的SIP协议和语音编解码库文件开源代码种类多,ARM嵌入式硬件平台成熟,设计使用时灵活可靠,大大节约系统资源,具有很大市场潜力。

参考文献

[1]张辉,韩佩富等.VOIP在嵌入式终端中的实现[J].通信电子技术,2012.

[2]徐山峰,谢佳.基于SIP协议的VoIP会议系统的研究与实现[J].计算机光盘软件与应用,2014(7).

[3]张小恒.极低速率VOIP 语音终端设计[J].电子制作,2014(5).

[4]沈鑫剡.多媒体传输网络与VoIP 系统设计[M].人民邮电出版社,2005.

[5]韦东山.嵌入式linuxl应用开发完全手册[M].北京:人民邮电出版社,2008.

sip协议范文7

【关键词】下一代网络;SIP;ISUP

网络演进中如何将电路交换平滑过渡到新的网络中非常重要,本文通过对ISUP和SIP协议互通的分析,提出ISUP和SIP协议之间消息互相映射的一种方法,通过该方法探究传统窄带协议与多媒体协议互通原则。

1.ISUP和SIP协议介绍

ISUP(Integrated Service Digital Network User Part)是七号公共信道信令系统的用户部分,为支持综合业务数字网中话音和非话音用途的基本承载业务和补充业务提供所需的信号功能。

SIP(Session Initiation Protocol)是由IETF提出并主持研究的一个在IP网络上进行多媒体通信的应用层控制协议,用来创建、修改、和终结一个或多个参加者参加的会话进程。

2.ISUP与SIP的互通

ISUP与SIP协议互通需要解决两点问题:一是封装,在SIP消息体中携带ISUP消息:在SIP网络中透明地传送ISUP消息,将ISUP消息封装在INVITE,183 Session Progress,200 OK,INFO四种SIP消息体中实现透明转发。二是映射,包括SIP到ISUP的双向映射。SIP消息与ISUP信令之间的映射关系可简单描述为:IAM-INVITE,ACM-180 RINGING,ANM-200 OK,REL-BYE,RLC-200 OK。

3.SIP到ISUP的映射

3.1 INVITE消息的映射

MGC(Media Gateway Controller)实现消息映射功能。当MGC收到INVITE消息后,先向SIP网络返回一个“100 Trying”响应消息,然后MGC利用该INVITE消息中提供的信息来辅助它构造一个IAM消息。

ITUT Q.763协议中对IAM消息规定了5个必参数:被叫方号码(Called Party Number,CPN)、连接性质表示语(Nature of Connection Indicators,NCI)、前向呼叫表示语(Forward Call Indicators,FCI)、主叫类别(Calling Party’s Category,CPC)以及传输介质请求(Transmission Medium Requirement,TMR)。当MGC无法从INVITE消息中获取足够的信息时,就使用缺省值来替代这些参数。具体的构造过程如下。

(1)检查INVITE消息的Request-URI域,如果该域中不存在“npdi=yes”字段,则将URL中的电话号码(“tel:”后面紧跟的数字)转化成ISUP格式生成CPN参数;如果除“npdi=yes”外,还存在“rn=”字段,则由“rn=”中的值生成CPN参数,而将URL中的电话号码转换称ISUP格式生成通用数字参数(Generic Digital Parameter,GDP)。

(2)如果Request-URI域和To域中的号码不一致,则用To域生成原被叫方号码(Original Called Number,OCN)。

(3)如果Request-URI中出现“cic=”参数,则MGC必须参考本地策略对该电路标识码(Carrier Identification Code,CIC)的恰当性进行验证。

(4)如果呼叫请求发起于本地的SIP终端,即From域中不包含电话号码,则不用生成CIN参数。

(5)与SIP网络互通时,将IAM消息中的FCI参数设置成“未遇到互通”。

3.2 CANCLE或BYE消息的映射

如果收到CANCLE或BYE请求,则MGC立刻向SIP网络返回“200 OK”响应消息进行确认,同时向PSTN网络发送原因值为16(正常清除)的REL消息。

3.3 SIP状态码到ISUP的REL原因值的映射

由于SIP和ISUP属于不同领域内的通信协议,SIP状态码到ISUP的REL按原因值规则映射,缺省的响应消息“500 Server internal error”。

3.4 ACM消息的映射

MGC在收到ACM响应消息后启动定时器T9(持续时长为90-180秒),同时向SIP网络侧发送一个“180 Ringing”消息。

3.5 CON或ANM消息的映射

MGC在收到ANM(Answer Message)消息后,向SIP网络返回一个“200 OK”。如果MGC没有在指定的时间内收到一个ANM消息,则定时器T9超时,本次呼叫建立失败。MGC释放媒体通路上所有相关的资源,并向SIP网络返回一个“480 Temporarily unavailable”响应消息,同时向ISUP网络发送一个原因值为19(用户未应答)的REL消息。

4.ISUP到SIP的映射

4.1 IAM消息的映射

MGC收到IAM消息后将其映射成INVITE请求消息。重点是如何生成INVITE中的几个主要头域URI,即From域,To域和Request-URI域。映射时先确定IAM消息中当前被叫号码参数,一般应该是CPN参数,但当FCI参数中的“号码已移位”位指示出被叫号码发生转移时,就需要利用其他参数了。同时还有一些域需要在号码翻译完成之后添加到URL中,具体过程如下。

(1)如果FCI参数中“号码已转移”位指示出已从本地号码移植库中执行过提取操作,或者在CPN之前附加了一个路由号码,则必须在URL之后附加“npdi=yes”字段。如果CPN中没有路由号码,且IAM消息中存在通用数字参数GDP,则对该GDP参数进行转换并将其中的内容拷贝到“rn=”域中,将该域附加在电话URL之后。

(2)如果出现CIP或TNS字段,则MGC应该提取CIC并加以分析。在通过恰当性验证后,在电话URL后附加一个“cic=”字段。CIC之前应该加上国家前缀码。例如在中国“5062”应该是“+86-5062”

(3)在多数情况下,To域和Request-URI域都来自于URL,但如果IAM消息中存在原被叫方号码(Original Called Number,OCN)参数,则To域由OCN参数构造。

(4)From域的构造依赖于CIN参数。如果不存在CIN参数,则网关可以自己构造一个只包含网关主机名的虚拟的From域,例如“sip:a.b.c”。如果存在CIN参数则将其进行格式转换来生成URL的From域。

4.2 1XX响应消息的映射

“100 Trying”临时响应消息不会触发任何PSTN消息。“180 Ringing”消息映射成ACM消息,“181 Call is being forwarded”消息映射成Early ACM和CPG(事件=6)。

4.3 200响应消息的映射

一般情况下,在收到“200 OK”响应之后,MGC应该向SIP网络发送ACK消息,并向PSTN网络返回ANM消息。

4.4 异常响应消息的映射

当收到3XX类(重定向服务器产生的)响应消息时,MGC应该重新与响应消息中Contact域或Header域所指示的用户联系,并向PSTN发送一个事件码为6(无条件呼叫前转)的CPG消息来指示呼叫正在被处理。当收到4XX-6XX响应消息时,MGC则会向PSTN发送一个REL消息,并向SIP网络返回ACK确认消息。

4.5 REL消息的映射

一般情况下,如果MGC收到来自ISUP节点的REL消息时,则发送BYE请求结束会话;如果MGC没有收到SIP网络的响应消息,则发送CANCLE请求来放弃会话的建立过程。

5.结束语

ISUP和SIP协议互通方法是传统窄带协议与多媒体协议互通缩影,对传统电路交换网络与下一代网络的互通和网络演进提供了指导。

参考文献

[1]International Telecommunications Union.ITU_T-Q. 763,1999

sip协议范文8

关键词:SIP;软交换;群呼;呼叫控制

中图分类号:TP212 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.03.013

The Implementation of Group-calling in SIP Soft-switching system

YANG Lei, LIN Hai-quan, ZHU Jian-feng

(School of Electronics and Information Engineering, Qiongzhou University, Sanya 572022, China)

【Abstract】SIP (Session Initiation Protocol) is a multimedia communication Protocol put forward by the IETF on IP network. It is the control Protocol of the application layer based on the text, which is independent from the underlying Protocol, being used to establish, maintain, and terminate the multimedia conversation and calls. As the core technology of the Next Generation Network(NGN),soft-switching technology provides call and connection control for the business that calls for the instantaneity. Through analyzing the current situation and the future trend based on the application of the SIP voice service business and researching on the related major agreements and key technology, the soft-switching system based on SIP is put forward and the group-calling function has been implemented.

【Key words】SIP; Soft-switching; Groupcalling; Call control

0 引 言

随着电信网络的演进和新业务的发展,人们对网络及终端通信性能的要求越来越高。网络技术也正从基于电路交换向分组交换演进,数据和信令都可以选择分组网来承载,控制由软交换实体来完成,业务提供也正从简单的语音业务和低速数据业务向高速的多媒体业务演进。软交换技术使得多种网络上基于多种协议的实时呼叫的统一控制成为可能,SIP的应用适应了融合多种网络的发展。SIP协议基于文本编码,大量借鉴了成熟的HTTP协议,并且具有易扩展,易实现等特点,因此非常适合用来实现基于因特网的多媒体通信系统。基于SIP的这些优点,论文主要对软交换系统中的群呼业务实现进行探究。系统采用Web界面和数据库相结合方式对系统的群呼业务进行管理和维护。Web界面的应用方便了管理员使用和操作此软交换系统,数据库的应用降低了系统对物理内存的消耗,这些优点有利于系统中功能的充分发挥,因此系统适用于大规模的应用。

1 SIP软交换系统架构

系统中的呼叫过程主要由IP-PBX模块控制。IP-PBX网络系统内各电话终端采用IP方式进行数据通信,不仅能进行通话,还能实现文本、数据、图像的传输。此系统将电话网和计算机网融合成一个整体,实现局域网内的电子办公。特别是在远距离协作商务、电子办公中将会充分发挥其强大的资源优势,为商业合作、工作重组带来便捷。IP-PBX局域网内的控制中心可根据局内外的具体情况,对计算机网络、电话网络进行有效地管理,达到资源共享。模块中含有SIP 服务器和呼叫控制单元:SIP 服务器分为器(Proxy Server)、重定向服务器(Redirected Server)、注册服务器(Register Server);呼叫控制单元主要由Web服务器和数据库构成。IP-PBX模块如图1所示。

SIP协议在呼叫过程中主要负责会话的建立、维护和终结。用户信息(用户ID、用户名、用户密码)首先通过Web发起进行注册,建立呼叫前,用户需要先向服务器发起认证,通过认证后,用户终端的IP地址将被录入到服务器,并将这些信息保存到数据库;当其它用户呼叫该用户的时候,可以从数据库中调出被叫用户注册信息中的IP地址。

2 呼叫基本过程

呼叫过程由主叫侧A发起,经由SIP服务器,再发送SIP报文到被叫侧B。SIP服务器负责SIP报文的路由寻径和转发,因此许多服务功能都必须依靠它完成。如图2所示。

1:主叫A发起会话请求INVITE,并提交给服务器。

2:请求发往服务器之后,服务器向主叫侧A返回状态码100(TRYING)的临时响应消息,表明请求已接受并正在处理中。

3:服务器将INVITE请求发送到被叫侧B。

4:被叫侧B得知有用户邀请他加入会话,生成一个状态码100(TRYING)的临时响应消息返回给服务器。

5:被叫侧B启动振铃,并生成状态码180(RINGING)发给服务器。

6:服务器收到180响应后,将响应继续返回给主叫侧A。

7:被叫侧B提起话筒接受呼叫,并产生状态码为200(OK)响应发送给服务器, 表明被叫侧B接受会话邀请。

8:服务器收到200响应后,将响应继续转送到主叫侧A。

9:主叫侧收到200的响应后,直接向服务器发送ACK确认消息。

10:服务器收到主叫侧发送的ACK确认消息后,将确认消息转发给被叫侧B。

11:主叫侧A和被叫侧B确认消息完毕后,会话建立,双方进行多媒体会话。

12:当会话中的任何一方想终结会话(以A为例),此时A向服务器发送BYE的请求。

13:服务器收到主叫A的请求BYE消息后,然后向被叫侧B转发BYE的请求。

14:被叫侧B收到BYE的请求后,发起200(OK)发送到服务器。

15:服务器收到被叫侧200响应消息后,将此消息转发给主叫侧A,A和B会话过程结束。

3 群呼的实现

3.1 群呼数据表

群呼过程中,要根据数据库中表与表之间的数据及其关系建立呼叫,关系图如下图3所示。

t_tenant表:tenant_id(主键)字段是用户管理员的ID;

t_extension表:tenant_id(外键)&extension(两个字段作为主键),其中extension是内线号以及其所属的目标组号destination_group_id,data_updated是内线中数据更新日期;

t_destination_group表:tenant_id(外键)& destination_ group_id(两个字段作为主键),destination_group_id是目标组的ID,data_updated是目标组中数据更新日期。

3.2 群呼的实现

数据入录时, 记录开始建立通话的时间,以及释放通话的时间,从而记录通话的总时间(便于查询通话时间和运营商计时收费)。群呼时,在数据库表里查找群组内的所有成员,然后将成员信息调进服务器内存,根据内存里群组成员的状态执行呼叫过程。群呼类图如下图4所示。

各类的作用:

BasePeer为抽象类,生成具有功能相同的peer终端列表,它是SipPhoneGroupFunctionPeer、DestinationGroupPeer、BaseSipPhoneGroupFunction的父类。

SipPhoneGroupFunctionPeer类对数据库表sip_phone_ group_function进行操作,它是SipPhoneGroupFunction的父类。

BaseSipPhoneGroupFunction在呼叫控制中产生对象模型并设置对象的属性sipPhoneGroupId、sipPhoneFunctionId及其构造方法。

DestinationGroupPeer类更新数据库表t_destination_ group中的字段。

SipPhoneGroupFunction是对象类并设置对象的属性grouupName及其构造方法。

群呼序列图如下图5所示。

系统分别采用循环振铃和共同振铃的方式解决了现实通信业务中群呼单一的问题。通过应用服务器执行信令控制,将不同的用户加入指定的组中,当主叫方呼叫此组ID时,能够发起对组内的所有用户呼叫,此时被叫用户群组能够循环振铃或者同时振铃(根据呼叫方法设定),任一被叫用户只要摘机,就可以与主叫用户通话,同时释放其它未摘机的被叫用户。呼叫过程时序图如图7所示。

4 结论

本文对SIP协议进行简要分析后,给出了一种基于SIP软交换系统的群呼业务的建立和控制的具体方案,在实现的过程中充分体现了SIP 协议简单及易于扩展的特性,进行简单的改进即可满足不同层次的需求,推进并加速了发展下一代互联网和新一代移动通信的步伐,加快了网络升级换代。通过网关可以充分利用现有的计算机互联网(IP)资源、及公共服务电话网(PSTN)资源进行异构终端间的信息交换,对社会资源有效再利用、节约通信成本、保护生态环境等方面,具有积极的作用。

参考文献

[1] 朱剑锋,李壮,马玉春. 基于SIP的IP-PBX呼叫保留功能的实现[J]. 信息与电脑(理论版), 2009年12期.

[2] 杨震,马华. 一个基于SIP的P2P视频会议系统[A];第一届建立和谐人机环境联合学术会议(HHME2005)论文集[C], 2005年.

sip协议范文9

【关键词】远程多媒体教学;h.323;sip

一、引言

远程多媒体教学是一种全新的教学方式,相比传统教学,它充分合理地利用网络、媒体等介质,使得教学活动的开展不受时间空间的限制,优化了教学资源配置,提高了教学效率。

远程多媒体教学的上述特点和优势使得它成为多媒体通信在教育领域研究的热点,目前的发展方向是基于ip网络的远程多媒体教学。由于多媒体信息具有数据量大、实时性、同步性和突发性强的特点,多媒体通信系统具有集成性、交互性和同步性的特点,因此对多媒体通信的硬件和软件系统提出了很高的要求。

二、sip协议及其特点

sip(session initialization protocol,会话发起协议)是一个由ietf mmusic (multiparty multimedia session control)工作组提出,面向internet会议和电话的简单应用层信令协议,用于建立、调整和终止多媒体会话。

相比多媒体通信的另外一种流行协议h.323,sip协议有如下5个特点:

第一,与h.323采用二进制方法表示消息不同,sip消息基于文本,采用utf-8字符集编码,具有词法和语法简单、可读性好的优点。

第二,h.323中的呼叫建立和媒体逻辑信道建立的过程是分离的,呼叫建立时延较长。sip系统的呼叫控制信令由sip传送,由会话描述协议sdp完成媒体能力交换和rtp地址信息获取的任务。sdp消息作为sip的消息体来发送,会话控制和媒体能力交换同时进行,会话建立的时延较短。

第三,h.323网络中各元素均为对等实体,实体间传送的是对等控制信令消息,而sip网络则采用ip网络常用的c/s(客户机/服务器)结构。

第四,定位用户、支持用户移动性。sip利用注册服务器将用户的实际物理位置与用户的sip地址相绑定,便于在定位用户时实现地址映射功能;利用重定向服务器将目标用户地址信息返回给服务器。

第五,协议简单,有良好的扩展性。sip是在诸如smtp、http的基础上建立起来的,借鉴了其它internet标准和协议的设计思想。由于sip与http非常相似,许多解析http协议的程序只要经过少许修改就可以用到sip中。

sip消息分为sip请求消息和sip应答消息两大类。所有的sip消息都是由一个起始行、一个或多个标题头、一个表示标题头结束的空行和可选的消息体组成。

sip核心规范定义了6种基本请求方法:invite(邀请)、ack(确认)、options(可选项)、bye(再见)、cancel(取消)和register(注册)。其中,register方法用于向服务器注册用户位置信息;invite、ack和cancel用于会话的建立;bye用于结束会话;options用于向服务器咨询服务器的性能。

sip核心规范定义了如下几种实体:

用户(user agent):用户的系统接口,负责与终端用户进行交互。可分为用户客户端(uac,user agent client)和用户服务器(uas,user agent server)。

服务器(proxy server):用于转发sip消息,代表uac发起请求,并向uac返回响应,既充当客户机又充当服务器。可分为无状态服务器和保留状态服务器两类。

重定向服务器(redirect server):重定向服务器通过提供可能的位置来帮助定位目标sip用户。它不发出任何定位目标的行为,而仅仅返回目标可能的出现位置信息。

注册服务器(register server):注册服务器存储用户的位置信息,负责将用户的sip地址与用户当前所在的物理地址进行绑定,这样就能够向服务器提供用户的位置信息,协助服务器在转发sip请求消息时能够迅速定位用户。

三、sip远程多媒体教学系统的设计

(一)基本概念和术语

课堂实例:一个由唯一资源标识符标识,由一组sip用户、媒体流和通信网络组成的多媒体会话,参与成员有教师和学生;

课堂系统:由一个或多个课堂实例组成;

focus:中心sip用户,是一个课堂实例的管理者;

课堂策略:课堂运作和进行的规则总称,包括成员策略和媒体策略;

成员策略:管理课堂成员的规则总称,包括身份鉴别、角色控制及权限控制;

媒体策略:处理媒体流的规则总称;

课堂状态:包括管理各个课堂实例的focus的状态和课堂策略的状态;

课堂uri:课堂实例的唯一标识符。

(二)总体结构

依据dynamicsoft公司首席科学家jonathan rosenberg博士提出的紧耦合sip多媒体会议系统结构模型,我们设计并提出教学系统的以下结构。

系统为集中服务器体系结构,一个中心服务器对应一个课堂实例。从逻辑上划分,中心服务器分为管理服务器和控制服务器。在物理实现上,采用管理服务器和控制服务器分离、一台管理服务器配合多台控制服务器的方式。因此,从拓扑结构上看,系统为星型结构。

从功能上看,系统分管理子系统和控制子系统。管理子系统负责存储管理课堂状态信息数据、课堂策略信息数据和用户信息数据;课堂控制系统要负责与一个或多个终端进行sip消息流和媒体信息流的交换,并对其进行控制,以保证课堂实例的正常运行。

除管理服务器和控制服务器外,系统还包含sip服务器和终端。终端是师生参与课堂并获取课堂功能服务的接口,sip服务器协助控制服务器完成与参与课堂的师生之间的sip会话的建立和维护。

sip服务器可分为注册服务器、服务器和重定向服务器,它们分别完成用户地址注册、sip消息的路由和转发、返回目标sip用户地址信息的任务。

终端与控制服务器除了通过sip服务器交换sip消息外,还直接通过建立rtp会话交换实时媒体流消息;终端与管理服务器之间、控制服务器与管理服务器之间则采用课堂信令和自定义接换消息。

(三)各子系统的设计

1.管理子系统

管理服务器是管理子系统的主体,它管理一个或多个控制服务器并与之交互,协助完成课堂基本功能;与一个或多个终端交互,提供接口供终端用户以不同的权限操纵控制课堂功能、查询课堂各种信息;存储管理课堂策略信息数据、课堂状态信息数据和用户信息数据。

管理服务器根据自身存储的最新课堂策略信息,生成课堂配置和控制命令并传送给控制服务器;控制服务器则是命令的具体执行者。控制服务器利用focus的课堂状态通知服务功能获取最新的课堂状态信息,上传给管理服务器。两者合作完成课堂的基本功能。另外,管理服务器提供接口,设置不同的权限供终端操纵和修改课堂策略。

由于用户普遍习惯使用web浏览器,因此,本文加入一个中间层-web服务器,作为管理服务器与终端交互的中介和纽带。管理服务器与web服务器的交互也采用简单的自定义接口规范,利用请求/应答模式完成。同时,管理服务器向用户提供课堂信息的查询功能服务,使用户能够了解最新的课堂策略信息和最新的课堂状态信息。

考虑到存取数据的效率问题,并为了降低系统的复杂性,管理服务器上课堂信息数据的存储采用xml技术来实现。课堂信息数据包括当前运行的课堂实例数目、每个课堂实例的uri、中心控制服务器的ip、开始时间、结束时间、课程名称、教师uri、教师使用的媒体类型信息、学生数目以及每个学生使用的媒体类型信息等。

2.控制子系统

该子系统是系统的重点和核心部分,控制服务器与管理服务器交互,获取最新的课堂配置和控制命令,并执行命令;与各终端交互,进行sip消息和媒体流信息的交换,并对其进行控制;获取最新的课堂状态信息,上传给管理服务器。

在逻辑结构上,控制服务器包括focus、sip协议栈、媒体处理器、传输层及底层通信网络。其中,focus是一个课堂实例的中心sip用户,其作用是:通过服务器、重定向服务器和注册服务器与终端用户保持信令连接,维护管理sip会话;将接收到的媒体配置和控制命令传送给媒体处理器,由媒体处理器集中处理来自各个终端的媒体流,进行混合和转发,实现媒体信息的控制和交换;利用自身的课堂状态通知服务功能从终端获取最新课堂状态信息,上传给管理服务器。

四、系统工作流程

整个系统的工作步骤分以下几步:教师预约新课堂实例、创建课堂实例、成员加入课堂、课堂实例运行、课堂实例结束、成员退出课堂和销毁课堂实例。

系统管理员启动系统后,教师首先向sip注册服务器注册自己的当前位置,注册成功后,根据本人的教学课程安排向管理子系统提出新课堂预约申请。管理子系统根据成员策略对教师身份的合法性进行鉴定,身份验证通过后,向教师返回包含申请成功id号、新课堂实例开始和结束时间信息的成功消息。当预约课堂的开始时间到了后,教师即可利用申请成功id号向管理子系统申请创建课堂实例,管理服务器创建新的课堂实例(即生成一个课堂uri),分配一台新的控制服务器,并指示控制服务器上的focus向申请教师发送sip的invite消息,邀请教师加入课堂。教师回送ack消息后即加入课堂实例,此时的课堂实例状态为运行状态,但还没有学生加入。

学生在使用系统前,也要首先向sip注册服务器注册自己的当前位置。注册成功后,学生加入课堂实例有两种方法:一是主动加入,即通过web浏览器查询课堂信息,找到自己要加入的课堂并且当该课堂实例已经运行后,向该课堂实例uri(也就是focus uri)发送invite消息申请加入。focus根据成员策略鉴定学生身份后,向学生返回允许或拒绝的应答。二是被动加入,即focus向所有符合成员策略要求的学生多播发送邀请的sip消息,收到邀请的学生对其作出应答后即可建立连接并加入。

课堂实例运行过程中,经过教师批准后,学生可以重新设置自己的媒体参数并且可以提前离开课堂实例。学生向focus发送re-invite(重新邀请)方法的sip消息(消息体中包含调整后的媒体描述信息),即可改变自己使用的(下转第66页)(上接第60页)媒体参数。学生向focus发送带有bye方法的sip消息就可离开课堂实例。

教师也可以设置自己授课使用的媒体参数,同样只需向focus发送re-invite(重新邀请)方法的sip消息即可。当发现有不合格的学生后,只需向其发送带有bye方法的sip消息就可将其逐出课堂。

与加入课堂相似,课堂结束时学生退出课堂的方法也有两种:一是主动退出。教师宣布下课后,成员终端可分别向focus发送带有bye方法的sip消息并退出课堂。二是管理服务器根据课堂实例的结束时间指示focus向所有课堂成员终端发送带有bye方法的sip消息,终端作出应答,断开与focus的连接,退出课堂。

focus利用课堂状态通知服务的功能及时把正在结束的课堂实例中还未退出课堂的人数信息传送给管理服务器。当未退出课堂人数变为零时,管理服务器销毁该课堂实例,释放该课堂实例占用的所有资源。

五、总结

本系统有如下特点:

第一,系统采用集中服务器方式的体系结构,具有简单清晰、便于管理等优点。

第二,集中服务器在物理实现上又采用控制服务器和管理服务器相分离的方式,整个系统中由一台主服务器-管理服务器和多台控制服务器组成,控制服务器集中进行sip会话管理和媒体流的处理,这有利于减轻系统负荷,达到平衡系统负载的目的。

第三,系统提供给用户的功能服务接口大多采用web方式,这符合用户的操作习惯,降低了终端实现的复杂性。

第四,系统数据采用xml文件的形式来存储,可以提高数据存取的效率,优化系统性能。

六、结语

sip协议还处于不断的研究和发展中,有关sip运用于远程多媒体教学系统的实际例子也很少,本文对sip运用于远程多媒体教学系统作了一定的探讨和研究,系统很多方面需要完善和改进。

【参考文献】

sip协议范文10

关键词:SIP墙体;静力单向加载协议;破坏形式;抗剪性能

中图分类号:TU531.11

文献标志码:A 文章编号:1674-4764(2016)03-0041-07

Abstract:Three different static loading protocols were used in the lateral loading experiment on SIP wall covering with oriented strand board (OSB), and failure forms and shear performance of the SIP wall were recorded and analysed treated by three loading protocols: ISO 22452, ASTM E72-05 and ASTM E564-06. The results showed that shear performances of the SIP walls under the three loading protocols were different, ultimate bearing capacity and ultimate displacement were the largest one, and the ductility factor was the middle one which loaded by ISO 22452, the value were 46.06kN, 71.83mm, 3.31 respectively; while ultimate bearing capacity was the middle one, ultimate displacement and ductility factor were the largest one which loaded by ASTM E72-05, the datas were 40.66kN, 76.97 mm, 4.07 respectively; ultimate bearing capacity 37.73 kN, ultimate displacement 54.92 mm and ductility factor 2.91 were the smallest treated by ASTM E564-06 among the three loading protocols. Failure forms of the walls under the three loading protocols were similar, there were little influence on failure forms caused by the three loading protocols used in this research.

Keywords:SIP wall; static loading protocol; failure forms; shear performance

结构保温板,也称结构隔热板 (SIP,structural insulated panels),是以硬质发泡材料或其他保温材料为夹心层,外贴压型钢板、木板、水泥加压板等薄板的三明治型的复合板材,常见的芯材种类有:EPS、XPS、PU以及无机类保温材料等,贴面板有:压型钢板、欧松板、桔梗板等木质板材、水泥加压板、石膏板等无机板材。该结构类型的复合板材具有良好的保温隔热性能、抗震性能及轻质高强的特点[1-2], 提高了木材利用率,创造出比传统木结构形式更加先进的SIP 住宅系统(structural insulated panel system,SIPs) [3-4],在北美和欧洲等地,以SIP为基本单元的SIP住宅系统广泛用于民用和商用住宅,SIPs建造就像搭积木一样简单快捷,可大大节省建造时间和建造费用。

作为建筑物的重要组成部分,墙体在建筑中除实现围护、防火、隔音、保温等需求外,同时需要承受风载及地震等的作用,墙体需具有足够的承载能力,以便保证墙体的安全[5]。目前,关于SIP的试验数据和研究主要集中在近20年。在力学性能方面,Taylor等[6] 1997年进行SIP构件的试验研究,建立了定向刨花板面板、聚氨酯泡沫板和聚苯乙烯泡沫板芯的SIP的受弯蠕变模型,推导出SIP受弯构件挠度随时间变化的公式;Keith等[7]于2006年制备了4种厚度的SIP试件,并做了抗弯、轴压、剪切和测压试验,在APA发表了关于SIP标准化测试的报告,规定了对于SIP面板、芯材和胶粘剂的要求指标;Kermani[8-9]2006年对采用定向刨花板作为面板的SIP的抗弯、轴压、压弯和抗侧性能进行了测试,并总结了高度对轴向承载力的影响和开洞率对结构保温板抗侧力的影响。中国关于SIP墙体的研究较少,严帅[10]对SIP墙体的保温特性进行了专门研究,并推导了基于节能保温要求的最佳芯层厚度;对SIP抗弯试件进行4点弯曲试验,揭示了这类构件的破坏形态,并对其受力性能、破坏机理进行了探讨;对SIP抗侧试验进行研究,发现当采用杨木胶合板作为SIP面板时的侧向承载力大于定向刨花板。目前关于SIP板式结构抗震性能的研究极少。Jamison[11]于1997年对足尺SIP剪力墙进行低周反复载荷试验,并与轻型木结构墙体做了对比,发现SIP剪力墙在承受较大的载荷下变形比轻木结构胶合板剪力墙小50%。

从总体上看,尽管SIP板式结构体系作为建筑结构板材具有显著的优势,但国际上关于SIP作为墙体的研究是很少甚至是严重缺乏的,中国则更少关于SIP墙体的测试标准更是无从谈起。本研究选取了国外比较常见的关于木结构墙体的3种单向加载测试标准,以SIP墙体为测试对象,研究其破坏形式及抗剪性能,以期为SIP墙体的抗剪性能研究提供一些数据。

1 材料和方法

1.1 材料

实验所用墙体,墙体由两片SIP墙板构成,每片SIP板的尺寸为1 220 mm×2 440 mm,与加载设备的连接如图1。其中,顶梁板由两根长度相同但截面尺寸不同的SPF规格材构成,位于上部的称为上顶梁板,位于下部的称为下顶梁板;底梁板由两根长度相同但截面尺寸不同的SPF规格材构成,位于上部的称为上底梁板、位于下部的称为下底梁板(如图2)。墙体主要部件的基本参数见表1。

墙体连接及固定,覆面板与聚苯乙烯泡沫板之间通过聚氨酯胶合,覆面板与SPF之间、中间两根作为侧墙骨的SPF之间采用钉连接,墙体底部左右侧墙骨与底梁板之间各锚固一个L形抗倾覆连接件,底梁板与地梁之间、顶梁板与加载梁之间采用螺栓连接,各连接件规格尺寸见表2。

1.2 加载程序

采用3种加载方式(ISO 22452[12]、ASTM E564[13]、ASTM E72[14])对墙体进行加载。

ISO 22452加载方案:采用力控制加载程序,载荷持续增加的加载方式。以6 kN/min的速度加载直至试件破坏。

ASTM E72加载方案:采用力控制加载程序分段加载,加载速度:1.5 kN/min。对试件施加3个阶段(3.5、7.0、10.5 kN)载荷并分别立即卸载后,再重新加载直至试件破坏。

ASTM E564加载方案中单向加载部分:采用力控制加载程序,分段加载,目标载荷保持一定作用时间,加载速度恒定为6 kN/min。首先对试件施加预估最大载荷10%左右的载荷,保持5 min,卸载,保持1 min,再重新加载。当加载到预估最大载荷的1/3和2/3时保持1 min后卸载,保持5 min,再继续加载,直至达到最大载荷。此方案中的预估最大载荷,参照ISO 22452加载方案中的破坏载荷。

1.3 数据记录及处理

实验过程中实时记录墙体的载荷和位移数据,包括:墙体底梁板中间部位的水平位移(图1测点2)、左右侧墙骨距底部150 mm处的垂直位移(图1测点1、测点3)、作动器作动筒的位移以及作动器载荷。以作动器载荷为墙体载荷,以测点2处的水平位移对作动器位移进行修正,作为墙移。

2 结果与分析

2.1 实验破坏现象

加载过程中,作动器施加给SIP墙体的侧向载荷,通过加载横梁传递给顶梁板,之后通过连接钉传到覆面板,然后通过胶层、连接钉传到侧墙骨、聚苯板芯层,再通过连接钉传到抗倾覆连接件以及底梁板,最后通过底梁板上的锚固螺栓传递给地梁。将墙体作为一个整体,作动器向墙体施加的侧向载荷,使墙体产生一个绕轴转动,转动轴即为作动器对角线处的墙角部位(图6)。在试验中所采用的3种加载协议下,墙体的破坏均是在作动器下方的墙角部位,也是墙体相对位移较大的部位开始,沿底梁板与覆面板之间的连接部位展开。位于作动器下方的抗倾覆连接件与墙体侧墙骨间的自攻螺钉在侧向载荷的作用下从侧墙骨中拔出(图3(a)),抗倾覆连接件变形其连接失效,墙体覆面板与底梁板之间只剩下钉连接,在作动器施加的侧向力作用下,作动器侧的墙骨逐渐抬升,底梁板与覆面板之间的钉连接失效,墙体承载力下降。

3种加载方式墙体的破坏情况相似,破坏部位集中在作动器侧抗倾覆连接件(图3(b))以及覆面板与底梁板之间的钉连接部位(图4(a)),而远离作动器侧的抗倾覆连接件(图3(a))、顶梁板和覆面板之间(图4(b))、侧墙骨和覆面板之间则基本保持未加载前的完好状态,两片SIP墙板之间表现出一定的整体性(图4a),但也出现较小幅度的相对错位(图5a)。墙体受力时发生破坏的部位,满足两点:1)在墙体转动时产生相对位移;2)连接薄弱,容易破坏。针对墙体受力集中的部位进行局部加固,比如,在墙体受力时容易发生位移的部位采用强度更高的规格材、减小连接钉间距等,将可有效提高墙体抵抗侧向载荷的能力。

2.2 不同加载协议下的抗侧性能

图7为3种加载协议下墙体的载荷位移曲线。可以看到,不同加载方式下墙体的极限承载力及相应位移存在明显的差别。其中,采用ISO22452加载协议时墙体的极限承载力最大,载荷位移曲线的斜率也较其他两种加载方式稍大,说明其刚度较大,在达到极限承载力后随载荷增加墙体载荷也减小最快;采用E564加载协议时墙体的极限承载力及相应位移最小,在达到极限承载力之后随位移增加墙体载荷下降较慢。

sip协议范文11

摘要 由于p2p系统中没有中央服务器并且网络能够自组织所以p2p系统具有高扩展性,健壮性和容错性。这些特性是通过在p2p覆盖网络中定位感兴趣的源的更高的延迟来获得的。网络电话可以看作是参与者自组p2p覆盖网来定位其他参与者并与其他参与者交互的一种p2p结构的应用。我们提出一种用于基于会话初始化协议(sip)的ip电话系统的纯p2p结构。我们的p2p-sip结构既支持 基础的用户注册和呼叫建立也支持离线消息发送、语音/视频邮件和多方会议这样的高级服务。此外,我们简要介绍了执行情况。 关键词 p2p,网络电话,会话初始化协议(sip) 1 引言 现存的基于会话初始化协议(sip[1])的用户/服务器网络电话结构为每个域使用一个注册服务器。主要的系统消费是由一个专用系统管理器造成的维护和配置。这意味着在一个小型网络中迅速地建立系统(例如,紧急通讯或会议)是很困难的。另一方面,端到端(p2p)系统[2]因为没有单点错误,所以是可测量和可靠的。p2p系统对全局、灾难性失败是强壮的,虽然单个的结点可能会失败。 我们提出一种使用sip的p2p网络电话结构。p2p-sip有两个主要的目标:(1)一个增加健壮性完全的分布式模型;(2)不改变现存的控制结构(如dns)进行配置的能力。分析了许多可选的设计,提出使用chord[3]作为基本的分布式hash表(dht)的p2p-sip端点。新的混合结构既允许传统的sip电话也允许用户在本地域没有sip服务器时在p2p网络中查找。使用sip在p2p-sip中执行各种dht功能,例如端发现,用户登记,结点故障发现,用户定位以及通过用p2p代替dns[4]用于sip中的下一跳查找的呼叫建立。 实现了一个p2p-sip适配器,sippeer[5],允许现有的或者新的sip用户不改变用户就可以连接到p2p-sip网络。例如,sippeer在同一台主机上可以作为基于pc的sip用户并充当它的输出。sippeer也可以作为独立的sip用户商,人或有命令行用户界面的注册服务器。模块化的设计允许组件的重用和替换。例如,chord可以替换为另一种dht而不影响其他部分。开放的结构可以不影响现存的设计安装新的服务。例如,一个新的语音邮件模块可以添加到现存的结点上。除了p2p的扩展性和可靠性,p2p-sip还有如下优点: 不需要维护或配置:这个系统是开箱即用的,不需要任何冗余的服务器安装(包括nat和防火墙的配置)。我们的工作将tetf零配置网络工作组[6]的目标扩展到多媒体通讯和协作系统。 协同工作:不像skype[7]之类的其他p2p系统,我们使用sip与其他端点通讯。这可以很容易的与任何现存的sip-pstn网关的ip电话结构或象asterisk的基于服务器的ip pbx一起工作。 这些优点是增加资源查找延迟和安全的威胁来得到的。一个不使用集中的元件的用于认证的可靠结构不在这篇文章的讨论范围内。 2 结构框架 我们改进了分布式哈希表(dht)的设计。一个极端是,这个分布式哈希表可以在服务器中用于服务器的领域同时仍然管理客户/服务器结构。另一个极端,所有的结点成为分布式哈希表的一部分。我们选择如图1所示的一种中间设计,具有高的容量(带宽,cpu,内存)和可用性(正常运行时间,公共ip地址)的一些结点成为超级结点并组成分布式哈希表,而其他的普通结点与一个或更多的超级结点相连而不是成为分布式哈希表的一部分。

图1与dht中超级结点相连的普通结点

图2 p2p-sip结点中的块算法 图2给出了p2p-sip结点中不同部件的算法。结点启动和用户用标识符登记时,发现模块被激活用于初始化网络地址翻译和防火墙探测[8],点发现和sip注册。组播sip注册、上一引导周期存储的端地址和预配置的自举地址被用来初始化结点集。用户界面模块记录用户的“朋友列表”并调用用户定位 模块定位这些朋友。用户定位模块使用sip模块,或者,如果这个结点加入了dht就使用dht模块。dht模块维护端信息(例如,chord指针表)并执行像发现、加入和离开的一些dht操作。 sip被用作是定位其他用户或结点、加入dht、注册用户、呼叫建立和即时消息的基础协议。一旦用户被定位,呼叫建立或即时消息就可以直接经由sip模块发送到用户的电话。sip register更新和options消息用于探测结点失败。当一个超级结点关闭或者失败,注册被发送到dht中的其他适当的超级结点。其他的sip功能例如第三方呼叫控制和呼叫传输可以用相同的方法实现。媒介路径(音频设备,编解码器和传输)独立于p2p-sip操作。 一些分布式哈希表允许对多端点并行搜索,不像chord中的顺序搜索。在这种情况下超级结点可以担当背靠背用户并向邻居端点传播sip消息。然而,除非是像美国的911这种紧急呼叫路由的情况,应该避免并行搜索以免网络中发生泛洪。 在实际的实施中允许多种p2p-sip网络(分布式哈希表)相互连接是非常有用的。我们的混合结构允许p2p-sip网络群和基于服务器的sip结构共存。有两种方法:将一个网络中所有的用户与所有其他网络交互注册或者在呼叫建立的过程中在其余的网络中定位用户。前一种方法工作在少量的已知的p2p-sip网络。后一种方法可以使用一个像dns这样的全局命名服务器或层次化的p2p-sip网络实现。第一种情况,每一个p2p-sip网络用一个域名表示。这与基于服务器的sip网络是没有区别的,域名在那个网络中解析一个或多个自举结点[4]。第二种情况,用p2p-sip代替dns来解析域名。例如,单独的大的组织可以有本地p2p-sip网络与全局(公共)p2p-sip网络连接,如图3所示。本地特定域的dht有典型的服务结点,这些结点在全局dht中也是可达的。例如, 在全局dht中映射到结点a和c。特定域dht中的任何结点可以到达全局dht,全局dht中的任何结点可以经由域中的典型服务结点到达特定域dht。 图3 混合系统举例

混合结构允许用户在她的提供者可用的情况下用她的提供者注册,也可以用p2p-sip网络。呼叫建立在可以用dns解析时被发送到sip目的地,同样也可以用p2p-sip网络。 3 设计和实现 3.1命名 结点和用户标识符是用sip通用资源标志符(uri)表示的。例如,如果一个结点在传输地址192.1.2.3:8054上监听sip消息并且chord的哈希函数给出的键值是17,结点的uri就是sip:17@192.1.2.3:8054。域中的一个不知道传输地址的结点标识符或键值(例如10)表示为sip:。每一个局部的p2p-sip网络用一个dns域名表示,example.invalid用于没有域的键,例如全局dht中的键。这样的结点标识符对于dht的维护是有用的,例如,查询另外一个结点的传输地址来成为这个结点的指针表的入口。 用户标识符可以由系统随机分配,或由用户选择一个鉴定名(如,)或者用户选择她的有效email地址(如)。前两种方法允许用户选择密码,但是不清楚p2p结点怎样从用户那里得到密码。我们使用最后一种方法,因为它允许系统产生一个随机密码并email给用户用作验证。前两种方法,如果密码由系统随机产生并且sip register请求消息的连接头里有email地址,密码可以发给用户。 3.2认证 当一个用户第一次登陆p2p-sip网络时,我们需要验证用户的标识符是有效的并且确实属于该用户。没有公共密钥结构(pki),系统可以产生一个新的密码并用email发送给用户。这个密码在后来的拨入当中用于注册验证。可以使用一个可用的生存时间,比如一个月。当用户随后再登陆时这些信息被刷新。 3.3 sip消息 sip register消息被结点既用于用户注册也用于dht的维护。用户注册消息类似于基于服务器的注册,to头表示用户标识符,contact头表示用户的联系位置。 结点将sip register消息用于两种情况:查询和更新。如果消息中有contact头,则是更新请求表示发送者想更新to头中用户标识符的绑定;否则就是一个查询请求,发送者请求获得to头中用户标识符的contact信息;在一个p2p-sip结点的chord网络中结点的contact信息包括它自己的传输地址,后继结点地址和前导结点地址。 3.4 dht发现和加入 结点发送sip register消息使用sip:224.0.1.75(sip register组播ipv4地址)作为请求uri ,to头作为本地结点标识符来发现本地网络中的其他p2p-sip端点。也可以使用像服务定位协议(slp)和预配置的自举结点地址这样的额外机制。结点存储发现的端点地址列表用于以后的重新启动。 一旦结点发现一个端点,它通过发送一个以to头作为此结点标识符的sip register查询给那个端点加入dht。成功的应答包括现存的dht中的此结点的后继和前导,结点可以用来更新它的chord数据结构。 结点一旦知道它在chord环里的邻居,就向它们(后继和前导)发送sip register更新,这样就可以更新它们的数据结构。 chord的稳定性是通过周期性的发送sip register消息更新后继和前导的数据结构以及查询指针表入口以校验本地数据结构来实现的。 3.5 sip消息路由 chord里的每个结点对基于它在chord环里的位置的键空间的一个子集负责。当结点收到一个sip请求,它提取出目标键作为register请求的to头uri和其他任何请求的请求uri。对register请求,如果目的键值属于这个结点的键空间,则这个结点应该是目的键的登记者。如果这个键的用户记录存在,则发送一个成功的应答,否则就发送一个失败的应答。成功的应答包含用户的连接位置或结点联系(本地传输地址,后继和前导地址)分别用于用户或结点注册。如果结点收到一个非register请求,它为目标用户提供或将请求重定向到可用的用户连接位置。如果目标键值不属于这个结点的键空间,则请求被到基于chord算法和数据结构的下一跳结点。 3.6可靠性 chord通过存储?(n)个后继地址以及在k(常量)个成功的后继结点中复制键来提供结点失败时的可靠性。在p2p-sip中,结点更新应答包含所有?(n)后继地址,并且用户注册信息被复制到k个后继结点中。 当一个结点有序地离开网络时,它会注销它的后继和前导以便他们可以更新chord数据结构。并把所有的注册转移到它的后继。当一个结点异常地失败时,它的后继和前导发现这个失败并且更新他们的数据结构。算法的稳定性保证了信息能够在一段时间内传播到chord中的其他相应的结点。 注册信息由结点a传到结点b,如果结点b信任结点a就可以鉴定结点a,否则结点b重新生成一个密码并发送给用户的email地址。一旦我们拥有一个p2p名誉系统,dht中将只存在可信任的结点。如果注册结点是恶意的则问题仍然存在,而且可能造成拒绝服务攻击(dos)。 存储用户注册信息的p2p-sip结点也到那个用户的呼叫请求。一旦呼叫建立完成,呼叫路径中就不再需要p2p-sip结点。 3.7现存sip电话的适配器 一个sip用户商可以将p2p-sip结点当作是输出参与p2p-sip网络。用各种各样的sip用户商,例如哥伦比亚大学的sipc、思科ip phone 7960、pingtel ip phone、xten network的x-lite client v2.0和microsoft windows messenger,测试了p2p-sip适配器sippeer。 一些电话不像sip规范[1]中说的输出应该被当作预装载的路由集那样执行输出。实际上,如果输出不记录路由最初的invite请求,则后来的对话中的请求(例bye)不应该发送给。假定sipc用户 使用p2p-sip邀请思科phone用户。呼叫后,bob挂断。思科phone发送bye请求给输出(p2p-sip结点)但是请求uri包含alice@pc2.examole:5060。因为这个uri可能没有在p2p-sip网络中注册,p2p-sip结点可能不能请求,这将引起dht查找失败。在sippeer中通过在这种情况下请求到请求uri代替dht查找来解决这个问题。 4 结束语 我们提出了纯p2p结构的sip电话。除了与现存的sip结构的互操作性,这个结构还提供了可靠性和p2p系统固有的扩展性。今后还需要在像使用p2p的大规模应用层组播会议这样的高级服务方面以及像认证和计费之类的与pstn协同工作的相关因素方面做更多的研究。 参考文献: [1] j. rosenberg, h. schulzrinne, g. camarillo, a. r. johnston,j. peterson, r. sparks, m. handley, and e. schooler. sip:session initiation protocol. rfc 3261, internet engineering task force, june 2002. [2] /techreports/2002/hpl-2002-57.html. [3] i. stoica, r. morris, d. karger, f. kaashoek, and h. balakrishnan. chord: a scalable peer-to-peer lookup service for internet applications. in sigcomm, san diego,ca, usa, aug 2001. [4] j. rosenberg and h. schulzrinne. session initiation protocol(sip): locating sip servers. rfc 3263, internet engineering task force, june 2002. [5] . [7] . [8] j. rosenberg. interactive connectivity establishment (ice): a methodology for nettwork address translator (nat) traversal for the session initiation protocol (sip). internet draft, internet engineering task force, july 2003. work in progress. [9] k. singh and h. schulzrinne. peer-to-peer internet telephony using sip. technical report cucs-044-04, department of computer science, columbia university, new york, ny, oct. 2004. [10] /p2p/. [11] /technology/voip/2005/06/voip0644.htm

sip协议范文12

[关键词]IP多媒体子系统;IMS网络;安全问题

中图分类号:T330P9.3 文献标识码:A 文章编号:1009-914X(2016)04-0305-01

1 前言

IP多媒体子系统(IMS)基于IP承载,在PS上叠加,为用户提供了语音、文本、图片以及视频等各种IP多媒体信息。随着IMS网络的不断规模化发展,交换网朝着IP承载,支持多业务能力的融合网方向发展。传统的交换网络传输采用时分复用模式,用户之间采用面向连接的通道来进行通信,避免了各种可能的窃听和攻击,并且采用完全独立的信令网来控制通道占用、释放、设备忙闲状态、被叫用户号码等,保证了网络的安全。而IMS建立在IP基础上,其安全性要求相比传统交换网要高得多。因此,探究IMS网络安全性具有很强的现实意义。

2 IMS网络的安全问题

要确保IMS网络的安全,就必须全面了解各种安全威胁,这样才能够有的放矢地采取有针对性的防范措施。按OSI模型划分,IMS网络威胁有以下几方面:

1)数据链路层风险:由于IMS接口开放性,攻击者可通过无线接口窃听、篡改或删除信息等方式达到假冒合法用户欺骗网络的目的,主要攻击包括:未经授权地访问敏感数据以破坏机密性、未经授权地篡改敏感数据以破坏完整性。另外,IP网络常见的ARP、MAC攻击也会造成网络瘫痪。

2)网络层风险:主要包括对路由协议的攻击和对ICMP协议的攻击,另外,IMS网络中很多关键设备主要采用IP分组方式传输,IP协议的通用性为网络攻击提供便利。

3)传输层风险:利用TCP/UDP协议漏洞消耗系统资源,使网络响应速度变慢进而导致网络瘫痪。

4)会话层风险:主要集中在SIP协议缺陷上,常见的包括SIP解析器攻击以及服务器伪装、会话攻击、洪泛攻击、木马攻击、中间人攻击等等。SIP解析器攻击威胁IMS网络可用性,服务器伪装攻击威胁IMS网络可认证性,造成全部用户或者部分用户丢失服务;会话攻击通过构建畸形的SIP消息导致解析器出现溢出等异常;洪泛攻击通过伪造请求引发DOS攻击,导致合法用户无法正常使用服务,攻击者给HSS发送出大量伪造请求,消耗IMS网络资源,降低服务能力,乃至发生完全瘫痪;木马攻击:SIP内嵌的恶意程序攻击威胁IMS系统可用性;SIP中间人攻击通过将自己伪装成IMS网元,监听或者破坏会话。

5)应用层风险:主要包括对IMS核心侧服务器应用软件威胁和接入侧终端病毒威胁。

3 IMS网络安全防范措施

鉴于以上安全威胁,IMS安全体系规范应运而生。在IMS安全体系中,IMS网络被分为接入网和网络域两部分,整个IMS网络端到端安全均基于IP安全协议(IPSec)技术上,此外提供5个类型的安全联盟(SA)。IMS的安全体系如图1所示,5个类型的安全联盟分别用数字①、②、③、④、⑤来加以标识。

①提供终端用户和IMS网络之间的相互认证。

②在UE和P-CSCF之间提供一个安全链接(Link)和一个SA,用以保护Gm接口,同时提供数据源认证。

③在网络域内为Cx接口提供安全。

④为不同网络之间的SIP节点提供安全,并且这个安全联盟只适用于呼叫会话控制功能(P-CSCF)位于拜访网络(VN)时。

⑤为同一网络内部的SIP节点提供安全,并且这个安全联盟同样适用于P-CSCF位于归属网络(HN)时。

3.1 接入网安全

1)认证:IMS接入认证机制是认证和密钥协商(AKA),此机制基于“提问/回答”模式实现对用户的认证和会话密钥的分发,由携带AKA参数的SIP消息在用户设备(UE)和IMS网络认证实体之间进行交互,按照AKA机制进行传输和协商,从而实现用户和网络之间的双向认证,并协商出后续通信所需的安全性密钥对。

2)加密与完整化保护

IMS对SIP信令强制使用完整性保护,主要机制是IPsec 封装安全负载(IPsec ESP)。IPsec ESP在IP层为IMS用户终端(UE)和P-CSCF间所有SIP信令提供机密性保护,对于呼叫会话控制功能(CSCF)之间和CSCF和归属用户服务器(HSS)之间的加密可以通过安全网关(SEG)来实现。同时,IMS还采用IPSec?ESP为UE和P-CSCF间所有SIP信令提供完整性保护,保护IP层的所有SIP信令,以传输模式提供完整性保护机制。

3)安全参数集合协商

安全参数集合协商为采用何种安全协议由双方协商,还要协商选用何种安全算法实施加密以及完整化的保护等等。协商密钥采用方法为IKE(Internet,Key Exchange),该协议用于建立、协商和维护网络实体间的安全参数SA集合。

3.2 网络域安全

对IMS网络域安全,提出安全域概念。安全域是一个单独管理机构所管理的网络,在同一安全域内的网元具有相同的安全等级和安全服务,不同安全域间由安全网关SEG建立连接。不同安全域间的接口定义为Za接口,同一安全域内部的不同实体间的安全接口为Zb接口。主要的安全联盟包括:Cx接口SA为网络域内的Cx接口提供机密性和完整性保护;异网SIP接口SA,当P-CSCF位于漫游网络时,为不同网络间具有SIP能力的结点提供安全,对所有经过Za接口的数据提供认证和完整性保护;同网SIP接口SA,当P-CSCF位于归属网络时,为网络内部具有SIP能力的结点提供安全,也就是为同一安全域内各实体间建立SA。两个SEG之间的业务被采用隧道模式下的IPSec ESP安全联盟进行保护,安全网关之间的网络连接通过使用IKE来建立和维护。

4 结束语

基于SIP的全IP开放网络特征给IMS网络安全带来极大挑战,IMS网络安全将随网络技术发展不断完善。

参考文献

[1] 王松,俞能海.IMS接入认证及密钥分配机制优化方法[J].数据通信,2012(11).

[2] 左伯茹.IMS网络接入安全方案研究.北京邮电大学硕士研究生学位论文,2006.

相关文章