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 P-Asserted-Identity: 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
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] 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) 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 P-Asserted-Identity: 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
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] *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) 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
P-Asserted-Identity: 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 (2^nd 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 http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
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:(\+\d%7b1,20%7d) and then use a pseudo-variable to get the first group? https://regex101.com/r/dN7bY8/1
P-Asserted-Identity: "Cullen Jennings" sip:fluffy@cisco.com P-Asserted-Identity: tel:+14085264000
Regards,
Grant
From: sr-users [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 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] On Behalf Of Grant Bagdasarian Sent: Friday, April 8, 2016 5:38 PM To: Kamailio (SER) - Users Mailing List (sr-users@lists.sip-router.orgmailto:sr-users@lists.sip-router.org) sr-users@lists.sip-router.orgmailto: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 P-Asserted-Identity: 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.orgmailto:sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, Berlin, May 18-20, 2016 - http://www.kamailioworld.com
Hello,
there is a transformation for regexp substitutions, see the transformations cookbook on kamailio.org/wiki.
Also, if you just want everything after '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
P-Asserted-Identity: "Cullen Jennings" sip:fluffy@cisco.com
P-Asserted-Identity: tel:+14085264000
Regards,
Grant
*From:*sr-users [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 *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] *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> P-Asserted-Identity: 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 (2^nd 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
-- Daniel-Constantin Mierla http://www.asipto.com http://twitter.com/#!/miconda http://twitter.com/#%21/miconda - http://www.linkedin.com/in/miconda Kamailio World Conference, Berlin, May 18-20, 2016 - http://www.kamailioworld.com
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"); $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,tel:+3101234567 Retrieved CallerId (+3101234567) from P-Asserted-Identity header
Regards,
Grant
From: Daniel-Constantin Mierla [mailto:miconda@gmail.com] Sent: Monday, April 11, 2016 11:25 AM To: Grant Bagdasarian gb@cm.nl; Kamailio (SER) - Users Mailing List 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.
Also, if you just want everything after '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
P-Asserted-Identity: "Cullen Jennings" sip:fluffy@cisco.comsip:fluffy@cisco.com P-Asserted-Identity: tel:+14085264000
Regards,
Grant
From: sr-users [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.orgmailto: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] On Behalf Of Grant Bagdasarian Sent: Friday, April 8, 2016 5:38 PM To: Kamailio (SER) - Users Mailing List (sr-users@lists.sip-router.orgmailto:sr-users@lists.sip-router.org) sr-users@lists.sip-router.orgmailto: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 P-Asserted-Identity: 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.orgmailto:sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/micondahttp://twitter.com/#%21/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, Berlin, May 18-20, 2016 - http://www.kamailioworld.com
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, Berlin, May 18-20, 2016 - http://www.kamailioworld.com
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