SIP和ISUP协议互通的研究

凌 颖, 钮颖彬, 李 青

(中国电信集团上海研究与开发中心, 上海 200122)

  摘 要:本文是基于软交换(SoftSwitch)技术的发展而提出的,从网络融合的角度分析了SIP和ISUP互通单元(IWU,即Interworking Unit )的结构模型,着重介绍了IWU上实现SIP和ISUP互通的原则和机制,为实现PSTN向软交换网络的平滑过渡提供了可行的解决方案。
  关键词:软交换;SIP;ISUP;IWU

Research on Interworking between SIP and ISUP Protocol

LING Ying,NIU Ying-bin,LI Qing

(Shanghai Research and Development Center of China Telecom Group,Shanghai 200122,China)

  Abstract: Based on the rapid development of technology on softswitch,  the interworking unit architecture model about SIP and ISUP protocol are analysed from the point of view of the integrating network. The principle of realization Interworking Unit(IWU) and its mechanism are explained which provides an effective solution for the PSTN network to evolve into softswitch network smoothly.
   Keywords: Soft switch; SIP; ISUP; IWU

一、前言
  随着技术的进步和用户要求的不断提高,能够提供高质量语音、数据和视频等多媒体业务的软交换网络体系结构正逐步成为电信网络发展的热点。但从目前来看,尤其是对于中国市场,原有电话网的发展还有很大潜力,还有很多用户可以挖掘,因此电路交换技术还将继续得到应用和发展,电信运营商也将极力保护现有电话网络的投资,并希望技术能够平滑过渡,从而将会呈现出不同技术长期并存的局面,所以对新旧两个网络融合互通问题的研究具有现实性、迫切性。
  SIP协议是目前VoIP领域中主流控制协议之一,它以其简单、高效、易于扩充等优势展现出强大的生命力;ISUP是NO.7信令系统的用户部分中的一种,它为支持ISDN中话音和非话音用途的基本承载业务和补充业务提供所需的信号功能,是在电话用户部分(TUP)的基础上扩展而成的,属于交换机之间的控制信令。我们对ISUP与SIP协议互通的研究对于软交换技术的实际应用具有重要的价值。

二、IWU在网络中的位置
  本节定义了ISUP协议与SIP/SDP协议之间互通单元(IWU,即Interworking Unit)上的结构模型,并详细介绍了IWU的实现机制。图1指出了IWU在网络中的具体位置。

  IWU是一个能够完成两种协议之间融合互通的功能模块,它可以独立设置,也可与ISUP交换机合设。为了描述方便起见,我们将IWU从对外的接口上分成I-IWU(Incoming Interworking Unit)和O-IWU(Outgoing Interworking Unit)两个部分。其中I-IWU负责传递从SIP网域到ISUP网域的呼叫,O-IWU负责传递从ISUP网域到SIP网域的呼叫。IWU与SIP网域的接口属于NNI(Network-to-Network Interface)接口。与IWU相连的邻接SIP节点(ASN,即Adjacent SIP Node)是可靠的网络实体,而非用户实体。如果NNI接口支持SIP-I,则远端的SIP用户代理必须能够处理ISUP消息。

三、IWU的结构模型
  IWU的体系结构模型如图2所示,主要包括3个模块:呼叫业务功能模块(CSF,即Call Service Function)、承载控制功能模块(BCF,即Bearer Control Function)和媒体映射/交换功能模块(MMSF,即Media Mapping/Switching Function)。
  CSF主要功能是向对等实体发送呼叫控制信令、管理呼叫状态、访问业务控制实体以及发起资源请求等;
  BCF的功能与SDP承载控制信息的处理和映射有关,主要包括接入控制和媒体资源获取的功能;
  MMSF功能提供两种承载之间的可控互连功能,并能随意将载体从一种工艺和适配/编码技术转换成另外一种,比如实现ISUP(Q.761-764)与SDP/SIP之间媒体格式的相互转换。

