当前位置:文档之家› SIP协议与视频通信

SIP协议与视频通信

SIP协议与视频通信

关键字:SIP视频通信H.323

摘要:文章简要概述现有视频通信技术,包括H.320与H.323应用。然后介绍IETF可以用于视频通信的协议:SIP。在SIP介绍中首先描述SIP协议的历史,然后描述SIP的组成部件。明确部件后举例说明了一个SIP呼叫建立的流程。在第四部分通过与H.323协议族比较来说明SIP用于视频通信的优劣。最后指出SIP协议用于视频通信的前景。

引言

沟通是人类生存的基本需求,通信已成为现代生活中必不可少的内容。在任何时间,任何地点与人和人通信是电信发展的目标。通信技术发展到今天,电话网几乎覆盖全球。语音通信(电话)似乎已基本达到上述目标。但是随着技术的发展,人们已不满足仅仅语音通信。大规模视频通信已成为下一阶段信息产业发展方向。虽然电视会议已出现二十多年,当前不但统一的标准而且有成熟的产品;但是由于种种原因一直没有得到象电话那样的普遍应用。视频通信似乎一直是一座未被足量开采的金矿。随着传输技术的发展,带宽资源已不是瓶颈;随着一场SARS的肆虐,视频通信又成为热点。随着SIP协议的出现,视频通信在技术上又有了新的发展动力。

视频通信协议概述

基于H.320的视频应用

传统会议电视利用以电话网2M或者1.544M直联数字线路连接终端会议电视设备进行实时音频、视频和数据信息的传送。通过使用多点控制器,可以在一块控制板具备所有主会场的操作切换功能。最初会议电视厂家以各自专用的压缩和通信算法进行生产,各个会议电视厂家产品无法互联互通。

随着ITU-T推出H.320协议,上述问题得到很大程度的解决。H.320是同步电路交换网(如ISDN)上现频传输的标准。电路交换网适用于实时应用,如长时间和具有确定延迟的音频和视频信号传递。电路的建立依赖于带外信令、集中的路由控制和昂贵的交换设备。使用H.320协议,电话网上中商用会议电视的理想电路是384 kbps。使用384kbps的电路可以以合理的成本提供高质量的音频和视频信号。采用2M或者1.544M的中继直连当然很容易满足上述带宽要求,但是作等于建立专网,价格将令用户难以承受。

由于电话网络中继价格不断下降以及大量既成事实的基于H.320的电视会议应用,虽然H.320通信成本相对于现有的其它方式稍显昂贵,但其市场仍将在未来数年里继续成长——尽管其成长是缓慢的。

基于H.323协议的视频应用

H.323是国际电信联盟制定的局域网上的多媒体通信系列标准。该协议专门为不提供服务质量(QOS)保证的局域网技术制定,例如运行于以太网、快速以太网和令牌环网(Token Ring)上的TCP/IP和IPX。尽管H.323协议特别为局域网制定,只要带宽时延满足要求同样可以应用在更大范围例如城域网和广域网。1997年5月,国际电信联盟第15研究小组重新定义

了H.323,它成为在“不保证服务质量的分组交换网上传递信息的多媒体通信系统”的标准。

H.323是在H.320的基础上建立起来。增加了的一些功能是由分组交换网络代替电路交换网络所带来的,另一些功能则是由压缩算法和信令技术的发展带来的。H.323协议在规定了与H.320相同的视音频压缩算法的同时又补充了一些新的算法。

H.323是一个庞大的协议族,主要定义的四个部分:终端、网关、网守和多点控制单元:

l终端:在基于IP的网络上是一个客户端点。它需要支持下面3项功能:支持信令和控制;支持实时通信;支持编码,即传前压缩,收后进行解压缩。

l网关:提供在包交换网络和电路交换网络(SCN,Switch Circuit Network)之间的一个连接。

l网守:在H.323系统中是可选的,但如果出现,它们就具有某些强制性的功能,网

守完成地址翻译、接纳控制、带宽控制、域管理4个必须功能。网守还支持呼叫控制信令、呼叫鉴权、带宽管理和呼叫管理4个可选的功能。

l多点控制单元(MCU):多点控制单元支持3个以上的端用户进行会话。典型的MCU包括一个多点控制器(MC)和若干个(也可以没有)多点处理器(MP)。MC提供控制功能,如终端

之间的协商。MP完成会话中的媒体流的处理,如话音的混合、话音/视频的交换。

H.323是一个复杂而庞大的协议族,现阶段是视频应用的主流技术。然而由于其过于

复杂,现在正受到基于SIP协议视频应用的挑战。

SIP协议简介

SIP概述

SIP (Session Initiation Protocal)称为会话初始协议,是由IETF(Internet Engineering Task Force)组织于1999年提出的一个在基于IP网络中,特别是在Internet 这样一种结构的网络环境中,实现实时通讯应用的一种信令协议。而所谓的会话(Session),就是指用户之间的数据交换。在基于SIP协议的应用中,每一个会话可以是各种不同类型的内容,可以是普通的文本数据,也可以是经过数字化处理的音频、视频数据,还可以是诸如游戏等应用的数据,应用具有巨大的灵活性。

作为一个IETF提出的标准,SIP协议在很大程度上借鉴了其他各种广泛存在的Internet协议,如HTTP(超文本传输协议)、SMTP(简单邮件传输协议)等,和这些协议一样SIP也采用的基于文本的编码方式,这也是SIP协议同视频通讯领域其他现有标准相比最大的特点之一。

