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@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@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@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@bigmir.net>wrote:
I know about this, but i need catch only 'skypopen sk1 PING' command messages.
2013/4/19 Michael Collins <msc@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@bigmir.net>wrote:
If i need catch logs, how can i do that with ESL?
2013/4/18 Dmitry Lysenko <dvl36.ripe.nick@gmail.com>
Logs for humans, but events api for programs. ) But seriously, this is different entities at all.
2013/4/18 Anton Vojlenko <stargray@bigmir.net>
> Hmm, can you explain difference between logs and events? > > > 2013/4/18 João Mesquita <jmesquita@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@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@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@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@freeswitch.org >>>> > http://www.freeswitchsolutions.com >>>> > >>>> > FreeSWITCH-powered IP PBX: The CudaTel Communication Server >>>> > http://www.cudatel.com >>>> > >>>> > Official FreeSWITCH Sites >>>> > http://www.freeswitch.org >>>> > http://wiki.freeswitch.org >>>> > http://www.cluecon.com >>>> > >>>> > 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 >>>> >>>> >>>> _________________________________________________________________________ >>>> Professional FreeSWITCH Consulting Services: >>>> consulting@freeswitch.org >>>> http://www.freeswitchsolutions.com >>>> >>>> FreeSWITCH-powered IP PBX: The CudaTel Communication Server >>>> http://www.cudatel.com >>>> >>>> Official FreeSWITCH Sites >>>> http://www.freeswitch.org >>>> http://wiki.freeswitch.org >>>> http://www.cluecon.com >>>> >>>> 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 >>>> >>> >>> >>> >>> _________________________________________________________________________ >>> Professional FreeSWITCH Consulting Services: >>> consulting@freeswitch.org >>> http://www.freeswitchsolutions.com >>> >>> FreeSWITCH-powered IP PBX: The CudaTel Communication Server >>> http://www.cudatel.com >>> >>> Official FreeSWITCH Sites >>> http://www.freeswitch.org >>> http://wiki.freeswitch.org >>> http://www.cluecon.com >>> >>> 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 >>> >>> >> >> >> _________________________________________________________________________ >> Professional FreeSWITCH Consulting Services: >> consulting@freeswitch.org >> http://www.freeswitchsolutions.com >> >> FreeSWITCH-powered IP PBX: The CudaTel Communication Server >> http://www.cudatel.com >> >> Official FreeSWITCH Sites >> http://www.freeswitch.org >> http://wiki.freeswitch.org >> http://www.cluecon.com >> >> 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 >> >> > > > _________________________________________________________________________ > Professional FreeSWITCH Consulting Services: > consulting@freeswitch.org > http://www.freeswitchsolutions.com > > FreeSWITCH-powered IP PBX: The CudaTel Communication Server > http://www.cudatel.com > > Official FreeSWITCH Sites > http://www.freeswitch.org > http://wiki.freeswitch.org > http://www.cluecon.com > > 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 > >
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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