摘 要:本文介绍了SIP 协议原理,H3C V2oIP解决方案各个组件间工作流程和组网应用。
1. SIP协议概述
SIP 是IETF制订的多媒体通信系统框架协议之一。是用于建立、改变或者结束多媒体会话的应用层协议。SIP协议基于文本编码,独立于UDP/TCP底层传输协议,与RTP/RTCP、SDP、RTSP、DNS等协议配合实现Voice、Video、Conference、Data、Chat等各种业务流程。
2. SIP Server的基本原理
SIP协议采用Client/Server模型。每一个请求(Request)触发服务器的一个操作;每个操作被称为方法(Method);每个请求除了指明具体方法外,还携带了一系列的头域(Header field),这些头域携带了各种业务信息;除了头域外,消息中还可以携带任意类型的消息体(Body),呼叫中最常使用的SDP信息就是通过消息体在Client和Server之间传递的。Server从接收到请求到处理完毕,要回复多个临时响应(Response),和一个终结响应(Response),终结响应有且只有一个。
请求和他的所有响应构成一个事务(Transaction),一个完整的呼叫过程包含多个事务,比如呼叫建立和呼叫释放就是两个相互独立的事务。
用户代理(User Agent)是发起或者接收呼叫的逻辑实体。用户代理客户端-UAC(User Agent Client),用于发起请求;用户代理服务器-UAS(User Agent Server),用于接收请求。UAC/UAS的划分是针对一个事务的。在一个呼叫中的多个事务里,UAC和UAS的角色是可以互换的。例如在A和B的呼叫中,A向B发起呼叫,在呼叫建立的事务中,A是UAC,B是UAS;呼叫结束时,B先挂机,在呼叫释放的事务中,B是UAC,A是UAS。换句话说,每个一般的UA都是UAS和UAC的结合体。UA的实际物理形态有:IP Phone,SoftPhone,GateWay......
Proxy Server作为一个网络逻辑实体代理客户端转发请求或者响应;同Proxy Server类似的还有一种设备是B2BUA,顾名思义,就是背靠背的两个UA组成的一个逻辑实体,它作为UAS终结一个事务,同时作为UAC发起另外一个事务。Proxy Server同B2BUA相比,Proxy Server是一个事务传递过程中的中间节点,而B2BUA将一个事务转变成另一个事务。
在SIP组网中还包括Location Server、Registrar、Redirect Server,分别负责维护地址映射表,注册管理,呼叫重定向。他们和Proxy Server 可以在同一台设备上也可以运行于不同的设备上。SIP Server是Proxy Server、Location Server、Registrar、Redirect Server的总称。
SIP Server采用B2BUA模型。接受请求端为UAS端,代理转发或主动发起请求端为UAC端,整个SIPServr为UAC/UAS的组合体。通过UAC/UAS之间消息交互完成会话的建立、改变、结束的阶段。SIP Server协助网关交换媒体信息,但不参与会话建立后媒体流传输。

