On 25.10.2013 14:19, Vassilis Radis wrote:
Hello,
When I have 2 clients using a kamailio proxy, and both of the clients
are behind their own NAT, then my only options for relaying media
between them is using some kind of intermediate rtp proxy or STUN etc?

STUN is just a method for a client to find out if it is behind NAT or not. Using this information also for NAT traversal is error prone and thus deprecated.

Proxy is on a public IP and essentially I am asking if I can avoid
setting up stuff to proxy the media or mess with STUN, by using some
kind of request response mangling. i.e. have both clients's sdp
address/port changed to their public facing ip/port and then each client
can send an initial packet to the other end. Those initial packets will
be blocked by the other receiver router, but they will open a nat hole
so that next package from the peer will pass through. Is that feasible?

Sometimes this may work, but there too many different NAT and firewall types so this will not work in general. There are 2 approaches:

1. ICE: If the clients do support ICE, they can do the NAT traversal them self and you will get around 90% (just a guess) done by using ICE.

2. Relaying. Either use something integrated into Kamilio (rtpproxy, mediaproxy-ng) or a dedicated stand-alone TURN server (must be supported by the clients).

Thus, if you want to have 100% working media, with various types of NATs and SIP clients, you must use a media relay. Either use ICE and an optional media relay (to offload your relay) or just enforce a relay for every call.

regards
Klaus

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to