<div dir="ltr">Hi,<div><br></div><div>I believe this has been discussed before but I can't find a definitive answer.</div><div>Using kamailio 4.2 with rtpengine.</div><div><br></div><div>My clients don't have natively any ICE relay candidates, just host and server reflexive from STUN.</div><div>What is the correct syntax to have rtpengine only add itself as relay candidate with lowest priority?</div><div><br></div><div>The current basic kamailio config I'm testing has rtpengine_manage empty of flags, which is almost working except that rtpengine's default behaviour in my circumstance is to add itself as a host candidate.</div><div><br></div><div>Reading through <a href="http://kamailio.org/docs/modules/devel/modules/rtpengine.html">http://kamailio.org/docs/modules/devel/modules/rtpengine.html</a> I believe what I want (ie. rtpengine adding itself as relay candidate only with lowest priority - not touching the rest of the SDP or any other ICE candidates sent by the clients) is not an option. Is my interpretaion correct or am I missing something glaringly obvious?</div><div><br></div><div>Thanks,</div><div>Peter</div><div><br></div><div><br></div><div>From the module's documentation:</div><div>    "The default (if no <span class="">“<span class="">ICE=...</span>”</span> is given at all),
                                new ICE data will only be generated
                                if no ICE was present in the <acronym class="">SDP</acronym> originally; otherwise
                                the <acronym class="">RTP</acronym> proxy will only insert itself as
                                <span class=""><em>additional</em></span> ICE candidate."<br></div><div><br></div><div>Relevant kamailio config snippet:</div><div><br></div><div><div>route[NATMANAGE] {</div><div>#!ifdef WITH_NAT</div><div><span class="" style="white-space:pre"> </span>if (is_request()) {</div><div><span class="" style="white-space:pre">                </span>if(has_totag()) {</div><div><span class="" style="white-space:pre">                  </span>if(check_route_param("nat=yes")) {</div><div><span class="" style="white-space:pre">                               </span>setbflag(FLB_NATB);</div><div><span class="" style="white-space:pre">                        </span>}</div><div><span class="" style="white-space:pre">          </span>}</div><div><span class="" style="white-space:pre">  </span>}</div><div><span class="" style="white-space:pre">  </span>if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))</div><div><span class="" style="white-space:pre">                </span>return;</div><div><br></div><div><span class="" style="white-space:pre">   </span><span class="" style="white-space:pre">  </span>rtpengine_manage("");</div><div><br></div><div><span class="" style="white-space:pre">   </span>if (is_request()) {</div><div><span class="" style="white-space:pre">                </span>if (!has_totag()) {</div><div><span class="" style="white-space:pre">                        </span>if(t_is_branch_route()) {</div><div><span class="" style="white-space:pre">                          </span>add_rr_param(";nat=yes");</div><div><span class="" style="white-space:pre">                        </span>}</div><div><span class="" style="white-space:pre">          </span>}</div><div><span class="" style="white-space:pre">  </span>}</div><div><span class="" style="white-space:pre">  </span>if (is_reply()) {</div><div><span class="" style="white-space:pre">          </span>if(isbflagset(FLB_NATB)) {</div><div><span class="" style="white-space:pre">                 </span>if(is_first_hop())</div><div><span class="" style="white-space:pre">                         </span>set_contact_alias();</div><div><span class="" style="white-space:pre">               </span>}</div><div><span class="" style="white-space:pre">  </span>}</div><div>#!endif</div><div><span class="" style="white-space:pre">    </span>return;</div><div>}</div></div></div>