四、IWU实现协议互通的机制
1. 基本原则
  在SIP接口上,IWU作为用户代理(User Agent,简称UA)支持IETF的有关SIP和SDP协议标准中的定义;在ISUP接口上,IWU支持ISUP标准Q.761至Q.764中相关的定义。
  IWU必须能够识别呼叫、对话以及相关的呼叫控制,因此它必须在SIP对话和ISUP呼叫/承载控制实例之间建立一对一的关系,这样才能保证同一呼叫的相关信令之间的互通。
2. ISUP消息的封装与映射
  (1) SIP消息结构简介
  SIP消息有请求和响应2种类型,每个消息包含3个元素:请求行/状态行、头域、消息体。RFC 3261中定义的SIP消息头域包括Via、From、To、Call-ID、CSeq、Contact、Content-Type、Content-Length、Max-Forwards、Proxy-Authenticate等在内共有44个,并且这些头域的数目是可扩展的。SIP消息的Content-Type域指示携带的消息体的媒体类型,Content-Length域用十进制方式表示出消息体的字节数。SIP消息中可携带多种类型的消息体,比如文本格式的SDP消息体,或二进制格式的ISUP消息体等。
  (2)ISUP消息的封装
  为了维护端到端的业务,在SIP网络中透明地传送ISUP消息被认为是重要的。IWU提供了将ISUP消息以MIME(Multi-Purpose Internet Mail Extensions,即多功能Internet邮件扩展)格式封装在SIP消息体中的功能。比如可以将ISUP消息封装在下面的SIP消息体中,在SIP网络中透明转发:
  1) INVITE消息;
  2) 183 Session Progress临时响应(如果该响应是SIP的第一个后向消息);
  3) 200 OK消息;
  4) 任何情况下的INFO消息。
  但CANCEL消息体中不能携带任何消息体,也有些ISUP消息是不能封装在SIP消息体中的,因为这些消息涉及的程序只与呼叫的ISUP侧有关,典型的情况就是与ISUP线路维护有关的消息。如果IWU接收到封装在SIP消息体中的这些消息时,则丢弃。另外,分段的ISUP消息本身也是不能封装在SIP消息体中的,而是由I-IWU(ISUP侧接口)将分段的部分重新装配成原始的ISUP消息,然后再行封装。
  (3) ISUP消息的映射
  对于ISUP与SIP消息的映射主要包括以下2种情况:
  1) SIP到ISUP消息映射的情况:如果IWU接收到的SIP消息体中携带了MIME格式封装的ISUP消息,则IWU从其中提取ISUP消息。由于SIP网络中的业务调用可能会引起SIP头域和ISUP参数之间的冲突,所以IWU要维护ISUP参数和SIP头域之间的一致性(关于是用SIP头域覆盖ISUP参数还是ISUP参数覆盖SIP头域的合并原则,将取决于相关的应用/业务情况)。如果SIP消息体中没有封装ISUP消息,则IWU调用相关的ISUP程序,利用SIP头域和SDP消息体合成恰当的ISUP消息的参数。
  为了保持网络的完整性和不同网络间可能存在的欺诈行为,SIP状态码和ISUP释放原因值映射坚持下面的原则:映射只使用Q.850建议中描述的原因值,该原因值在ISUP/DSS1应用中同时也都有定义。子域的位置应该包括超出互通节点值的网络,国际交换机采用Q.767编码结构。
  2) ISUP到SIP消息映射的情况:IWU接收到ISUP消息后,根据接收到的消息类型,按照本地策略将ISUP消息中的参数进行格式转换生成SIP消息中对应的头域值。比如Request-URI,From,To等,并以MIME格式将ISUP消息封装在恰当SIP消息的消息体中。
