解决opensips NAT 问题和ACK不能正常转发问题

opensip 提供 函数fix_contact();使用SIP消息的源地址和端口更新 contact地址;

所以解决SIP的nat问题,只需要两步

 

1. opensips所有的请求都会进route主路由中。

只需要在route主路由中添加

fix_contact();

 

2. opensips所有的响应都会进onreply_route 路由

只需要在onreply_route主响应路由中添加

fix_contact();

 

配置如下:

route{

# 请求有 INVITE,REGISTER,ACK,OPTION,INFO,MASSAGE,等
        if (!mf_process_maxfwd_header("10")) {
                send_reply("483","Too Many Hops");
                exit;
        }

        # 使用 源ip和端口代替contact的值
        fix_contact();
#....
}

onreply_route{
        # 所有的响应有 1XX,2XX
        fix_contact();   ###  200 OK 响应 contact 为内网IP时,ACK的发送的地址不正确,需要更改contact的地址。
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值