Hi guys i did the "running skype-like service in less than one hour" and got it running ok. Kamailio run remotely in a datacenter. but i am trying to get the communication working locally between two devices behind the same NAT. I know the #!define WITH_NAT shoud get the call working bidirectionnaly but that is not the case, I've got one way dial every time i'm attempting call !
running a network capture (please find attached to this email )reveal rtp does not flow correctly: the device A 192.168.3.33 send RTP straight to device B 192.168.3.98 ---> OK device B does not behave like that, rather to talk to A (192.168.3.33) it sends RTprotocol to the public_ip of my internet box (refered as public_ip red text in my .png capture) and the WAN leg of my box answers ICMP 242 Destination unreachable (port unreachable)
So comes blind communicatios.
But that is not supposely act like that, right ?
RTP should be relayed by the rtpproxy running on the remote Kamailio and we should have: device A -----> remote_kamailio_ip ----> device B device B -----> remote_kamailio_ip ----> device A
thx you for any help
PS: see attached file
On Wed, May 11, 2016 at 10:16:43AM +0200, Sébastien Brice wrote:
Hi guys i did the "running skype-like service in less than one hour" and got it running ok. Kamailio run remotely in a datacenter. but i am trying to get the communication working locally between two devices behind the same NAT. I know the #!define WITH_NAT shoud get the call working bidirectionnaly but that is not the case, I've got one way dial every time i'm attempting call !
running a network capture (please find attached to this email )reveal rtp does not flow correctly: the device A 192.168.3.33 send RTP straight to device B 192.168.3.98 ---> OK device B does not behave like that, rather to talk to A (192.168.3.33) it sends RTprotocol to the public_ip of my internet box (refered as public_ip red text in my .png capture) and the WAN leg of my box answers ICMP 242 Destination unreachable (port unreachable)
So comes blind communicatios.
But that is not supposely act like that, right ?
Offcourse not.
An image isn't enough to debug. Most likely you nat detect/manage don't trigger correctly. First step might be to invoke the rtpproxy/engine for all calls.