[SR-Users] Issue with app_perl - return value, logging and append_branch
Daniel-Constantin Mierla
miconda at gmail.com
Fri Apr 26 11:21:44 CEST 2013
Hello,
I am not an user of app_perl, but return code might be propagate to the
config script. Kamialio configuration interpreter will exit if a config
function returns 0. The same happens if you execute return(0) in
route[PERL].
For the other issues, can you set debug=3 in your config and watch the
logs to see if you can spot some useful message?
Cheers,
Daniel
On 4/24/13 8:23 PM, Mark Boyce wrote:
> Hi All
>
>
> I may well be me missing something obvious but I have got three odd ones whilst trying to test app_perl module which I'd appreciate some assistance with.
>
> Setup
> --------
>
> Kamailio version : 4.0.0 (x86_64/linux) from Peter Dunkley's YUM Repository
>
> Perl version : v5.10.1
>
> OS version : CentOS release 6.4
>
>
> Kamailio.cfg highlights;
>
> loadmodule "app_perl.so"
> modparam("app_perl", "filename", "/tmp/test.pl")
> modparam("app_perl", "modpath", "/usr/lib64/kamailio/perl/")
>
> # ** would someone like to add the app_ to 5.1 and 5.2 of the manuals please
>
> request_route {
> .
> .
> route(PERL);
> .
> .
> }
>
>
> route[PERL] {
> if ($rU=~"^124" && method=="INVITE") {
> xlog("L_INFO","perl: match $rm $ru from:$fu ($si:$sp) to:$tu rpid:$re\n");
> if (perl_exec("testrouting")) {
> xlog("L_INFO","perl: true exit\n");
> } else {
> xlog("L_INFO","perl: false exit\n");
> }
> }
> }
>
>
> /tmp/test.pl has the following in it ...
>
> #!/usr/bin/perl
>
> use Kamailio qw ( log );
> use Kamailio::Constants;
> use Sys::Syslog qw( :DEFAULT setlogsock);
>
> sub testrouting {
> setlogsock('unix');
> openlog($0,'','user');
> syslog('info', "PERL Kamailio - Log test");
> closelog;
>
> return 1;
> }
>
> There is no valid route for 124@ and the above works exactly as I'd expect;
>
> -> Phone sends INVITE to 124
> <- Proxy responds with AUTH Required
> -> Phone sends ACK
> -> Phone sends INVITE to 124 with AUTH
> -- SysLog gets a "PERL Kamailio - Log test" from perl script
> -- Kamailio log gets "perl: true exit"
> <- Proxy responds with "404 Not Found"
> -> Phone sends ACK
>
>
>
>
> ------------------------------------------
> First problem is that if I swap the "return 1" in test.pl for "return 0" what I see is;
>
> -> Phone sends INVITE to 124
> <- Proxy responds with AUTH Required
> -> Phone sends ACK
> -> Phone sends INVITE to 124 with AUTH
> -- SysLog gets a "PERL Kamailio - Log test" from perl script
> -> Phone resends INVITE to 124 with AUTH
> -- SysLog gets a "PERL Kamailio - Log test" from perl script
> -> Phone resends INVITE to 124 with AUTH
> -- SysLog gets a "PERL Kamailio - Log test" from perl script
> -- I Hang Up Phone
> --> Phone send CANCEL
> --> Phone send CANCEL
> --> Phone send CANCEL
>
> In this second test once perl_exec is called all routing seems to stop. There's nothing from the xlog to say if perl_exec returned true or false.
>
>
>
> --------------------------------------
> The second problem I have is when I add "Kamailio::log(L_INFO," line it never arrives in any of the logs
>
> use Kamailio qw ( log );
> use Kamailio::Constants;
> use Sys::Syslog qw( :DEFAULT setlogsock);
>
> sub testrouting {
> setlogsock('unix');
> openlog($0,'','user');
> syslog('info', "PERL Kamailio - Log test");
> closelog;
>
> Kamailio::log(L_INFO, "PERL : testrouting\n");
> return 1;
> }
>
>
> --------------------------------------
> The third one is that I cannot get append_branch to do anything.
>
> If I add to the perl script the lines;
>
> my $m = shift;
> $m->rewrite_ruri("sip:anotheruser\@ourserver");
>
> The call gets diverted as expected. However if I use append_branch;
>
> $m->append_branch("sip:anotheruser\@ourserver");
>
> It has no effect at all.
>
> --------------------------------------
>
> That's as far as I have experimented with the module so I can't say if everything else is working as expected :-)
>
>
> Anyone have any thoughts?
>
>
> Cheers
>
> Mark
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
More information about the sr-users
mailing list