3. 消息映射举例
  下面我们以O-IWU(ISUP侧的接口)接收到ISUP的IAM消息为例介绍一下生成SIP的INVITE消息的详细过程。
  O-IWU从ISUP网络接收到IAM消息后执行对应ISUP程序对IAM(初始地址消息)消息进行处理,将其映射为INVITE消息,并选择到SIP网域中的呼叫路由。之后,O-IWU从本地配置中确定在SIP侧是否使用“成组发送”地址机制。
  1) 如果使用“成组发送”地址机制,则O-IWU将按照下面①~④的标准确定地址结束信号,并调用恰当的SIP信令程序。
  地址结束信令由以下标准确定:
  ① 接收到ST信号,或者 
  ② 接收到的号码个数达到国家级拨号方案中的最大数,或者
  ③ 分析被叫方号码,指出将呼叫路由到被叫方所需的号码个数,或者
  ④ 在已经获得了路由所需的最少号码个数后,又接收到一个最新的地址消息之后4~6 s。
  2) 如果使用“重叠发送”地址机制,则O-IWU将:
  ① 启动定时器Toiw3(4~6 s)
  ② 调用恰当的去向SIP信令程序,并且
  ③ 按规定处理后继的SAM(后继地址消息)消息。
  在满足预处理条件的SIP网络中,O-IWU在确认完成预处理之后再发送INVITE消息。如果来向IAM消息的“连接性质表示语”参数中的“导通检验表示语”设置成“在该电路上需要导通检验”或“在前一电路上完成导通检验”, O-IWU将配合前导电路完成导通检验。
  O-IWU将从呼叫建立的上下关系中映射出INVITE的两个主要的URI,一个代表会话的发起者,一个代表它的目的地。前者用来生成From域 ,后者用于产生To域和Request-URI域。
  O-IWU将IAM消息中的CPN(被叫用户号码)参数读取出来,将其从ISUP格式翻译成目的方的“tel URL”用于生成INVITE消息的Request-URI,或者先用“电话号码映射(Telephone Number Mapping,ENUM)”将其解析成URI。
  ISUP格式到“tel URL”的翻译过程如下:当IAM消息的NPI(连接性质表示语)参数指示电话号码采用E.164格式时,具体的翻译过程应视CPN参数的NoA(地址性质表示语)字段的值而定。如果NoA指示该号码是一个“国际号码”,则将转换后的电话号码直接附加在“tel:+”字符串之后;如果NoA的值是“国内号码”,则必须在提交给“tel URL”的电话号码上加国家代码的前缀。如果执行该转换的O-IWU与若干个交换机相连,这些交换机又归属于不同的国家,则应根据发端交换机和中继群来选择合适的国家代码。如果NoA的值是“用户号码”,为了采用国际化的电话号码表示格式,需要添加国家代码和编号计划中其它必需的部分(例如区域代码和城市代码)。只有在NoA使用了“国家或网络-特定的”值的情况下,“tel URL”中才不包含“+”符号,此时O-IWU只是复制电话号码数字。如果使用SIP URI地址格式,则需要添加“user=phone”参数。
  ISUP还有一些附加的参数需要在翻译完成后添加到“tel URI”之后。如果IWU支持基于载波的路由,则必须检查IAM消息中是否存在TNS(转接网选择)参数,如果这些值有效,则O-IWU从给出的参数中提取CIC(承载网络识别码)值并加以分析,最后将携带CIC值的“cic=”参数添加到目的URL之后。 如果CIC没有指明IWU所属的网络,为保持与本地策略的一致性,也应添加“cic=”参数。 创建“cic=”参数时,必须以已使用的国家代码或隐含在CPN中的国家代码作为前缀。所以CIC如果是“5062”,在中国就写成“+86-5062”。
  如果O-IWU支持基于号码携带的路由,则需要察看其它的一些域。为了正确地映射FCI(前向呼叫表示语),如果“号码翻译”位指示在PSTN中已经执行过本地号码携带汲取的操作,则在“tel URL”之后附加一个“npdi=yes”参数。如果IAM中存在GDP(通用数字参数)参数,则应该将CPN的内容(位置路由号码-LRN)从ISUP格式翻译过来并拷贝到“rn=”域中,并且也要将该域附加在“tel URL”之后。GDP参数本身也要从ISUP格式翻译过来用以生成“tel URL”的主电话号码。
  在有些国家级编号方案中,LRN和被拨出的号码都存储在CPN参数中,这种情况下,应该将它们分离出来,分别存储到“tel URL”的不同域中。注意:LRN必须是国家级的,所以“rn=”域之前不能有前导符号“+”。
  大多数情况下,最终产生的目的方的“tel URL”可以同时被O-IWU用于To和Request-URI域。但是如果IAM中出现OCN(原被叫号码)参数,则应该将OCN参数从ISUP格式翻译过来用来产生To域,因此Request-URI和To域是有区别的。
  From头域的构造有赖于CIN(主叫用户号码)参数。如果CIN参数无效,则O-IWU产生一个只包含主机名的虚拟的SIP URI(比如:“sip:gw.sipcarrier.com”)来构造From头域。在转换CIN参数时,必须考虑两个附加的信息字段:限制地址提供表示语(PrI)和鉴别表示语(ScI)。如果PrI置为“限制提供”,则O-IWU创建一个特殊的SIP URI(省去主叫用户的身份)传送给远端,其中“display-name”和“username”为“Anonymous”,例如:From: Anonymous <sip:anonymous@anonymous.invalid>。如果允许传送主叫用户的名字(例如ANSI中的通用名字参数),则通常该信息用于构成“From”字段的“display-name”部分。
  IAM消息中的TMR(传输媒介要求)和USI(用户业务信息)参数指示出了用户要求的承载业务特征,这些编码将被O-IWU映射到SDP消息体中对应的媒体描述行中。
  最后IAM消息以MIME格式封装在INVITE消息的消息体中,这时INVITE消息携带了2个消息体。
  我们用图3简单说明一下映射与封装的过程。

