[Freeswitch-users] Asterisk dial status

Peter Olsson peter.olsson at visionutveckling.se
Sun Jul 24 23:01:35 MSD 2011


I've never used Perl for this, but I'm pretty sure that the last line won't return until the bridge is done (because of call finishied or failed).

What exactly do you want to accomplish - I think there is probably an easier way for what you're trying to solve.

/Peter
________________________________________
Från: freeswitch-users-bounces at lists.freeswitch.org [freeswitch-users-bounces at lists.freeswitch.org] för Sam [lakersman2006 at yahoo.com]
Skickat: den 24 juli 2011 20:45
Till: FreeSWITCH Users Help
Ämne: Re: [Freeswitch-users] Asterisk dial status

For the life of me I am still unable to get the bridged call status, when I subscribe to an "event" I am not here is my perl code snippet below, what am I doing wrong?


my $fs = new ESL::ESLconnection($host, $port, $password);

$session->answer();

if ($session->ready ())
{
    #set bridge settings
    $session->execute("set", "ringback=$ringback_tone");
    $session->execute("set", "instant_ringback=true");
    $session->execute("set", "ignore_early_media=false");
    $session->execute("set", "call_timeout=60");
    $session->execute("set", "progress_timeout=15");
    $session->execute("set", "origination_caller_id_number=$caller_id");
    $session->execute("set", "continue_on_fail=false");
    $session->execute("bridge", "sofia/gateway/provider1/$destination_number");

    $fs->sendRecv("event plain ALL");
    $fs->send("linger");

    while($fs->connected())
    {
        $data = $fs->recvEvent();

        if ( $data =~ m/Answered-State: (\w+)/m )
        {
           my $state = $1;

           #print "Channel state is $state\n";

           if ( $state eq 'answered' ) {

             freeswitch::consoleLog("INFO", "CALL ANSWERED\n");

           }
           else
           {
                freeswitch::consoleLog("INFO", "NO CALLS ANSWERED\n");
           }
         }
    }
}

$session->hangup();

return 1;

--- On Fri, 7/22/11, Hector Geraldino <Hector.Geraldino at ip-soft.net> wrote:

From: Hector Geraldino <Hector.Geraldino at ip-soft.net>
Subject: Re: [Freeswitch-users] Asterisk dial status
To: "FreeSWITCH Users Help" <freeswitch-users at lists.freeswitch.org>
Date: Friday, July 22, 2011, 2:28 PM


It does.



You can check the events by connecting to FS on inbound mode, or using FS outbound socket connection to an application designed by you.



As you already have a perl script to interact with FS, you can modify it to connect to FS (inbound mode) and listen for events. You can subscribe to the events of a particular call, or filter an specific set of events. I haven’t used Asterisk before so I’m not sure how the AGI fits on the FS architecture.



You can get more info at:

http://wiki.freeswitch.org/wiki/Mod_event_socket



And a working demo at:

http://wiki.freeswitch.org/wiki/Perl_freeswitch_client_example







From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Sam
Sent: Friday, July 22, 2011 4:23 PM
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] Asterisk dial status



Sam,

Does this require event sockets? Or how would I check these events?

--- On Fri, 7/22/11, Hector Geraldino <Hector.Geraldino at ip-soft.net> wrote:

From: Hector Geraldino <Hector.Geraldino at ip-soft.net>
Subject: Re: [Freeswitch-users] Asterisk dial status
To: "FreeSWITCH Users Help" <freeswitch-users at lists.freeswitch.org>
Date: Friday, July 22, 2011, 11:57 AM

Hi Sam,



My guess is that you can subscribe to the events of the channel and evaluate the channel events. Look at:



http://wiki.freeswitch.org/wiki/Event_List



specifically the channel events list.



From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Sam
Sent: Friday, July 22, 2011 2:32 PM
To: freeswitch-users at lists.freeswitch.org
Subject: [Freeswitch-users] Asterisk dial status



Hi,

I am trying to port over an Asterisk AGI script that does a call bridge to Freeswitch using perl, I wanted to know what is the equivalent of the asterisk dial status like: ANSWER, NO_ANSWER, CANCEL, BUSY, CONGESTION, CHANUNAVAIL ? I wanted to know if what methods can be used to gets these statues?




-----Inline Attachment Follows-----

_______________________________________________
Join us at ClueCon 2011, Aug 9-11, Chicago
http://www.cluecon.com 877-7-4ACLUE

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org




-----Inline Attachment Follows-----

_______________________________________________
Join us at ClueCon 2011, Aug 9-11, Chicago
http://www.cluecon.com 877-7-4ACLUE

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org</mc/compose?to=FreeSWITCH-users at lists.freeswitch.org>
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org

!DSPAM:4e2c68e932761895611653!



More information about the FreeSWITCH-users mailing list