Re: [Freeswitch-users] Connecting RTP between leg A and B directly
Hi, You must try to execute the api command uuid_media by setting a variable that coupled with an event. Try looking at the execute_on family : http://wiki.freeswitch.org/wiki/Channel_Variables#The_execute_on_family In your case, I think http://wiki.freeswitch.org/wiki/Variable_api_on_answer or api_after_bridge... maybe more but not documented :). or bridge_pre_execute_bleg_app All this variable/event handler can help you to run command outside script. but, i think the uuid_media off must be called after the media up this FS. Hope it helps. 2012/11/9 Víctor Vladimir Chávez Gallardo <vivlachaga@gmail.com>
Hi Regis, how you doing?
see, i tried your suggestion, setting the uuid_media on both sessions AFTER the bridge, also seting bypass_media_after_bridge = true in the call parameters, if i put the apiExecute, the script is stalled on bridge action until one leg trigger up an release code.. in that moment the instructions apiExecute("uuid_media","off") are executed (the script flow continue), but if i put those instructions BEFORE, i have an a forced release on leg A "inline:1 Session is not active!"
you know something about this issue? there's something wrong with my app logic? will be very useffuly your help, thanks a lot
originate_options_lega = "bypass_media_after_bridge=true,ignore_early_media=true,origination_caller_id_number=1004,originate_timeout=60,leg=1"; originate_options_legb = "bypass_media_after_bridge=true,ignore_early_media=true,originate_timeout=60,leg=2";
bridge(lega_session,legb_session); apiExecute("uuid_media", "off " + lega_uuid); apiExecute("uuid_media", "off " + legb_uuid);
Hi, IMHO, variables are used only in bridge in dialplan. When doing bridge manualy via JS, you must call api uuid_media off <uuid> after the bridge of the call, maybe with an execute_on_brigde variable. Take care that your A and B legs can "see" each other without funky nat, uuid_media not renegociate RTP port. Hope i'm right and it helps you ;) regards
2012/11/7 Víctor Vladimir Chávez Gallardo <vivlachaga@gmail.com>
Hi, i have an spidermonkey script, the script place two outbound calls, but i need to set the RTP directly between the legs (a-b) but i dont know hoy to set the parameter bypass_media
i tried:
lega_session.setVariable('bypass_media', 'true');
bridge(lega_session,legb_session);
also
lega_session.setVariable('bypass_media', 'true');
legb_session.setVariable('bypass_media', 'true');
bridge(lega_session,legb_session);
and also setting another variable bypass_media_after_bridge
lega_session.setVariable('bypass_media_after_bridge', 'true');
legb_session.setVariable('bypass_media_after_bridge', 'true');
lega_session.setVariable('bypass_media', 'true');
legb_session.setVariable('bypass_media', 'true');
bridge(lega_session,legb_session);
but i dont have the RTP in the correct way, instead my freeswitch it's behind, the rtp flow: LEG-A -----> FREESWITCH -------> LEG-B
any idea?
participants (1)
-
Regis M