背景:
阅读内容

P2P-SIP:教你轻松实现多媒体会话

日期:2006-12-21 来源:计算机世界  作者:未知 字体:

  用户呼叫过程

  对用户而言,在P2P-SIP网络中发起呼叫与在SIP网络中发起呼叫相比没什么不同。构造标准的INVITE请求,发给自己连接的PN(SIP服务器),然后等待应答。

  在P2P-SIP网络中,PN收到INVITE请求,进行必要处理后,取出请求中To头域里的SIP URI(表示呼叫哪个用户),调用find_responsible_pn(user)。如果返回值是PN自己,说明PN负责管理To头域所标识的用户,PN具有该用户的注册信息,之后的处理按SIP标准流程; 如果不是,则PN将INVITE请求转发给find_responsible_pn(user)返回的“IP地址:端口”,具体的呼叫过程如图4所示。

  第1步:主叫发起呼叫

  IP地址为192.168.13.26的用户要呼叫用户。alice可以把请求发给P2P-SIP网络中任一PN。考虑到要在P2P-SIP网络上提供增值业务(比如计费),alice把INVITE请求发给管理它的PN更合适一点,在本例中是IP为192.168.13.203,Key值为0的PN。如图4中M1所示。

  第2步:PN转发请求到PN

  Key值为0的PN收到INVITE请求后,取得请求中To头域里的SIP URI,调用find_responsible_pn(user)。返回值是192.168.13.110:5060。比较后发现不是自己,将请求转发给192.168.13.110:5060。如图4中M2所示。

  第3步:PN转发请求到被叫

  IP地址为192.168.13.110的PN收到该请求,进行相同的处理。发现返回值是自己,说明PN管理该用户,拥有该用户的注册请求。之后的处理流程遵循SIP标准,即在本地取得用户michael的当前地址,然后转发请求到该地址。如图4中M3所示。

  第4步:被叫接受呼叫,返回应答

  用户michael所在的SIP终端收到该请求,按照SIP标准进行处理。假定michael接受呼叫请求,则返回200 OK应答。如图4中M4所示。

  第5步:应答沿原路返回

  应答的返回遵循SIP标准,根据Via头域按原路返回,不需要查找路径,不会使用Chord层的操作。如图4中M5、M6所示。

  第6步:主叫收到应答,发出确认,建立呼叫

  用户alice所在的SIP终端收到200 OK应答,用ACK请求进行确认。ACK请求不经过P2P-SIP网络,直接发给用户michael所在的SIP终端。如图4中M7所示。用户michael所在的SIP终端收到ACK确认请求,呼叫建立。结束通话时,michael和alice直接交换SIP信令,不经过P2P-SIP网络。

  按照本文所述的设计和实现方案,对原有的SIP软交换平台进行改造,在PN上实现了注册、呼叫和计费功能。原来的语音邮箱和自动应答功能作为单台媒体服务器接入P2P-SIP网络,在P2P-SIP网络内提供全局的用户认证、拨号策略、账务系统和网管服务。

  基本的测试显示,5台处理能力为72万次/小时BHCA(中文叫忙时试呼次数,是电信领域用来衡量服务器处理能力的重要指标,注册用户数在电信领域指的就是座机的数目)的普通PC机组成P2P-SIP网络后其BHCA可以达到288万次/小时,支持的注册用户数达48万。

  链接:SIP协议介绍

  会话发起协议SIP(Session Initiation Protocol)是IETF制定的多媒体通信系统框架协议之一,它是一个基于文本的应用层控制协议,独立于底层协议,用于建立、修改和终止IP网上的双方或多方多媒体会话。SIP协议借鉴了HTTP、SMTP等协议,支持代理、重定向、登记定位用户等功能。支持用户移动,与RTP/RTCP、SDP、 RTSP、DNS等协议配合。支持Voice、Video、Data、Email、Presence、IM、Chat、Game等。

  正如其名字所隐含的,SIP用于发起会话,它能控制多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语音、视频和数据等)、媒体的编解码格式、对组播和单播的支持等。

  SIP协议凭借其简单、易于扩展、便于实现等诸多优点越来越得到业界的青睐,它正逐步成为NGN(下一代网络)和3G多媒体子系统域中的重要协议,并且市场上出现越来越多的支持SIP的客户端软件和智能多媒体终端,以及用SIP协议实现的服务器和软交换设备。

收藏 推荐 打印 | 录入:admin | 阅读:
本文评论   [发表评论]   全部评论 (0)
Digg排行
热门评论