So I have no idea if this is just an absolutely horrible idea or not, but I believe I've found a solution for this.Generally with codec_string=${ep_codec_string} and inherit_codec=true, you can push the B-leg's codec back to the A-leg. However, it seems like this is lost after a reinvite. So I'm using api_before_bridge to set the codec_string of the A-leg equal to the ep_codec_string of the B-leg (plus some other options in case the A-leg doesn't support the codecs of the B-leg), the opposite of what is done earlier in the dial plan. I then use api_after_bridge to clear the codec_string of the A-leg after the bridge is done (this is probably optional). Seems to work fine and solves my issue. Hopefully it can be helpful to someone else.Best,ColinOn Thu, Apr 20, 2017 at 10:09 AM, Colin Morelli <colin.morelli@gmail.com> wrote:Hey Brian,It seems like what I'm talking about can be reproduced with a fairly simple dialplan (in a profile with inbound-late-negotiation=true): <execute application="set" data="inherit_codec=true" /><execute application="bridge" data="{codec_string='${ep_codec_string},PCMU,opus'}sofia/ some/endpoint" /> Given an A leg (with codecs opus, pcmu), and a B-leg (with codecs pcmu)As expected, with this dialplan, if the B-leg requests pcmu, then pcmu is passed back to the A-leg - that's absolutely what I'd expect. If the A-leg later sends a reinvite (or update), however, inherit_codec no longer applies and FS seems to fallback to its core codec negotiation. Because the A-leg prefers opus over pcmu, opus is negotiated and transcoding is required. This is what I'm trying to avoid. I know I can disable codec renegotiation on a re-invite, but I don't want that either because a re-invite should be able to change codecs if it needs to (if the A-leg later sends a re-invite that simply doesn't include pcmu, FS should select opus and transcode)I hope that makes sense, happy to try to clarify more, though.Best,ColinOn Thu, Apr 20, 2017 at 9:49 AM, Brian West <brian@freeswitch.org> wrote:Going to need to know what you're doing in the dialplan to really understand whats going on./bOn Thu, Apr 20, 2017 at 7:14 AM, Colin Morelli <colin.morelli@gmail.com> wrote:______________________________Hey all, back againIs there any option in FS to either:
- Keep inherit_codec working after the first invite
- Try to reduce codec changes by attempting to use the existing codec on a re-invite
Unless I'm missing something, FS seems to ignore both the current codec being used, and the inherit_codec setting on re-invites, so it defaults to essentially restarting codec negotiation. Ideally I could have it set to preserve inherit_codec if the call is still bridged (i.e. try to negotiate the B-leg's codec onto the A-leg if it's supported by the A-leg's new SDP). Consider the following call:INVITE (this is good and what I'd expect):A --- (opus, PCMU) ---> FS --- (opus, PCMU) ---> BA <-- (PCMU) --- FS <--- (PCMU) --- BLater Re-INVITE:A --- (opus, PCMU) ---> FSA <-- (opus) --- FSIdeally, I could get something like:Later Re-INVITE:A --- (opus, PCMU) ---> FS (checks codec used on B-leg of call, if inherit_codec=true)A <-- (PCMU) --- FSThanks in advance,Colin______________________________ _____________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-user s
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/free switch-users
http://www.freeswitch.org--Brian West
brian@freeswitch.orgTwitter: @FreeSWITCH , @briankwest
http://www.freeswitchbook.com
http://www.freeswitchcookbook.com Book a phone call (CST)
Allison prompts for FreeSWITCH:
Got Bugs? Report them here! | Reddit: /r/freeswitch
T:+19184209001 | F:+19184209002 | M:+1918424WEST (9378)
Skype:briankwest
____________________________________________________________ _____________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-user s
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/free switch-users
http://www.freeswitch.org