[Freeswitch-users] Take uuid out of conference and bridge

Birgit Arkesteijn birgit at westhawk.co.uk
Thu Oct 23 07:02:48 EDT 2008


Hi,

Just a thought ... is there a way in javascript to (re)create a session 
object given an existing uuid?

If that was the case, I could do something like:
var session = new Session (uuid);
session.bridge(customer_service_url);

If that's not possible, I appreciate any thought about my current setup.

Thanks, Birgit

On 23/10/08 11:43, Birgit Arkesteijn wrote:
> Hi,
> 
> Thanks Anthony for your response.
> Unfortunately removing the 'kick' didn't make a difference.
> 
> The result is also different if I change the order of the UUIDs around.
> In one scenario I get [NORMAL_CLEARING], in the other 
> [DESTINATION_OUT_OF_ORDER].
> 
> I added the code (again) and 2 snippets of the freeswitch.log below.
> 
> Does anyone have an alternative?
> 
> Thanks, Birgit
> 
> 
> Current code:
> 
> function bridge_to_customer_services(conf_name, member_id, uuid, 
> customer_service_url)
> {
>      if (uuid)
>      {
>          var sSession = new 
> Session("{ignore_early_media=true,originate_timeout=10}"
>              + customer_service_url);
>          var ready = sSession.ready();
>          log("customer services answered: " + ready);
>          if (ready == true)
>          {
>              // The customer services call has been answered
>              argument = sSession.uuid + " " + uuid;
>              var res = apiExecute("uuid_bridge", argument);
>              log("after apiExecute uuid_bridge: " + res);
>          }
>      }
> }
> 
> When I set argument as:
> argument = sSession.uuid + " " + uuid;
> 
> I see the following in the freeswitch log:
> 
> (
> sofia/external/0663: is the 'new' customer services call,
> sofia/external/0662: is the call in the conference
> )
> 
> 2008-10-23 11:27:05 [NOTICE] switch_channel.c:534 
> switch_channel_set_name() New Channel sofia/external/0663 
> [23638bbc-a0ed-11dd-843a-d9638db44114]
> 2008-10-23 11:27:05 [NOTICE] sofia.c:1786 sofia_handle_sip_i_state() 
> Ring-Ready sofia/external/0663!
> 2008-10-23 11:27:08 [NOTICE] sofia.c:2110 sofia_handle_sip_i_state() 
> Channel [sofia/external/0663] has been answered
> 2008-10-23 11:27:08 [INFO] dispatcher_general.js:70 console_log() 
> customer services answered: true
> 2008-10-23 11:27:08 [INFO] dispatcher_general.js:70 console_log() after 
> apiExecute uuid_bridge: +OK 20f309de-a0ed-11dd-843a-d9638db44114
> 
> 2008-10-23 11:27:08 [NOTICE] mod_spidermonkey.c:2860 session_destroy() 
> Hangup sofia/external/0663 [CS_RESET] [NORMAL_CLEARING]
> 2008-10-23 11:27:08 [INFO] dispatcher_general.js:70 console_log() after 
> cSession in conf
> 2008-10-23 11:27:08 [NOTICE] mod_spidermonkey.c:2860 session_destroy() 
> Hangup sofia/external/0662 [CS_RESET] [NORMAL_CLEARING]
> 2008-10-23 11:27:08 [NOTICE] switch_core_session.c:802 
> switch_core_session_thread() Session 6 (sofia/external/0663) Ended
> 2008-10-23 11:27:08 [NOTICE] switch_core_session.c:804 
> switch_core_session_thread() Close Channel sofia/external/0663 [CS_HANGUP]
> 2008-10-23 11:27:08 [NOTICE] switch_core_session.c:802 
> switch_core_session_thread() Session 5 (sofia/external/0662) Ended
> 2008-10-23 11:27:08 [NOTICE] switch_core_session.c:804 
> switch_core_session_thread() Close Channel sofia/external/0662 [CS_HANGUP]
> 
> 
> 
> When I set argument as:
> argument = uuid + " " + sSession.uuid;
> 
> 
> I see the following in the freeswitch log:
> 
> 2008-10-23 11:35:00 [NOTICE] switch_channel.c:534 
> switch_channel_set_name() New Channel sofia/external/0663 
> [3ea7fdd0-a0ee-11dd-843a-d9638db44114]
> 2008-10-23 11:35:00 [NOTICE] sofia.c:1786 sofia_handle_sip_i_state() 
> Ring-Ready sofia/external/0663!
> 2008-10-23 11:35:03 [NOTICE] sofia.c:2110 sofia_handle_sip_i_state() 
> Channel [sofia/external/0663] has been answered
> 2008-10-23 11:35:03 [INFO] dispatcher_general.js:70 console_log() 
> customer services answered: true
> 2008-10-23 11:35:03 [INFO] dispatcher_general.js:70 console_log() after 
> apiExecute uuid_bridge: +OK 3ea7fdd0-a0ee-11dd-843a-d9638db44114
> 
> 2008-10-23 11:35:03 [NOTICE] mod_spidermonkey.c:2860 session_destroy() 
> Hangup sofia/external/0663 [CS_RESET] [NORMAL_CLEARING]
> 2008-10-23 11:35:03 [NOTICE] switch_ivr_bridge.c:484 
> uuid_bridge_on_soft_execute() Hangup sofia/external/0662 
> [CS_SOFT_EXECUTE] [DESTINATION_OUT_OF_ORDER]
> 2008-10-23 11:42:21 [INFO] dispatcher_general.js:70 console_log() 
> consumer consumer_hungup(): cSession hangup HOOK, name: 
> sofia/external/0662, uuid: 42e859d4-a0ef-11dd-843a-d9638db44114, state: 
> CS_HANGUP, cause: DESTINATION_OUT_OF_ORDER
> 2008-10-23 11:35:03 [INFO] dispatcher_general.js:70 console_log() after 
> apiExecute conference:
> 2008-10-23 11:35:03 [INFO] dispatcher_general.js:70 console_log() after 
> cSession in conf
> 2008-10-23 11:35:03 [NOTICE] switch_core_session.c:802 
> switch_core_session_thread() Session 8 (sofia/external/0663) Ended
> 2008-10-23 11:35:03 [NOTICE] switch_core_session.c:804 
> switch_core_session_thread() Close Channel sofia/external/0663 [CS_HANGUP]
> 2008-10-23 11:35:03 [NOTICE] switch_core_session.c:802 
> switch_core_session_thread() Session 7 (sofia/external/0662) Ended
> 2008-10-23 11:35:03 [NOTICE] switch_core_session.c:804 
> switch_core_session_thread() Close Channel sofia/external/0662 [CS_HANGUP]
> 
> 
> 
> On 22/10/08 18:54, Anthony Minessale wrote:
>> try skipping the kick
>> if you call uuid_bridge on a session who is busy doing something he will 
>> be warped to your bridge anyway.
> 

-- 
-- Birgit Arkesteijn, birgit at westhawk.co.uk,
-- Westhawk Ltd, Albion Wharf, 19 Albion Street, Manchester M1 5LN, UK
-- Company no: 1769350
-- Registered Office:
-- 15 London Road, Stockton Heath, Warrington WA4 6SJ. UK.
-- tel.: +44 (0)161 237 0660
-- <URL: http://www.westhawk.co.uk>



More information about the Freeswitch-users mailing list