May be I miss some important details? No suggestions?
Thank you.
Hello, all.
Using nathelper + rtpproxy for subj. Kamailio has
public and private
network interfaces. Asterisk is only private. RTP Proxy is working in
bridge mode and relaying traffic from UAC to Asterisks.
Everything is working fine, except one configuration.
When the client is
behind router ( a specific one, I do not have an access there to
check ), and this UAC is making a call to other public extension, which
is behind router, then RTP Proxy is relaying traffic to the caller,
using another UDP port, then the packets arrive.
For instance:
UAC 1 -> UAC 2
PUBLIC_IP:10 > KAMAILIO_IP:5555
KAMAILIO_IP:5678 > PUBLIC_IP:12
While for the UAC 2 it looks like:
PUBLIC_IP:20 > KAMAILIO_IP:6767
KAMAILIO_IP:4564 > PUBLIC_IP:20
The source and destination UDP ports are the same. As
result, I can hear
UAC 1 and he cannot hear me.
In case of we have UAC 3, which is behind other
router, call is working
fine with same configuration.
"It's routers fault" you can say, but in
the same configuration ( I mean
network, not kamailio ) it worked, but when RTPProxy was not in bridge
mode and Kamailio and Asterisks were in public network. Reinvites are
not allowed in both cases.
The question is, why the source and destination UDP
ports are different?
Using STUN in first case, cause without it, private IP written in
contacts and as result, traffic relayed from Kamailio is incorrect,
cause heading to private network which is unreachable.
Any ideas where to dig?