I’m facing a problem in my Freepbx, when I make some calls to external numbers, the call completes, but I don’t have any audio return on my side, the external number that I called can hear me.
But for anothers external numbers, I can make the normal call and have audio on both sides, there is no standard… It is always about external calls, some numbers work on both sides and others do not, however when I receive a call from them I can hear audio from both sides, the error only occurs when I call, when I receive the call it works 100%.
When contacting my SIP provider, he returns me saying that in the calls that I have no audio on my side, there is a change in my RTP port, always changing to 1024, causing this loss, I will be forwarding a screenshoot of their panel.
Make sense the problem is RTP port? Or not?
And how I can solve it?
I currently have my freepbx installed in a VM, I have two network cards installed in Freepbx, eth0 for internal communication with my LAN network, and eth1 for direct communication with my internet provider which is what bridges to my SIP link provided by web, not going through any internal firewall to avoid possible blocks.
For this configuration we left our default gateway for communication with eth1 and created a route in freepbx for communication with our LAN network.
But it’s not ‘directly’ on the internet, there is a NAT router with LAN address 192.168.200.1 and WAN address 22.214.171.124 . This may be in the same device (probably supplied by CMC) as your modem or ONT. I’m guessing that the router is rewriting the source port number, but the failure does not occur on all calls because some of Algar’s upstream carriers are doing symmetric RTP (sending RTP back to whatever port incoming RTP came from).
In this router, forward Asterisk’s RTP port range (default is UDP ports 10000-20000) to the 192.168.200.x LAN address of the PBX. If the router has a ‘disable source port rewriting’ or a ‘consistent NAT’ option, try that, instead of or in addition to the port forwarding.
One thing that seems strange is that your route-eth1 file has ADDRESS0 defined as the public address, which is inconsistent with what ifconfig shows. Can you explain?
If you still have trouble, post make/model(s) of your modem/gateway/router.
Unrelated to your problem, I noticed that you are using g729, which has noticeably worse voice quality than g711A (alaw). Unless you have very slow upload speed (such as a classic DSL line), try setting alaw as the first priority codec for the trunk. By modern standards, the additional bandwidth used is insignificant.
Perfect! Mikrotik’s DMZ pointed to the final IP 200.10 which was pfsense’s, now we replace the eth1 ip from final 200.20 to 200.10 which was pfsense’s…doing this we got success and audio on both sides.
The DMZ was the solution to put into practice what you called “rewriting the port number”.