图1 SIP Server基本网络模型
3. V2oIP解决方案中提供的SIP功能
Quidway XE系列语音服务器实现了SIP Server功能,并且提供了诸多有特色的特性。SIP Server具有Registrar、Redirect Server、Proxy Server、Location Server功能,支持注册功能、重定向呼叫方式、路由呼叫方式、号码路由更新及查询功能。
Quidway VG系列语音网关实现了SIP UA功能,在组网中提供用户的接入。
1.1 设备注册
图2 注册流程
网关设备启动后会向SIP Server发起注册请求。SIP Server中的Registrar收到注册请求后,根据网关注册消息中携带的信息向Location Server发送更新设备信息请求。Location Server查询该网关设备信息,更新网关信息,将更新结果返回Registrar。若更新成功,Registrar会向网关设备发送注册成功2XX响应;若更新结果是Location Server没有找到原网关设备信息,无法更新,Registrar会向网关设备发送注册错误4XX响应;若Registrar与Location Server无法进行通信,Registrar会向网关设备发送服务器错误5XX响应;若更新结果是需要网关鉴权,Registrar会向网关设备发送注册失败401(需要鉴权)响应,网关收到该响应,将自己的鉴权信息通过第二个注册请求发送给Registrar,Registrar向Location Server查询网关鉴权信息,计算鉴权结果,发送成功或失败响应给网关设备。
网关通过注册请求,发送给SIP Server的信息包括:
网关的ID;
网关的IP地址;
网关具有的路由。
网关第一次注册成功后,会定时发送注册请求,在SIP Server侧可以设置一个注册间隔时间TTL(Time to live),通过注册成功响应带给网关。超过TTL时长后网关仍没有向SIP Server注册,SIP Server认为网关已经离线,不接受/发起经过该网关的所有呼叫。在Location Server网关信息中可以设置网关的状态:
normal:正常方式,需要网关定时注册。
forever-up:永久在线方式,不强制网关注册。
suspend:禁用方式,不接受/发起经过该网关的所有呼叫。
1.2 路由呼叫
图3 路由呼叫流程
网关设备当有会话接入时,向SIP Server发起呼叫请求。SIP Server中的Proxy Server收到呼叫请求后,根据呼叫请求中携带的主被叫信息向Location Server发送查询路由信息请求。Location Server将查询结果信息返回Proxy Server,若查询结果是没有找到被叫信息,则Proxy Server向主叫发送4XX错误响应;若找到,Proxy Server根据此信息代理主叫网关向被叫网关发起呼叫请求。被叫网关收到呼叫请求后,发送响应给Proxy Server,Proxy Server将此响应转发给主叫。呼叫成功建立后Proxy Server保存关于此呼叫的信息和主被叫网关信息,当某一方网关希望结束会话时,会将结束会话请求发送到Proxy Server,Proxy Sever代理转发此呼叫结束请求。会话结束后Proxy Server释放关于此呼叫的信息。
当SIP Server在本地找不到被叫信息时,会将呼叫请求发送到事先配置好的其他SIP Server上去,这个SIP Server称为“局向”,这种呼叫称为“域间呼叫”。局向设备接收到来自域外的呼叫请求后在本地查找被叫信息,若找到则向被叫发起呼叫,若没找到,可以继续向域外发送呼叫请求,也可以直接向主叫SIP Server发送4XX错误响应。
网关呼叫请求中携带的重要信息:
主叫号码;
主叫网关地址;
主叫媒体信息;
被叫号码。
SIP Server转发请求中携带的重要信息:
主叫号码;
被叫号码;
被叫网关地址。
被叫网关响应中携带的重要信息
被叫媒体信息。
路由呼叫方式又称为代理呼叫。在这种呼叫方式下,SIP Server可以自主的接受呼叫,或自主的发起呼叫。这种呼叫方式下实现了呼叫主被叫的分离,可以用来实现各种呼叫业务。可以实现多种呼叫方式:
代理主叫向被叫发起呼叫;
代理主叫向多个被叫发起呼叫;
同时向两侧发起呼叫。
1.3 重定向呼叫
图4 重定向呼叫流程
网关向SIP Server发起呼叫时,SIP Server查询被叫信息。若查询不到被叫信息,会发送4XX错误响应;若查询到被叫信息,SIP Server不向被叫发起呼叫,而是将被叫信息通过3XX响应返回给主叫。主叫接收到响应后,根据被叫信息直接向被叫发起呼叫,完成会话的建立、改变、结束过程。整个会话过程SIP Server不参与,不保留关于该呼叫的任何信息。
重定向呼叫又称为直接呼叫,这种呼叫方式下SIP Server只提供重定位功能,不参与会话过程。由SIP Server中的Redirect Server完成。
SIP Server可以配置使用哪种呼叫方式。
1.4 号码路由更新及查询功能
当网关注册时,会将自己支持的号码信息上报给Registrar,Registrar将该网关的号码信息与网关的地址绑定,将绑定信息发送给Location Server。Location Server将此信息更新到该网关的号码表中。供呼叫时查询使用。
在Location Server上也可以配置静态的号码路由信息。
在Proxy Server或Redirect Server向Location Server查询号码信息时,将主被叫信息上报给Location Server。Location Server首先判断主叫设备是否在线,若离线则不进行后续查询,返回错误结果给Proxy Server或Redirect Server。若在线,则查询所有匹配被叫号码的被叫网关信息,从这些信息中挑选可用的网关(在线)信息。将结果返回Proxy Server或Redirect Server。Proxy Server或Redirect Server根据此号码表进行后续的操作。
Registrar、Proxy Server、Redirect Server与Location Server之间通过CAI私有协议进行通信。
4. V2oIP语音解决方案中的SIP组网应用
(1)组网方式一:单域组网应用
在一个区域内多个会话终端,可以通过一台XE建立,改变和结束会话。将区域内所有终端与XE相连,将所有终端注册到XE上。该区域内所有终端可以通过XE进行通信。域内用户通信由XE代理,或由XE重定向,用户网关之间直接发起呼叫。
图5 区域内通信组网
(2)组网方式二:分级分域组网应用
当用户终端在不同区域时,可以采用多台XE通信。将同一区域内的终端与该区域内的XE相连,并注册到该XE上。将不同区域内的XE通过网络连接。若某域内用户要呼叫域外某用户时,XE将呼叫请求转发到被叫用户所在域内的XE上,由被叫用户所在域内XE代理呼叫。
图6 跨区域通信组网
5. 总结
SIP协议自诞生之日起就以其便捷性和灵活性受到业内的关注,目前在欧美市场得到了广泛的应用。H3C推出的V2oIP解决方案提供了全部的SIP标准应用,并根据用户的需求开发了独有的特色业务。做为H3CV2oIP语音解决方案中的核心设备,XE可将用户的大量语音设备整合为一个易维护、好管理、可升级的语音网络,在最大限度上增强并发挥出语音网关、终端的特性,保护用户的投资。
| |