Hello Alex,

this was one of the topics we discussed (in general terms) last week in our 
development meeting.

No decision to deprecate the select framework has been done so far. You are 
right in noticing that the pseudo-variables are more used and also frequently 
extended, the select framework does not get extended since some time. But bugs 
that are reported in this area should be fixed as well.

Before deprecating the selects, a review needs to be done if the functionality 
can be completely replaced by PVs/transformations, some migration guide would 
be probably also necessary.

You are somehow wrong about the documentation, it is also in the wiki, but 
documented without much explanations. šŸ˜‰

https://www.kamailio.org/wiki/cookbooks/devel/selects

Cheers,

Henning

--
Henning Westerholt ā€“ https://skalatan.de/blog/
Kamailio services ā€“ https://gilawa.com<https://gilawa.com/>
Kamailio Merchandising ā€“ https://skalatan.de/merchandising

From: sr-users <sr-users-boun...@lists.kamailio.org> On Behalf Of Alex Balashov
Sent: Monday, November 18, 2019 2:37 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: Re: [SR-Users] Parsing Contact Port Field

Just be careful with selects as they are a construct imported from SER as part 
of the sip-router integration of 2010 (what a fascinating time to have been 
alive!)

Like some other SER constructs, they are not widely used and so I am not sure 
what the maintenance and support commitment to them is on a go-forward basis. 
Iā€™m not saying itā€™s not there or that nobody uses selectsā€”others can 
clarifyā€”but itā€™s notable that they are not in the core docs (as far as I know). 
For trivial operations which do not require the more extensive and nuanced 
flexibility of selects, you might consider a more ā€œKamailio-nativeā€ way: 
transformations.

https://www.kamailio.org/wiki/cookbooks/5.3.x/transformations#urihost

That is to say:

  $(ct{uri.host})

ā€” Alex

ā€”
Sent from mobile, with due apologies for brevity and errors.


On Nov 18, 2019, at 8:27 AM, Michael Iedema 
<mich...@kapsulate.com<mailto:mich...@kapsulate.com>> wrote:
ļ»æHi Sergiu,


@contact.uri.hostport might be what you are looking for.

For more:
http://www.kamailio.org/wiki/cookbooks/devel/selects


That worked perfectly, thanks!

For the other beginners out there, here are two snippets for posterity:

== TO LOG ==

xlog("L_INFO", "contact.uri.host = $sel(@contact.uri.host)\nā€);
xlog("L_INFO", "contact.uri.port = $sel(@contact.uri.port)\nā€);


== TO COMPARE ==

#!define PORT_SERVICE_A 5062

if ( @contact.uri.port == PORT_SERVICE_A ) {
 xlog(ā€œL_INFO", ā€œService A: sent $rm\n");
}



Regards,
-Michael




On Nov 12, 2019, at 14:50, Sergiu Pojoga 
<pojo...@gmail.com<mailto:pojo...@gmail.com>> wrote:

Hi Michael,

@contact.uri.hostport might be what you are looking for.

For more:
http://www.kamailio.org/wiki/cookbooks/devel/selects

Cheers.
--Sergiu

On Tue, Nov 12, 2019 at 8:32 AM Michael Iedema 
<mich...@kapsulate.com<mailto:mich...@kapsulate.com>> wrote:
Hello everyone,

I have a potentially silly beginners question: how can I parse the contact port 
field and act on it in my routing logic?


I know that the $ct variable contains the entire contact header and I can print 
it in an xlog() call. However, Iā€™d like to do something like the following in 
my routing logic:


. . . SIP CONTENT

Contact: <sip:someaccount@192.168.86.104:5062>;expires=1800


. . . CONFIG LOGIC

#!define PORT_SERVICE1 5061
#!define PORT_SERVICE2 5062

route {
   if ( src_port == PORT_SERVICE1 ) {
       xlog(ā€œL_INFOā€, ā€œReceived $rm from SERVICE1\nā€);
   } else if ( src_port == PORT_SERVICE2 ) {
       xlog(ā€œL_INFOā€, ā€œReceived $rm from SERVICE2\nā€);
   }
}


I realize that src_port is not the correct value to compare against. I want to 
compare against the originating contactā€™s port value.

How can I extract the port field from $ct?


Many thanks in advance and apologies for the beginners question. Iā€™ve googled 
for what I think Iā€™m trying to do without any real results on functions or 
tokenizers, etc. Iā€™m using Kamailio 5.3.0.

Regards,
-Michael


_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to