SIP协议的提出和发展,是伴随着Internet的发展而发展的,到目前为止它走过了一下几个阶段:

n1996年首先出现了SIP的概念,这时SIP的主要应用是针对Internet上的各种文本应用,如电子邮件、文字聊天等;

n1999年3月,ITEF的多方多媒体会话控制(MMUSIC)工作组提出了RFC2543建议,供各厂商和机构讨论;

n1999年9月,SIP工作组从MMUSIC中分离并独立出来,成立了SIP工作组,并与2000年7月发表了SIP的草案;

n2002年6月,ITEF的SIP工作组又发表了RFC3261建议,以取代RFC2543。

由于网络环境以及相关多媒体技术的不足,在SIP协议首次提出的时候,仅仅针对各种文本应用,随着技术的发展,并通过和IETF中IP电话工作组(IPTEL)、IP网中电话选路(TRIP)工作组等兄弟工作组配合工作,在SIP协议中大大加强了对多媒体通讯的支持。

由于Internet的飞速发展,在最近的两年时间内,SIP已经开始被ITU-T SG16、ETSI TIPON(欧洲标准化组织),IMTE等各种标准化组织所接受,并在这些组织中成立了与SIP相关的工作组。特别是作为ITU-T SG16主要成员,在多年发展H323应用的基础上,针对SIP 应用在视频领域的特点,提出了SIP的应用指导,并推出了相应的SIP协议栈,使得ITU

的成员实现了这两种协议之间的互通性。

SIP系统基本组成

按逻辑功能区分,SIP系统由4种元素组成:用户代理,SIP代理服务器,重定向服务器以及SIP注册服务器。

lSIP用户代理:又称为SIP终端,是SIP系统中的最终用户,在RFC3261中将它们定义为一个应用。根据它们在会话中扮演的角色的不同,又可分为用户代理客户机(UAC)和用户代理服务器(UAS)两种。其中前者用于发起呼叫请求,后者用于响应呼叫请求。

lSIP代理服务器(SIP Proxy Server):是一个中间元素,它既是一个客户机又是一个服务器,具有解析名字的能力,能够代理前面的用户向下一跳服务器发出呼叫请求。然后服务器决定下一跳的地址。

l重定向服务器(Redirect Server):是一个规划SIP呼叫路径的服务器,在获得了下一跳的地址后,立刻告诉前面的用户,让该用户直接向下一跳地址发出请求而自己则退出对这个呼叫的控制。

lSIP注册服务器(SIP Register Server):用来完成对UAS的登录,在SIP系统的网元中,所有UAS都要在某个登录服务器中登录,以便UAC通过服务器能找到它们。

下面是一个SIP呼叫建立过程的示意图:

图1 SIP呼叫建立过程

1)SIP用户代理向SIP代理服务器发送呼叫建立请求(INVITE);

2)SIP代理服务器向重定向服务器发送呼叫建立请求;

3)重定向服务器返回重定向消息;

4)SIP代理服务器向重定向服务器指定的SIP代理服务器发送呼叫建立请求;

5)被请求的SIP代理服务器使用非SIP协议例如域名查询或者LDAP等到定位服务器查询被叫位置;

6)定位服务器返回被叫位置(被叫SIP代理服务器);

7)被请求的SIP代理服务器向被叫SIP代理服务器发送呼叫建立请求;

被叫SIP代理服务器向SIP用户代理(被叫)发呼叫建立请求(被叫振铃或显示);

9)被叫用户代理向被叫SIP用户代理服务器发同意或拒绝;

10)被叫用户代理服务器向主叫代理服务器所请求的代理服务器发同意或拒绝;

11)主叫代理服务器所请求的代理服务器向主教代理服务器发同意或拒绝;

12)主叫代理服务器向主叫SIP用户代理指示被叫是否同意呼叫请求。

呼叫建立后双方根据协商得到的媒体和压缩算法等信息相互通讯。呼叫拆除过程类似于建立过程,在这里不再描述。

SIP用于视频通信的优势与问题

由于SIP协议与H.323协议族都基于分组交换网络,而当前分组交换网上最成熟的视频通信系统都基于H.323协议族。所以使用SIP协议的视频通信系统不可避免地需要和

H.323系统比较来得到优势与不足。虽然SIP协议和H.323协议族并不是谁替代谁的竞争关系,但是通过比较得到的优势和不足可以帮助我们在不同的条件下作出更恰当的选择。

l协议功能模块比较

SIP协议功能模块中用户代理等价于一个H.323的终端(或者分组交换网络侧的网关),SIP服务器则等价于H.323的网守。另外,SIP类似H.323中的RAS和Q.931协议,而SDP 则相当于H.245。在IETF的SIP体系结构中,媒体流的承载采用了RTP协议,这是和H.323一样的。所以,H.323与IETF的SIP主要的不同在于呼叫信令和控制是如何实现的。

l基本呼叫的建立和拆除

H.323第二版的呼叫建立是基于可靠的传输协议-TCP协议,所以呼叫建立需要两个连接阶段:TCP连接建立和呼叫连接建立。而在H.323第三版,支持TCP和UDP,因此简化了呼叫建立过程。SIP的呼叫建立类似H.323第三版的处理过程,使用INVITE信息包。呼叫拆除的过程与呼叫建立相反,主叫和被叫都能拆线,H.323协议采用RELEASE COMPLETE,SIP 协议采用BYE。

l呼叫控制业务

