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_profiles下external.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/dialplan下public.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这种命令中应该如何写?

相关推荐
怕浪猫3 小时前
2026年9月面18个后端
后端·面试·github
IT_陈寒3 小时前
Vue 这个响应式陷阱,我的头发都掉没了
前端·人工智能·后端
谁在黄金彼岸3 小时前
trae的gitee mcp莫名错误
后端
前端的日常3 小时前
一个人+AI做情侣食谱小程序,30天纯赚
前端·javascript·后端
再吃一根胡萝卜4 小时前
给 RAG 问答加上「多轮指代消解」:让"他 / 这个"不再翻车
后端
Wx-bishekaifayuan5 小时前
springboot生活易购超市管理系统54086-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
lizhongxuan5 小时前
VirtIO:虚拟机的磁盘、网络与内存是怎样工作的
后端
计算机毕设定制辅导-无忧学长5 小时前
《基于Spring Boot的减脂轻食购物网站》
java·vue.js·spring boot·后端·减脂轻食购物网站
沐欣工作室_lvyiyi5 小时前
基于SpringBoot的博物馆预约系统设计与实现(论文+源码)
java·spring boot·后端·计算机毕业设计
拾光记6 小时前
Maven依赖与类加载机制
后端