返回留言板
文章标题:实现了一个Full Proxy SIP服务器
文章作者:bluesen
发表时间:2011-9-22 11:39:34
内容:
最简单的SIP服务器,只是完成SIP客户端注册和消息转发,媒体流不必关心,由客户端之间直接rtp,这类服务器较容易实现,收费的产品如mixiSipServer(老外开发的,较为常见),我写的免费LxjSipServer(没有路数限制,无需安装,没有广告,在这里可以免费下载:http://www.bluespace.com.cn/koodoo/download/LxjSipServer.rar)。

如果服务器部署在公网,分机在内网,则存在NAT穿透的问题,解决这个古老问题的办法一般是要求客户端支持STUN。

问题来了:1、不是所有的sip客户端都支持STUN;2、STUN不能解决全部NAT或防火墙问题,比如对称NAT就不行;3、对于一个呼叫中心,一部分座席在内网,一部分远程座席在外网,实际上内网座席不需要设置STUN,带来设置的混乱,即使这样,内网分机也没办法和外网座分机话。


解决这个问题的办法是Full Proxy SIP服务器。

所谓Full Proxy,是客户端的信令和媒体流都发给他,由他来进行转发。这种模式能解决几乎所有的NAT问题,但要求服务器本身有足够的带宽。


客户端1 ---SIP消息和RTP媒体---> FullProxy ---SIP消息和RTP媒体--->客户端2


实现要点:

1、FullProxy要有注册服务器功能,接受SIP客户端注册,记录客户端的真实地址比如公网地址和端口;

2、FullProxy同时实现成一个B2B即背靠背服务器,进行媒体转发。

3、在接受rtp的时候,如果侦测到对端地址(协议-ip-端口)和SDP的不一致,采用实际的进行rtp发送。

4、在带宽允许的情况下,要能实现大规模并发,比如2000路的并发。

经过用户实际测试,效果很好,FullProxy抹平了内外网的鸿沟。
因为是在蓝星际平台的基础上实现的,这个蓝星际FullProxy暂时是收费的。

已有回复:


回复如下

标题:
    发言人:

内容: [回复] [重写]