Hello Daniel,<br><br>Yes, I can support this. <br>More so, my voip application is purely written in python , so I&#39;m interested to add a native api to work with.<br><br><br><div class="gmail_quote">2012/12/4 Daniel-Constantin Mierla <span dir="ltr">&lt;<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    app_python didn&#39;t not have really a maintainer in the past years. If
    nobody from existing developers is willing to take over the
    maintenance/development of the module, then you can join and take
    care of it, committing directly. You will have to do it for at least
    one year.<br>
    <br>
    Let us know if it would interest you.<br>
    <br>
    Cheers,<br>
    Daniel<div><div class="h5"><br>
    <br>
    <div>On 12/4/12 6:14 PM, Konstantin M.
      wrote:<br>
    </div>
    <blockquote type="cite">Hello,<br>
      <br>
      Added Module Properties:<br>
        Ranks:<br>
            PROC_MAIN        - Main ser process<br>
            PROC_TIMER        - Timer attendant process<br>
            PROC_RPC        - RPC type process<br>
            PROC_FIFO        - FIFO attendant process<br>
            PROC_TCP_MAIN    - TCP main process<br>
            PROC_UNIXSOCK    - Unix socket server<br>
            PROC_ATTENDANT    - main &quot;attendant&quot; process<br>
            PROC_INIT        - special rank, the context is the main ser<br>
                                     process, but this is guaranteed to
      be executed<br>
                                     before any process is forked, so it
      can be used<br>
                                     to setup shared variables that
      depend on some<br>
                                     after mod_init available
      information (e.g.<br>
                                     total number of processes).<br>
      <br>
                                     @warning child_init(PROC_MAIN) is
      again called<br>
                      in the same process (main), but latter<br>
                                     (before tcp), so make sure you
      don&#39;t init things<br>
                                     twice, bot in PROC_MAIN and
      PROC_INT<br>
      <br>
            PROC_NOCHLDINIT    - no child init functions will be called
      if this rank is used in fork_process()<br>
            PROC_SIPINIT        - First SIP worker - some modules do
      special processing in this child, like loading db data<br>
            PROC_SIPRPC        - Used to init RPC worker as SIP commands
      handler. Don&#39;t do any special processing in the<br>
                      child init with this rank - just bare child
      initialization<br>
            PROC_MIN        - Minimum process rank<br>
      <br>
      Diff is attached.<br>
      <br>
      <div class="gmail_quote">2012/12/4 Ovidiu Sas <span dir="ltr">&lt;<a href="mailto:osas@voipembedded.com" target="_blank">osas@voipembedded.com</a>&gt;</span><br>
        <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Second
          patch applied.<br>
          <br>
          Thanks,<br>
          Ovidiu<br>
          <div>
            <div><br>
              On Mon, Dec 3, 2012 at 7:22 PM, Konstantin M. &lt;<a href="mailto:evilzluk@gmail.com" target="_blank">evilzluk@gmail.com</a>&gt;
              wrote:<br>
              &gt; Sure, done, see 02_better_printing_stacktrace.diff
               attached.<br>
              &gt;<br>
              &gt;<br>
              &gt; 2012/12/4 Ovidiu Sas &lt;<a href="mailto:osas@voipembedded.com" target="_blank">osas@voipembedded.com</a>&gt;<br>
              &gt;&gt;<br>
              &gt;&gt; Hello Konstantin,<br>
              &gt;&gt;<br>
              &gt;&gt; I applied the first patch.  Thank you.<br>
              &gt;&gt; For the second patch, I would like to use the
              internal kamailio memory<br>
              &gt;&gt; manager: pkg_malloc and pkg_realloc instead of
              calloc and realloc.<br>
              &gt;&gt; Could you please rework the second patch and
              test?<br>
              &gt;&gt;<br>
              &gt;&gt; Thanks,<br>
              &gt;&gt; Ovidiu<br>
              &gt;&gt;<br>
              &gt;&gt; On Mon, Dec 3, 2012 at 6:14 PM, Konstantin M.
              &lt;<a href="mailto:evilzluk@gmail.com" target="_blank">evilzluk@gmail.com</a>&gt;
              wrote:<br>
              &gt;&gt; &gt; Hello Ovidiu Sas,<br>
              &gt;&gt; &gt; Sure, I just removed this, see
              01_expand_log_facilities.diff attached.<br>
              &gt;&gt; &gt; Also I changed a printing of stack trace
              (see<br>
              &gt;&gt; &gt; 02_better_printing_stacktrace.diff)
              according to standard python&#39;s<br>
              &gt;&gt; &gt; traceback.<br>
              &gt;&gt; &gt;<br>
              &gt;&gt; &gt; Example of old printing:<br>
              &gt;&gt; &gt;  0(4842) ERROR: app_python
              [python_support.c:38]: python_exec2:<br>
              &gt;&gt; &gt; Unhandled<br>
              &gt;&gt; &gt; exception in the Python code:<br>
              &gt;&gt; &gt;  0(4842) ERROR: app_python
              [python_support.c:78]:       Traceback (most<br>
              &gt;&gt; &gt; recent call last):<br>
              &gt;&gt; &gt;  0(4842) ERROR: app_python
              [python_support.c:78]:         File<br>
              &gt;&gt; &gt; &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line
              34, in BuggyCode<br>
              &gt;&gt; &gt;     return self.BuggyCode_lvl2(a)<br>
              &gt;&gt; &gt;  0(4842) ERROR: app_python
              [python_support.c:78]:         File<br>
              &gt;&gt; &gt; &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line
              31, in BuggyCode_lvl2<br>
              &gt;&gt; &gt;     return self.BuggyCode_lvl3(a)<br>
              &gt;&gt; &gt;  0(4842) ERROR: app_python
              [python_support.c:78]:         File<br>
              &gt;&gt; &gt; &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line
              28, in BuggyCode_lvl3<br>
              &gt;&gt; &gt;     return self.BuggyCode_lvl4(a)<br>
              &gt;&gt; &gt;  0(4842) ERROR: app_python
              [python_support.c:78]:         File<br>
              &gt;&gt; &gt; &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line
              25, in BuggyCode_lvl4<br>
              &gt;&gt; &gt;     return self.BuggyCode_lvl5(a)<br>
              &gt;&gt; &gt;  0(4842) ERROR: app_python
              [python_support.c:78]:         File<br>
              &gt;&gt; &gt; &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line
              22, in BuggyCode_lvl5<br>
              &gt;&gt; &gt;     a / 0<br>
              &gt;&gt; &gt;  0(4842) ERROR: app_python
              [python_support.c:78]:       TypeError:<br>
              &gt;&gt; &gt; unsupported operand type(s) for /:
              &#39;Router.msg&#39; and &#39;int&#39;<br>
              &gt;&gt; &gt;<br>
              &gt;&gt; &gt;<br>
              &gt;&gt; &gt; Example of new printing:<br>
              &gt;&gt; &gt;  0(4753) ERROR: app_python
              [python_support.c:95]: python_exec2:<br>
              &gt;&gt; &gt; Unhandled<br>
              &gt;&gt; &gt; exception in the Python code:<br>
              &gt;&gt; &gt; Traceback (most recent call last):<br>
              &gt;&gt; &gt;   File
              &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line 34, in
              BuggyCode<br>
              &gt;&gt; &gt;     return self.BuggyCode_lvl2(a)<br>
              &gt;&gt; &gt;   File
              &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line 31, in
              BuggyCode_lvl2<br>
              &gt;&gt; &gt;     return self.BuggyCode_lvl3(a)<br>
              &gt;&gt; &gt;   File
              &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line 28, in
              BuggyCode_lvl3<br>
              &gt;&gt; &gt;     return self.BuggyCode_lvl4(a)<br>
              &gt;&gt; &gt;   File
              &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line 25, in
              BuggyCode_lvl4<br>
              &gt;&gt; &gt;     return self.BuggyCode_lvl5(a)<br>
              &gt;&gt; &gt;   File
              &quot;/opt/kamailio/python/Kam-Loggers.py&quot;, line 22, in
              BuggyCode_lvl5<br>
              &gt;&gt; &gt;     a / 0<br>
              &gt;&gt; &gt; TypeError: unsupported operand type(s) for
              /: &#39;Router.msg&#39; and &#39;int&#39;<br>
              &gt;&gt; &gt;<br>
              &gt;&gt; &gt;<br>
              &gt;&gt; &gt;<br>
              &gt;&gt; &gt; 2012/12/4 Ovidiu Sas &lt;<a href="mailto:osas@voipembedded.com" target="_blank">osas@voipembedded.com</a>&gt;<br>
              &gt;&gt; &gt;&gt;<br>
              &gt;&gt; &gt;&gt; Hello Konstantin,<br>
              &gt;&gt; &gt;&gt;<br>
              &gt;&gt; &gt;&gt; I would be happy to commit your patch,
              but I would like to ask you to<br>
              &gt;&gt; &gt;&gt; remove, for now, the conditional FLAVOUR
              compilation.<br>
              &gt;&gt; &gt;&gt; You could leave the module name as
              &quot;Router&quot; for now.<br>
              &gt;&gt; &gt;&gt; Can you generate an new patch file
              without FLAVOUR?<br>
              &gt;&gt; &gt;&gt;<br>
              &gt;&gt; &gt;&gt; Regards,<br>
              &gt;&gt; &gt;&gt; Ovidiu Sas<br>
              &gt;&gt; &gt;&gt;<br>
              &gt;&gt; &gt;&gt; On Mon, Dec 3, 2012 at 2:50 PM,
              Konstantin M. &lt;<a href="mailto:evilzluk@gmail.com" target="_blank">evilzluk@gmail.com</a>&gt;<br>
              &gt;&gt; &gt;&gt; wrote:<br>
              &gt;&gt; &gt;&gt; &gt; Hi Dev,<br>
              &gt;&gt; &gt;&gt; &gt;<br>
              &gt;&gt; &gt;&gt; &gt; Modified app_python:<br>
              &gt;&gt; &gt;&gt; &gt;<br>
              &gt;&gt; &gt;&gt; &gt; 1) Added FLAVOUR support<br>
              &gt;&gt; &gt;&gt; &gt; 2) Added python objects:<br>
              &gt;&gt; &gt;&gt; &gt;<br>
              &gt;&gt; &gt;&gt; &gt;   Module Properties:<br>
              &gt;&gt; &gt;&gt; &gt;      Log Levels:<br>
              &gt;&gt; &gt;&gt; &gt;          L_ALERT<br>
              &gt;&gt; &gt;&gt; &gt;          L_BUG<br>
              &gt;&gt; &gt;&gt; &gt;          L_CRIT2<br>
              &gt;&gt; &gt;&gt; &gt;          L_CRIT<br>
              &gt;&gt; &gt;&gt; &gt;          L_ERR<br>
              &gt;&gt; &gt;&gt; &gt;          L_WARN<br>
              &gt;&gt; &gt;&gt; &gt;          L_NOTICE<br>
              &gt;&gt; &gt;&gt; &gt;          L_INFO<br>
              &gt;&gt; &gt;&gt; &gt;          L_DBG<br>
              &gt;&gt; &gt;&gt; &gt;<br>
              &gt;&gt; &gt;&gt; &gt;      Log Facilities:<br>
              &gt;&gt; &gt;&gt; &gt;          DEFAULT_FACILITY<br>
              &gt;&gt; &gt;&gt; &gt;<br>
              &gt;&gt; &gt;&gt; &gt;   Module Methods:<br>
              &gt;&gt; &gt;&gt; &gt;      LM_GEN1(self, int log_level,
              str msg)<br>
              &gt;&gt; &gt;&gt; &gt;      LM_GEN2(self, int
              log_facility, int log_level, str msg)<br>
              &gt;&gt; &gt;&gt; &gt;      LM_ALERT(self, str msg)<br>
              &gt;&gt; &gt;&gt; &gt;      LM_CRIT(self, str msg)<br>
              &gt;&gt; &gt;&gt; &gt;      LM_ERR(self, str msg)<br>
              &gt;&gt; &gt;&gt; &gt;      LM_WARN(self, str msg)<br>
              &gt;&gt; &gt;&gt; &gt;      LM_NOTICE(self, str msg)<br>
              &gt;&gt; &gt;&gt; &gt;      LM_INFO(self, str msg)<br>
              &gt;&gt; &gt;&gt; &gt;      LM_DBG(self, str msg)<br>
              &gt;&gt; &gt;&gt; &gt;<br>
              <br>
              _______________________________________________<br>
              sr-dev mailing list<br>
              <a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a><br>
              <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
sr-dev mailing list
<a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
    </blockquote>
    <br>
    </div></div><span class="HOEnZb"><font color="#888888"><pre cols="72">-- 
Daniel-Constantin Mierla - <a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a></pre>
  </font></span></div>

</blockquote></div><br>