[SR-Users] rtpengine force-relay

Vitalii Aleksandrov vitalik.voip at gmail.com
Fri Mar 15 11:37:16 CET 2019

> On Thu, Mar 14, 2019 at 06:01:41PM +0200, Vitalii Aleksandrov wrote:
>>> What is wrong with the default behavior? That adds ICE records and
>>> rewrites SDP c=.
>> When a call goes through multiple proxies and every proxy inserts itself SDP
>> becomes really huge. What I like in "force-relay" is that it removes
>> previously inserted "relay" candidates and inserts itself. Hope rtpengine
>> will still talk to those relay candidates on incoming leg if "host" are not
>> reachable. So I'm satisfied with "force-relay" when call to ICE supported
>> phone, but when callee can't do ICE I'm in trouble.
> ICE is end to end. rtpengine does nothing with other ICE candidates
> (AFAIK). So removing those other candidates defeats the purpose IMHO.
> You might as well remove any ICE and simply rewrite DSP
Oh, it actually does. If you use ICE=force, rtpengine removes all ICE 
candidates and inserts its own and both call participant can't to talk 
to each other directly but still can use ICE to establish media streams 
to rtpengine. ICE=force-relay does another cool thing. Using it call 
participants try to talk directly and if they can't (both behind NAT) 
they can still use "relay" candidate inserted by rtpengine and exchange 
media via it. I just need a mixed behavior like default + force-relay 
and don't want to hack rtpengine sources and then maintain my patches 
when need to update it.

More information about the sr-users mailing list