FreeSwitch视频会议同时支持内网和外网接入

        我们在使用freeswitch进行视频会议时,之前所有的用户都是通过外网的方式接入,因为fs给其返回的sdp协议内容里,只需要fs配置的外网IP就可以了;最近由于引入新的业务需要有其他内网的服务器也可以直接接入fs的视频会议房间,这样就需要在内网服务器接入时,返回给其fs的内网地址;在测试验证中,发现内网的服务器接入后,返回的answer的sdp内容里,IP仍然是ext-rtp-ip的地址(verto方式接入);
       经过各种查询资料和chatgpt仍然没有解决掉,只好回头看fs的源码,发现在switch_core_media.c里有一段处理本地sdp返回ip的处理方法:switch_core_media_choose_port,里面有一段代码用于设置返回sdp里的fs的ip的一段逻辑,switch_snprintf(vname, sizeof(vname), "rtp_adv_%s_ip", tstr);设置了两个参数值:rtp_adv_audio_ip和rtp_adv_video_ip;有这两个参数时,use_ip会从这两个参数最值;
      这样就可以在dailplan的执行计划里做相应的处理了:
          

通过上面的配置,让内网的服务器接入-local的逻辑处理,设置上面的两个参数值为本地的ip(local_ip_v4),没有-local的执行计划,这两个参数设置为:external_rtp_ip(配置为外网ip),即可实现一套fs即支持内网也支持外网的入会逻辑处理了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值