In order to see the codec, on which two ip phones agreed, I captured some network traffic with tcpdump resp. wireshark. See my topic "yate always chooses alaw codec, although other codecs preferred".
I have a SIP-only configuration with yate 5.5 running on an openwrt router. The router and the two ip phones reside on the same network (192.168.8.0/24). Both phones register at yate, yate registers at my SIP provider.
According to Marian's hint I have a line "forward_sdp=yes" in ysipchan.conf and a line "${rtp_forward}possible=;rtp_forward=yes" in regexroute.conf. As a result yate doesn't deal with codecs, but just relays all sdp data between the devices.
Now I capture the network traffic with tcpdump on the router's lan interface with the following expression:
udp port 5060 or udp portrange 5004-5020 or udp portrange 7078-7109
The two portranges are the rtp ports of the two ip phones.
When I get an outbound call or when I do an outbound call, I see rtp traffic from my SIP provider to the ip phone and vice a versa. This is what I expected.
But: when I do an inbound call (say: calling from one extension to the other extension), there is no rtp traffic on the network, although both parties can hear each other. So there must be rtp data, but I don't know on which route it is transfered from one phone to the other.
Even an 'tcpdump ... host <address-of-ip-phone>' yields only signalling traffic on port 5060, but no traffic on the rtp ports of the phone.
My question is now: why do I see rtp traffic with an outbound call, but no traffic with an inbound call?
Thanks for reading and have a nice day.
Barney