[SR-Users] python_exec and parameters

Daniel-Constantin Mierla miconda at gmail.com
Fri Feb 10 10:20:34 CET 2017



On 09/02/2017 16:47, Konstantin M. wrote:
> That's correct, it accepts only one parameter for now.
> After many years our company has switched to kamailio, I'm actively
> working on new version of app_python, more flexible and usable than
> current one, many new features...
> I'm not ready to push new changes to current module due to raw alpha
> and unstable work.

If you haven't seen it, note the addition of support for kemi in the
app_python. That should be preserved.
>
> Right now. as workaround you can pass something like $_s($fu!!$tu) and
> then in python parse them with from_user, to_user = $param1.split("!!")

Quickly looking in the source code, the function doesn't evaluate the
variables in the parameters. I will try to fix it soon.

Cheers,
Daniel

>
> 2017-02-09 11:31 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com
> <mailto:miconda at gmail.com>>:
>
>     Hello,
>
>     not very familiar with the app_python initial design, but when I added
>     kemi support in it for kamailio 5.0, I think I noticed the
>     limitation of
>     1 extra parameter. Probably you can encode your parameters in comma
>     separated value, so you can parse it easier in the python script, as
>     opposite to parsing the entire message buffer.
>
>     An alternative may be getting the value for $fu or $tu if python
>     offers
>     the api for getting/setting pseudo-variables -- these are for sure in
>     kemi exports to python.
>
>     Of course, if anyone adds support for more parameters, then it will be
>     accepted inside kamailio repo.
>
>     Cheers,
>     Daniel
>
>
>     On 08/02/2017 09:47, gmele wrote:
>     > Hello,
>     >
>     > in our Kamailio, we are using python_exec to execute script used
>     to send
>     > push notifications to Google or Apple.
>     >
>     > Currenty, the method we call only accepts the message as
>     parameter. We then
>     > extract from the message the Call Id, to URI and from URI.
>     >
>     > Here is the python method signature:
>     >
>     > *def SendPushNotification(self, msg)*
>     >
>     > To extract the toUri and fromUri (and remove the sip:), we use
>     python regex
>     > :
>     >
>     > *uriPattern=re.compile(".*sips?:(.+@[^>;]+)")*
>     >
>     > This is working well 99% of the time, except sometimes (we don't
>     know why)
>     > where we get the error:
>     >
>     > *logger_LM_ERR(): Exception occurred: Traceback (most recent
>     call last):
>     > File "mypythonExample.py", line XXX, in SendPushNotification
>     > requestUri = self.ExtractURIFromHeader(msg.getHeader("to"))
>     > File "mypythonExample.py", line XXX, in ExtractURIFromHeader
>     > m= self.uriPattern.match(header);
>     > TypeError: an integer is required*
>     >
>     > We tried to analyze the cause of this error, but we didn't find
>     any problem
>     > with the message itself (the message is complete, with the *to
>     *and *from
>     > *correctly filled).
>     >
>     > So, to avoid using the python regex, we have decided to pass
>     parameters to
>     > the python script (callId, from and to URI):
>     >
>     > *def SendPushRequest(self, msg, fromUri, toUri, callid)*
>     >
>     > But it seems python_exec doesn't support more than 2 parameters
>     ($mb and
>     > another one). Is this exact? If this is the case, how can we
>     pass several
>     > parameters from kamailio.cfg?
>     >
>     > Thx for your help.
>     >
>     > Regards
>     >
>     > Giovanni
>     >
>     >
>     >
>     >
>     >
>     > --
>     > View this message in context:
>     http://sip-router.1086192.n5.nabble.com/python-exec-and-parameters-tp155803.html
>     <http://sip-router.1086192.n5.nabble.com/python-exec-and-parameters-tp155803.html>
>     > Sent from the Users mailing list archive at Nabble.com.
>     >
>     > _______________________________________________
>     > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
>     mailing list
>     > sr-users at lists.sip-router.org <mailto:sr-users at 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
>     www.twitter.com/miconda <http://www.twitter.com/miconda> --
>     www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>     Kamailio Advanced Training - Mar 6-8 (Europe) and Mar 20-22 (USA)
>     - www.asipto.com <http://www.asipto.com>
>     Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>     <http://www.kamailioworld.com>
>
>
>     _______________________________________________
>     SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>     list
>     sr-users at lists.sip-router.org <mailto:sr-users at 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
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Mar 6-8 (Europe) and Mar 20-22 (USA) - www.asipto.com
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170210/958d0070/attachment.html>


More information about the sr-users mailing list