SIP和H.323都支持呼叫保持、呼叫转移、呼叫前转、呼叫等待、电话会议和其他补充业务。以呼叫保持为例:H.323定义了近点呼叫保持和远点呼叫保持两种保持业务的场景。网守仅仅透明地传送SS-HOLD。而SIP实现同样的功能,只要向需要呼叫保持的一方发送一个更改了SDP描述的INCVITE命令即可。更改的SDP描述段仅将媒体发送的目的地址变为空<0.0.0.0>,而其他的内容不变。收到该用户的UA,让呼叫保持,直到有新的INVITE到来为止。

lSIP的第三方控制

第三方控制是指不参与会话的第三者具有建立呼叫的能力,这个业务特征目前只有SIP具有。H.323也在进行试图添加同样的业务功能的工作。第三方控制有很多应用场合,包括秘书为经理拨号、电话营销的自动拨号、参加者呼叫转移和呼叫中心业务。

第三方控制是SIP值得很好利用的业务特征。由于SIP的这一特性,ITU-T和IETF 在实现PINT(IN和因特网互通)业务时都采用了SIP协议。

l能力交换

能力交换的就是彼此交流各自对媒体流的处理能力,确定双方共有的能力,从而确保多媒体信号被双方接受。H.323采用H.245协议进行能力交换。终端的所有能力都描述在一组Capability Descriptor结构中,它们的每个项是一个Simultaneous Capabilities结构和一个Capability Decriptor Number。借助这种结构,每个终端能力的精确信息被表示在相关的紧缩结构中。

SIP使用SDP来进行能力交换,主叫方使用一个OPTION需求去找出被叫,当前,SIP 还不如H.245有完整灵活的协商能力,因为受制于SDP的表达方式,例如SIP不支持不对称能力交换(只收或只发)以及声频和视频编码的并发能力。

l服务质量

服务质量包含很多不同方面的指标,一个和多媒体流相关的QOS参数包括带宽、最大时延、时延抖动和包丢失率。另外,还有呼叫建立时延影响感觉的QOS,它在很大程度上依赖于信令协议。呼叫时延也依赖所用的承载信令信息的传输协议,尤其是在信令信息丢失需要重传的时候。所以,对于媒体流,我们首先考虑信令协议对QOS的支持,然后再考察呼叫建立时延,因为呼叫建立时延受错误检测和错误纠正机制的影响。

l媒体流的QOS支持

在H.323中,网守提供一组丰富的控制和管理功能,包括地址翻译、接纳控制、带宽控制和地域管理;网守中还提供呼叫控制信令、呼叫签权、带宽管理和呼叫管理等选择功能。SIP它自身不支持管理和控制功能,而是依赖于别的协议。

近年来,新的分级服务体系结构开始引人注目,H.323第三版能提供某些基于QOS协商参数(位流速、时延、抖动)的分级服务,在呼叫初始化时,终端可以申请担保的服务、受控服务和无指明服务的一种,SIP和H.323老版本均不支持类似的服务。

l呼叫建立时延

H.323第一版在呼叫建立时延时很大。第二版大大改进,而第三版则更好。SIP在呼叫建立时非常类似于H.323第三版,然而,如果UDP呼叫建立失败,则H.323第三版要好于SIP,H.323第三版几乎同时建立一个UDP的连接和一个TCP连接,它提供一个有效的机制,如果UDP连接成功则关闭TCP连接;否则,立刻启用TCP。SIP是顺序地操作UDP和TCP,如果UDP失败,则会增加呼叫建立时延。

l环路检测

为防止环路,H.323定义PathValue域来指出信令信息在丢弃前可达到的最大数目。问题是定义一个适用的值很关键。此外网络变化后,这个值也要相应改。

SIP采用了via头字段,检查其内容,如果新端点已出现在via列表中,则表示有环路了。SIP的方法好于H.323。

l互操作性

版本之间的互操作性:

H.323的完整的后向兼容性使所有的不同H.323版本都能实现无缝集成。

在SIP方面,新版本可能使某些旧功能不再被实现。

与其他信令协议的互操作性:

要支持传统的电信业务,VOIP信令协议必须支持ISDN和七号信令,Q.931接口用于User-Network接口(UNI)和ISUP用于Network-Network(NNI),然而,由于H.323的呼叫建立只是七号信令/ISUP的一个子集,所以H.323只能部分地转换七号信令的信息。H.32X

系列定义了其他互操作协议,如H.320用于ISDN和B-ISDN,H.324用于GSTN。

SIP协议目前的版本不提供No.7信令的翻译,但有不少Internet的协议草案在进行这方面的工作。而且随着软交换概念的提出和发展,SIP受到重视,SIP有可能作为软交换设备之间的信令协议,成为各种信令互操作的纽带。

l实现的难易性

H.323信令信息是符合ASN.1PER的二进制编码。需要特殊的编解码器。

SIP信息是基于文本的,采用ISO10646以UTF-8编码。基于文本的编码很容易用Java,Tcl和Perl等语言来实现,调试方便。

SIP协议在视频通信中的应用

SIP协议是一个建立会话的协议,类似于电话网中的信令。从理论上说,SIP协议可以用于任何基于会话的应用。因此视频应用当然也不例外。当前在企业网、局域网内使用SIP 协议提供视频应用完全没有问题。但是当SIP协议应用在为公众服务的大范围大规模电信网络中提供视频应用则实例较少。主要原因在上面SIP协议用于视频应用的优势与缺陷中已有提及。但是问题的根源在于SIP协议来源于IETF,电信行业标准主要来源于ITU。IETF与ITU属两大阵营。IETF来源于计算机行业,推崇尽力而为、免费服务与分散的控制。ITU来源于电信行业,推崇保证服务质量、收费服务与集中控制。SIP要在电信视频通信网得到应用,必须解决管理、计费以及服务质量等问题。

