freeswitch之内线呼叫挂不断问题

这篇具有很好参考价值的文章主要介绍了freeswitch之内线呼叫挂不断问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  内网部署freeswitch, 注册2个账号A和B, A和B建立通话后,无论哪一方挂断,另一方都不能结束通话。通过抓取报文发现,这是由于INVITE和200-INVITE经过freeswitch后,Contact头域的地址被改成了公网地址(该地址是由freeswitch的stun机制获取的),挂断时bye消息发到了公网地址。

一、问题报文说明

A发送呼叫请求到服务器
INVITE sip:1002@192.168.1.200:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.65:51104;branch=z9hG4bK-d87543-ea1c764d1423e72b-1–d87543-;rport
Max-Forwards: 70
Contact: <sip:1001@192.168.1.65:51104>
To: “1002”<sip:1002@192.168.1.200:5060>
From: “1001”<sip:1001@192.168.1.200:5060>;tag=132a9c4b
Call-ID: ZmUxYjE5ZGIzYTdlZDExZTFiM2IyMTkyNWE2YjY1ODU.
CSeq: 2 INVITE

服务器转发INVITE到B
INVITE sip:1002@192.168.1.222:5060 SIP/2.0
Via: SIP/2.0/UDP 39.155.140.178;rport;branch=z9hG4bK4K5Xp3cZa2y7g
Max-Forwards: 69
From: “Extension 1001” <sip:1001@192.168.1.200>;tag=5ye7K3yS6eZXr
To: <sip:1002@192.168.1.222:5060>
Call-ID: 99605942-c039-123c-3fb7-000c292322c0
CSeq: 72057422 INVITE
Contact: <sip:mod_sofia@39.188.140.179:5060>
User-Agent: FreeSWITCH-mod_sofia/1.10.9-release~64bit

注:服务器将INVITE中的contact地址改成了公网地址39.188.140.179,同理,对端返回的200经过freeswitch后contact地址也变成了公网地址。导致后续挂断的BYE消息发到了公网地址,由于没有作端口映射,freeswitch无法收到BYE消息。

二、配置修改

conf/sip_profiles/internal.xml:文章来源地址https://www.toymoban.com/news/detail-678363.html

<!--<param name="ext-sip-ip" value="$${external_sip_ip}"/>-->
将下面的value改为freeswitch的内网地址
<param name="ext-sip-ip" value="$${local_ip_v4}"/>

到了这里,关于freeswitch之内线呼叫挂不断问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • freeswitch的任务引擎问题与解决方案

      freeswitch核心框架中有一个定时任务系统task,在开发过程中用来做一些延时操作和异步操作很方便。 我们在VOIP的呼叫流程中,经常会有一些对实时性要求没那么高的操作,或者会有阻塞流程的操作,我们都可以开启一个定时任务子流程,来达到延时和异步的目标。 但是在

    2023年04月27日
    浏览(23)
  • FreeSWITCH 1.10.10 简单图形化界面7-记录一次配置讯时网关的问题

    用户使用的是迅时HX4E。按照这篇文章配置后,能呼出,不能呼入。 直接呼入网关自己挂了,FreeSWITCH也没有收到任何呼入消息; 网关SIP日志,提示自己486 busy; 抓包发现讯时网关把invite 请求行IP是对的,但是消息发给网关自己了,挺纳闷的; 折腾两个小时用户发现把网线查到

    2024年02月09日
    浏览(34)
  • 猿创征文|【FreeSwitch开发实践】使用sipp对FreeSwitch进行压力测试

    ✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:FreeSwitch开发实践 ✨ 专栏介绍:主要介绍博主在实际项目中使用FreeSwitch开发外呼类项目的一些经验心得,主要涉及FreeSwitch的基本安装编译、基本配置、ESL、WSS、录音、自定义模块、media bug、语音播放、MRCP及对接AI机器人等内容

    2024年02月03日
    浏览(35)
  • FreeSwitch中启用WebRTC

    FreeSWITCH是一个开源的电话交换软件平台,它允许用户建立语音、视频和即时消息通信系统。FreeSWITCH可以在多个操作系统上运行,包括Linux、Windows、MacOS等,并且支持多种语音和网络协议,例如SIP、H.323、WebRTC、RTP、RTCP等。 FreeSWITCH被广泛用于语音信箱、呼叫中心、电话会议、

    2024年02月01日
    浏览(30)
  • FreeSWITCH —— 常用指令

    (1)使用freeswitch -help 或freeswitch --help 会显示一些命令及其相关说明。 (注:以上显示Unknown Command,直接输入help就可以了) 常用命令如下: 1、version —— 显示当前版本 2、status —— 显示当前状态 3、sofia status —— 显示sofia 状态(查看freeswitch监听的IP和本电脑ip) 4、help

    2024年02月12日
    浏览(29)
  • freeswitch带媒体压力测试方案

      原本的计划是使用sipp完成带媒体压力测试,但是实际测试过程中发现sipp的媒体处理功能有问题(也有可能是我使用的姿势不对)。 sipp在带媒体的情况下(600路并发开始),出现大量的不响应和响应延迟,UAC和UAS都有该问题,猜测是sipp内部处理大量媒体的情况下,业务逻

    2024年02月07日
    浏览(29)
  • FreeSWITCH添加自定义endpoint

    操作系统 :CentOS 7.6_x64      FreeSWITCH版本 :1.10.9   日常开发过程中会遇到需要扩展FreeSWITCH对接其它系统的情况,这里记录下编写FreeSWITCH自定义endpoint的过程。 使用FreeSWITCH自带的框架来定义模块函数,函数指针及参数列表定义如下(src/include/switch_types.h)   SWITCH_MODULE_LOAD

    2024年02月06日
    浏览(32)
  • freeswitch透传带SDP的180

      freeswitch是一款简单好用的VOIP开源软交换平台。 freeswitch对于180/183的消息处理有默认的规则,但是在3GPP的标准中,消息流程会更加复杂,场景更多变。 这样就需要我们根据实际环境中的场景定制消息流程。 本文只讨论带SDP的183/180消息。 centos:CentOS  release 7.0 (Final)或以上

    2024年02月08日
    浏览(27)
  • FreeSWITCH mrcp-v2小记

    最近得知有人受mrcp的困扰,于是写了这篇小文,希望能有所帮助 FreeSWITCH版本选择 目前当然选择1.10.10,不建议老版本,差别在于老版本用到的libmrcp比较旧,是1.2版本,bug比较多,有时会crash,而FreeSWITCH1.10.10用libmcrp1.6,要稳定很多 编译 编译不在本文的讨论范围,可能有点小

    2024年02月05日
    浏览(52)
  • FreeSWITCH添加iLBC编码及转码

    操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 从第三方库里下载指定版本: 如果下载过慢,可从如下途径获取: 关注微信公众号(聊聊博文,文末可扫码)后回复 20230416 获取。 编译及安装步骤如下: 安装成功:  如果遇到如下错误: libilbc目录下会自动生成libtool文件,将系统

    2023年04月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包