维普资讯 http://www.cqvip.com 2008年第3期 中图分类号:TP393 文献标识码:A 文章编号: ̄11309—2552(2008)03—0075—04 SIP体系结构的研究 杜襄南,傅华明 (中国地质大学机电学院,武汉430074) 摘要:siP协议是一个用于建立,更改和终止多媒体会话的应用层控制协议。它是IETF多媒 体数据和控制体系结构的一部分并借鉴了许多已有的Intemet协议,具有简单,便于扩展和扩充 等特点。主要讲述了SIP消息、SIP体系结构和呼叫处理流程。 关键词:SIP;SDP;软交换 Research on SIP architecture DU Xiang.nan.FU Hua.ming (School of Mechanical&Electronic Engineering,China University of Geosciences.Wuhan 430074,China) Abstract:siP is an application—layer control protocol that can establish,modify,and terminate multimedia sessions.It is a part of IETF’s multimedia data and architecture of control system,and has the benefits of simple and easy to expand.This paper mainly describes the siP message,SIP architecture and SIP call flow. Key words:SIP;SDP;softswitch 0 引言 siP(Session Initiation Protoco1)是IETF提出的在 本协议,UTF8的相关内容参见RFC2279。SiP协议 消息分清求和响应两类,其中请求消息由客户机发 往服务器,响应消息由服务器发往客户机。除选用 IP网络上进行多媒体通信的应用层控制协议,由 IETFRFC3261定义。多媒体通信可以是点到点的 话音通信或视频通信,也可以是多点参与的话音或 视频会议等。SIP协议透明地支持名字映射和重定 的字符集以及语法定义外,请求和响应消息均采用 RFC2822定义的基本格式进行编码。请求和响应t肖 息格式由一个起始行、若干个头字段以及一个可选 向服务,便于实现ISDN,智能网以及个人移动业务。 siP的开发目的是用来帮助提供跨越因特网的 高级电话业务。IP电话正在向一种正式的商业电 话模式演进,siP就是用来确保这种演进实现的 NGN(下一代网络)系列协议中重要的一员。 siP不是会话描述协议,也不提供会议控制功 能。SIP应该和其他协议协同工作以提供给用户完 全的服务,但是SIP的基本功能和操作并不依赖于 任何其他协议。siP可以单独的工作,也可以与其 他协议一起协同工作。 siP的网络系统结构采用C/S的控制方式,如图 l所示。呼叫请求的发出方为客户,请求接收和处 理方称为服务器。由图l可以看到,SIP仅完成呼叫 信令的功能,而具体的媒体传输由RTP(实时传输协 议)来完成,实现了呼叫与媒体分离的设计思想。 的消息体组成。其中消息体为可选项,头字段与消 息体之间用空行进行分隔,值得注意的是,即使没有 消息正文,也必须有空行。 请求消息和响应消息都包括siP消息头字段和 SIP消息体字段;SIP消息头主要用来指明本消息是 由谁发起和由谁接受,经过多少跳转等基本信息; SIP消息体主要用来描述本次会话具体实现方式。 请求和响应消息格式如下: siP消息=起始行 消息头部(1个或多个头部) CRLF(空行) [消息体] 。其中,起始行=请求行/状态行 收稿日期:2007—09—14 作者简介:杜襄南(1982一),男,中国地质大学(武汉)硕士研究生在 l SIP消恩 siP协议是采用UTF-8字符集来进行编码的文 读,从事软交换投_术的研究。 一75— 维普资讯 http://www.cqvip.com P CIient (UA) 1。1请求消息 Phrase CRLP。 请求消息的起始行为请求行(Request—Line)。请 求行的格式如下所示,由方法名、请求URL和协议 Status—Code(状态码):该参数为一个3位的十进 制整数,用于指示请求消息的执行响应结果。 Re.on—Phrase(原因):该参数用于对Staws—Code 版本组成,各部分之间均用一个空格字符进行分隔。 除此之外,请求行必须用回车换行(CRLF)字符表 示行终结。 参数进行简单的文本描述。客户机不必检查或显示 Reason—Phrase参数。 Request-Line=Method[]Request—URI[]SIP— Version CRIJF 本协议共定义6类状态码,其中状态码的第1 位数字用于指示响应类型,后两位数字表示具体响 应。本协}义规定状态码为“100~199”之间的响应用 “1XX”进行标识,“200~299”之间的响应用“2XX”进 (1)Method:本规范共定义了6个方法,1NVFFE, ACK,CANCEL,OVIIONS,BYE和REGIS rER。 ①INVITE通过邀请用户参与发起一次呼叫。 @ACK请求用于证实UAC已收到对于INVITE 行标识,依此类推。 (1)1XX:临时响应,表示请求消息正在被处理。 (2)2XX:成功响应,表示请求已被成功接收, 完全理解并被接受。 (3)3XX:重定向响应,表示需采取进一步以完 请求的最终响应,和INVITE消息配套使用。 ③BYE USER AGENT用此方法指示释放呼叫。 ④CANCEL方法用于取消一个尚未完成的请 求,对于已完成的请求则无影响。 ⑤REGISTER用于向注册服务器注册用户代理 成该请求。 (4)4XX:客户机错误,表示请求消息中包含语 法错误信息或服务器无法完成客户机请求。 (5)5XX:服务器错误,表示服务器无法完成合 法请求。 (6)6XX:全局故障,表示任何服务器无法完成 该请求。 客户端的相关信息,这样注册服务器就可以知道客 户机当前的位置信息。 ⑥0m0NS用于查询服务能力。 除以上6类主要消息外,SIP协议在其他文档中 还定有若干方法实现协议扩展。 (2)Request-URL:指示被邀请用户的当前地址。 (3)SIP-Version:用于定义协议的当前版本号, 本协议的版本号为SIP/2.0。 1.2响应消息 2 SIP逻辑实体 RFC3261中定义的SIP逻辑实体包括用户代理 (UA,User Agent),代理服务器(Proxy),注册服务器 (Registrar),重定向服务器(Redirect Server),B2BUA (Back-to-Back User Agent)。 响应消息的起始行为状态行(Status.Line),状态 行由协议版本、状态码和与状态码相关的文本描述 2.1 用户终端(User Terminal uA) 组成,各个部分之间用一个空格字符进行分隔。状 态行的格式如下所示: Status-ine=SILP—Version[]Status—Code[]ReaSOI1. 一uA作为SIP的终端实体,分为UAC和UAS,正 是UAC和UAS相互之间的消息传递构成了整个会 话的发起、修改和终结。一般来说,UAC主要的行 76一 维普资讯 http://www.cqvip.com 为就是生成并发送请求,处理对请求的响应。UAS 理所有在它所建立的对话中发送的请求消息。 的行为主要是接收请求,生成并发送对该请求的响 为了尽可能实现业务的透明传输,建议除非业 应。SIP消息根据其所携带的不同的方法导致的操 务和应用控制(例如安全性的考虑或网间接口局)的 作也不完全相同。 需要,原则上B2BUA不能改变From域和T0域的 2.2注册服务器(Registrar) SIP URI部分,以及其它有可能影响业务透明传输的 注册服务器主要用于登记分组终端的当前位置 消息组成部分。 和位置服务的原始数据。由于注册请求中Contact 2.4重定向服务器(Redirect Server) 地址的有效期过短会引起注册刷新消息的频繁,从 引入重定向服务器是为了减轻代理服务器路由 而给网络带来沉重负担;存亡周期过长则不利于运 请求消息的负载,提高信令的可靠性。 营商对用户终端的控制,因此对于注册请求中存亡 重定向服务器将一个请求通过一个响应的形式 周期过短或过长的行为,注册服务器应当能够进行 再次返回发送方,所不同的是,在发送的响应中重定 正确的处理。 向服务器将自己从以后该请求(相同的请求地址)的 2.3 Proxy/B2BUA 请求路径中移除,并在Contact字段中指示了请求应 Proxy代理服务器是SIP网络的中间实体,为了 该发送的新的连接点。当消息的请求方收到了重定 处理客户端的请求,它既承担服务器的角色又承担 向响应的时候,它将根据响应所给出的信息重新发 客户端的角色。主要完成路由处理功能,即保证将 送请求。 请求消息发送到离目标用户更近的其它实体。 在结构上,重定向服务器由两层构成:服务器事 B2BUA,实质上是SIP UA的一种应用,是一种 务层和能够访问location service数据库的事务用户。 特殊的SIP逻辑实体,适用于SIP网络中需要呼叫 Location sevrice保存了单个URI和一组可选择的目 和业务控制的场合。它可以接收SIP请求并像UAS 标的映射关系,通过查找lcoation service而获取目标 那佯处理它们。为了决定如何应答一个请求, URI。 B2BUA又向别的实体发送请求,此时它扮演了UAC 3 SIP呼叫流程 的角色。B2BUA需要维护对话(Dialog)的状态,并处 SIP协议的呼叫模型图如图2所示。 图2 SIP纽网实例图 MGC负责将PSTN前向信令映射为SIP请求, 话,SIP会议终端等。 并且将SIP响应映射为PSTN后向信令,并且应该实 MG负责PS 域 网之间媒体流的转换和转发。 现Megaco/h.248协议以及SIP用户助理部分。 MG之间,MG与SIP终端之间使用RTP/RTCP SIP代理逻辑上是一个的实体,实现是可 协议传输媒体流。 以作为单独的物理实体也可以与MGC捆绑在一起。 MG与MGC之间使用Megaco/h.248协议或 负责转发或重定向SIP请求和响应。 MGCP协议传输MGC对MG的控制信息以及MG向 SIP客户是一个单独的物理实体,可以是SIP电 MGC上报的通知消息。 一77— 维普资讯 http://www.cqvip.com MGC与SIP代理,MGC与SIP客户或者SIP代 理之间使用SIP协议来传输呼叫控制消息。 I sTN 软交换机1 图3是一个PSTN用户呼叫另一个PS 用户 的流程。 软交换机2 it,2 ̄. 一 } INvITE[sDF+I ] 100 Trying IⅫ r ^CM 一 i 3O[SDP ̄,\CN] PRA —1 ACM 200 f PRAcK) 心 弼 _一 200[姗] 1 K 缱 嗵话 REL B'fE[R£L] REL C 200[mc] 一 矾r 3 PSq N刷户呼叫PSq N厢J 流程说明: (10)被叫用户应答。 (1)PSTN网络侧发送[AM消息到软交换1,请 求路由。 (2)软交换l通过号码分析,不能够判别被叫用 户为Sho用户,因此NNI接口上采用SIP—I信令。此 时初始发送的Invite消息中除了封装PSTN发送的 (11)软交换2接收到被叫侧PSTN网络发送的 ANM消息后,由于主、被叫双方已建立的通道不需 要修改,此时发送的200中只需封装ANM消息而不 需要带有SDP信息。 (12)软交换J接收到200消息后,提取出ANM 消息并结合本地策略,发送到主叫侧的PS 网络。 (13)软交换1向软交换2发送ACK消息,表示 已收到软交换2发送的200消息。 (14)主、被叫用户问建立通话。 [AM消息外,还带有主叫侧媒体网关SDP信息。 (3)软交换l将INVITE消息发送到软交换2。 (4)软交换2通过号码分析,确认被叫用户为 PSTN用户。软交换2提取出封装在Invite消息中的 IAM消息并结合相应的本地策略生成新的L M消 息发送到PSTN网络。 (5)被叫用户空闲。 (6)软交换2根据接收到的ACM消息,映射成 (15)一定时间后,会话结束,主叫用户挂机。主 叫侧PSTN网络向软交换1发送REL消息。 (16)软交换1接收到REL消息后,向主叫侧发 送RLC消息;同时将REL消息封装在BYE消息中, 发送到软交换2。 (17)软交换2接收到BYE消息后,向软交换l 发送封装RLC的200消息;同时向被叫侧PSTN网 络发送REL消息,同时接受被叫侧PSTN网络发送 的RLC消息。 180消息,由于此时的回铃音由被叫端提供,因此此 时180消息中除T ̄-/,装ACM消息外,还带有披叫侧 媒体网关SDP信息。 (7)软交换2将此消息发送到软交换J。 (8)软交换1根据接收到的180消息,提取出 ACM消息并结合本地策略,生成新的ACM消息,发 送到主叫侧的PSTN网络。 (9)由于媒体资源由后向提供,需要临时响应信 4 结束语 [ETF的S1P工作组完成的SIP标准引导了目前 网络和通信领域的一大热点。随着SIP扩展协议对 SIP核心的逐渐完善和补充,SIP标准将会发挥越来 越重要的作用。3GPP、便携线缆设备、网络用具机 号(18*)消息的可靠传送。因此软交换1在向主叫 侧发送ACM的同时向软交换2发送确认f肖息,表明 已收至I 18*消息。 一构将SIP作为工作协议,极大地促进了(下转第82页) 7R一 维普资讯 http://www.cqvip.com (1)已经建设企业信息集成平台的下级单位, 7 结束语 通过该平台实现与上级企业信息集成平台的互联。 浙江省电力设计院负责完成了浙江省电力公司 (2)未建设企业信息集成平台的下级单位,其 信息化发展“十一五”规划的编制,以及地区和县 应用系统可以先通过标准的数据交换规范和接口, (市)几十个供电企业通信、信息化、自动化规划的编 实现与上级单位企业信息集成平台的互联,同时加 制,全省电力信息集成平台建设工作已经取得了阶 快本单位企业信息集成平台的建设。 段性成果,并在积极推进中。 (3)通过标准的数据交换规范和接口或企业信 参考文献: 息集成平台,实现本单位和系统外单位的应用系统 [1]王继业.JJl1大信息资源开发利用力度,推动电力信息化水平迈 互联。 上新台阶[J .fi ̄JJ 息化,2000,24(11):34—36. 6 企业信息集成平台技术 [2]何町立,解文艳.南力’电网公司企业信息集成解决方案 Jj.电 力信息化,2005,12(3):65—67. (1)企业信息集成平台的建设应考虑技术先 [3] 新叶,纯 莎,戚银城,等. 于web Services的异构电力MIS 进、标准开放、架构安全、运行可靠、规模适中、可扩 信息集成方案[J].tfll 电力,2005,38(8):71—73. 展性的原则。 【4]王水福.电力企业信息集成的研究与实践[j].电力信息化, (2)企业信息集成平台要具有较高的运行效率 2006。6(4):85—88. 和较强的可扩展性,具备负载均衡能力,能够随着业 [5] 王秀婷,王弧非.电力 业科技信息资源与服务平台迎设的可 行性研究[J].【乜力信息化,2006,l1(4):38—40. 务的变化迅速调整与适应,能够满足7X24小时高可 [6]何呜,陈清萍.安徽Ib力信息整合之路[J].电力信息化,2006, 用性要求,持续、稳定地提供服务。 11(4):28—30. (3)企业信息集成平台要有统一的安全策略和 [7]李大勇,张占营.供【_I!_-企业数据艇合平台的设计与实现[J].电 完善的安全机制,具有较高的安全性,实行分等级保 力信息化,2005,10(3):80—82. 护制度。 [8]韩强,黄刚.天津i}『电力公司信息系统整合之路[J].电力信息 (4)企业信息集成平台要有必要的监控功能, 化,2005,7(3):37—41. [9]岁承廉,王义革,心风珍.怎样做好电力企业信息资源整合[J]. 能够实时检测平台的运行状态、与相邻平台的互联 电力信息化,2005,10(3):15一l8. 状态及信息的流转情况。 [10] 一E文贤,石敏.信息化发展 企业内部控制探讨[J].电力信息 (5)加强数据规划,制定统一的数据定义规范、 化,2006,4(10):28—30. 编码规范和交换格式,制定统一的企业公共数据模 [11]章政海.变I乜所信息网络设计规范研究[J].电力勘测设计, 型,理顺信息采集渠道,坚持统一标准、数据源唯一 2005。l1(3):68—70. [12]王继业 刘‘管sq{f,7-息系统及 发胜的若干问题探讨[J].Ifl困 的原则,避免数出多门和多头上报,保证数据的一致 电力,2001,34(增{ ) 19—23. 性和完整性。 [13]吴冰, 秋卉,胡继军.}_j本东京电力公司信息化建设概况 (6)统一数据交换功能支持主流的数据交换方式 [J] 电力信息化,2006,11(4):93—95. 及格式,应用集成功能支持同步或异步的流程处理。 1 14j Zhang Zhenghai.1nfi ̄mmtion 0f Power Plant and its Implenrentatino lJj.Electricity,2oo6.17(3):40—44. (7)应用系统间的数据交换和应用集成应以企 [15]章政海.电力系统网络信息流量汁算[J].通}1l和计算机, 业信息集成平台为中心。新建应用系统要满足企业 2006,15(2):56—58. 信息集成平台的标准,已建系统要逐步改造和完善 [16]章政海.发I乜 刚信息化规划设计研究[J].电力信息化, 满足企业信息集成平台的标准。 2005,7(3):87—90. (8)系统支撑平台的建设应考虑技术先进、标 [17]王继业.推动电力信息化应重视的几个 题[J].中{司电力, 准开放、架构安全、运行可靠、规模适中、可扩展性的 2002,35(1):64—67. [18]沈沉, 继、 网格技术及其在电力系统巾的应Jf=fj_[J].中国电 原则,通用产品应选用符合国际国内标准的主流产 力,2004,37(5):77—8O. 品和技术。 责任编辑:肖滨 (上接第78)q)SIP标准的进一步发展,而多媒体会议、 参考文献: VoIP、多媒体分发等领域逐步采用SIP进行实现,标 l1 J llosenbelg J,Schulzrinne H,CmnmSllo G,et a1.SIP:Session Initiation 志着SIP已经成为一个应用广泛、逐步走向成熟的 Protocd.1lFC3261lz J.1ntemel Engineering I k Force,June 2002. 【2 J Hmulley M,J∽【 l”1 V.S1)P:Se ̄sino Description Protocd.1WC2327 协议。目前,SIP已经成为下一代网络中软交换的 lZ J.1ntenlet EnDneering Task H℃e,A pl i1 1998. 核心协议之一。随着SIP相关标准的进一步完善以 [3]周海华,边慰炯.SIP原 卜Jl皿用[M].北京:机械工业出版礼,20O6. [4] ff】华人民 雨f【 通 行 标准.会话初始 议技术要求(第一 及国内外对SIP应用研究的进一步深入,SIP将在下 部分)基小的会话初始协议[S].2003. 一代网络协议族中发挥越来越重要的作用。 [5] 中 电信集团公i .SIP协议测试规范[S].2005. 责任编辑:么丽苹 ~82—