sipwise / rtpengine

The Sipwise media proxy for Kamailio
GNU General Public License v3.0
785 stars 368 forks source link

ICE=optional does not generate ice-ufrag, ice-pwd and ice-options in answer #1757

Closed truong-hua closed 10 months ago

truong-hua commented 10 months ago

Hi, my caller is ICE aware and callee is not. My command send to rtpengine is RTP/AVP replace-origin ICE=optional SDES-off for offer and UDP/TLS/RTP/SAVPF replace-origin ICE=optional SDES-off is for answer.

As the caller is ACE aware, so the generated offset SDP has enough expected ICE attributes, but for the answer from non-ICE callee, rtpengine inserted candidate attribute to the end of SDP but there is no ice-ufrag, ice-pwd and ice-options attributes. So the caller can not accept the answer from callee.

I'm not sure if it's an expected output or a bug as my expectation is that the answer from callee will have enough ICE attributes.

My rtpengine version is 11.1.1.4

rfuchs commented 10 months ago

ICE=optional passes through the outcome of the ICE negotiation between the two peers, and allows for peer-to-peer media. If the peers don't both support ICE, then ICE will end up not being used.

You probably want to use ICE=default instead (or omit ICE= altogether), at least in the answer. In the offer, you may want to use =force or =remove depending on whether the remote peer is ICE enabled or not.

You should also consider switching to 11.5 LTS.

Not a problem with the code, therefore closing. Direct questions to the mailing list.