<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099">hello Tomi,<br clear="all"></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099"> </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099">yeah , when i test, I</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099">1) put #!/usr/bin/python3 in the script, or</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099">2) run "python3" for the interactive session</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099"> yes, just read the <a href="https://github.com/OpenSIPS/opensips/blob/master/modules/python/Makefile" target="_blank" style="font-family:Arial,Helvetica,sans-serif">https://github.com/OpenSIPS/opensips/blob/master/modules/python/Makefile</a> and yeah, it's an ugly hack to have the system run python3 when python is referred to.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099"> I had  considered removing python 2.7 to which, after searching, it was not a good idea for it would break the system. </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099"> I will keep researching :) </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099">thank you again, Tomi :)</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:#000099"><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font color="#000000" face="verdana, sans-serif">Regards,<br>Gordon Yeong</font></div></div></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 17 May 2020 at 16:38, Tomi Hakkarainen <<a href="mailto:tpaivaa@gmail.com">tpaivaa@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="ltr"><div dir="ltr">Hi,</div><div dir="ltr"><br></div><div dir="ltr">just another guess it uses version it had while installing opensips and was executed with python keyword.</div><div dir="ltr"><br></div><div dir="ltr">this came based on this</div><div dir="ltr"><a href="https://github.com/OpenSIPS/opensips/blob/master/modules/python/Makefile" target="_blank">https://github.com/OpenSIPS/opensips/blob/master/modules/python/Makefile</a></div><div dir="ltr"><br></div><div dir="ltr">not sure you could point it to use other python version with environment variables but is one option to search.</div><div dir="ltr"><br></div><div dir="ltr">do you run the tests on the box with python3 prefix or python?</div><div dir="ltr"><br></div><div dir="ltr">maybe it would be as easy as try to point the system run python3 when you run .py scripts with python keyword.</div><div dir="ltr"><br></div><div dir="ltr">Really hope you get what I mean :)</div><div dir="ltr"><br></div><div dir="ltr">based on this <span style="color:rgb(0,0,153);font-family:Arial,sans-serif;background-color:rgb(255,255,255)">#!/usr/bin/python3</span></div><div dir="ltr">your system find/run python3 with python3 not when running python</div><div dir="ltr"><span style="color:rgb(0,0,153);font-family:Arial,sans-serif;background-color:rgb(255,255,255)"><br></span></div><div dir="ltr">Tomi</div><div dir="ltr"><br>On 17. May 2020, at 8.53, Gordon Yeong <<a href="mailto:anexiole@gmail.com" target="_blank">anexiole@gmail.com</a>> wrote:<br><br></div><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">very interesting.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"> I looked at the code in handler.py and adjusted my python class.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">I ran opensips  (master branch) and found 2 issues:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">1) python3 is not being run. How do i specify to opensips to use python 3?</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">May 17 15:45:46 [21373] Just done the enum query...The ru value is (<a href="http://sip:service@192.168.136.133:5060" target="_blank">sip:service@192.168.136.133:5060</a>)<br>Calling get_rn...<br>May 17 15:45:46 [21373] ERROR:python:python_handle_exception: python_exec("get_rn"): Unhandled exception in the Python code:<br>May 17 15:45:46 [21373] ERROR:python:python_handle_exception:   Traceback (most recent call last):<br>May 17 15:45:46 [21373] ERROR:python:python_handle_exception:     File "/home/gordon/opensips_proxy_source/modules/python/dumbat.py", line 61, in get_rn<br>    return re.match('.*rn\=\+6114([\d]{2}).*', str(raw_enum_result) ).group(1);<br>May 17 15:45:46 [21373] ERROR:python:python_handle_exception:     File "/usr/lib64/python2.7/re.py", line 137, in match   <---- python2.7 not 3</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">May 17 15:45:46 [21373] ERROR:python:python_handle_exception:   TypeError: an integer is required<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">May 17 15:45:46 [21373] AFTER EXTRACTION (get_rn)............ The value of the rn code is [-1]<br>May 17 15:45:46 [21373] incoming reply<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">2) the type error seems to be coming from re.py . I will trace more later but we need to make my opensips use python 3.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">So, how do I specify python3 to be used in my opensips?</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font color="#000000" face="verdana, sans-serif">Regards,<br>Gordon Yeong</font></div></div></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 16 May 2020 at 21:09, Gordon Yeong <<a href="mailto:anexiole@gmail.com" target="_blank">anexiole@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Tomi<div dir="auto"><br></div><div dir="auto">I will try it on monday. Let u know. Thank you, stay safw and have a good weekend :)</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 16 May 2020, 8:08 pm Tomi Hakkarainen, <<a href="mailto:tpaivaa@gmail.com" target="_blank">tpaivaa@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi,<div>My second guess :)</div><div><br></div><div>Check this</div><div><a href="https://github.com/OpenSIPS/opensips/blob/master/modules/python/handler.py" rel="noreferrer" target="_blank">https://github.com/OpenSIPS/opensips/blob/master/modules/python/handler.py</a></div><div><br></div><div>Differs from your version… Can these differences cause the failure?</div><div><br></div><div>The __init__ located inside class</div><div><br></div><div>And the mod_init located last in the script (does the order count for anything in python?)</div><div><br></div><div>Also called handler function always returns 1 not the init</div><div><br></div><div>Tomi<br><div><br><div>On 16. May 2020, at 11.20, Gordon Yeong <<a href="mailto:anexiole@gmail.com" rel="noreferrer" target="_blank">anexiole@gmail.com</a>> wrote:</div><br><div><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">Yeah I looked at that and ran my code on the python3 interpreter - it worked. </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">Then i put it into a class - it worked.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"> And then only did I put it (the class) to use in opensips..</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">Had there been an issue, python3 would have kicked and scream which it did not.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"> No issue with the regexp. </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"> Thank you</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)"><br></div><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"></div></div></div></div></div><font face="verdana, sans-serif">G<span class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,153)">ordon</span></font></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 16 May 2020 at 18:03, Tomi Hakkarainen <<a href="mailto:tpaivaa@gmail.com" rel="noreferrer" target="_blank">tpaivaa@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="ltr">Hi,</div><div dir="ltr"><br></div><div dir="ltr">not sure has this nothing to do with the error but game to my eye trying to figure out what this bunch of code is really doing...</div><div dir="ltr"><br></div><div dir="ltr">from python re docs:</div><div dir="ltr"><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)"><br></span></div><div dir="ltr"><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">Regular expressions use the backslash character (</span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>'\'</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">) to indicate special forms or to allow special characters to be used without invoking their special meaning. This collides with Python’s usage of the same character for the same purpose in string literals; for example, to match a literal backslash, one might have to write </span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>'\\\\'</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)"> as the pattern string, because the regular expression must be </span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>\\</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">, and each backslash must be expressed as </span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>\\</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)"> inside a regular Python string literal. Also, please note that any invalid escape sequences in Python’s usage of the backslash in string literals now generate a </span><a href="https://docs.python.org/3/library/exceptions.html#DeprecationWarning" title="DeprecationWarning" style="color:rgb(99,99,187);text-decoration:none;font-family:"Lucida Grande",Arial,sans-serif;text-align:justify" rel="noreferrer" target="_blank"><code style="padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px"><span>DeprecationWarning</span></code></a><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)"> and in the future this will become a </span><a href="https://docs.python.org/3/library/exceptions.html#SyntaxError" title="SyntaxError" style="color:rgb(99,99,187);text-decoration:none;font-family:"Lucida Grande",Arial,sans-serif;text-align:justify" rel="noreferrer" target="_blank"><code style="padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px"><span>SyntaxError</span></code></a><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">. This behaviour will happen even if it is a valid escape sequence for a regular expression.</span></div><div dir="ltr"><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)"><br></span></div><div dir="ltr"><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">The solution is to use Python’s raw string notation for regular expression patterns; backslashes are not handled in any special way in a string literal prefixed with </span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>'r'</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">. </span><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">So </span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>r"\n"</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)"> is a two-character string containing </span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>'\'</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)"> and </span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>'n'</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">, while </span><code style="background-color:rgb(236,240,243);padding:0px 1px;font-size:15.44px;font-family:monospace,sans-serif;border-radius:3px;color:rgb(34,34,34);text-align:justify"><span>"\n"</span></code><span style="color:rgb(34,34,34);font-family:"Lucida Grande",Arial,sans-serif;font-size:26px;text-align:justify;background-color:rgb(255,255,255)">is a one-character string containing a newline.</span></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Tomi</div><div dir="ltr"><br>On 16. May 2020, at 1.47, Gordon Yeong <<a href="mailto:anexiole@gmail.com" rel="noreferrer" target="_blank">anexiole@gmail.com</a>> wrote:<br><br></div><div dir="ltr"><div dir="auto"><div>It's passed the init. If i did a print (LM_ERR) In the first line of init(), it doesn't show that print. <div dir="auto"><br></div><div dir="auto">If i  did a print (LM_ERR)a static string   in the get_rn()  before the line that calls compile(), i noticed that it does print out.  And if i tried to print a static string right after the compile() call,  it doesn't print and it calls TypeError.</div><div dir="auto"><br></div><div dir="auto">That's why i suspect something is wrong bit can't tell exactly what....</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 15 May 2020, 11:21 pm Ben Newlin, <<a href="mailto:Ben.Newlin@genesys.com" rel="noreferrer" target="_blank">Ben.Newlin@genesys.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div><p class="MsoNormal">Gordon,<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Are you sure the TypeError is not occurring in mod_init? It looks like you are trying to do a print on a Class definition.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span>Ben Newlin </span><u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in"><p class="MsoNormal"><b><span style="font-size:12pt">From: </span></b><span style="font-size:12pt">Users <<a href="mailto:users-bounces@lists.opensips.org" rel="noreferrer noreferrer" target="_blank">users-bounces@lists.opensips.org</a>> on behalf of Gordon Yeong <<a href="mailto:anexiole@gmail.com" rel="noreferrer noreferrer" target="_blank">anexiole@gmail.com</a>><br>
<b>Reply-To: </b>OpenSIPS users mailling list <<a href="mailto:users@lists.opensips.org" rel="noreferrer noreferrer" target="_blank">users@lists.opensips.org</a>><br>
<b>Date: </b>Friday, May 15, 2020 at 1:54 AM<br>
<b>To: </b>OpenSIPS users mailling list <<a href="mailto:users@lists.opensips.org" rel="noreferrer noreferrer" target="_blank">users@lists.opensips.org</a>><br>
<b>Subject: </b>[OpenSIPS-Users] python module - python_exec() behaviour in opensips<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">hi guys,<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"> Using opensips 3.0 and python3 here.<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"> I have a script which parses a number in a string (r'.*rn=\+6114(\d{2})').<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">Script is as follows:<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">---------- start ---------------<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">#!/usr/bin/python3<br>
import re;<br>
import pprint;<br>
<br>
<br>
class test:<br>
<br>
    def get_rn():<br>
        rnRegExp = rnRegExp = re.compile(r'.*rn=\+6114(\d{2})');<br>
        doit = rnRegExp.match( str("<a rel="noreferrer">sip:+61386947785;npdi;rn=+</a><a href="mailto:611411@tipt.ns.zippi.vocus.com" rel="noreferrer noreferrer" target="_blank">611411@tipt.ns.zippi.vocus.com</a>;user=phone"));<br>
