Hello,

 

have a look to the transformations for URIs: https://www.kamailio.org/wiki/cookbooks/devel/transformations#uri_transformations

There is one to get parameters as well.

 

$shm variables are shared in shared memory, so you can share them in other calls. The $avp/$xavp are shared between processes, but belongs to the SIP transaction.

 

About routing calls by prefix – have a look to the lcr, carrierroute or drouting modules, for example.

 

Cheers,

 

Henning

 

--

Henning Westerholt – https://skalatan.de/blog/

Kamailio services – https://gilawa.com

 

From: sr-users <sr-users-bounces@lists.kamailio.org> On Behalf Of sai sudheer
Sent: Tuesday, October 13, 2020 12:44 PM
To: sr-users@lists.kamailio.org; sr-dev@lists.kamailio.org
Subject: [SR-Users] how to get a value from SIP INVITE Header

 

Hii

 

Please help me to get the a value from SIP INVITE header reached to kamailio like INVITE sip:+341930203454@sub.domain.com;myid=+34@sub.domain.com SIP/2.0 and i want to save the myid value +34 into a variable, without the domain name.

 

 

     $var(uri) = $sel(ruri);

     xavp_params_explode("$(var(uri){s.unbracket})", "uri");

     xlog("L_INFO", "$var(uri) Received converted to $xavp(uri=>myid[0])\n");

 

I tried above and it prints +34@sub.domain.com But i want to just save +34 into a variable to further check the prefix based routing from the database.

 

1) Could you please help how to get it or If there is any alternate/single line approach to get this value?

2) $var & $xavp are process-local variables, and they cant be shared with other calls? Right

3) What is the best module to route calls based their prefix ? pstn_route or dynamic routing or any suggestions?

 

Please help, thanks in advance.