[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