<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;
        mso-fareast-language:EN-US;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="color:windowtext">Hi
</span>Daniel,<o:p></o:p></p>
<p class="MsoNormal"><span style="color:windowtext">Unfortunately, it didn’t help as the “self” pointer is null in the following code at python_msgobj.c:175<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:36.0pt"><span style="color:windowtext">if (self->msg == NULL) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt;text-indent:36.0pt"><span style="color:windowtext">PyErr_SetString(PyExc_RuntimeError, "self->msg is NULL");<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:36.0pt"><span style="color:windowtext">              Py_INCREF(Py_None);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">                              return Py_None;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:36.0pt"><span style="color:windowtext">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">Core was generated by `/usr/sbin/kamailio -P /var/run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.'.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">Program terminated with signal SIGSEGV, Segmentation fault.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#0  0x00007f688ae37009 in msg_call_function (self=0x0, args=0x7f68786b7aa0) at python_msgobj.c:175<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">175     python_msgobj.c: No such file or directory.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">(gdb) bt<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#0  0x00007f688ae37009 in msg_call_function (self=0x0, args=0x7f68786b7aa0) at python_msgobj.c:175<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#1  0x00007f688a9f0e6c in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#2  0x00007f688aa64190 in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#3  0x00007f688a9b332c in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#4  0x00007f688a9bbbe3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#5  0x00007f688a9fe0e5 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#6  0x00007f688a9bbbe3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#7  0x00007f688aa636e7 in PyEval_CallObjectWithKeywords () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#8  0x00007f688ae32eac in apy_exec (_msg=0x7f688f3d15c8, fname=0x7f688ae37dc0 "ksr_request_route", fparam=0x0, emode=1) at python_exec.c:143<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#9  0x00007f688ae136f6 in sr_kemi_config_engine_python (msg=0x7f688f3d15c8, rtype=1, rname=0x0, rparam=0x0) at apy_kemi.c:53<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#10 0x0000000000579b6c in receive_msg (<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">    buf=0xa395c0 <buf> "INVITE sip:+441992878768@185.28.212.141:5060 SIP/2.0\r\nVia: SIP/2.0/UDP 185.28.212.125:5060;branch=z9hG4bK-15930-1-0\r\nFrom: anonymous <sip:anonymous@185.28.212.141>;tag=15930Tag001\r\nTo:
 <sip:+441992878"..., len=858, rcv_info=0x7fff0791c6e0) at core/receive.c:260<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#11 0x00000000004a86f9 in udp_rcv_loop () at core/udp_server.c:515<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#12 0x0000000000422d08 in main_loop () at main.c:1623<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">#13 0x000000000042a408 in main (argc=13, argv=0x7fff0791cb88) at main.c:2643<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">Thanks <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">Regards<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">Muhammad Zaka<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="color:windowtext;mso-fareast-language:EN-GB">From:</span></b><span lang="EN-US" style="color:windowtext;mso-fareast-language:EN-GB"> Daniel-Constantin Mierla [mailto:miconda@gmail.com]
<br>
<b>Sent:</b> 27 September 2017 10:06<br>
<b>To:</b> Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>; Muhammad Zaka <muhammad.zaka@cloudcall.com><br>
<b>Subject:</b> Re: [SR-Users] How to do replace_body_all with Kemi python version kamailio 5.0.x<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>Hello,<o:p></o:p></p>
<p>the version 5.0 doesn't have too many exports to kemi. In master branch there is already subst_body():<o:p></o:p></p>
<p>  - <a href="https://github.com/kamailio/kamailio/blob/master/src/modules/textops/textops.c#L3541">
https://github.com/kamailio/kamailio/blob/master/src/modules/textops/textops.c#L3541</a><o:p></o:p></p>
<p>I will add more as I get time before 5.1 release.<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Anyhow, even in 5.0 is a generic kemi function that allows executing any kamailio.cfg function, respectively:<br>
<br>
KSR.x.modf(func, param1, ...)<br>
<br>
In your case, try:<br>
<br>
KSR.x.modf("replace_body_all", "a=sendonly", "a=sendrecv")<br>
<br>
You should be careful with KSR.x.modf(...), because is some cases it may result in pkg leak due to cfg param fixup. So, do some tests and be sure that pkg memory stats are not indicating a leak.<br>
<br>
Cheers,<br>
Daniel<o:p></o:p></p>
<div>
<p class="MsoNormal">On 26.09.17 10:48, Muhammad Zaka wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Hi<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">We are experiencing issue with python script KSR. textops.replace_body_all using branch 5.0.2: -<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Example Code:<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">KSR.textops.replace_body_all("a=sendonly", "a=sendrecv")
<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">It looks like that the module textops and textopsx are not available. Using $rb or $msg(body) pseudo variables isn’t working as they are readonly.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Is there any other way to replace the body?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Many Thanks<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Regards <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Muhammad Zaka<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:EN-GB"><br>
<br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Kamailio (SER) - Users Mailing List<o:p></o:p></pre>
<pre><a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><o:p></o:p></pre>
<pre><a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:EN-GB"><br>
<br>
<o:p></o:p></span></p>
<pre>-- <o:p></o:p></pre>
<pre>Daniel-Constantin Mierla<o:p></o:p></pre>
<pre><a href="http://www.twitter.com/miconda">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
<pre>Kamailio Advanced Training - <a href="http://www.asipto.com">www.asipto.com</a><o:p></o:p></pre>
<pre>Kamailio World Conference - <a href="http://www.kamailioworld.com">www.kamailioworld.com</a><o:p></o:p></pre>
</div>
</body>
</html>