<br>
        if doit:<br>
            pp = pprint.PrettyPrinter(indent=4);<br>
            return doit.group(1);<br>
        else:<br>
            return None;<br>
<br>
result = test.get_rn();<br>
<br>
if result is None:<br>
    print("Got no match\n");<br>
else:<br>
    print("Result is " + result);<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">----------- end --------------<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">In my opensips setup, I have the function above looking like this:<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">---- start--------<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><br>
from OpenSIPS import LM_ERR<br>
import re;<br>
import pprint;<br>
<br>
def mod_init():<br>
    print("In mod_init, SIP MSG is : ");<br>
    pp = pprint.PrettyPrinter(indent=4)<br>
    pp.pprint(SIPMsg);<br>
    return SIPMsg();<br>
<br>
def __init__():<br>
    return 1;<br>
<br>
import re;<br>
import pprint;<br>
<br>
class SIPMsg:<br>
<br>
    def child_init(self, rank):<br>
        return 0<br>
<br>
    def get_rn(self, msg, raw_enum_result):<br>
        try:<br>
             get_rn = re.compile(r'.*rn=\+6114(\d{2})');<br>
<br>
             rn = get_rn.match(str(raw_enum_result));<br>
             return rn.group(1);<br>
        except AttributeError:<br>
             # Invalid input string<br>
             LM_ERR(" attribute ERRor" );<br>
             return '';<br>
        except TypeError:<br>
             # Invalid input string<br>
             LM_ERR(" Type Error" );<br>
             return '';<br>
        else:<br>
             LM_ERR(" general ERRor" );<br>
             return '';<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">----- end ------<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">In my opensips config, I call the get_rn() function via python_exec() as below.<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">$var(rn_code)=python_exec("get_rn", $var(raw_string));<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">I'm facing an issue here because when I run the script by itself in a command line, it works.<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"> No "Error: Text Type" but when my opensips run, it keeps hitting a TypeError.<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"> I have even explicitly fed the " rn = get_rn.match(str(raw_enum_result));" with an explicit string (ie. I dont send use the value passed in from the argument BUT instead, just
 feed it an explicit string value) and yet the same issue occurs.<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">Does processing control belong directly to python3 when we call python_exec() or is there something funny going on here?<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"> <u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)">Thank you<u></u><u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div><p class="MsoNormal"><span style="font-family:Arial,sans-serif;color:rgb(0,0,153)"><u></u> <u></u></span></p>
</div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><p class="MsoNormal"><span style="font-family:Verdana,sans-serif">Regards,<br>
Gordon </span><u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" rel="noreferrer noreferrer" target="_blank">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer noreferrer noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</blockquote></div></div></div>
<span>_______________________________________________</span><br><span>Users mailing list</span><br><span><a href="mailto:Users@lists.opensips.org" rel="noreferrer" target="_blank">Users@lists.opensips.org</a></span><br><span><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a></span><br></div></div>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" rel="noreferrer" target="_blank">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</blockquote></div>
_______________________________________________<br>Users mailing list<br><a href="mailto:Users@lists.opensips.org" rel="noreferrer" target="_blank">Users@lists.opensips.org</a><br><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br></div></div><br></div></div>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" rel="noreferrer" target="_blank">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</blockquote></div>
</blockquote></div>
<span>_______________________________________________</span><br><span>Users mailing list</span><br><span><a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a></span><br><span><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a></span><br></div></div></div>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</blockquote></div>