[Freeswitch-users] Catch events from ESL socket

Anton Vojlenko stargray at bigmir.net
Tue Apr 23 15:55:04 MSD 2013


I have written script and it works great:

while (1){
    $con->sendRecv("log 7");
    $e =$con->bgapi("skypopen", "sk1 PING");
    while(1){
        $e = $con->recvEventTimed(100);
         if ($e and $e->getHeader("Content-type") eq "log/data" and
$e->getHeader("Log-File") eq "skypopen_protocol.c") {
            my $var = $e->getBody();
            if ($var =~ /PONG|sk1/){
                print "Skype alive!\n";
                last;
            }
         }
    }
    sleep(3);
}



2013/4/22 Anton Vojlenko <stargray at bigmir.net>

> Michael, thank you. But with your code my script don't catch any messages
> :(  When i run 'skypopen sk1 PING'
>  command in fs_cli i get:
> freeswitch at internal> skypopen sk1 PING
> Using interface: globals.SKYPOPEN_INTERFACES[1].name=|||sk1|||
>
> 2013-04-22 10:24:37.605329 [DEBUG] skypopen_protocol.c:1767    [|]
> [DEBUG_SKYPE  1767 ][sk1            ][IDLE,IDLE] SENDING: |||PING||||
> 2013-04-22 10:24:37.605329 [DEBUG] skypopen_protocol.c:207     [|]
> [DEBUG_SKYPE  207  ][sk1            ][IDLE,IDLE] READING: |||PONG|||
>
> and i need catch only this output over perl script. With this script i
> want check skype interfaces status.
>
>
> 2013/4/19 Michael Collins <msc at freeswitch.org>
>
>> while($con->connected() && $running) {
>>     $e = $con->recvEventTimed(100);
>>     if ($e and $e->getHeader("content-type") eq "log/data") {
>>     #print $e->getBody();
>>       my $var = $e->getBody();
>>       if ( $var =~ m/skypopen sk1 PING/ ) {
>>         # Do something...
>>       }
>>     }
>> }
>>
>>
>> On Fri, Apr 19, 2013 at 12:54 PM, Anton Vojlenko <stargray at bigmir.net>wrote:
>>
>>> I know about this, but i need catch only 'skypopen sk1 PING' command
>>> messages.
>>>
>>>
>>> 2013/4/19 Michael Collins <msc at freeswitch.org>
>>>
>>>> You can infer what to do by looking in src/libs/esl/perl/logger.pl...
>>>> Specifically these lines:
>>>>
>>>> $e = $con->sendRecv("log 7");
>>>> print STDERR $e->getBody() . "\n" if ($e);
>>>>
>>>> while($con->connected() && $running) {
>>>>     $e = $con->recvEventTimed(100);
>>>>     if ($e and $e->getHeader("content-type") eq "log/data") {
>>>>     print $e->getBody();
>>>>     }
>>>> }
>>>>
>>>>
>>>> -MC
>>>>
>>>>
>>>> On Fri, Apr 19, 2013 at 12:29 AM, Anton Vojlenko <stargray at bigmir.net>wrote:
>>>>
>>>>> If i need catch logs, how can i do that with ESL?
>>>>>
>>>>>
>>>>> 2013/4/18 Dmitry Lysenko <dvl36.ripe.nick at gmail.com>
>>>>>
>>>>>> Logs for humans, but events api for programs. )
>>>>>> But seriously, this is different entities at all.
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/4/18 Anton Vojlenko <stargray at bigmir.net>
>>>>>>
>>>>>>> Hmm, can you explain difference between logs and events?
>>>>>>>
>>>>>>>
>>>>>>> 2013/4/18 João Mesquita <jmesquita at freeswitch.org>
>>>>>>>
>>>>>>>> Let me get this straight, these are logs, not events... Correct?
>>>>>>>> You want to parse logs with ESL? That's possible as well, but just want to
>>>>>>>> make sure that's you want. I am not familiar with skypopen to know this
>>>>>>>> much but I can help you with ESL.
>>>>>>>>
>>>>>>>>
>>>>>>>> João Mesquita
>>>>>>>> FreeSWITCH™ Solutions
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Apr 18, 2013 at 11:12 AM, Anton Vojlenko <
>>>>>>>> stargray at bigmir.net> wrote:
>>>>>>>>
>>>>>>>>> Thank for you explanation. I need catch this output:
>>>>>>>>> 2013-04-18 16:22:11.045518 [DEBUG] skypopen_protocol.c:1767    [|]
>>>>>>>>> [DEBUG_SKYPE  1767 ][sk1            ][IDLE,IDLE] SENDING: |||PING||||
>>>>>>>>>  2013-04-18 16:22:11.045518 [DEBUG] skypopen_protocol.c:207
>>>>>>>>> [|] [DEBUG_SKYPE  207  ][sk1            ][IDLE,IDLE] READING: |||PONG|||
>>>>>>>>> But sometimes in array i see this:
>>>>>>>>> 2013-04-18 16:22:13.025304 [DEBUG] skypopen_protocol.c:734     [|]
>>>>>>>>> [DEBUG_SKYPE  734  ][sk1            ][IDLE,IDLE] NO ACTIVE calls in this
>>>>>>>>> moment, skype_call 1347 is RINGING, to ask PARTNER_DISPNAME and
>>>>>>>>> PARTNER_HANDLE
>>>>>>>>>  2013-04-18 16:22:13.025304 [DEBUG] skypopen_protocol.c:1767
>>>>>>>>> [|] [DEBUG_SKYPE  1767 ][sk1            ][IDLE,IDLE] SENDING: |||GET CALL
>>>>>>>>> 1347 PARTNER_DISPNAME||||
>>>>>>>>>
>>>>>>>>> Can you explain how to catch only command output?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/4/18 João Mesquita <jmesquita at freeswitch.org>
>>>>>>>>>
>>>>>>>>>> Recveventtimed might return null if an event does not arrive in
>>>>>>>>>> those ms time. Make sure to use recvevent only if you don't want that.
>>>>>>>>>>
>>>>>>>>>> Sent from my iPhone
>>>>>>>>>>
>>>>>>>>>> On Apr 18, 2013, at 4:14 AM, Anton Vojlenko <stargray at bigmir.net>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> > Hello,
>>>>>>>>>> > I am using skypopen module and i need catch API answers from
>>>>>>>>>> skype client. I wrote simple perl script:
>>>>>>>>>> >
>>>>>>>>>> > require ESL;
>>>>>>>>>> > my $con = new ESL::ESLconnection("localhost", "8021",
>>>>>>>>>> "ClueCon");
>>>>>>>>>> > while (1){
>>>>>>>>>> >     $con->sendRecv("log 7");
>>>>>>>>>> >     $e = $con->bgapi("skypopen sk1 PING");
>>>>>>>>>> >     #$uuid = $e->getHeader("Job-UUID");
>>>>>>>>>> >     #print $e->serialize("plain");
>>>>>>>>>> >     $n = 2;
>>>>>>>>>> >     while($n){
>>>>>>>>>> >         $event = $con->recvEventTimed(100);
>>>>>>>>>> >         if ($event and $event->getHeader("Log-File") eq
>>>>>>>>>> "skypopen_protocol.c") {
>>>>>>>>>> >             push(@dmesg, $event->getBody());
>>>>>>>>>> >
>>>>>>>>>> >         }
>>>>>>>>>> >         $n--;
>>>>>>>>>> >     }
>>>>>>>>>> >         print "@dmesg\n";
>>>>>>>>>> >     sleep(3);
>>>>>>>>>> >     @dmesg = ();
>>>>>>>>>> > }
>>>>>>>>>> >
>>>>>>>>>> > But sometimes I get empty array, because script catch differect
>>>>>>>>>> events. How to catch events from ESL socket by UUID?
>>>>>>>>>> >
>>>>>>>>>> _________________________________________________________________________
>>>>>>>>>> > Professional FreeSWITCH Consulting Services:
>>>>>>>>>> > consulting at freeswitch.org
>>>>>>>>>> > http://www.freeswitchsolutions.com
>>>>>>>>>> >
>>>>>>>>>> > 
>>>>>>>>>> > 
>>>>>>>>>> >
>>>>>>>>>> > Official FreeSWITCH Sites
>>>>>>>>>> > http://www.freeswitch.org
>>>>>>>>>> > http://wiki.freeswitch.org
>>>>>>>>>> > http://www.cluecon.com
>>>>>>>>>> >
>>>>>>>>>> > 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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _________________________________________________________________________
>>>>>>>>>> Professional FreeSWITCH Consulting Services:
>>>>>>>>>> consulting at freeswitch.org
>>>>>>>>>> http://www.freeswitchsolutions.com
>>>>>>>>>>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>
>>>>>>>>>> Official FreeSWITCH Sites
>>>>>>>>>> http://www.freeswitch.org
>>>>>>>>>> http://wiki.freeswitch.org
>>>>>>>>>> http://www.cluecon.com
>>>>>>>>>>
>>>>>>>>>> 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
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _________________________________________________________________________
>>>>>>>>> Professional FreeSWITCH Consulting Services:
>>>>>>>>> consulting at freeswitch.org
>>>>>>>>> http://www.freeswitchsolutions.com
>>>>>>>>>
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>
>>>>>>>>> Official FreeSWITCH Sites
>>>>>>>>> http://www.freeswitch.org
>>>>>>>>> http://wiki.freeswitch.org
>>>>>>>>> http://www.cluecon.com
>>>>>>>>>
>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _________________________________________________________________________
>>>>>>>> Professional FreeSWITCH Consulting Services:
>>>>>>>> consulting at freeswitch.org
>>>>>>>> http://www.freeswitchsolutions.com
>>>>>>>>
>>>>>>>> 
>>>>>>>> 
>>>>>>>>
>>>>>>>> Official FreeSWITCH Sites
>>>>>>>> http://www.freeswitch.org
>>>>>>>> http://wiki.freeswitch.org
>>>>>>>> http://www.cluecon.com
>>>>>>>>
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _________________________________________________________________________
>>>>>>> Professional FreeSWITCH Consulting Services:
>>>>>>> consulting at freeswitch.org
>>>>>>> http://www.freeswitchsolutions.com
>>>>>>>
>>>>>>> 
>>>>>>> 
>>>>>>>
>>>>>>> Official FreeSWITCH Sites
>>>>>>> http://www.freeswitch.org
>>>>>>> http://wiki.freeswitch.org
>>>>>>> http://www.cluecon.com
>>>>>>>
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _________________________________________________________________________
>>>>>> Professional FreeSWITCH Consulting Services:
>>>>>> consulting at freeswitch.org
>>>>>> http://www.freeswitchsolutions.com
>>>>>>
>>>>>> 
>>>>>> 
>>>>>>
>>>>>> Official FreeSWITCH Sites
>>>>>> http://www.freeswitch.org
>>>>>> http://wiki.freeswitch.org
>>>>>> http://www.cluecon.com
>>>>>>
>>>>>> 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
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _________________________________________________________________________
>>>>> Professional FreeSWITCH Consulting Services:
>>>>> consulting at freeswitch.org
>>>>> http://www.freeswitchsolutions.com
>>>>>
>>>>> 
>>>>> 
>>>>>
>>>>> Official FreeSWITCH Sites
>>>>> http://www.freeswitch.org
>>>>> http://wiki.freeswitch.org
>>>>> http://www.cluecon.com
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Michael S Collins
>>>> Twitter: @mercutioviz
>>>> http://www.FreeSWITCH.org
>>>> http://www.ClueCon.com
>>>> http://www.OSTAG.org
>>>>
>>>>
>>>>
>>>> _________________________________________________________________________
>>>> Professional FreeSWITCH Consulting Services:
>>>> consulting at freeswitch.org
>>>> http://www.freeswitchsolutions.com
>>>>
>>>> 
>>>> 
>>>>
>>>> Official FreeSWITCH Sites
>>>> http://www.freeswitch.org
>>>> http://wiki.freeswitch.org
>>>> http://www.cluecon.com
>>>>
>>>> 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
>>>>
>>>>
>>>
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>> 
>>> 
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.freeswitch.org
>>> http://www.cluecon.com
>>>
>>> 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
>>>
>>>
>>
>>
>> --
>> Michael S Collins
>> Twitter: @mercutioviz
>> http://www.FreeSWITCH.org
>> http://www.ClueCon.com
>> http://www.OSTAG.org
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> 
>> 
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://wiki.freeswitch.org
>> http://www.cluecon.com
>>
>> 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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130423/424b1f0b/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list