服务质量问题与SIP协议本身无关,是否能保证服务质量问题关键在于分组网络服务质量。所以SIP协议与H.323协议在服务质量问题上是一致的,与他们比较的是基于电路的H.320视频应用。

SIP本身并不考虑计费,我们可以在用户代理服务器上收集计费数据。从这点看,似乎使用SIP协议的视频应用问题不大。实际上问题在于SIP协议是IETF协议,某种程度上是分散控制。终端拥有很强大的智能,虽然通常只实现用户代理,但是完全可以实现用户代理服务器甚至定位服务器。用户很容易可以绕开收集计费信息的电信运营商设备直接在分组层取得视频服务。这样电信运营商就得不到预期的利润,也就没有动力建设基于网络。

虽然SIP协议用于电信视频应用存在问题,但是随着SIP协议首先在语音交互中的应用以及软交换中的使用,可以看到SIP协议还是有较好的前景。未来网络趋于分组网络,网络趋向使用简洁有效的协议,所以SIP协议有可能在未来视频通信网络中得到广泛应用。

SIP协议呼叫流程及协议分析

一、SIP协议介绍: 会话发起协议SIP(Session Initiation Protocol)是一个应用层控制信令协议,用于建立、更改和终止多媒体会话或呼叫。SIP作为一个基础,可以在其上提供很多不同的服务。目前已经定义的媒体类型有音频、视频、应用、数据、控制。 二、SIP呼叫流程: 注册流程: (1)用户首次试呼时,终端代理A 向代理服务器发送REGISTER 注册请求; (2)代理服务器通过后端认证/计费中心获知用户信息不在数据库中,便向终端代理回送401Unauthorized 质询信息,其中包含安全认证所需的令牌; (3)终端代理提示用户输入其标识和密码后,根据安全认证令牌将其加密后,再次用REGISTER 消息报告给代理服务器; (4)代理服务器将REGISTER 消息中的用户信息解密,通过认证/计费中心验证其合法后,将该用户信息登记到数据库中,并向终端代理A 返回成功响应消息200 OK。 呼叫流程:

(1)用户摘机发起一路呼叫,终端代理A 向该区域的代理服务器发起Invite 请求;(2)代理服务器通过认证/计费中心确认用户认证已通过后,检查请求消息中的Via 头域中是否已包含其地址。若已包含,说明发生环回,返回指示错误的应答;如果没有问题,代理服务器在请求消息的Via 头域插入自身地址,并向Invite 消息的To 域所指示的被叫终端代理B 转送Invite 请求; (3)代理服务器向终端代理A 送呼叫处理中的应答消息,100 Trying; (4)终端代理B 向代理服务器送呼叫处理中的应答消息,100 Trying; (5)终端代理B 指示被叫用户振铃,用户振铃后,向代理服务器发送180 Ringing 振铃信息; (6)代理服务器向终端代理A 转发被叫用户振铃信息; (7)被叫用户摘机,终端代理B 向代理服务器返回表示连接成功的应答(200 OK);(8)代理服务器向终端代理A 转发该成功指示(200 OK); (9)终端代理A 收到消息后,向代理服务器发ACK 消息进行确认; (10)代理服务器将ACK 确认消息转发给终端代理B; (11)主被叫用户之间建立通信连接,开始通话; 结束流程:

sip协议原理分析及总结

SIP协议学习总结 1、SIP协议定义 SIP(Session Initiation Protocol,即初始会话协议)是IETF提出的基于文本编码的IP电话/多媒体会议协议。用于建立、修改并终止多媒体会话。SIP 协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。多媒体会话可以是点到点的话音通信或视频通信,也可以是多点参与的话音或视频会议等。SIP协议透明地支持名字映射和重定向服务,便于实现ISDN,智能网以及个人移动业务。SIP协议可以用多点控制单元(MCU)或全互连的方式代替组播发起多方呼叫。与PSTN相连的IP电话网关也可以用SIP协议来建立普通电话用户之间的呼叫。 SIP协议在IETF多媒体数据及控制体系协议栈结构的位置 H.323SIP RTSP RSVP RTCP H.263 etc. RTP TCP UDP IP PPP Sonet AAL3/4AAL5 ATM Ethernet PPP V.34 SIP协议支持多媒体通信的五个方面: ◆用户定位:确定用于通信的终端系统; ◆用户能力:确定通信媒体和媒体的使用参数; ◆用户有效性:确定被叫加入通信的意愿; ◆会话建立:建立主叫和被叫的呼叫参数; ◆会话管理:包括呼叫转移和呼叫终止; SIP协议的结构 SIP是一个分层的协议,也就是说SIP协议由一组相当无关的处理层次组成,这些层次之间只有松散的关系。 SIP最底层的是它的语法和编码层。编码方式是采用扩展的Backus-Naur Form grammar (BNF范式)。 第二层是传输层。它定义了一个客户端发送请求和接收应答的方式,以及一 个服务器接收请求和发送应答的方式。所有的SIP要素都包含一个通讯层。 第三层是事务层。事务是SIP的基本组成部分。一个事务是UAC向UAS发送的一个请求以及UAS向UAC发送的一系列应答。事务层处理应用服务层的重发,匹配请求的应答,以及应用服务层的超时。任何一个用户代理客户端完成的事情都是

SIP协议相关文件

Osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层解析使得它的效率比较高。 eXosip是Osip2的一个扩展协议集,它部分封装了Osip2协议栈,使得它更容易被使用。 一、介绍 Osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层解析使得它的效率比较高。但缺点也专门明显,首先确实是可用性差,没有专门好的api封装,使得上层应用在调用协议栈时专门破裂;其次,只做到了transaction层次的协议过程解析,

缺少call、session、dialog等过程的解析,这也增加了使用的难度;再次,缺少线程并发处理的机制,使得它的处理能力有限。 eXosip是Osip2的一个扩展协议集,它部分封装了Osip2协议栈,使得它更容易被使用。eXosip增加了call、dialog、registration、subscription等过程的解析,使得有用性更强。然而eXosip局限于UA的实现,使得它用于registrar、sip server等应用时极其不容易。另外,它并没有增加线程并发处理的机制。而且只实现了音频支持,缺少对视频和其它数据格式的支持。 综合来讲,Osip2加上eXosip协议栈仍然是个实现Sip协议不错的选择。因此需要依照不同的需求来增加更多的内容。 二、Osip2协议栈的组成 Osip2协议栈大致能够分为三部分:sip协议的语法分析、sip 协议的过程分析和协议栈框架。 1、Sip协议的语法分析:

要紧是osipparser2部分,目前支持RFC3261和RFC3265定义的sip协议消息,包括INVITE、ACK、OPTIONS、CANCEL、BYE、SUBSCRIBE、NOTIFY、MESSAGE、REFER和INFO。不支持RFC3262定义的PRACK。 遵循RFC3264关于SDP的offer/answer模式。带有SDP的语法分析。 支持MD5加解密算法。支持Authorization、www_authenticate 和proxy_authenticate。 2、Sip协议的过程分析: 要紧是osip2部分,基于RFC3261、RFC3264和RFC3265的sip 协议描述过程,围绕transaction这一层来实现sip的解析。 Transaction是指一个发送方和接收方的交互过程,由请求和应答组成。请求分为Invite类型和Non-Invite类型。应答分为响应型的应答和确认型的应答。响应型的应答是指那个应答仅代表

SIP协议主要消息讲解

第一章SIP协议主要消息 1.1 SIP消息分类 SIP协议是以层协议的形式组成的,就是说它的行为是以一套相对独立的处理阶段来描述的,每个阶段之间的关系不是很密切。 SIP协议将Server和User Agent之间的通讯的消息分为两类:请求消息和响应消息。 请求消息:客户端为了激活特定操作而发给服务器的SIP消息,包括INVITE、ACK、BYE、CANCEL、OPTION和UPDATE消息。 SIP请求的6种方法: 1、邀请(INVITE)——邀请用户加入呼叫 2、确认(ACK)——确认客户机已经接收到对INVITE的最终响应 3、可选项(OPTIONS)——请求关于服务器能力的信息 4、再见(BYE)——终止呼叫上的两个用户之间的呼叫 5、取消(CANCEL) 6、注册(REGISTER)——提供地址解析的映射,让服务器知道其它用户的位置 响应消息:服务器向客户反馈对应请求的处理结果的SIP消息,包括1xx、2xx、3xx、4xx、5xx、6xx响应 1.2 SIP消息结构 请求消息和响应消息都包括SIP消息头字段和SIP消息体字段; SIP消息头主要用来指明本消息是有由谁发起和由谁接受,经过多少跳转等基本信息; SIP消息体主要用来描述本次会话具体实现方式; 1.3 消息格式 1.3.1 请求消息格式 SIP请求消息的格式,由SIP消息头和一组参数行组成,如图1-1所示。通过换行符区分命令行和每一条参数行。

图1-1 SIP 请求消息结构 注意:参数行的顺序不是固定的。对应的参数解释见错误!未找到引用源。。 消息体定义: Call-ID :头字段是用来将消息分组的唯一性标识 From :头字段是指示请求发起方的逻辑标识,它可能是用户的注册地址。From 头字段包含一个URI 和一个可选的显示名称 CSeq :头字段用于标识事务并对事务进行排序。它由一个请求方法和一个序列号组成,请求方法必须与对应的请求消息类型一致 Max-Fowords :头字段限定一个请求消息在到达目的地之前允许经过的最大跳数。它包含一个整数值,每经过一跳,这个值就被减一。如果在请求消息到达目的地之前该值变为零,那么请求将被拒绝并返回一个483(跳数过多)错误响应消息。 Via :头字段定义SIP 事务的下层(传输层)传输协议,并标识响应消息将要被发送的位置。只有当到达下一跳所用的传输协议被选定后,才能在请求消息中加入Via 头字段值。 expires :参数指出了该值中包含的URI 地址的有效期。这个参数的值是以秒为单位计算的。如果没有提供该参数,那么URI 地址的有效期由Expires 头字段值来确定。 消息头

SIP协议格式详解

1.SIP 1.1.1.SIP格式 每条SIP消息由以下三部分组成: (1)起始行(Start Line):每个SIP消息由起始行开始。起始行传达消息类型(在请求中是方法类型,在响应中是响应代码)与协议版本。起始行可以是一请求行(请求)或状态行(响应)。 (2)SIP头:用来传递消息属性和修改消息意义。它们在语法和语义上与HTTP头域相同(实际上有些头就是借自HTTP),并且总是保持格式:<名字>:<值>。 (3)消息体:用于描述被初始的会话(例如,在多媒体会话中包括音频和视频编码类型,采样率等)。消息体能够显示在请求与响应中。SIP清晰区别了在SIP起始行和头中传递的信令信息与在SIP 范围之外的会话描述信息。可能的体类型就包括本文将要描述的SDP会话描述协议。

