ICE Candidate Collision On Dualstack Hosts?

Home » Asterisk Users » ICE Candidate Collision On Dualstack Hosts?
Asterisk Users 1 Comment

Hi

I’m attempting to use ICE to be able to present all possible RTP
transports to peers.

16.28.0~dfsg-0+deb11u2 (I know it’s old, but unfortunately Asterisk was removed from debian ‘stable’ and the version in ‘sid’ is just broken
(opus + voicemail don’t work anymore).

But I ran into an issue when the peer is running rtpengine:

Asterisk offers:

a=candidate:H9da13901 1 UDP 2130706431 157.161.57.1 13104 typ host a=candidate:H1054cffa 1 UDP 2130706431 2001:4060:dead:beef::1 13104 typ host a=candidate:He9b56028 1 UDP 2130706431 fe80::5054:ff:fea2:9057 13104 typ host a=candidate:H9da13901 2 UDP 2130706430 157.161.57.1 13105 typ host a=candidate:H1054cffa 2 UDP 2130706430 2001:4060:dead:beef::1 13105 typ host a=candidate:He9b56028 2 UDP 2130706430 fe80::5054:ff:fea2:9057 13105 typ host

To me this looks like every candidate is duplicated on port +1

rtpengine complains:

[ice] Priority collision between candidate pairs sKy64vK5pY86kc9w:H9da13901:2 and sKy64vK5pY86kc9w:H9da13901:2 – ICE will likely fail

And indeed RTP starts on IPv6 as proposed by H1054cffa but as soon as a re-invite is processed rtpengine switches to I guess H9da13901 and rtp dies.

Why is asterisk proposing two ports per ip protocol? Is there a way to configure this more precisely?


Mit freundlichen Grüssen

-Benoît Panizzon- @ HomeOffice und normal erreichbar

I m p r o W a r e A G – Leiter Commerce Kunden

One thought on - ICE Candidate Collision On Dualstack Hosts?

  • They are not strictly duplicated. They are candidates for different components. One is for RTP, one is for RTCP.