I have always been taught that RTP traffic flows directly between endpoints unless the SIP PABX functions as a gateway and one of the endpoints is not local, i.e. it’s not an internal call. However, Wireshark and tcpdump are showing me that all RTP is flowing via Asterisk, i.e. going to the server and then being retransmitted from the server to the destination endpoint, even though I have a local-only Asterisk installation, i.e. there are absolutely no trunks of any type.
Thanks, Mikael, I’d never have thought of looking there.
I’ve changed the settings of all the extensions to “canreinvite=yes”. I tried a call between two soft phones that are on the 10.44.60 subnet, Asterisk being at 192.168.46.178. All the RTP still flowed via Asterisk. Is this what you’d expect as a result of the different subnets? The phones all have “nat=never”.
[edit] … and it’s not the ability to record, either, because I turned that to “never” for both ends. I can’t see any reason why the RTP should flow via Asterisk, and therefore I can’t see why Asterisk should translate the IP addresses in the INVITE and 200 OK messages.
Check your dial command options under general settings. Certain options cause asterisk not to re-invite. The link that was posted above has more information.