1.1. 2.消息头 Header field where proxy ACK BYE CAN INV OPT REG Accept R - o - o m* o Accept 2xx - - - o m* o Accept 415 - c - c c c Accept-Encoding R - o - o o o Accept-Encoding 2xx - - - o m* o Accept-Encoding 415 - c - c c c Accept-Language R - o - o o o

Accept-Language 2xx - - - o m* o Accept-Language 415 - c - c c c Alert-Info R ar - - - o - - Alter-Info 180 ar - - - o - - Allow R - o - o o o Allow 2xx - o - m* m* o Allow r - o - o o o Allow 405 - m - m m m Authentication-Info 2xx - o - o o o Authorization R o o o o o o Call-ID c r m m m m m m Call-Info ar - - - o o o Contact R o - - m o o Contact 1xx - - - o - - Contact 2xx - - - m o o Contact 3xx d - o - o o o Contact 485 - o - o o o Content-Disposition o o - o o o Content-Encoding o o - o o o Content-Language o o - o o o Content-Length ar t t t t t t Content-Type * * - * * * Cseq c r m m m m m m Date a o o o o o o Error-Info 300-699 a - o o o o o Expires - - - o - o From c r m m m m m m In-Reply-To R - - - o - - Max-Forwards R amr m m m m m m Min-Expires 423 - - - - - m MIME-Version o o - o o o Organization ar - - - o o o Priority R ar - - - o - - Proxy-Authenticate 407 ar - m - m m m Proxy-Authenticate 401 ar - o o o o o Proxy-Authorization R dr o o - o o o Proxy-Require R ar - o - o o o Record-Route R ar o o o o o o Record-Route 2xx,18x mr - o o o o - Reply-To - - - o - - Require ar - c - c c c - o o o o o Retry-After 404, 413,

SIP协议扩展分析

协议分析 协议扩展分析 STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK ????STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK ???STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK ???STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK ?

SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK 与传统 Telephony 业务互通的场景 ?Encapsulation –'Transparent' Transit of ISUP Messages –SIP 与ISUP 协议不可能一一映射 –如果为了保证SP1-SP2之间业务的无缝互通,只有SP1发出的ISUP 消息能够透传到SP2–将ISUP 消息封装在SIP 消息体里–Content-Type: application/ISUP

STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK ?可STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK SIP GW INVITE SIP Proxy PSTN PSTN IAM SIP GW Transaction STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK ???准?STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK SIP GW INVITE SIP Proxy PSTN PSTN IAM SIP GW STATE KEY LABORATORY OF SWITCHING TECHNOLOGY AND TELECOMMUNICATION NETWORK ?规则CANCEL ???

sip协议解析与实现(c和c 使用osip)11

sip协议解析与实现(c和c++使用osip)11 第八章查询能力 SIP的OPTIONS方法允许一个UA查询另外一个UA或者一个代理服务器的能力。这能让客户端探测关于它们所支持的方法、内容类型、扩展和编码等信息,而不用"呼叫(ringing)"另外一端。例如,在客户端插入了一个Require头域到INVITE 中,并列出了不确定目标UAS是否支持的能力之前,它可以先使用OPTIONS方法查询目标UAS是否要查询的选项被目标UAS在应答的Supported头域中返回。所有UA必须支持OPTIONS方法。 OPTIONS方法的目标使用Request-URI来标识,因为它可以表示不同的UA或者SIP服务器。如果OPTIONS被定位到一个代理服务器,Request-URI不由客户端设置,这类似于REGISTER请求设置Request-URI的方法。 如果服务器接收到一个Max-Forwards头域的值为0的的OPTIONS请求,它要对这个请求进行应答而不用管Request-URI. 这个行为与HTTP/1.1一致。这个行为可以被用于"追踪路由线路(traceroute)"功能,从而使用发送一系列递增的 Max-Forwards值的OPTIONS请求的方法检查消息路由过程中个别服务器的能力。

作为一般UA的行为,如果OPTIONS长时间没有应答,事务层能够返回一个超时错误。这将指出,目标是不可到达的并且查询的能力是不可以使用的。 OPTIONS请求可能由建立一个对话的一端发送,用于查询对端在后面的对话中可能会被使用到的能力。 第一节构造OPTIONS请求 OPTIONS请求使用像RFC3261第8.1.1讨论的标准的构造SIP请求的规则来构造。 OPTIONS可能会有一个Contact头域。 应该包含一个Accept头域用来指出UAC希望接收到的应答中的消息体类型。典型的,这可能被设置成用来描述UA的媒体能力的类型,比如,SDP(application/adp)。OPTIONS请求的应答被认为是有限定范围的,它被限定在原始请求的Request-URI内。只有当OPTIONS被作为建立对话的一部分发送,它保证会话中后继的请求也由应答OPTIONS的服务器所接收时,对OPTIONS请求的应答才是可用的。 OPTIONS请求的例子: OPTIONS sip:carol@https://www.doczj.com/doc/6313905139.html, SIP/2.0 Via: SIP/2.0/UDP https://www.doczj.com/doc/6313905139.html,;branch=z9hG4bKhjhs8ass877 Max-Forwards: 70

SIP协议介绍及应用前景分析

