Patch: ice_strans default_candidate selection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey list,

ice_strans can wind up in a position where the local default candidate is IPv6 when (IPv6 media is enabled), but the server responds with IPv4 (if the particular server doesn't support IPv6, or its primary address is IPv4 - even if it has V6 candidates)

This patch adds a check to pj_ice_strans_sendto. When ICE negotiation has not completed successfully yet (and thus we don't have a confirmed ICE candidate pair), the patch will check to see if the address family for the address it's about to send to matches the currently selected default candidate. If not, it will attempt to elect a new local default candidate to use until ICE negotiation is complete and an actual pair is nominated.

This makes media setup much faster when pjsip offers an IPv6 but the server responds with an IPv4 default.

I don't believe this patch is quite ready as-is. It can easily wind up in a scenario where every single RTP packet iterates the candidate list to find a matching one (if no candidates match the address family needed), but I figured I'd post it here as a start.

Best,
Colin

Attachment: ice_strans.patch
Description: Binary data

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux