当前位置: 首页 > news >正文

贵阳网站建设王道下拉惠网站建设制作教程

贵阳网站建设王道下拉惠,网站建设制作教程,制作网站需要的技术,谷歌推广服务本文仅讨论FreeSWITCH部署在NAT之后(里面)这种场景,假设私网地址与公网地址有一个确定的映射关系。这里只涉及mod_sofia(SIP信令及媒体)相关配置,其他模块不在本文讨论之列。配置mod_sofia默认提供两个prof…

本文仅讨论FreeSWITCH部署在NAT之后(里面)这种场景,假设私网地址与公网地址有一个确定的映射关系。

这里只涉及mod_sofia(SIP信令及媒体)相关配置,其他模块不在本文讨论之列。

配置

mod_sofia默认提供两个profile,可以理解成是两套配置,最主要的区别是监听端口不一样,其他的区别包括是否启用TLS加密,使用哪个拨号计划等等。这里以internal profile为例。

1、配置预处理变量

FreeSWITCH的惯例是把预处理变量定义在vars.xml文件中,然后再由其他配置文件去引用。这里我们主要关注公网地址以及SIP监听端口。

etc/freeswitch/vars.xml
<include><!-- 注意,X-PRE-PROCESS开头的配置都是预处理配置,有点像是定义全局变量,但是变量的值可以在程序启动时动态获取到 --><!-- 这两个变量必须要设置成公网IP,有3种方法配置公网IP: --><!-- 1、配一个固定的公网IP --><X-PRE-PROCESS cmd="set" data="external_rtp_ip=172.21.221.137"/><X-PRE-PROCESS cmd="set" data="external_sip_ip=172.21.221.137"/><!-- 2、通过公网上的stun服务动态获取 --><X-PRE-PROCESS cmd="stun-set" data="external_rtp_ip=stun:stun.freeswitch.org"/><X-PRE-PROCESS cmd="stun-set" data="external_sip_ip=stun:stun.freeswitch.org"/><!-- 3、通过域名解析动态获取 --><X-PRE-PROCESS cmd="set" data="external_rtp_ip=host:host.server.com"/><X-PRE-PROCESS cmd="set" data="external_sip_ip=host:host.server.com"/><!-- 配置两个profile所监听的SIP端口: --><!-- Internal SIP Profile --><X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/><X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/><X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/><X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/><!-- External SIP Profile --><X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/><X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/><X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/><X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
</include>

2、配置sip profiles

这里才是mod_sofia真正会读取的配置。这里以internal profile为例,external同理。

etc/freeswitch/sip_profiles/internal.xml
<profile name="internal"><settings><!--这里引用vars.xml里面配置的全局变量。注意,要以$${var}的形式引用!注意,local_ip_v4这个全局变量是fs_core自动设置的,每分钟更新一次。如果机器有多个IP,需要手动指定一个,详见官方文档:https://developer.signalwire.com/freeswitch/Channel-Variables-Catalog/local_ip_v4_16353556/--><!-- 当前这个profile所要监听的SIP端口。 --><param name="sip-port" value="$${internal_sip_port}"/><!-- 接收RTP流的端口要绑定在哪个地址上。只能是IP地址,不能是域名! --><param name="rtp-ip" value="$${local_ip_v4}"/><!-- 接收SIP请求的端口要绑定在哪个地址上。同上,只能是IP地址。 --><param name="sip-ip" value="$${local_ip_v4}"/><!-- 对外通告RTP消息时所用的地址。 --><param name="ext-rtp-ip" value="$${external_rtp_ip}"/><!-- SIP报文中Contact header的地址。 --><param name="ext-sip-ip" value="$${external_sip_ip}"/></settings>
</profile>

3、配置媒体端口范围

有些NAT或防火墙只能映射或允许一个范围内的端口,这就需要调整FreeSWITCH接收RTP媒体流所用的端口范围。

注意:FreeSWITCH使用偶数端口接受RTP流,使用奇数端口收发RTCP消息。假如需要承载50路通话,则至少要映射100个端口!

etc/freeswitch/autoload_configs/switch.conf.xml
<configuration name="switch.conf" description="Core Configuration"><settings><!-- RTP port range --><param name="rtp-start-port" value="40000"/><param name="rtp-end-port" value="40009"/></settings>
</configuration>

验证

人为改一下ext-rtp-ipext-sip-ip,观察它们的作用:

此时有一个到达internal profile的呼叫,从FreeSWITCH回复的200 OK中可以看到,Contact header中填的是ext-sip-ip,而SDP部分填的是ext-rtp-ip

问题

  • 私网端口号与公网端口号不一样怎么办?比如:私网:5060 <==> 公网:8060

  • 恐怕只能修改代码了。mod_sofia可以支持监听IP与通告IP不一致,但端口不能不一致。即它就只能在SIP报文中通告它自己本地监听的端口。

以上就是FreeSWITCH跨NAT部署配置详解的详细内容,更多关于FreeSWITCH跨NAT部署的资料请关注其它相关文章!

http://www.dt0577.cn/news/20705.html

相关文章:

  • seo站长工具是什么杭州网络推广网络优化
  • 国务院建设主管部门网站适合员工的培训课程
  • 网站建设的什么是网站建设的第一阶段推广普通话手抄报图片
  • 中山做网站的app下载注册量推广平台
  • 加快网站速度推广软件免费
  • 福州网站建设资讯淘宝代运营靠谱吗
  • 网页设计美工是做什么长春百度关键词优化
  • 卖花网站模板产品线上营销方案
  • 在凡科做网站编辑销售找客户的方法
  • 什么网站做简历比较好域名注册哪个平台比较好
  • 小程序个人开发全过程关键词优化收费标准
  • 凡科做网站有什么用爱站网长尾关键词挖掘工具
  • 建站下载专用网站网站开发月薪多少钱
  • 晋城做网站网页制作用什么软件做
  • 建e网全景图北京优化seo公司
  • 用vs2012做网站电脑培训班
  • 如何用front做网站网页跨境电商平台哪个最好最可靠
  • 老阿姨哔哩哔哩b站肉片入口直播网站seo 优化
  • 300平方别墅装修大约多少钱东莞seo计费
  • 第三方交易平台的建立与操作淄博搜索引擎优化
  • 如何开一家公司流程天津百度seo推广
  • 网站开发相关外文书籍百度广告电话号码是多少
  • 公司网站建设项目目的电商网络销售是做什么
  • 渭南临渭区疫情最新消息湖南有实力seo优化哪家好
  • 做正品的汽配网站郑州疫情最新情况
  • 做免费网站有哪些大数据营销 全网推广
  • 网站地图html模板seo公司培训课程
  • 企业web网站设计百度极速版推广员怎么申请
  • 如何进行网站运营与规划宁德市有几个区几个县
  • WordPress工具站点热狗seo优化外包