|
基于目前对SIP服务器的理解,SIP_PROXY需实现如下功能:
1、 注册服务器
注册需要认证,采用服务器认证方式或者WWW认证方式
a、当客户端注册到服务器,则认为是未授权的,需要受权,应该采用401认证;
RESPONSE-STATUS : 401 -------- 未授权的
b 、当用户发起INVITE请求或者其他消息请求时,若需要经由代理服务器转发,且服务器需要认证,则采用服务器认证;
RESPONSE-STATUS : 407 -------服务器需要认证(可选)
2、 代理服务器
a、 支持NAT转换
支持NAT方式实际上,当SIP客户端是通过NAT以后才可以和外网通信的情况下,代理服务器和能够识别SIP客户端是经过NAT,并能使它同外网的其他SIP客户端进行通信;
能够识别NAT,将给随后的SIP消息是否需要经过SIP_PROXY,提供帮助;
b、 可向更上一级服务器注册
可向上级服务器通信,可理解为服务器之间的通信,如果两个客户端注册到2个不同的代理服务器上,如需要通信,则服务器之间必须要可以路由,实现该功能就是为服务器之间添加路由;
3、 RTP代理服务器
可作为客户端之间的RTP代理服务器;实现语音视频的转发;
4、 分支代理服务器
代理服务器还可以分支请求,当某个用户注册到多个位置上时就需要用到该功能;当代理服务器接受到这样的INVITE请求时,会把这个请求发送到没一个注册位置上。如果接受到其中一个位置的应答,代理服务器将提交CANCEL消息到其他地方上,通知它们不用继续振铃;
(分支代理服务器必须是有状态的;)
5、 边缘代理服务器(outbound_proxy)
通过边缘代理服务器,SIP客户端可以穿越NAT/FIREWALL,从而实现与Internet上的其他SIP客户端通信
|
|