freeswitch+freeswitch+语音网关拨打电话

说明

架构

语音网关部署在内网环境,在外网环境中的freeswitch-cloud不能直接调用到语音网关。在内网环境中再部署一台freeswitch用于转发

graph LR freeswitch-cloud --> freeswitch-local --> 语音网关

配置描述

  • 1、语音网关开放552241、552242、552243三个电话线路
  • 2、freeswitch-local注册使用这三个电话线路拨打电话
  • 3、后面的配置都在freeswitch-local中

gateway配置

/usr/local/freeswitch/conf/sip_profiles/external分别配置gw1、gw2、gw3

xml 复制代码
<!-- gw2、gw3类似只是username和password不一样 -->
<gateway name="gw1"> 
    <param name="realm" value="123.34.54.233:5060"/>
    <param name="username" value="552241"/>
    <param name="password" value="552241"/>
    <param name="register" value="true" /> 
    <param name="register-transport" value="udp"/>
</gateway>

问题一:三条电话线路只有一条可以注册成功

现象查看

bash 复制代码
# fs_cli控制台执行,只有一个gateway能够成功
sofia status

排查

  • 1、MicroSIP都能同时注册成功
  • 2、通过抓包,发现Via: SIP/2.0/UDP 122.44.22.44:56068存在端口不同

解决

如下图:修改/usr/local/freeswitch/conf/sip_profilesexternal.xml,并另外复制两份对应gw2、gw3

问题二:拨打的电话并非配置的分机号,而是总台号码

排查

  • 1、使用MicroSIP拨打是分机号
  • 2、使用originate命令拨打时,为总台号码
  • 3、使用抓包工具,对比两个的SIP请求的From头。MicroSIP显示为:From: "552241" <sip:552241@123.34.54.233:5060>,使用originate命令拨打显示为:From: "" <sip:552241@123.34.54.233:5060>

解决

如下:修改/usr/local/freeswitch/conf/dialplanpublic.xml,gw2、gw3配置一致

xml 复制代码
<extension name="out_gw1">
    <condition field="destination_number" expression="^(\d+)$">
       <action application="set" data="effective_caller_id_number=552241"/>
       <action application="set" data="effective_caller_id_name=552241"/>
       <action application="set" data="caller_id_number=552241"/>
       <action application="bridge" data="sofia/gateway/gw1/${desttination_number}"/>
    </condition>
</extension>

修改拨号计划的这三个配置,在originate sofia/gateway/gw1/17847331832这种命令中应该如何写?

相关推荐
Moonbit1 小时前
MoonBit 作者寄语 2025 级清华深圳新生
前端·后端·程序员
前端的阶梯1 小时前
开发一个支持支付功能的微信小程序的注意事项,含泪送上
前端·后端·全栈
咕噜分发企业签名APP加固彭于晏1 小时前
腾讯元器的优点是什么
前端·后端
AAA修煤气灶刘哥2 小时前
Swagger 用着糟心?试试 Knife4j,后端开发狂喜
后端·面试
bobz9652 小时前
MCP on windows
后端
泡海椒2 小时前
jquickexcel 全功能指南:从数据导入到精美导出的完整流程
后端
iOS开发上架哦3 小时前
移动端网页调试实战,键盘弹出与视口错位问题的定位与优化
后端
百度Geek说3 小时前
PaddleMIX推出扩散模型推理加速Fast-Diffusers:自研蒸馏加速方法FLUX-Lightning实现4步图像生成
后端
gopher_looklook3 小时前
Go并发实战:singleflight 源码解读与二次封装
数据结构·后端·go
用户833810251223 小时前
我为什么做PmMock:让接口设计不再头疼
前端·后端