[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