Hmm, after experiencing some difficulty with a pjsip client that's behind symmetric NAT, further inspection of its logs left me somewhat confused.

Here's the relevant part of the logs of client behind symmetric NAT receiving an INVITE

D/libpjsip(10600): a=candidate:Sc0a80104 1 UDP 1862270975 85.xx.xx.xx 4016 typ srflx raddr 192.168.1.4 rport 4016
D/libpjsip(10600): a=candidate:Hc0a80104 1 UDP 1694498815 192.168.1.4 4016 typ host
D/libpjsip(10600): a=candidate:Sc0a80104 2 UDP 1862270974 85.xx.xx.xx 4032 typ srflx raddr 192.168.1.4 rport 4032
D/libpjsip(10600): a=candidate:Hc0a80104 2 UDP 1694498814 192.168.1.4 4032 typ host
D/libpjsip(10600): a=sendrecv
D/libpjsip(10600): a=rtcp:30057
D/libpjsip(10600): a=candidate:VStiX9ltDBcGrfnS 1 UDP 2130706432 190.xx.xx.xx 30056 typ host
D/libpjsip(10600): a=candidate:VStiX9ltDBcGrfnS 2 UDP 2130706431 190.xx.xx.xx 30057 typ host


Now a few things here seem confusing to me. 

1) The rtpengine IP (190.) is added as a host candidate (shouldn't it be relay instead?).
2) The candidate priorities seem wrong. ie the local address is correctly added as host, but isn't 1694498815 less than 1862270975? meaning the srflx candidate has higher priority than the host candidate if I understand the RFC correctly - shouldn't that be the other way around?
3) The priority of the rtpengine candidate (190.) is 2130706432, which again is greater than all the other priorities, meaning my rtpengine relay will get the highest priority instead of the opposite.

I must be either wrongly interpreting what's going on, or something in my basic kamailio with rtpengine install is wrong.

Any help?

Thanks


On Fri, Jul 4, 2014 at 12:13 PM, Peter Villeneuve <petervnv1@gmail.com> wrote:
Thanks guys


On Fri, Jul 4, 2014 at 7:36 AM, Juha Heinanen <jh@tutpro.com> wrote:
Peter Villeneuve writes:

> How about with ice candidate priorities in ng? Is it the same as rtpproxy
> module with ice_candidate_priority_avp?
> I want my added ice candidates in rtpengine to have the lowest priority so
> relaying only happens if the peers can't directly communicate.

you can use ICE=force_relay if you want to keep the existing non-relay
candidates.

-- juha

_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev