系统相关
首页 > 系统相关> > linux – 如何在FreeSWITCH pbx软件中关闭SIP调用的RTP缓冲?

linux – 如何在FreeSWITCH pbx软件中关闭SIP调用的RTP缓冲?

作者:互联网

我想在freeswitch pbx软件中关闭SIP调用的缓冲.

Freeswitch在缓冲区中保存来自客户端的RTP数据,并每隔20ms发送一次.

我希望freeswitch能够在没有保持的情况下通过数据包.

如何配置?

—–编辑(附加信息)—–

我有两个SIP客户端和FreeSwitch PBX.

语音8 kHz采样率,A-Law编码(每个采样8个字节,无压缩)

当我直接从一个客户端调用另一个客户端时,一个客户端上的tcpdump输出是:

00:00:00.000475 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.031599 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.032012 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.000315 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.031775 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.000384 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.031499 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.031986 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.000475 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.031578 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.031936 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.000419 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172
00:00:00.031573 IP 10.64.177.34.5440 > 10.64.0.42.5082: UDP, length 172

但当我使用pbx作为中间点从一个客户端连接到另一个客户端时,我得到:

00:00:00.020013 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.019969 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.020017 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.019984 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.020078 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.020016 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.019850 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.020045 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.020012 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.019974 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.020054 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.019996 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172
00:00:00.019972 IP 10.64.72.24.30230 > 10.64.0.42.5078: UDP, length 172

两种情况下的平均时间约为20ms(直接情况下较轻),但非常规数据部分似乎对客户更好,因为听到的声音(扬声器或耳机)没有间隙.我认为由于时钟漂移问题,常规时段的数据会导致问题.

所以我想在FreeSwitch中关闭此功能,因此数据将以原始时间戳的形式出现.

解决方法:

我找到了解决问题的方法.

你需要添加一行

<X-PRE-PROCESS cmd="set" data="rtp_notimer_during_bridge=true"/>

在文件中

/etc/freeswitch/vars.xml

这会导致桥接模式下的FreeSwitch保留原始数据包间隔.

标签:telephony,sip,linux,freepbx
来源: https://codeday.me/bug/20190813/1647617.html