freeswitch服务器级联设置
假设局域网络有两台ip为192.168.1.A和192.168.1.B的计算机,现在注册到192.168.1.A上1001的需要拨打注册到192.168.1.B的用户1002
方法一:通过192.168.1.B本地用户实现
此种方法优点是注册到192.168.1.B的网关都需要鉴权才能注册,增加了安全性;缺点是需要在192.168.1.B上解决“主叫号码透传问题”,192.168.1.B上的用户显示的来电号码都是1000
- 在192.168.1.A上conf/sip_profiles/external/配置一个到192.168.1.B的网关
<include> <gateway name="b"> <param name="realm" value="www.example.com"/> <param name="register-proxy" value="192.168.1.B"/> <param name="username" value="1000"/> <param name="password" value="1234"/> <param name="from-user" value="4444"/> <param name="from-domain" value="www.example.com"/> <param name="register" value="true"/> <param name="outbound-proxy" value="192.168.1.8"/> <param name="expire-seconds" value="120"/> </gateway> </include>
简单的介绍一些这几个参数:
realm:域名
username:认证的用户名
password:认证的密码
from-user:指定在SIP消息中的源用户信息,没有配置则默认和username相同
from-domain:是指定域,它们会影响SIP中的“From”头域。注册到192.168.1.A中的用户拨号时将直接路由到192.168.1.B上的对应Context。
regitster-proxy:表示注册的地址
outbound-proxy:表示呼出时指向的地址,这里其实和注册地址是一致的
register:是否注册,认证模式为true,非认证模式为false
expire-seconds:注册的间隔时间
- 在192.168.1.A上conf/diaplan/default.xml 中加入
<extension name="B"> <condition field="destination_number" expression="^0(.*)$"> <action application="bridge" data="sofia/gateway/b/$1"/> </condition> </extension>
- 在192.168.1.A上conf/sip_profiles/external/配置一个到192.168.1.B的网关
方法二:网关通过IP进行注册
此种方法有点是在192.168.1.B上不用分别为每个192.168.1.A开通用户;缺点是网关注册不需要鉴权,任何人都可以向192.168.1.B进行网关注册
- 在192.168.1.A上conf/sip_profiles/external/配置一个到192.168.1.B的网关
<gateway name="gw1"> <param name="proxy" value="192.168.1.B:5060"/> <param name="realm" value="192.168.1.B:5060"/> <param name="register" value="false"/> <param name="rtp-autofix-timing" value="false"/> <param name="caller-id-in-from" value="true"/> </gateway>
- 在192.168.1.A上conf/diaplan/public.xml 中加入
<extension name="gw1"> <condition field="destination_number" expression="^0(.*)$"> <action application="bridge" data="sofia/gateway/gw1/$1"/> </condition> </extension>
- 在192.168.1.B上conf/diaplan/public.xml中加入
<extension name="gw1_Extension"> <condition field="network_addr” expression=”^192\.168\.1\.A$"> <action application="transfer" data="${destination_number} XML default"/> </condition> </extension> -
在192.168.1.B上配置acl接受来自192.168.1.A的IP鉴权;在节点名为“domains”中加入子节点,如下:
<list name="domains" default="deny"> <node type="allow" cidr="192.168.1.A/24" /> </list>
- 在192.168.1.A上conf/sip_profiles/external/配置一个到192.168.1.B的网关

浙公网安备 33010602011771号