2017年第2期信息通信2017 (总第170 期)INFORM ATION & COMMUNICATIONS (Sum. No 170) SIP协议介绍及应用前景分析 杜鑫 (中国人民解放军9155〇部队3分队) 摘要:S IP是一种源于互联网的IP语音会话控制协议,具有灵活、易于实现、便于扩展等特点。文章介绍了 S IP协议的发 展历史、网络组成,通过与传统的电信网络协议对比分析了 S IP协议的特点,结合S IP协议特点及现状对其应用前景进 行了分析。 关键词:SIP ;融合通信;VO LTE;互联网 中图分类号:TN913.23 文献标识码:A文章编号:1673-1131(2017)02-0105-02 1S IP协议的发展历史 SIP(Session Initiation Protocal)会话初始化协议的概念在 1996年出现,主要运用在Internet的不同文本类型当中,用于 电子邮件以及文字聊天等各项环节中。1999年由IE T F最初 建立,应用于Internet的相关网络环境结构当中,实现实时性 通讯。二H世纪初,由IE T F当中的S IP工作团队发出 RFC3261建议后才得到了逐渐推广。 S IP协议最初应用于Internet网络中,实现多媒体的会话 建立控制,后来作为IMS(IP M ultim edia Subsystem IP多媒体 子系统)的主要信令应用于电信领域的VOBB(V oiceover Broad Band宽带语音),近年来随着LT E的推广,SIP成为LTE 的语音最终解决方案V O LTE的主要信令协议,其应用范围从 特定环境逐步扩展至主流多媒体通信环境。 2 S IP网络组成 2.1 S IP协议在IM S中的应用 S IP协议是IM S中的基本协议,应用于M w、U t、ISC、M i、M g、M j、M k、M r等众多接口,整个IM S网络的会话控制功能 都是由S IP协议完成,具体使用情况如图1所示: P-CSCF ATS IM-SSF SIPl 4 M RFC UGC 19 图1S IP协议在IM S网络中应用示意图 2.2 S IP网络架构 S IP使用CS(Client/server客户端/服务器)架构如图2所 示,交互形式为请求、响应的方式。User Agent C lie n t即客户 端,发起S IP请求;User Agent Server即服务器端,进行S IP请 求处理,并进行响应,Request Proxy Server起到消息路由转发的功能。 3.2认证测试标准 系统B模型采用的简表是07B0,根据K N X协议必须满 足如表1所列的功能需求。认证测试将会针对这些基本功能 来设计测试例进行测试。 按照测试规范[6]要求,先通过E TS配置软件配置好K N X 设备后,采用E IT T软件编写好测试例,运行测试序列,所有测 试例均通过,说明该协议栈符合K N X协议规范要求。在软件 开发过程中,可以通过该方式进行各个功能点的验证,从而保 证软件的可靠性,缩短最终的认证周期。 表1系统B的基本功能表 协议栈主要功能 数据链路层数据帧的封装和解析、应答、数据过滤 网络层正确设置路由计数器 传输层支持四种传输模式;支持style3的状态机 配置和管理直接内存访问;用户内存的直接内存访问;验证模式;接口对象处理;下载状态机;运行状态机;重启;授权;设备描述业务;编程模式;K N X序列号;地址表?,关 联表;组对象表;应用相关参数 4结语 本文介绍的系统B模型的K N X设备是基于LPC处理器、L in u x系统来设计和实现的,并采用了 NCN5120芯片作为 K N X总线收发模块。该设备通过了第三方认证测试实验室的 认证测试,符合K N X协议规范。系统B模型K N X具有更丰 富的资源,可应用于复杂的智能家居和楼宇控制系统中,具有 广阔的市场价值和应用前景。 参考文献: [1]夏长凤.基于K N X总线智能家居控制系统的设计[J].电 器自动化,2016, 38⑴. [2]任志勇.基于K N X智能家居的应用[J].重庆电子工程职 业学院学报,2010, 19(4). [3]Jason Richards,Development o f Complex K N X Devices. W EINZIERL ENGINNERING GmbH,2010. [4]Konnex Association.Konnex Standard,Vol3,System Specifications,2013. [5]Konnex Association.Konnex Standard,Vol6,Profiles,2013. [6]Konnex Association.Konnex Standard,Vol8,System Test Specifications,2013. 作者简介:朱莉(1979-),女,四川省资中县人,电子工程师,硕 士学位,主要研宄方向为智能家居、大数据、LTE。 105

SIP协议测试总结

SIP协议测试总结 一:响应码定义 1、响应(Response) 1)1XX:临时响应,表示请求消息正在被处理。 2)2XX:成功响应,表示请求已被成功接收,完全理解并被接受。 3)3XX:重定向响应,表示需采取进一步以完成该请求。 4)4XX:客户机错误,表示请求消息中包含语法错误信息或服务器无法完成客户机请求。 5)5XX:服务器错误,表示服务器无法完成合法请求。 6)6XX:全局故障,表示任何服务器无法完成该请求。 100:临时响应,正在尝试 180:振铃,UA收到INVITE请求之后用该响应通知用户,该响应也可以再发起一个本地回铃 181:呼叫正在转发 182:排队 183:会话进行 200:OK 300网络协议不兼容:会话描述中的一个或多个网络协议不可用。 301网络地址格式不兼容:会话描述中的一个或多个地址格式不可用。 302传送协议不兼容:会话描述中的一个或多个传送协议不可用。 303带宽单位不兼容:会话描述中的一个或多个带宽度量单位不被理解。 304媒体类型不可用:对话描述中的一个或多个媒体类型不可用。 305媒体格式不兼容:对话描述中的一个或多个媒体格式不可用。 306媒体特征不被理解:对话描述中的一个或多个媒体特征不被支持。

