You are indeed correct. I still had
my asterisk hat on, and was expecting a hang-up event to be fired with the call
outcome. I was explicitly testing for call failure. I’ve not modified
the code to test the result of the originate and it works as expected.
I will add some words to the wiki
explaining this for those converting from Asterisk
Regards,
From:
freeswitch-users-bounces@lists.freeswitch.org
[mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Anthony Minessale
Sent: 14 February 2009 22:45
To:
Subject: Re: [Freeswitch-users]
Problems with Originate
What do you suggest is not working?
the call failed and it *did not* run the code inside if (new_session.ready())
The call was never established therefore it would not run the hangup hook
either.
In order to trigger the hangup hook the session would need to exist. If
the session could not originate the new_session obj
is an empty shell with no actual session inside.
var new_session = new Session(<dial string>, <existing session>);
if (!new_session.ready()) {
// the call never was established.
}
I gave you real code to try in my last email that you completely ignored.....
and finally you are declaring the function wrong
declare it at the top.
function on_hangup(hup_session, how)
{
.....
}
I sense you seem to think things are going to magically transform into however
you are thinking they should work
instead of you perhaps learning how they actually work.
On Sat, Feb 14, 2009 at 1:47 PM,
Nope,
Still not working. Here's my little test javascript
var new_session = new Session('{ignore_early_media=true,}
//set the on_hangup function to be called when this session is
hungup
new_session.setHangupHook(on_hangup,"hup");
var on_hangup = function(hup_session, how)
{
console_log("err","In hangup
section\n");
//exit here would end the script so you could cleanup and just be
done
exit();
}
if (new_session.ready()) {
new_session.answer( );
new_session.sleep(1500);
new_session.streamFile("female2.wav");
}
And this is the output
[NOTICE] sofia.c:3090 sofia_handle_sip_i_state() Hangup
[ERR] switch_ivr_originate.c:1116 switch_ivr_originate()
Cannot create outgoing channel of type [user] cause: [USER_BUSY]
[INFO] mod_dptools.c:1909 audio_bridge_function() Originate
Failed. Cause: USER_BUSY
[NOTICE] switch_core_session.c:957 switch_core_session_thread()
Session 95 (
[NOTICE] switch_core_session.c:959
switch_core_session_thread() Close Channel
[NOTICE] mod_dptools.c:600 answer_function() Channel [
From: freeswitch-users-bounces@lists.freeswitch.org
[mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Anthony Minessale
Sent: 14 February 2009 17:20
To: freeswitch-users@lists.freeswitch.org
Subject: Re: [Freeswitch-users]
Problems with Originate
are you running this as a dialplan app?
session is a reserved variable name for the session you executed the app on.
are you using an alternate name for your new session like my_session etc....?
this works for me, try it yourself.
var my_session = new Session("sofia/external/7003@conference.freeswitch.org");
consoleLog("err", "ready: " + my_session.ready() +
"\n");
On Sat,
Feb 14, 2009 at 7:17 AM,
Understood.
However, using the second method, how can I trap on call
failure?
If I originate a call and the user is busy, the console reports
this fact, but then the script continues to execute
if (session.ready()) {
console_log("notice","Session result=[" + session.cause +
"] \n");
if (session.cause == "USER_BUSY") {
Disposition = "BUSY";
session.Hangup();
}
In this case session.cause reports 'NONE' and what's
surprising is that even though the call failed (busy) session.ready returns a
true value.
From: freeswitch-users-bounces@lists.freeswitch.org
[mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Anthony Minessale
Sent: 13 February 2009 13:55
Subject: Re: [Freeswitch-users] Problems
with Originate
The first way is deprecated and will be removed.
The 2nd way is the correct way.
On Fri,
Feb 13, 2009 at 5:48 AM, Alexandru Nedelcu <alex@sinapticode.ro>
wrote:
On Fri, 2009-02-13 at 13:33 +0200, Alexandru Nedelcu
wrote:
> The problem with this setup is that origination_caller_id_number doesn't
> work from inside the JS file (when calling session.originate).
I just
discovered something interesting.
When originating the call like this ...
session = new Session("<connection_string>")
instead of this ...
session = new Session();
session.originate("<connection_string>")
... then it works. Is this some kind of bug, or what's the difference
here?
Thanks,
--
Alexandru Nedelcu
Software Developer, Sinapticode
_______________________________________________
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
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net
#freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:213-799-1400
_______________________________________________
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
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net
#freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:213-799-1400
_______________________________________________
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
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:213-799-1400