美文网首页
【Freeswitch】【媒体NAT穿越案例二】借助Opensi

【Freeswitch】【媒体NAT穿越案例二】借助Opensi

作者: 安安爸Chris | 来源:发表于2020-11-18 18:04 被阅读0次

什么是Opensips,这里不做介绍,不知道的请自行google了解一下

如果存在这样的场景,Freeswitch部署在内网,它没有在SDP中提供公网IP(ext_sdp_ip配置为内网)。
在防火墙策略方面,Freeswitch仅开放rtp端口和SIP端口

网络拓扑结构

如果在网络拓扑上,FS是依托于Opensips做信令层通信的话,可以借助Opensips来实现SDP的NAT翻译。


网络拓扑

NAT翻译效果

这是FS发送的INVITE中携带的SDP,IP地址都是内网。它在经过Opensips前是这样的,


NAT翻译前

经过Opensips翻译后,是这样的,


NAT翻译后

Opensips的配置

那么Opensips应该如何配置呢?
主要通过fix_nated_sdp函数来实现sdp的翻译

opensips脚本配置

fix_nated_sdp(flags [, ip_address [, sdp_fields]])函数解析:
flags必选参数,该值可以是以下值或以下值的按位或得到的值:
0x01 --在SDP中增加“a=direction:active”行;
0x02 --使用消息的源地址或者ip_address参数指定的Ip地址重写SDP中媒体IP地址(“c=”)。
0x04--在SDP中增加”a=nortpproxy:yes”行。
0x08 --使用消息的源地址或者ip_address参数指定的Ip地址重写SDP中源IP地址(“o=”)。
0x10 --强制重写空的媒体IP和空的源IP地址。如果没有此标志,空IP将保持不变。

相关文章

网友评论

      本文标题:【Freeswitch】【媒体NAT穿越案例二】借助Opensi

      本文链接:https://www.haomeiwen.com/subject/wjpxiktx.html