307对话描述参数不被理解:除上述几种参数之外的参数不被理解。 330组播不可用:用户站点不支持组播。 331单播不可用:用户站点不支持单播通信(通常是由于防火墙的存在)。 370带宽不足:对话描述中定义的或者媒体定义的带宽超出可用带宽。 399混合告警:该告警表示用户存在的任意一种错误,收到该告警的系统不可以采取任何自动的动作 401:未授权 403:禁止 404:未找到 405:不允许的请求方法 406:不接受 407:代理服务器需要鉴权 408:请求超时 413:请求消息过大 415:不支持的媒体类型 414:Request-URI过长 415:不支持媒体类型 416:不支持的URI方案 420:错误的扩展 421:需要扩展支持 423:间隔太短 480:临时不可用 481:呼叫/事务不存在 482:检测到路由循环

SIP协议的认识及呼叫追踪分析实验

《软交换系统实验》实验报告四 实验室名称:现代通信网络实验室实验日期: 2011 年 6月 5日 学院(系)专业、班级姓名成绩 实验项目SIP协议的认识及呼叫追踪分析实验指导教师 教师评语 教师签名: 年月日 一、实验过程原始记录(数据、图表等) 1.设备配置实验记录 设备名称设备IP地址短号设置长号设置 EIA2016设备192.168.0.3 101 EIT200 SIP电话192.168.1.101 802 2.呼叫跟踪实验记录 3.1)主叫信息 群号: 1 短号: 101 长号:用户标识码: (2)被叫信息 群号:1 短号: 102 长号:用户标识码: (3)呼叫消息原始记录(包括:主叫方和被叫方与EIX交互的信令消息) ①主叫方与EIX交互的呼叫信令消息跟踪结果: [151-12:02:09:970] MSG :--->> to 192.168.0.3/58525 crypt:TRUE Phone Call proto:P2PV2 len:739 INVITE sip:25130016@192.168.0.3 SIP/2.0 Via: SIP/2.0/UDP 192.168.0.3:2080;branch=z9hG4bK7155de6d801d63c038d6335428dfb99e ;rport From: ;tag=95e1a9c636206889ba1e1906afc802bf To: Call-ID: 9677d064ead93fedc5873390abd0f84a@192.168.0.3 CSeq: 25971 INVITE Contact: Supported: 100rel Allow: INVITE, ACK, CANCEL, BYE, OPTIONS, [152-12:02:09:970]INFO, UPDATE, PRACK Content-Type: application/sdp Max-Forwards: 70 Content-Length: 244 v=0

SIP协议讲解

14 SIP协议关于本章

本章将对SIP协议做一简要介绍,包括涉及的基本概念、消息结构以及简要的消息流程。 14.1 概述 SIP(Session Initiation Protocol)是一个应用层控制协议,用于创建、更改和终止会话。这里的会话类型包括多媒体会议、Internet电话等类似的应用。SIP是实现VOIP(Voice over IP)的关键协议之一。 SIP支持别名映射、重定向服务、ISDN和智能网业务。它支持个人移动(personal mobility),即终端用户能够在任何地方、任何时间请求和获得已订购的任何电信业务。总的来说,SIP能够支持下列五种多媒体通信的信令功能。 l用户定位:确定参加通信的终端用户的位置; l用户通信能力协商:确定通信的媒体类型和参数; l用户意愿交互:确定被叫是否乐意参加某个通信; l建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数; l呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。 SIP可以通过MCU(Multipoint Control Unit)、单播联网方式、或组播方式创建多方会话,支持PSTN和IP电话之间的网关功能。 SIP协议对低层协议作了最少的假设,低层协议可以为SIP协议提供可靠或非可靠传输,可以为分组或字节流业务。SIP可以使用UDP协议或TCP协议作为传输层协议,首选UDP协议。 14.1.1 相关概念 呼叫 一个呼叫是由一个会议中被同一个发起者邀请加入的所有成员组成的。一个SIP 呼叫由Call-ID进行标识。 因此,如果一个用户是被不同的人邀请参加同一个多点会议,那么每个邀请都构成一个呼叫。点到点IP电话会话是一种最简单的会话,它映射为单一的SIP呼叫。 呼叫分支 一个呼叫分支(Call leg)由Call-ID、To、From三个参数共同决定。在同一个Call-ID中,从A到B的请求与从B到A的请求都属于同一个呼叫分支,呼叫分支也可以理解成一次呼叫中消息经过的路径。 事务 事务是发生在客户端和服务器之间的,包括从客户端发给服务器的第一个请求消息直到服务器端发给客户端的最终响应消息,这期间的所有的消息。 事务是由一个呼叫分支中的CSeq顺序号来标识的。但也有例外,比如一个ACK 请求与对应的INVITE请求具有相同的CSeq,但它们却构成了各自的事务。 一个正常的呼叫一般包含三个事务。其中,呼叫启动包含两个操作请求:邀请(INVITE)和证实(ACK),前者需要回送响应,后者只是证实已收到最终响应,不需要回送响应。呼叫终结包含一个操作请求:再见(BYE)。 定位服务 SIP重定位服务器或代理服务器用来获得被叫位置的一种服务,可由定位服务器提供,但SIP协议不规定SIP服务器如何请求定位服务。 代理服务器 代理服务器(Proxy Server)是用于将SIP请求路由到目的地的中间路径。它既是客户端也是服务器。用户请求可以直接被代理服务器处理或被转发给别的代理服务器。代理服务器在转发之前要对消息进行解析,必要时还会改写请求。 重定向服务器

相关主题
文本预览
相关文档 最新文档