APP下载

基于SIP协议的应用

2016-07-09刘永辉

科技风 2016年13期

刘永辉

摘 要:作为下一代网络和IP多媒体子系统的重要协议,SIP协议的主要目的是在IP网络中建立、修改和终止多媒体会话,本文主要针对关于SIP协议在电话网络中的主叫用户和被叫用户之间建立通话的应用进行阐述。

关键词:SIP;UAS;UAC;早期媒体;常规媒体

1 SIP协议

作为下一代网络(Next Generation Network,NGN),3G 网络的主要目标就是为用户提供各种多媒体服务,包括语音业务和互联网数字业务等,在各种通信协议中,会话初始化协议(SIP)凭借其简单、易实现等多方面的优点成为下一代网络和 IP 多媒体子系统(IMS)的重要协议。

SIP 协议包含两大要素:用户代理UAC和UAS,其中 UAC 使用事务层创建和发送请求并接受响应;UAS 使用事务层接收请求并创建和发送响应。

2 基于SIP协议的应用

在电话网络中呼叫的目的是为了在主叫用户和被叫用户之间建立通话,通话建立前主叫用户和被叫用户之间传输的媒体为早期媒体,例如回铃音、彩铃等,通话建立后主叫用户和被叫用户之间传输的媒体为常规媒体。

要传输早期媒体,需要在主叫用户和被叫用户之间进行早期媒体协商、建立媒体会话。下面对网关模式下的早期媒体协商进行介绍。

步骤101、用户代理客户端UAC向用户代理服务端UAS发送INVITE请求,该请求中携带有offer;

步骤102、UAS回复临时可靠响应183给UAC,该响应携带有answer以表示协商成功;

步骤103、UAC向UAS发送PRACK确认183临时可靠响应;

步骤104、UAS回复200OK确认,完成和UAC的早期媒体协商,进而建立早期会话。

步骤105、接着,UAS可以向UAC发送早期媒体;

步骤106、当UAS摘机应答时,回复200OK响应给UAC,停止发送早期媒体;

步骤107、UAC发送ACK建立呼叫给UAS,进而将早期会话转换到常规会话;

步骤108、UAC和UAS实现双方正常通话。

虽然,网关模式已得到了广泛应用,但其不能处理分叉呼叫,从而具备一定的局限性,具体如下:

步骤201、UAC同时向两个UAS(UAS1和UAS2)发送INVITE呼叫请求。

步骤202-208、UAS1和UAC,UAS2和UAC分别完成早期媒体协商,并且UAS1向UAC发送早期媒体。

步骤209、由于UAC已选择UAS1作为早期媒体播放方,并接收了来自UAS1的早期媒体,因此发送UPDATE(MUTE)请求给UAS2,请求将UAS2设置为静音。

步骤210、UAS2回复200OK响应消息给UAC,并设置自身的媒体属性为静音。

步骤211、在t1时,UAS2摘机应答,向UAC发送200OK响应,被叫用户开始讲话;但由于自身的媒体属性被设置为静音,USA2不会向UAC发送被叫用户讲话产生的常规媒体,该过程中会导致被叫用户讲话的媒体流丢失。

步骤212-213、UAC向UAS1发送CANCLE消息取消呼叫,并向UAS2发送ACK消息以建立呼叫。

步骤214、UAC向UAS2发送UPDATE(UN MUTE)请求消息以取消UAS2的静音。

步骤215、在t2时刻,UAS2回复给UAC200OK确认消息,取消静音,并完成媒体重协商。

步骤216、接着,UAS2和UAC可以交互常规媒体。

3 结语

本文主要基于SIP协议对电话网络中主叫用户和被叫用户之间建立通话的过程进行描述,着重对网关模式下早期媒体的协商以及常规媒体的交互进行阐述,并提出网关模式下对分叉呼叫有一定限制,需要我们进一步克服其丢失媒体流的缺点。