五、流程举例
  图4列举了一个从ISUP到SIP方向的基本呼叫建立成功时的消息序列图,从中我们可以看出PSTN和SIP网络是如何在IWU的协调下实现无缝互通的。O-IWU发送的INVITE消息中要求SIP网络对本次会话进行资源预留,SIP网络返回183响应表示同意。双方进入资源预留过程。SIP网络完成资源预留,并从收到的UPDATE消息中确认O-IWU也已完成资源预留后,指示SIP用户振铃。O-IWU接收到“180 Ringing”消息后将其映射为ACM消息发送到ISUP网络,指示ISUP用户振铃。在接收到最终的200 OK响应消息后,O-IWU将其映射成ANM消息,并向SIP网络返回ACK消息。至此,呼叫建立过程完毕。

六、结束语
    实现传统电信网络向软交换网络的平滑过渡是目前电信技术发展中的一个热点。本文通过详细介绍IWU的结构模型以及它的实现原则与机制,为SIP网络与PSTN网络的互连互通提供了可行的解决方案。当然,现实中还有很多问题需要考虑,要实现两种协议的完全互通还会涉及到多种因素,比如安全性、计费等方面。我们相信,不久的将来,有关这SIP和ISUP互通的研究将会更加成熟和完善,这将极大地加快软交换技术向实用化方向发展的步伐。


参考文献

[1]RFC3261, SIP: Session Initiation Protocol[S]
[2]RFC3312, Integration of Resource Management and Session Initiation Protocol (SIP)[S].
[3]ITU-T Recommendation Q.761, Signalling System No. 7 - ISDN User Part, functional description[S].
[4]ITU-T Recommendation Q.763, Signalling System No. 7 - ISDN User Part formats and codes[S].
[5]ITU-T Recommendation Q.764, Signalling System No. 7 - ISDN User Part Signalling procedures[s].

转载于:https://my.oschina.net/ioke/blog/381788

