论文部分内容阅读
SIP概述
SIP(Session Initfation Protocol,会话初始化协议)是由TETF(Internet工程任务组)提出的IP电话信令协议,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它的主要目的是为了解决IP网中的信令控制,以及同Soft Switch配合,构成下一代的增值业务平台,对电信、银行、金融等行业提供更好的增值业务。
SIP中有两个要素,SIP用户代理和SIP网络服务器。用户代理是呼叫的终端系统元素,而SIP服务器是处理与多个呼叫相关联信令的网络设备。由于呼叫者未必知道被呼叫方的IP地址或主机名,SIP服务器的主要功能是提供名字解析和用户定位。
SIP服务器元素提供多种类型的服务器。有以下三种服务器形式存在于网络中:
*SIP有状态代理服务器;
*SIP无状态代理服务器,
*SlP重定向服务器。
SIP代理服务器接收请求,决定将这些请求传送到何处,并且将它们传送到下一服务器(使用下一跳路由原理),在网络中可以有多个的下一跳。
有状态和无状态代理服务器的区别是有状态代理服务器记住它接收的入请求,以及回送的响应和它转送的出请求。无状态代理服务器一旦转送请求后就不保存相关信息。这允许有状态代理服务器生成请求以并行地尝试多个可能的用户位置并且送回最好的响应。无状态代理服务器可能是最快的,并且是SIP结构的骨干。有状态代理服务器可能是离用户代理最近的本地设备,它控制用户域SIP服务并是应用服务的主要平台。
重定向服务器接收请求,但不是将这些请求传递给下一服务器而是向呼叫者发送响应以指示被呼叫用户的地址,这使得呼叫者可以直接联系在下一服务器上被呼叫方的地址。
SIP服务器的备份
为了保证服务器出现故障时,通信能够正常进行,备份服务器是不可缺少的。
2.1一般服务器的备份方法
常见的SIP服务器的备份流程图如图1所示。
图1中ACT SIP Server表示主的SIP服务器(以下简称主服务器),SBY SIP Server表示备份的SIP服务器(以下简称备份服务器),本文涉及的SIP servers就是让SIP终端能够互通消息的网络元素,它可以是SIP Proxy、SIPRedirect Server、SIP Registrar、SIP Presence Server、SIP BSBUA、而且可以控制一个基本的呼叫。主服务器和备份服务器一般是一对一的,当主服务器正常工作时,终端的消息只是发向主服务器,备份服务器并不能接收到任何终端的信息。但是,主服务器和备份服务器之间是定时通信,如图2所示。
备份服务器会定时向主服务器发送信息,以确认主服务器是否工作正常。主服务器和备份服务器之间定期通信的间隔可以自主控制,但是也不宜过短,以免信息流量过大增加网络负担。一般以5秒为宜。当主服务器发生故障,备份服务器在发送三次消息而主服务器没有响应的情况下,备份服务器开始使用,如图1所示,这时终端才开始把注册消息送到备份的服务器。因此要使通话能够正常的进行,从主服务器切换到备份服务器需要等待的时间=服务器切换时间+终端注册时间,一般要等待大约120秒,这很难满足用户的需求,因此需要进一步改进服务器的备份方法。
2.2新的服务器备份方法
为了要缩短服务器切换的等待时间,因此提出了以下新的方桌,其流程图如图3所示。
在图5中可以看到,改进的地方在于终端注册时会向主服务器和备份的服务器同时发送信息,只是发往备份服务器的消息不回200 OK.发送到主服务器的消息头;
REGISTER sip:act.cur100.ffcs.corp SIP/2.0
Via;SIP/2.0/UDP 192.168.14.2:5060;.branch=76389839
From:;tag=0001
To:
CSeq:123 REGISTER
Cail/ID:000000437483@192.168.14.24
Max-Forwards:70
Contact:
Expires:3660
User-Agent:Fujitsu SS-150A/B
发送到备份服务器的消息头:
REGISTER sip:sby.cug100.ffcs.com SIP/2.0
Via:SIP/2.0/UDP 192.168.14.3:5660;branch=76389945
From:;tag=0001__DUPLE
To:
CSeq:123 REGISTER
Call-ID:000000437483@192.168.14.24
Max-Forwards:70
Contact:
Explre3:3600
新的处理方法是服务器收到注册信息而响应200 OK时,检查主服务器是否在工作,如果是主服务器在工作,只有主服务器响应206 OK,备份服务器就不响应206 OK,但是注册信息要保存到备份的服务器上,因此终端还是只收到一个206 OK信息,并不会与协议产生冲突。当主服务器出现故障切换到备份服务器上时,终端的注册信息在备份服务器上已经存在,如图3所示,这样终端就不需要等到注册以后才能发送信息,因此大约15s就可以完成切换,这个时间只是原来切换时间的1/6,如此就实现了主服务器和备份服务器之间的快速切换。同样的,主服务器和备份服务器之间也是定时通信的。在服务器的配置文件中可以添加如下一项:
Auto Change__Backup=Activated(or Not Actirated)(备份服务器切换方式)
通过改变Auto Chang_Backup的值来确定当主服务器恢复正常时,是否从备份服务器切换到主服务器。在终端启动或者正在发送信息时,如果主服务器发生故障,则消息就会迂回到备份的服务器。
在具体的实现中,根据终端的实际情况,会很有许多不同的流程组合。因此依据以上这个服务器备份方法,具体的实现可以根据实际情况进行分类。
编辑/沈峥嵘
SIP(Session Initfation Protocol,会话初始化协议)是由TETF(Internet工程任务组)提出的IP电话信令协议,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它的主要目的是为了解决IP网中的信令控制,以及同Soft Switch配合,构成下一代的增值业务平台,对电信、银行、金融等行业提供更好的增值业务。
SIP中有两个要素,SIP用户代理和SIP网络服务器。用户代理是呼叫的终端系统元素,而SIP服务器是处理与多个呼叫相关联信令的网络设备。由于呼叫者未必知道被呼叫方的IP地址或主机名,SIP服务器的主要功能是提供名字解析和用户定位。
SIP服务器元素提供多种类型的服务器。有以下三种服务器形式存在于网络中:
*SIP有状态代理服务器;
*SIP无状态代理服务器,
*SlP重定向服务器。
SIP代理服务器接收请求,决定将这些请求传送到何处,并且将它们传送到下一服务器(使用下一跳路由原理),在网络中可以有多个的下一跳。
有状态和无状态代理服务器的区别是有状态代理服务器记住它接收的入请求,以及回送的响应和它转送的出请求。无状态代理服务器一旦转送请求后就不保存相关信息。这允许有状态代理服务器生成请求以并行地尝试多个可能的用户位置并且送回最好的响应。无状态代理服务器可能是最快的,并且是SIP结构的骨干。有状态代理服务器可能是离用户代理最近的本地设备,它控制用户域SIP服务并是应用服务的主要平台。
重定向服务器接收请求,但不是将这些请求传递给下一服务器而是向呼叫者发送响应以指示被呼叫用户的地址,这使得呼叫者可以直接联系在下一服务器上被呼叫方的地址。
SIP服务器的备份
为了保证服务器出现故障时,通信能够正常进行,备份服务器是不可缺少的。
2.1一般服务器的备份方法
常见的SIP服务器的备份流程图如图1所示。
图1中ACT SIP Server表示主的SIP服务器(以下简称主服务器),SBY SIP Server表示备份的SIP服务器(以下简称备份服务器),本文涉及的SIP servers就是让SIP终端能够互通消息的网络元素,它可以是SIP Proxy、SIPRedirect Server、SIP Registrar、SIP Presence Server、SIP BSBUA、而且可以控制一个基本的呼叫。主服务器和备份服务器一般是一对一的,当主服务器正常工作时,终端的消息只是发向主服务器,备份服务器并不能接收到任何终端的信息。但是,主服务器和备份服务器之间是定时通信,如图2所示。
备份服务器会定时向主服务器发送信息,以确认主服务器是否工作正常。主服务器和备份服务器之间定期通信的间隔可以自主控制,但是也不宜过短,以免信息流量过大增加网络负担。一般以5秒为宜。当主服务器发生故障,备份服务器在发送三次消息而主服务器没有响应的情况下,备份服务器开始使用,如图1所示,这时终端才开始把注册消息送到备份的服务器。因此要使通话能够正常的进行,从主服务器切换到备份服务器需要等待的时间=服务器切换时间+终端注册时间,一般要等待大约120秒,这很难满足用户的需求,因此需要进一步改进服务器的备份方法。
2.2新的服务器备份方法
为了要缩短服务器切换的等待时间,因此提出了以下新的方桌,其流程图如图3所示。
在图5中可以看到,改进的地方在于终端注册时会向主服务器和备份的服务器同时发送信息,只是发往备份服务器的消息不回200 OK.发送到主服务器的消息头;
REGISTER sip:act.cur100.ffcs.corp SIP/2.0
Via;SIP/2.0/UDP 192.168.14.2:5060;.branch=76389839
From:
To:
CSeq:123 REGISTER
Cail/ID:000000437483@192.168.14.24
Max-Forwards:70
Contact:
Expires:3660
User-Agent:Fujitsu SS-150A/B
发送到备份服务器的消息头:
REGISTER sip:sby.cug100.ffcs.com SIP/2.0
Via:SIP/2.0/UDP 192.168.14.3:5660;branch=76389945
From:
To:
CSeq:123 REGISTER
Call-ID:000000437483@192.168.14.24
Max-Forwards:70
Contact:
Explre3:3600
新的处理方法是服务器收到注册信息而响应200 OK时,检查主服务器是否在工作,如果是主服务器在工作,只有主服务器响应206 OK,备份服务器就不响应206 OK,但是注册信息要保存到备份的服务器上,因此终端还是只收到一个206 OK信息,并不会与协议产生冲突。当主服务器出现故障切换到备份服务器上时,终端的注册信息在备份服务器上已经存在,如图3所示,这样终端就不需要等到注册以后才能发送信息,因此大约15s就可以完成切换,这个时间只是原来切换时间的1/6,如此就实现了主服务器和备份服务器之间的快速切换。同样的,主服务器和备份服务器之间也是定时通信的。在服务器的配置文件中可以添加如下一项:
Auto Change__Backup=Activated(or Not Actirated)(备份服务器切换方式)
通过改变Auto Chang_Backup的值来确定当主服务器恢复正常时,是否从备份服务器切换到主服务器。在终端启动或者正在发送信息时,如果主服务器发生故障,则消息就会迂回到备份的服务器。
在具体的实现中,根据终端的实际情况,会很有许多不同的流程组合。因此依据以上这个服务器备份方法,具体的实现可以根据实际情况进行分类。
编辑/沈峥嵘