我在公共IP xx.xx.xx.xx&上设置了专用的Opensips服务器。专用的Freeswitch Server 192.168.1.2,专用的MySql数据库服务器192.168.1.3。我的路由器是192.168.1.1。我还从192.168.1.5上的提供商处获得了一个SIP中继。所有服务器都在Debian 8上。
除了有自己的网关xxx.xx.xx.xy的opensips服务器之外,我已将网关设置为192.168.1.5。
Opensips服务器有2个以太网端口eth0& eth1的。我把eth1设为192.168.1.4 如何启用Opensips服务器public ip访问本地Mysql服务器,并将调用发送到Freeswitch Server。
我启用数据包转发: /etc/sysctl.conf中 把net.ipv4.ip_forward = 1
我在openips上的iptables是这样的:
iptables规则:
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
感谢。
答案 0 :(得分:0)
只要为每个接口定义一个OpenSIPS listener
,传出接口选择就应该是开箱即用的。使用$ru
或$du
(或两者兼而有之!)设置您的目的地,然后使用t_relay()
,您应该做得很好。
如果出于任何原因,所选择的出站界面不正确,您可以在t_relay()
来电之前使用force_send_socket()
强制首选界面。