On 11 Apr 2016, at 12:35, Grant Bagdasarian gb@cm.nl wrote:
Hi Daniel,
I used the regexp sub, and it works!
If anyone is interested, here is the code:
$var(p_asserted_identity) = $(hdr(P-Asserted-Identity)[*]); xlog("L_INFO", "P-Asserted-Identity: $var(p_asserted_identity) \r\n”);
Did you see the $ai pseudo variable? Insted of using the hdr you could have grabbed the URI directly with $ai http://www.kamailio.org/wiki/cookbooks/4.4.x/pseudovariables#ai_-_uri_inp-as... http://www.kamailio.org/wiki/cookbooks/4.4.x/pseudovariables#ai_-_uri_inp-asserted-identity_header
/O
$var(caller_id) = $(var(p_asserted_identity){re.subst,/.*tel:(\+?[[:digit:]]+).*/\1/}); xlog("L_INFO", "Retrieved CallerId ($var(caller_id)) from P-Asserted-Identity header \r\n");
Debug log: P-Asserted-Identity: "Grant" <sip:grant@domain.com sip:grant@domain.com>,tel:+3101234567 tel:+3101234567 Retrieved CallerId (+3101234567) from P-Asserted-Identity header
Regards,
Grant
From: Daniel-Constantin Mierla [mailto:miconda@gmail.com mailto:miconda@gmail.com] Sent: Monday, April 11, 2016 11:25 AM To: Grant Bagdasarian <gb@cm.nl mailto:gb@cm.nl>; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org> Subject: Re: [SR-Users] Extracting P-Asserted-Identity value
Hello,
there is a transformation for regexp substitutions, see the transformations cookbook on kamailio.org/wiki http://kamailio.org/wiki.
Also, if you just want everything after 'tel:' tel:', then you can use string transformations like substring or select.
Cheers, Daniel
On 11/04/16 11:13, Grant Bagdasarian wrote: Hi Daniel,
Yes, you are absolutely right! Thank you for pointing that out!
Is it possible to use regex inside the cfg script and use groups to extract the value?
Quick regex example (needs tweaking): tel:(+\d{1,20}) tel:%28%5C+%5Cd%7b1,20%7d%29 and then use a pseudo-variable to get the first group? https://regex101.com/r/dN7bY8/1 https://regex101.com/r/dN7bY8/1
P-Asserted-Identity: "Cullen Jennings" sip:fluffy@cisco.com sip:fluffy@cisco.com P-Asserted-Identity: tel:+14085264000 tel:+14085264000
Regards,
Grant
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org mailto:sr-users-bounces@lists.sip-router.org] On Behalf Of Daniel-Constantin Mierla Sent: Monday, April 11, 2016 9:07 AM To: Kamailio (SER) - Users Mailing List sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org Subject: Re: [SR-Users] Extracting P-Asserted-Identity value
Hello,
this should work unless there are parameters with the same name in userpart, or uri part or header body part.
Perhaps the safest mode is to apply first the tobody transformation to extract the part you want then apply the params transformation.
Cheers, Daniel
On 08/04/16 17:41, Grant Bagdasarian wrote: To answer my own question. This does parse:
$var(p_asserted_identity) = $(hdr(P-Asserted-Identity)[*]); $var(caller_id) = $(var(p_asserted_identity){param.value,'tel',:});
But, I’m not sure if this is the correct way to do this. Maybe someone else has a more elegant solution?
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org mailto:sr-users-bounces@lists.sip-router.org] On Behalf Of Grant Bagdasarian Sent: Friday, April 8, 2016 5:38 PM To: Kamailio (SER) - Users Mailing List (sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org) sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org Subject: [SR-Users] Extracting P-Asserted-Identity value
Hello,
How do I extract the value of “tel” from multiple P-Asserted-Identity headers?
Example: P-Asserted-Identity: "Cullen Jennings" <sip:fluffy@cisco.com sip:fluffy@cisco.com> P-Asserted-Identity: tel:+14085264000 tel:+14085264000
What I got so far is: $var(p_asserted_identity) = $(hdr(P-Asserted-Identity)[*]); $var(caller_id) = $var(p_asserted_identity){param.value,'tel',':'};
But this does not work. I keep getting parser errors when doing the transformation (2nd line of code example): I’m not sure how to format the line of code. I tried multiple ways, but none work.
Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 47: syntax error Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 47: bad command Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 47: bad command Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 53: '('')' expected (function call) Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 53: bad command: missing ';'? Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 59: '('')' expected (function call) Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 59: bad command: missing ';'? Apr 8 18:35:20 kamailio: : <core> [cfg.y:3365]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 60-64: bad command Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 65: bad command Apr 8 18:35:20 kamailio: : <core> [cfg.y:3365]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 400, column 66-68: bad command Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 408, column 6: syntax error Apr 8 18:35:20 kamailio: : <core> [cfg.y:3368]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 408, column 6:
Regards,
Grant
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla http://www.asipto.com http://www.asipto.com/ http://twitter.com/#!/miconda http://twitter.com/#%21/miconda - http://www.linkedin.com/in/miconda http://www.linkedin.com/in/miconda Kamailio World Conference, Berlin, May 18-20, 2016 - http://www.kamailioworld.com http://www.kamailioworld.com/
-- Daniel-Constantin Mierla http://www.asipto.com http://www.asipto.com/ http://twitter.com/#!/miconda http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda http://www.linkedin.com/in/miconda Kamailio World Conference, Berlin, May 18-20, 2016 - http://www.kamailioworld.com http://www.kamailioworld.com/_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users