SIP和ISUP协议互通的研究相关推荐

  1. OSI参考模型与TCP/IP协议的比较研究

     OSI参考模型与TCP/IP协议的比较研究  OSI参考模型与TCP/IP协议的比较研究 摘要:OSI参考模型与TCP/IP协议是网际互联中的两个重要协议体系.本文从首先分别介绍了两个协议体系的产生 ...

  2. 基于SIP和RTP协议的开源VOIP之QuteCom简单介绍

    **************************************************************************************************** ...

  3. 计算机操作安全协议,安全协议操作语义模型研究及应用-计算机软件与理论专业论文.docx...

    安全协议操作语义模型研究及应用-计算机软件与理论专业论文 摘 摘 要 桂林电子科技大学学位论文 桂林电子科技大学学位论文 摘要 安全协议的操作语义模型是一种分析安全协议的新模型,它结合了以往多种协议 ...

  4. 计网实验报告 (VLAN、静态/动态路由、IPv4 与 IPv6 协议互通)

    目录 常用命令 VLAN 原理与配置 VLAN 工作原理 802.1Q 帧 端口类型 VLAN 配置 路由原理与静态路由 单臂路由配置 静态路由配置 OSPF 动态路由配置 RIP 路由协议配置 IP ...

  5. WEBRTC 对华为,宝利通硬件,SIP视频会议系统的互通互联,扩容方案分析

    视频交互,会议互通已经是视频应用的大趋势,一是目前企业有大量的老视频会议硬件,二新业务又需要业务平台上视频需求,迫切需要一个融合对接的方案,即能把老的设备用起来,又能对接新的业务系统,如Web视频参会 ...

  6. 什么是视频会议?什么是H.323?SIP是什么协议?

    视频会议是指位于两个或多个地点的人们,通过通信设备网络和视频会议系统软件,实现面对面交谈的会议.视频会议的早期概念Picturephone由美国的AT&T于1964年在世界博览会上推出.在20 ...

  7. h3c 链路聚合测试_良无磐石固,虚名复何益?- 链路聚合协议互通测试

    一.描述 链路聚合是将多条链路聚合在一起形成一个汇聚组,以实现负荷在各成员链路中的分担,同时也提供了更高的连接可靠性. Cisco的链路聚合有几种方式:手工.LACP(包括active和passive ...

  8. 计算机安全协议是,计算机通信网安全协议的分析研究

    信息产 业 1 1 9 计算通机网安全协议信分的析究研 孟范 (龙脉国信通规设计有限公划司,黑龙江哈尔滨 1 50 00 0 ) 摘:要在当我前国社会济经发的过展程中,计机算信通也网已得经了人们到的广 ...

  9. 基于ICE方式SIP信令穿透Symmetric NAT技术研究

    基于IP的语音.数据.视频等业务在NGN网络中所面临的一个实际困难就是如何 有效地穿透各种NAT/FW的问题.对此,会话初始化协议SIP以往的解决方法有ALGs,STUN,T URN等方式.本文探讨了 ...

最新文章

  1. 使用angularJs ng-repeat做表格合并行效果
  2. 从0开始的微服务架构:(一)重识微服务架构
  3. linux 功能测试宏 POSIX_C_SOURCE
  4. 如何学习Python数据爬虫?
  5. Bing地图REST服务
  6. python fonttool_Python wx.Font方法代码示例
  7. 关于自定义的登录机制在SAP Spartacus服务器端渲染(SSR)实施过程中遇到的问题
  8. 【耿老师公开课】反转!物联网火爆,开发者却很难入门?
  9. 如何提高go代码覆盖率_如何通过静态分析提高iOS代码质量
  10. JQuery操作类数组的工具方法
  11. 联想战略储备看创投,联想创投All in智能互联网
  12. python网站上搜索答案_用python搭建百万赢家自动搜索答案
  13. flash player 10 beta已经放出
  14. RANSAC算法筛选匹配点
  15. UltraEdit注册机 及使用方法详解
  16. 凡刻(Fenke)FK169机械手表测评
  17. 为什么别人可以打开的网站,你却打不开?原因找到了 ,HTTP ERROR 404
  18. 第四章 姜诸儿意气风发登君位 鲁桓公窝囊枉死彭生手
  19. Weblogic安装时闪退,无法进行下一步问题
  20. Python-Django毕业设计汽车站售票管理系统(程序+Lw)

热门文章

  1. oa属于什么计算机应用分类,oa属于计算机应用的哪一类
  2. 基于Python的数据采集系统
  3. 计算请假天数JavaScript方法
  4. ImmersionBar篇Android实现全屏配置 自动横屏
  5. 第十二届蓝桥杯D题python解答
  6. 【半年总结】思想与技术的腾飞
  7. SYN480R 解码
  8. 晨曦记账本添加记录后自动加载本月的账目
  9. 十个常用的S60手机软件
  10. python画多层网络_在pymn中修改多层网络图