Re: Kamailio Regex
Timothy Delin via sr-users <[email protected]>
| Newsgroups | gmane.comp.voip.ser |
|---|---|
| Message-ID | <SEZPR04MB622084F095E6673988FB69FAE56DA@SEZPR04MB6220.apcprd04.prod.outlook.com> |
Hi Daniel, Sorry for the delayed response—I was away from my laptop. Hope you are doing well. Thanks for your help! Your code snippet worked perfectly. While we're on this topic, I wanted to share something I noticed during testing. I used two Kamailio instances—one as a UAC and the other as a UAS. The body content you're seeing comes from the UAC, and here’s the snippet I used: $uac_req(body) = "Calling-party: sip:[email protected];user=phone\r\n" + "Called-party: sip:[email protected];user=phone\r\n"; However, I realized that when I tried to retrieve the body on the UAS side using var(body) = $rb, it only captured the first line (Calling-party) and not the second (Called-party). Do you know why this might be happening? And how can I ensure the UAS receives the full body content sent by the UAC? Best regards, Timothy From: Daniel-Constantin Mierla <[email protected]> Sent: Monday, May 26, 2025 6:33 PM To: Timothy Delin <[email protected]>; Kamailio (SER) - Users Mailing List <[email protected]> Subject: Re: [SR-Users] Kamailio Regex [CAUTION: External email] Do not click links or open attachments unless you recognize the sender and know the content is safe. ___ Hello, try: $(var(body){line.sw,Calling-party}{s.after,:}{s.trim}{uri.user}) Cheers, Daniel On 26.05.25 12:13, Timothy Delin wrote: Hey Daniel, This is the expected body to be sent by the User Agent Client Calling-party: sip:[email protected];user=phone<mailto:sip:[email protected];user=phone> Called-party: sip:[email protected];user=phone The goal is to extract the phone number and store it as a variable which will be used to query to Redis Best regards, Timothy From: Daniel-Constantin Mierla <[email protected]><mailto:[email protected]> Sent: Monday, 26 May 2025 5:32 pm To: Kamailio (SER) - Users Mailing List <[email protected]><mailto:[email protected]> Cc: Timothy Delin <[email protected]><mailto:[email protected]> Subject: Re: [SR-Users] Kamailio Regex [CAUTION: External email] Do not click links or open attachments unless you recognize the sender and know the content is safe. ___ Hello, On 26.05.25 10:46, Timothy Delin via sr-users wrote: Hi everyone, I need your advice. I am extracting a SIP Body message from a User Agent Client using the regex as such “$var(calling_party)= $(var(body){re.subst,/.*Calling-party:\s*sip:(\+[0-9]+)@.*/\1/});” And I tried to log it as “xlog("L_INFO", "Extracted number 1: $var(calling_party) <><><>\n");” However, the output in my logs is only showing as below, where I cannot see any value after my variables. “1(6) INFO: {1 10 SUBSCRIBE 5017ae21204c72a3} <script>: Extracted number 1: +6512345678” I suspect this is the reason why when I tried to use this variable in a redis_cmd, it returns as null as the variable may have impacted the command input to Redis. I tried to change the $var(calling_party)=”+6512345678” and it is working perfectly fine maybe you can give and example of such body so we can try to suggest solutions. Looking at the regex and not knowing the input is not easy to guess. Cheers, Daniel -- Daniel-Constantin Mierla (@ asipto.com) twitter.com/miconda -- linkedin.com/in/miconda Kamailio Consultancy, Training and Development Services -- asipto.com Kamailio Scalability Training - Online, June 16-19, 2025 -- asipto.com -- Daniel-Constantin Mierla (@ asipto.com) twitter.com/miconda -- linkedin.com/in/miconda Kamailio Consultancy, Training and Development Services -- asipto.com Kamailio Scalability Training - Online, June 16-19, 2025 -- asipto.com __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions -- [email protected] To unsubscribe send an email to [email protected] Important: keep the mailing list in the recipients, do not reply only to the sender!