Hello,
Using pjsip on FreePBX 14.0.5.25 (Asterisk 13.24.1) on my landline, I have a misc destination setup to my cell phone. When the deviation is activated and people call my landline, it establishes a connection with my cell that I can answer, but then NO SOUND at all. After a while, it disconnects.
There are some related questions, but on chan-sip (activating fax, adding progressiveband, etc.), so it does not help
Anybody with any idea why that happens and what can be done to cure this ?
Help would be so very welcome. Thanks !
I am guessing that your PBX is behind a NAT, which (by default) blocks RTP packets from reaching the PBX. On an ‘ordinary’ call there is no issue because RTP is sent out on the trunk (from extension, IVR, voicemail, etc.); the incoming RTP appears to the NAT as ‘replies’ and is routed to Asterisk. In the trunk-to-trunk case, there is no audio to send out, so none comes in.
In your router, forward the UDP port range used for RTP (default 10000-20000) to the LAN address of your PBX.
Alternatively, you can route the incoming call to a dummy Announcement to answer the call, e.g. half a second of silence, and then to your misc destination.
If the above is not your issue, please describe your network setup as well as any virtualization, VPN, VLAN, etc.
thank you so much for your reply !
yes with an announcement, it does improve greatly !!!
BUT it works only once with sound: i have to deactivate and then reactivate the deviation call flow control. It is somehow stuck in a weird state when the misc destination is set as destination after playback. That is not the case when one terminates the call after the announcement playback…strange.
Concerning NAT, my router provider does not allow me to forward ports, because, I cite:
“the box is not attributed a public internet address. Therefore port forwarding option is not available”
Not sure I understand what you say. I believe I have to explain the context a bit more: the internet box from my provider has telephony services included, i.e. it provides local SIP (proxy/server addresses are the local box IP address). It works perfectly well with freepbx with my home phones.
The only problem at this time is flow control stuck in a weird state in cell phone forward mode when receiving a second phone call.
Thanks
Hello Stewart1,
I looked at “full” log file. Aside dates and unique id’s, there is absolutely no difference between 1st and 2nd phone call… Should I explore some other log file ?
Thx !
I’m very puzzled. Do I understand correctly that on the second (failing call) it takes the ‘forward’ path (routes to mobile instead of local extension), answers the incoming call and rings the mobile, but when the mobile is answered there is no sound in either direction? If not, explain what does happen.
While I could understand various ways the above could occur, it makes no sense that turning the flow control off and back on would affect it, since that causes no internet activity. Possibly, the trouble is random or it depends on a timeout in the router or at the ISP.
I suggest that you use tcpdump to capture the signaling and RTP of a failed call. We can analyze it to see whether the malfunction is in Asterisk, or in the router/ISP setup. If the former, more verbose logging may show why it messed up and how to fix it. If the latter, there may be a clue to a possible workaround. As root, run tcpdump -s 0 -w foo.cap
and make a failing call. After completion, type control-C to stop the capture, move the file to your PC and open it in Wireshark for analysis. For the test, your Announcement should have some audible content and you should speak into both the calling phone and the destination mobile, so we can see whether audio from either reached Asterisk.
Hello Stewart,
yes, on the second and failed call, the mobile rings and no sound. Furthermore, and that may be key for you to understand: the announcement (which has audible content) redirected to the misc desctination is also not to be heard. From the caller point of view, the 2nd call is completely silent.
It does not seem to be random. Makes no sense !
As I am absent during the week, I will tcpdump the call on the weekend, check for differences and report.
Thx
If you are unable to port forward the full RTP range, then it is likely you will continue to have problems. If your trunks are chan_sip, you can try enabling progressinband:
I’m not sure if there is a corresponding setting for pjsip trunks.
as can be seen on the screenshot below that reflects several tries, the essential difference between a failed call (no sound on the 2nd call) and a successful call (the first call) are the missing lines 12-22. No “PT=Dynamic-RTP-Type” on failed call. The “silent” announcement is not to be heard.
Should I upload the tcpdump or is that enough info for a clue ?
Thanks !
Also after discussing with my provider, they removed me from CGNAT, reason I could not redirect UDP ports in the range 10k-20k. Therefore I tried it but that didn’t change anything !