On 05/08/2025 01.55, MCCM Yu wrote:
> AFAIK, RtpEngine supports trickle ICE (a=ice-options:trickle) in case
> of WebRTC.
> So I use my own signaling channel to exchange ICE candidates.
> But how to add the exchanged ICE candidates into RtpEngine in both
> offer and answer cases?
>
> 1. offer
> - call `offer` command with call-id, from-tag, and sdp
> - when the remote ICE candidates arrived, calling `offer` again?
>
> 2. answer
> - call `answer` command with call-id, from-tag, to-tag, and sdp
> - when the remote ICE candidates arrived, calling `answer` again?
You would call "offer" in both cases. Reason being that typically with
SIP, trickle ICE updates are sent in SIP INFO messages, regardless of
whether it's an offer or an answer.
Only the call ID and the from-tag are required. Since answers have the
tags reversed, trickle ICE updates for an answer would have the from-tag
equal the to-tag.
The flag `fragment` must also be present in the `flags` list so that
these updates can be distinguished from full offers.
Cheers