<div dir="ltr">Recent commit 6c87ed491597fb5e30935d8309aa7e0c3aa9e18f to master branch should fix at least the 1st and the 2nd described issues. <div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 10, 2021 at 3:46 PM Fuad Trle <<a href="mailto:trle.fuad@gmail.com">trle.fuad@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello,<br><br>I have encountered several problems while configuring and testing FreeSWITCH. This is on a current master branch, but the same issues are present in older versions. The tests are done on a minimal config with these additions:<br><br>vars:<br>- remove auth<br>- global_codec_prefs=OPUS,PCMU,PCMA,VP8<br>- rtp_pass_codecs_on_stream_change=true # To be able to toggle video stream<br><br>profiles:<br>- inbound-late-negotiation (with and w/o inherit codec)<br><br>dialplan:<br>- Simple dial plan. External to Internal flow. Condition for ext, then bridge call to the other side.<br><br>Unfortunately, this Sofia options are removed from FS :( Are there alternatives for them (while using rtp_pass_codecs_on_stream_change)?<br>renegotiate-codec-on-hold|true,false<br>renegotiate-codec-on-reinvite|true,false<br><br>(a) -- (FS) -- (b)<br><br><b>1st: Hold</b> - Break transcoding.<br><br>-- INVITE (Opus, PCMA) --> |<br>                              | -- INVITE (PCMA) --><br>                              | <---- OK (PCMA) ----<br><------ OK (Opus) -------- |<br>                              .<br>                              .<br>                              | <--- ReINVITE (Hold or video on/off)<br><---- ReINVITE (PCMA) ---- |<br>                              x<br><br>I tried with absolute codec string, inbound/outbound codec prefs... it seems that FS does not keep/honor previous channel state and does not differentiate stream change from stream parameters change (like media flow).<br><br><br><b>2nd: Dynamic Payload </b>- It will offer Opus to the other side, because both have it. But FS will renegotiate with new PT number on reinvite. This break stream for some endpoints.<br><br>-- INVITE (Opus, 111) --> |<br>                             | -- INVITE (Opus, 102) --><br>                             | <---- OK (Opus, 102) ----<br><---- OK (Opus, 111) ---- |<br>                             .<br>                             .<br>                             | <-- ReINVITE (Hold or new m=line)<br><- ReINVITE (Opus, 102) - |<br>                             x<br><br>Is there a way to originate call with a codec that has a dynamic payload number, but to choose PT number? Something like setting rfc2833-pt variable for outbound channel before originating call?<br><br><br><b>3rd Media direction</b> - FS does not propagate media direction parameter to inbound channel/leg. Inbound side expect media and some endpoints will drop call after awhile. I know that answering with recvonly does not have sense for audio, but for a video it has.<br><br>-- INVITE (sendrecv) --> |<br>                            | -- INVITE (sendrecv) --><br>                            | <---- OK (recvonly) ----<br><---- OK (sendrecv) ---- |<br><br>For late negotiation this is wrong. Even for early it should be possible to pass reinvite to the other side on media direction change.<br></div>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div>