<div dir="ltr">I made it work but I have to set multipart always in request route  (as the manual says) to apply the changes. Just a comment. If I don't apply changes after append_body_part, kamailio crashes.<div><br></div><div><div>if (is_method("INVITE") && !has_totag()) {</div><div>                set_body_multipart();</div><div>                msg_apply_changes();<br></div><div>                $var(gtd) = "IAM,\r\nCPC,"+$avp("ch")+"\r\nGCI,asdfasd\r\n\r\n";        </div><div>                append_body_part("$var(gtd)", "application/gtd", "signal;handling=optional");<br></div><div>                msg_apply_changes(); </div><div>}</div></div><div><br></div><div><br></div><div>I know that this is the way as it works (just apply changes in request route) but with rtjson and the evapi module I decide if it has to have or not multipart later and not in the first invite.</div><div>Is It possible to add in new versions of kamailio to apply the changes in branch route too? (this would be a new request)<br></div><div><br></div><div>Cheers.</div><div><br></div><div>Diego.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-12-26 13:21 GMT-03:00 Diego Nadares <span dir="ltr"><<a href="mailto:dnadares@gmail.com" target="_blank">dnadares@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Hi Sergey, </div><div><br></div><div>Thanks for your reply. You are right. </div><div> </div><div>I added a test with results in the second email  calling only set_body_multipart.</div><div><br></div><div>Do you have any idea what is happening?</div><div><br></div><div>Thanks again!</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Diego</div></font></span><div class="HOEnZb"><div class="h5"><div><br><div class="gmail_quote"><div>El El lun, 26 de dic. de 2016 a las 13:10, Sergey Basov <<a href="mailto:sergey.v.basov@gmail.com" target="_blank">sergey.v.basov@gmail.com</a>> escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_-7877091810066438430gmail_msg">Hi. <div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">As from textopsx module doc: "This function can be used from REQUEST_ROUTE or ONREPLY_ROUTE." </div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">And you have error in your log: "<span style="font-family:sans-serif" class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: ERROR: textopsx [textopsx.c:159]: msg_apply_changes_f(): invalid usage - not in request route" </span></div><div class="m_-7877091810066438430gmail_msg"><span style="font-family:sans-serif" class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></span></div><div class="m_-7877091810066438430gmail_msg"><font face="sans-serif" class="m_-7877091810066438430gmail_msg">--</font></div><div class="m_-7877091810066438430gmail_msg"><font face="sans-serif" class="m_-7877091810066438430gmail_msg">Sergey Basov</font></div><br class="m_-7877091810066438430gmail_msg"><div class="gmail_extra m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"><div class="gmail_quote m_-7877091810066438430gmail_msg">26 дек. 2016 г. 5:05 PM пользователь "Diego Nadares" <<a href="mailto:dnadares@gmail.com" class="m_-7877091810066438430gmail_msg" target="_blank">dnadares@gmail.com</a>> написал:<br type="attribution" class="m_-7877091810066438430gmail_msg"><blockquote class="m_-7877091810066438430m_7198218513828055017quote m_-7877091810066438430gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div><div class="m_-7877091810066438430gmail_msg"><div class="gmail_extra m_-7877091810066438430gmail_msg"><div class="gmail_quote m_-7877091810066438430gmail_msg"><blockquote class="m_-7877091810066438430m_7198218513828055017quote m_-7877091810066438430gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_-7877091810066438430gmail_msg">Sorry, I forgot to paste two log lines.<div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">.....</div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: ERROR: textopsx [textopsx.c:159]: msg_apply_changes_f(): invalid usage - not in request route</div><div class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: ERROR: textops [textops.c:1879]: append_multibody_helper(): Cannot get boundary. Is body multipart?</div></div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: INFO: <script>: NATMANAGE 172.16.213.38 172.16.208.11  <null></div><div class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: INFO: <script>: NATMANAGE 172.16.208.11 Priv</div><div class="m_-7877091810066438430m_7198218513828055017quoted-text m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: INFO: <core> [msg_translator.c:1693]: get_boundary(): Content-Type hdr has no params <application/sdp></div><div class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: WARNING: <core> [msg_translator.c:1959]: build_req_buf_from_sip_req(): check_boundaries error</div></div></div><div class="m_-7877091810066438430gmail_msg">....</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">For what I can see, it's not applying the changes.</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">I tested again with just set_body_multipart. The GTD content is set OK but SDP content IS NOT and there is no boundary at the end of the body.</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg"><div style="font-size:13px" class="m_-7877091810066438430gmail_msg">if ($avp(ch)){</div><div class="m_-7877091810066438430m_7198218513828055017quoted-text m_-7877091810066438430gmail_msg"><div style="font-size:13px" class="m_-7877091810066438430gmail_msg">                     $var(gtd) ="IAM,\r\nGCI,asdafsdfasd\r\n\<wbr>r\n";       </div></div><div style="font-size:13px" class="m_-7877091810066438430gmail_msg"><span style="font-size:small" class="m_-7877091810066438430gmail_msg">                     set_body_multipart("$var(gtd)<wbr>", "application/gtd", "uniqueBoundary-1");</span><br class="m_-7877091810066438430gmail_msg"></div></div><div class="m_-7877091810066438430gmail_msg"><span style="font-size:13px" class="m_-7877091810066438430gmail_msg">}</span><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">Dec 26 11:55:19 dwrfsd01 ./kamailio[8916]: INFO: <core> [msg_translator.c:1693]: get_boundary(): Content-Type hdr has no params <application/sdp></div><div class="m_-7877091810066438430gmail_msg">Dec 26 11:55:19 dwrfsd01 ./kamailio[8916]: WARNING: <core> [msg_translator.c:1959]: build_req_buf_from_sip_req(): check_boundaries error</div></div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">body result:</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">Content-Length:   501.</div><div class="m_-7877091810066438430gmail_msg">Content-Type: multipart/mixed;boundary="<wbr>uniqueBoundary-1".</div><div class="m_-7877091810066438430gmail_msg">Mime-Version: 1.0. </div></div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">--uniqueBoundary-1.</div><div class="m_-7877091810066438430gmail_msg">Content-Type: application/gtd.</div><div class="m_-7877091810066438430gmail_msg">.</div><div class="m_-7877091810066438430gmail_msg">IAM,.</div><div class="m_-7877091810066438430gmail_msg">CPC,.</div><div class="m_-7877091810066438430gmail_msg">GCI,sdfasdf.</div><div class="m_-7877091810066438430gmail_msg">.</div><div class="m_-7877091810066438430gmail_msg">--uniqueBoundary-1.</div><div class="m_-7877091810066438430m_7198218513828055017quoted-text m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">v=0.</div><div class="m_-7877091810066438430gmail_msg">o=user1 53655765 <a href="tel:02353%2068-7637" value="+542353687637" target="_blank">2353687637</a> IN IP4 172.16.213.38.</div><div class="m_-7877091810066438430gmail_msg">s=-.</div><div class="m_-7877091810066438430gmail_msg">c=IN IP4 172.16.213.38.</div><div class="m_-7877091810066438430gmail_msg">t=0 0.</div></div><div class="m_-7877091810066438430gmail_msg">m=audio 58778 RTP/AVP 8.</div><div class="m_-7877091810066438430gmail_msg">a=rtpmap:8 PCMA/8000.</div><div class="m_-7877091810066438430gmail_msg">a=sendrecv.</div><div class="m_-7877091810066438430gmail_msg">a=rtcp:58779.</div><div class="m_-7877091810066438430gmail_msg">a=ice-ufrag:2NRZkfr2.</div><div class="m_-7877091810066438430gmail_msg">a=ice-pwd:<wbr>rzffP1tp831WzYH0PTIOSMoVye.</div><div class="m_-7877091810066438430gmail_msg">a=candidate:fw7LZeIomEu5faq4 1 UDP 2130706431 172.16.213.38 58778 typ host.</div><div class="m_-7877091810066438430gmail_msg">a=candidate:fw7LZeIomEu5faq4 2 UDP 2130706430 172.16.213.38 58779 typ host.</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div></div><div class="m_-7877091810066438430gmail_msg">Thanks!</div><font color="#888888" class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">Diego</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div></font></div><div class="m_-7877091810066438430m_7198218513828055017elided-text m_-7877091810066438430gmail_msg"><div class="gmail_extra m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"><div class="gmail_quote m_-7877091810066438430gmail_msg">2016-12-26 11:46 GMT-03:00 Diego Nadares <span class="m_-7877091810066438430gmail_msg"><<a href="mailto:dnadares@gmail.com" class="m_-7877091810066438430gmail_msg" target="_blank">dnadares@gmail.com</a>></span>:<br class="m_-7877091810066438430gmail_msg"><blockquote class="gmail_quote m_-7877091810066438430gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_-7877091810066438430gmail_msg">Hi guys,<div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">I'm trying to append a content type to a message that has only one content type. I tried using just set_body_multipart and now I'm using set_body multipart and append_body_part with no success too. </div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">The result is a message with multipart but has "two" sdp and no gtd. It has the old sdp with no ip changed for rtpproxy and the new sdp with ip changed BUT with no content type.  And the message has not the end boundary (--unique-boundary-1.)</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">Kamailio log has an info and a warning</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: INFO: <core> [msg_translator.c:1693]: get_boundary(): Content-Type hdr has no params <application/sdp></div><div class="m_-7877091810066438430gmail_msg">Dec 26 11:36:22 dwrfsd01 ./kamailio[8847]: WARNING: <core> [msg_translator.c:1959]: build_req_buf_from_sip_req(): check_boundaries error</div></div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">kamailio.cfg</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">......</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">route[RELAY]{</div><div class="m_-7877091810066438430gmail_msg">$avp(ch) = 1</div><div class="m_-7877091810066438430gmail_msg">....</div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">if ($avp(ch)){</div><div class="m_-7877091810066438430gmail_msg">                     set_body_multipart();</div><div class="m_-7877091810066438430gmail_msg">                     msg_apply_changes();</div><div class="m_-7877091810066438430gmail_msg">                     $var(gtd) ="IAM,\r\nGCI,asdafsdfasd\r\n\<wbr>r\n";       </div><div class="m_-7877091810066438430gmail_msg">                     append_body_part("$var(gtd)", "application/gtd", "signal;handling=optional");</div><div class="m_-7877091810066438430gmail_msg">}</div></div><div class="m_-7877091810066438430gmail_msg">....</div><div class="m_-7877091810066438430gmail_msg">}</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">Ngrep</div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">U 2016/12/26 11:36:22.496634 <a href="http://172.16.213.21:5060" class="m_-7877091810066438430gmail_msg" target="_blank">172.16.213.21:5060</a> -> <a href="http://172.16.213.38:5060" class="m_-7877091810066438430gmail_msg" target="_blank">172.16.213.38:5060</a></div><div class="m_-7877091810066438430gmail_msg">...</div><div class="m_-7877091810066438430gmail_msg">Content-Type: application/sdp.<br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">Content-Length:   137.</div><div class="m_-7877091810066438430gmail_msg">.</div><div class="m_-7877091810066438430gmail_msg">v=0.</div><div class="m_-7877091810066438430gmail_msg">o=user1 53655765 <a href="tel:02353%2068-7637" value="+542353687637" class="m_-7877091810066438430gmail_msg" target="_blank">2353687637</a> IN IP4 172.16.213.21.</div><div class="m_-7877091810066438430gmail_msg">s=-.</div><div class="m_-7877091810066438430gmail_msg">c=IN IP4 172.16.213.21.</div><div class="m_-7877091810066438430gmail_msg">t=0 0.</div><div class="m_-7877091810066438430gmail_msg">m=audio 6000 RTP/AVP 8.</div><div class="m_-7877091810066438430gmail_msg">a=rtpmap:8 PCMA/8000.</div></div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">U 2016/12/26 11:36:22.688458 <a href="http://172.16.213.38:5060" class="m_-7877091810066438430gmail_msg" target="_blank">172.16.213.38:5060</a> -> <a href="http://172.16.208.11:5060" class="m_-7877091810066438430gmail_msg" target="_blank">172.16.208.11:5060</a><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">....</div><div class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg">Content-Type: multipart/mixed;boundary="<wbr>unique-boundary-1".</div><div class="m_-7877091810066438430gmail_msg">Mime-Version: 1.0.</div><div class="m_-7877091810066438430gmail_msg">Remote-Party-ID: <<a href="http://sip:1152565064@172.16.213.38:5060" class="m_-7877091810066438430gmail_msg" target="_blank">sip:1152565064@172.16.213.38:<wbr>5060</a>>;party=calling;privacy=<wbr>off;screen=no.</div><div class="m_-7877091810066438430gmail_msg">.</div><div class="m_-7877091810066438430gmail_msg">--unique-boundary-1.</div><div class="m_-7877091810066438430gmail_msg">Content-Type: application/sdp.</div><div class="m_-7877091810066438430gmail_msg">.</div><div class="m_-7877091810066438430gmail_msg">v=0.</div><div class="m_-7877091810066438430gmail_msg">o=user1 53655765 <a href="tel:02353%2068-7637" value="+542353687637" class="m_-7877091810066438430gmail_msg" target="_blank">2353687637</a> IN IP4 172.16.213.21.</div><div class="m_-7877091810066438430gmail_msg">s=-.</div><div class="m_-7877091810066438430gmail_msg">c=IN IP4 172.16.213.21.</div><div class="m_-7877091810066438430gmail_msg">t=0 0.</div><div class="m_-7877091810066438430gmail_msg">m=audio 6000 RTP/AVP 8.</div><div class="m_-7877091810066438430gmail_msg">a=rtpmap:8 PCMA/8000.</div><div class="m_-7877091810066438430gmail_msg">.</div><div class="m_-7877091810066438430gmail_msg">--unique-boundary-1.</div><div class="m_-7877091810066438430gmail_msg">v=0.</div><div class="m_-7877091810066438430gmail_msg">o=user1 53655765 <a href="tel:02353%2068-7637" value="+542353687637" class="m_-7877091810066438430gmail_msg" target="_blank">2353687637</a> IN IP4 172.16.213.38.</div><div class="m_-7877091810066438430gmail_msg">s=-.</div><div class="m_-7877091810066438430gmail_msg">c=IN IP4 172.16.213.38.</div><div class="m_-7877091810066438430gmail_msg">t=0 0.</div><div class="m_-7877091810066438430gmail_msg">m=audio 58724 RTP/AVP 8.</div><div class="m_-7877091810066438430gmail_msg">a=rtpmap:8 PCMA/8000.</div><div class="m_-7877091810066438430gmail_msg">a=sendrecv.</div><div class="m_-7877091810066438430gmail_msg">a=rtcp:58725.</div><div class="m_-7877091810066438430gmail_msg">a=ice-ufrag:hhXDwrco.</div><div class="m_-7877091810066438430gmail_msg">a=ice-pwd:<wbr>5temIXP8veOGuD8Dsllm5HXkWU.</div></div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">Any help will be very very appreciated!<br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">Thanks in advance.</div><span class="m_-7877091810066438430m_7198218513828055017m_-4754616845764088603HOEnZb m_-7877091810066438430gmail_msg"><font color="#888888" class="m_-7877091810066438430gmail_msg"><div class="m_-7877091810066438430gmail_msg"><br class="m_-7877091810066438430gmail_msg"></div><div class="m_-7877091810066438430gmail_msg">Diego</div></font></span></div><br><br></blockquote></div><br class="m_-7877091810066438430gmail_msg"></div><br><br></div><br class="m_-7877091810066438430gmail_msg"></blockquote></div></div></div><div class="m_-7877091810066438430gmail_msg"><div class="gmail_extra m_-7877091810066438430gmail_msg"><div class="gmail_quote m_-7877091810066438430gmail_msg"><blockquote class="m_-7877091810066438430m_7198218513828055017quote m_-7877091810066438430gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">______________________________<wbr>_________________<br class="m_-7877091810066438430gmail_msg"><br><br>SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br class="m_-7877091810066438430gmail_msg"><br><br><a href="mailto:sr-users@lists.sip-router.org" class="m_-7877091810066438430gmail_msg" target="_blank">sr-users@lists.sip-router.org</a><br class="m_-7877091810066438430gmail_msg"><br><br><a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" class="m_-7877091810066438430gmail_msg" target="_blank">http://lists.sip-router.org/<wbr>cgi-bin/mailman/listinfo/sr-<wbr>users</a><br class="m_-7877091810066438430gmail_msg"><br><br><br class="m_-7877091810066438430gmail_msg"></blockquote></div><br class="m_-7877091810066438430gmail_msg"></div></div><br><br>______________________________<wbr>_________________<br class="m_-7877091810066438430gmail_msg"><br>SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br class="m_-7877091810066438430gmail_msg"><br><a href="mailto:sr-users@lists.sip-router.org" class="m_-7877091810066438430gmail_msg" target="_blank">sr-users@lists.sip-router.org</a><br class="m_-7877091810066438430gmail_msg"><br><a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" class="m_-7877091810066438430gmail_msg" target="_blank">http://lists.sip-router.org/<wbr>cgi-bin/mailman/listinfo/sr-<wbr>users</a><br class="m_-7877091810066438430gmail_msg"><br></blockquote></div></div></div></div></blockquote></div><br></div>