[SR-Users] kamailio and app_python

Konstantin M. evilzluk at gmail.com
Wed Oct 3 18:38:07 CEST 2012


Hello,
I can contribute a python part, but currently I'm a very busy at the
moment.
I will write a patch to enable this ability (and many other features) as
soon as possible.

2012/10/3 Daniel-Constantin Mierla <miconda at gmail.com>

> Hello,
>
> the best would be to enhance the module to be able to get/set
> pseudo-variables. I am not a python guy at all, so I cannot help much,
> however I can assist with the C side in kamailio if someone starts
> development and has questions about PVs.
>
> Calling config functions with parameters from embedded interpreters
> exposes the risk of memory leaks, so it is better to avoid it. Anyhow,
> added headers are not visible immediately (even when done form config
> file), unless you call msg_apply_changes().
>
> As a workaround for now, I suggest you put your token somehow in request
> uri (e.g., a parameter).
>
> Cheers,
> Daniel
>
>
> On 10/1/12 9:53 AM, Victor Seva wrote:
>
>> Hi,
>>
>> is there any way to return values from a call to python_exec function
>> orther than the default returned integer?
>>
>> Following code generates this error:
>> Oct  1 09:08:23 zskio /usr/sbin/kamailio[21789]: ERROR: app_python
>> [python_support.c:38]: python_exec2: Unhandled exception in the Python
>> code:
>> Oct  1 09:08:23 zskio /usr/sbin/kamailio[21789]: ERROR: app_python
>> [python_support.c:78]: #011RuntimeError: no such function
>>
>>                  if (!python_exec("get_provider",
>> $(var(clean_uri){s.prefixes}))**) {
>>                          xlog("L_ERR","Can not choose a provider for
>> $rU\n");
>>                          sl_send_reply("503","Can not choose a provider
>> for $rU");
>>                          exit;
>>                  }
>>
>>
>> def get_provider(self, msg, param):
>>          # snipped code...
>>          result = self.util.get_provider(**prefixes, position, mode)
>>          if result is not None:
>>              LM_ERR("mode: %s position: %d result: %s" % (mode,
>> position, result))
>>              # this raises error
>>              msg.call_function('**rewritehost', result['provider']['ip'])
>>              return 1
>>          return -1
>>
>> I tried to use headers as transport but this simple code does not work:
>>
>> Oct  1 09:45:31 zskio /usr/sbin/kamailio[22303]: ERROR: <script>: No
>> header
>>
>>                  if (!is_present_hf("X-Test-**header")) {
>>                          xlog("L_ERROR", "No header\n");
>>                  }
>>                  else {
>>                          xlog("L_INFO", "Header added\n");
>>                  }
>>
>>      def test_set_header(self, msg):
>>          msg.call_function('append_hf', 'X-Test-header: test\r\n')
>>          return 1
>>
>> Thanks in advance.
>>
>> ______________________________**_________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> 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 - http://www.asipto.com
> http://twitter.com/#!/miconda - http://www.linkedin.com/in/**miconda<http://www.linkedin.com/in/miconda>
> Kamailio Advanced Training, Berlin, Nov 5-8, 2012 -
> http://asipto.com/u/kat
> Kamailio Advanced Training, Miami, USA, Nov 12-14, 2012 -
> http://asipto.com/u/katu
>
>
>
> ______________________________**_________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> 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>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20121003/b2bb1042/attachment.htm>


More information about the sr-users mailing list