Hello everyone,
Problem
After 5 hours of debugging I found a weird issue which seems to only happen between yealink desk phones and the sangoma phone desktop app. When a user calls someone with the sangoma phone desktop app and the other one uses a yealink deskphone and answers the call there is 1 to 3 seconds no audio and after that there is a delay for like 8 seconds which also increases over the 8 seconds. After that everything is fine and there is no delay anymore. This happens on local calls on the same network. No firewall rules inbetween and I have already switched the network switch.
Solution
Disabling the G.722 codec on the yealink phone fixes the problem completely.
But I don’t know what causes this problem because other devices are working fine with the Yealink phones and the Sangoma Phone Desktop app.
Tests
I have tested the following phones, which all are using the G.722 codec:
- Sangoma Phone Desktop <=> Yealink (T33G and T54W) => Problem
- Sangoma Phone Destkop <=> Unify OpenScape Desk Phone CP200 => No problem
- Yealink Phone <=> Yealink Phone => No problem
- Yealink Phone <=> MicroSIP => No problem
For me it looks like there is a problem with negotiating the right codecs when using Sangoma Phone Desktop. When I am checking the channels in the cli the channel of the softphone (98101) does not match the codec of the other phone (100). If the other phone only support G.711u it prints something like this:
freepbx*CLI> pjsip show channelstats
...........Receive......... .........Transmit..........
BridgeId ChannelId ........ UpTime.. Codec. Count Lost Pct Jitter Count Lost Pct Jitter RTT....
===========================================================================================================
e6342d7c 100-00000007 00:00:09 ulaw 410 0 0 0.000 398 0 0 0.000 0.000
e6342d7c 98101-00000008 00:00:09 g722 158 0 0 0.000 167 0 0 0.000 0.000
Can someone enlighten me on this?