JS 与 trick 代码的运用及解析全攻略
1208
2022-08-24
RTP Issues
Contents [hide] |
Overview
RTP issues can be difficult to diagnose without a healthy amount of packet captures, etc.
Devices with Issues
Sonus
Carrier Info
Carriers known to be using this device: L3, WilTel, Bandwidth.com, Broadvox, Global Crossing, XO, and Qwest.
19:40, 9 December 2008 (PST)Known to support exactly729 with rfc2833 OR711u with DTMF inband.
If you're using FreeSWITCH then you'll be stuck using 711u (PCMU) with DTMF inband. (also rfc2833 look below how)
Dropped audio infrequently. Anthony discovered that they have a +500ms response time if you STOP streaming RTP data to the carrier.
Whatever hardware they use has a list of reasons to reset.
Causes:
If your installation of FreeSWITCH want to change timestamp base and send them mark bit, they reset with 2 seconds of silence.If you send 2833 on it's own timestamp base it resets.
Dropped Audio
If you are suffering from dropped audio, specifically regarding the first 2-3 seconds of a single audio stream then try the following: In conf/vars.xml
In sip_profiles/internal.xml Make sure you are running a FreeSWITCH version newer than Dec. 9th, 2008
DTMF Problems
If you are having DTMF problems and Sonus is in your media path, you should make sure you are using the latest version of FreeSWITCH. As of FreeSWITCH revision 10744, FreeSWITCH auto-detects Sonus end-points and applies a hack to "fix" the issue. The hack is described as follows (from switch_types.h):
Sonus wrongly expects that, when sending a multi-packet 2833 DTMF event, the sender should increment the RTP timestamp in each packet when, in reality, the sender should send the same exact timestamp and increment the duration field in the 2833 payload. This allows a reconstruction of the duration if any of the packets are lost. final_duration - initial_timestamp = total_samples However, if the duration value exceeds the space allocated (16 bits), the sender should increment the timestamp one unit and reset the duration to 0. Always sending a duration of 0 with a new timestamp should be tolerated but is rarely intentional and is mistakenly done by many devices. The issue is that the Sonus expects everyone to do it this way instead of tolerating either way. Sonus will actually ignore every packet with the same timestamp before concluding if it's DTMF.
Note that the version of FreeSWITCH which has this patch auto-detects Sonus, so you don't need to configure anything.
If you are going through a provider who uses Sonus only as an SBC and not in your media path FreeSWITCH may incorrectly identify your call as going through Sonus and actually corrupt your media stream's DTMF. You can override FreeSWITCH's auto-detection ofend-user agents with a flag in your sip_profiles/ profiles. Just add:
In some cases, you may have the reverse situation where Sonus or Cisco equipment sits in your media path, but FreeSWITCH can't auto-identify it. In that case, try these settings:
if you are having trouble with Cisco equipment. For Sonus, try:
If your Call to a Sonus still won't work
For those of you who have tried the auto-rtp-bugs
In the GSX Navigator (Sonus Insight), go to Sonus→Profiles→Packet Service Profiles→default. You may have some changes made to the Fax Treatment/Failure section. To resolve the DTMF you will have to change that to match the below examples.
An example of a base profile that will not work:
Audio Encodings: G.711 DTMF Modem Fax Pkt Size/ Law/ Relay/ Treatment/ Treatment/ Priority Codec Code Rate Send SID Remove Failure Failure 3 G711SS 20 LAWFROMCIR NONE G711FALLBACK G711FALLBACK 0BPS DISABLED DISABLED CONTINUE CONTINUE 4 G711 20 LAWFROMCIR NONE G711FALLBACK G711FALLBACK 0BPS DISABLED DISABLED CONTINUE CONTINUE
What you would need to change it to, to fix the DTMF:
Audio Encodings: G.711 DTMF Modem Fax Pkt Size/ Law/ Relay/ Treatment/ Treatment/ Priority Codec Code Rate Send SID Remove Failure Failure 3 G711SS 20 LAWFROMCIR NONE G711FALLBACK FAXRELAYORG711FA 0BPS DISABLED DISABLED CONTINUE CONTINUE 4 G711 20 LAWFROMCIR NONE G711FALLBACK FAXRELAYORG711FA 0BPS DISABLED DISABLED CONTINUE CONTINUE
The above profile will work if you are sending direct to the GSX using the dtg=TRUNKGROUP
It's a crazy world out there.
Other Options
See also
For more information on these and other Sonus issues:
http://submityoursip.com/wiki/Sonus_NBShttp://blog.krisk.org/2009/02/update-youve-been-waiting-for.htmlhttp://freeswitch.org/node/160
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~