Rupa / all, Just a quick follow up to this. This is appears to a timing issue. If I try and do a "uuid_media off + uuid" in "api_after_bridge" it fails with "CHAN_NOT_IMPLEMENTED" and the call is dropped. If appears to be trying to do a SIP reinvite on the loopback channel which is of course just about to / has disappear/ed. So I tried this, after the call is established, at the commend line, I do "show calls" and using the uuid shown, type "uuid_media off uuid". The SIP REINVITE is issued and works. I think the switch_ivr_nomedia function in switch_ivr_c is getting the loopback uuid when it calls "other_uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)" That's why the SIP REINVITE fails. So... in api_after_bridge I issue: "sched_api", "+3 none uuid_media off " + uuid. This calls the switch_ivr_nomedia function 3 seconds after the calls bridge is established. And it works, Not nice - not scalable or production ready - but the SIP-REINVITE is successful and at least now I understand what is going on. Make sense? Thanks Phil On Wed, Aug 12, 2009 at 12:21 PM, Rupa Schomaker<rupa@rupa.com> wrote:
On Wed, Aug 12, 2009 at 10:22 AM, Phillip Jones<pjintheusa@gmail.com> wrote:
Hi there,
application="originate" data="(sofia/foo/bar|sofia/baz/bar),(sofia/foo/yum|sofia/baz/yum)"
I agree. However, perhaps the ideal is not to specify the carriers at this level, as carriers are added and removed fairly often as costings change. So it would be nice to have some sort of proxy that resolves to a list of carriers:
application="originate" data="sofia/MyCarriers/bar,sofia/MyCarriers/yum"
<MyCarriers> <action application="carrier" data="sofia/foo"/> <action application="carrier" data="sofia/baz"/> <action application="carrier" data="sofia/etc"/> </MyCarriers>
or something similar. This would achieve the same as loopback in this use case but without dangers of looping? Complicated stuff though.
Well, that is all done by mod_lcr. I was simplifying to narrow down to just originate.
First we need to see if this is worth pursuing over fixing (modifying, whatever) loopback to handle bypass media. If it is, then I'll modify mod_lcr to deal with the situation in question (comma or pipe sep list of numbers to call. mod_lcr would then group as appropriate).
Right now, my bridge is setup in a small javascript script that builds the appropriate dialstring (using loopback for external calls, user/ for internal calls) and then when doing the loopback call to mod_lcr to get the dialstring with all providers in the right order.
Perhaps have an on answer hook that tries to enable bypass media (re-invite) after the call is setup?
That's a good idea - I will look into that.
Thanks again.
Phillip
Let us know how it works for you...
-- -Rupa
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org