<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 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Times New Roman \, serif";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
span.EmailStyle26
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi Bogdan, thanks for clarifying the behavior. In our implementation, we need those user defined headers to make it through the proxy, is there any way to populate the stateful CANCEL with the incoming user-defined
 headers ?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Rahul<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext"> Bogdan-Andrei Iancu [mailto:bogdan@opensips.org]
<br>
<b>Sent:</b> Thursday, May 07, 2015 1:17 PM<br>
<b>To:</b> Gupta, Rahul; OpenSIPS users mailling list<br>
<b>Subject:</b> Re: [OpenSIPS-Users] CANCEL in t_relay() not forwarding user defined Headers<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Rahul,<br>
<br>
As per RFC, in stateless mode there is no branch (for the newly added VIA) - as branch is transaction oriented. And the RFC3261 recommends to reuse the previous VIA hdr (if exists).<br>
<br>
Regards,<br>
<br>
<br>
<o:p></o:p></p>
<pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
<pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
<pre><a href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><o:p></o:p></pre>
<div>
<p class="MsoNormal">On 07.05.2015 20:01, Gupta, Rahul wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:#1F497D">Hi Bogdan,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">I want to use opensips as stateless proxy that&#8217;s why I tried forward() which is causing the branch&nbsp; issue as shown below, the branch in both the Via headers are same.
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">CANCEL <a href="sip:XXXX@IP:PORT">
sip:XXXX@IP:PORT</a> SIP/2.0</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">From: &quot;Alan Altman[3004]&quot;&lt;<a href="sip:YYYY@IP:PORT">sip:YYYY@IP:PORT</a>&gt;;tag=389cc678-0-13c4-65014-16288-3d1c9b70-16288</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">To: &lt;<a href="sip:XXXX@IP:PORT">sip:XXXX@IP:PORT</a>&gt;</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Call-ID: 10589b68-0-13c4-65014-16288-156334b2-16288</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">CSeq: 1 CANCEL</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Via: SIP/2.0/UDP IP:PORT;branch=z9hG4bK-16288-568e507-60d8e02-38903830</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Via: SIP/2.0/UDP IP:PORT;branch=z9hG4bK-16288-568e507-60d8e02-38903830</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Reason: SIP;cause=200;text=&quot;User Release&quot;</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Max-Forwards: 69</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Supported: timer,replaces,from-change,histinfo,answermode,eventlist,recipient-list-subscribe</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">User-Agent: test user agent</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Content-Length: 0</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">X-testHeader: RAHUL</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">If we use t_relay(), I want to forward X-testHeader to the endpoint.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext"> Bogdan-Andrei Iancu [<a href="mailto:bogdan@opensips.org">mailto:bogdan@opensips.org</a>]
<br>
<b>Sent:</b> Thursday, May 07, 2015 12:39 PM<br>
<b>To:</b> OpenSIPS users mailling list; Gupta, Rahul<br>
<b>Subject:</b> Re: [OpenSIPS-Users] CANCEL in t_relay() not forwarding user defined Headers</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">&nbsp;<o:p></o:p></p>
<p class="MsoNormal"><tt><span style="font-size:10.0pt">Hi Rahul,</span></tt><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
<br>
<tt>As per RFC3261, the stateful CANCELs are hop-by-hop - which means each hop consumes the incoming CANCEL and generates a new one for the next hop.</tt><br>
<tt>This is why the headers do not propagate.</tt><br>
<br>
<tt>What kind of headers are looking to be passed further ?</tt><br>
<br>
<tt>Regards,</tt><br>
<br>
<br>
</span><o:p></o:p></p>
<pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
<pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
<pre><a href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><o:p></o:p></pre>
<div>
<p class="MsoNormal">On 06.05.2015 20:45, Gupta, Rahul wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;background:white">I am using opensips as a proxy, when a CANCEL to an INVITE comes in, its processed as follows<span class="apple-converted-space">&nbsp;</span></span><span style="font-size:10.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;"><br>
<br>
<span style="background:white">&nbsp; &nbsp; &nbsp; &nbsp; # CANCEL processing<span class="apple-converted-space">&nbsp;</span></span><br>
<span style="background:white">&nbsp; &nbsp; &nbsp; &nbsp; if (is_method(&quot;CANCEL&quot;))<span class="apple-converted-space">&nbsp;</span></span><br>
<span style="background:white">&nbsp; &nbsp; &nbsp; &nbsp; {<span class="apple-converted-space">&nbsp;</span></span><br>
<span style="background:white">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (t_check_trans())<span class="apple-converted-space">&nbsp;</span></span><br>
<span style="background:white">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; t_relay();<span class="apple-converted-space">&nbsp;</span></span><br>
<span style="background:white">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;<span class="apple-converted-space">&nbsp;</span></span><br>
<span style="background:white">&nbsp; &nbsp; &nbsp; &nbsp; }<span class="apple-converted-space">&nbsp;</span></span><br>
<br>
<span style="background:white">in t_relay() seems like its creating new transaction for CANCEL and forwarding to the destination. However its not copying user-defined Headers which comes as a part of CANCEL. Is there a way to forward the other Headers ?<span class="apple-converted-space">&nbsp;</span></span><br>
<br>
<span style="background:white">I also tried using forward(). In this case, all the headers are getting forwarded, however, the branch in Via header is getting duplicated from the incoming VIA header which is causing issues with the endpoint.<span class="apple-converted-space">&nbsp;</span></span><br>
<br>
<span style="background:white">Question 1) If I use t_realy() for CANCEL, then how do I forward user defined Headers ?<span class="apple-converted-space">&nbsp;</span></span><br>
<span style="background:white">Question 2) If I use forward() for CANCEL, then how do I get the Via Header with proper branch as created in INVITE ?<span class="apple-converted-space">&nbsp;</span></span></span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:gray">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:gray">DISCLAIMER: This e-mail may contain information that is confidential, privileged or otherwise protected from disclosure. If you are not an intended recipient of this e-mail, do not
 duplicate or redistribute it by any means. Please delete it and any attachments and notify the sender that you have received it in error. Unintended recipients are prohibited from taking action on the basis of information in this e-mail.E-mail messages may
 contain computer viruses or other defects, may not be accurately replicated on other systems, or may be intercepted, deleted or interfered with without the knowledge of the sender or the intended recipient. If you are not comfortable with the risks associated
 with e-mail messages, you may decide not to use e-mail to communicate with IPC. IPC reserves the right, to the extent and under circumstances permitted by applicable law, to retain, monitor and intercept e-mail messages to and from its systems.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:&quot;Times New Roman , serif&quot;,&quot;serif&quot;"><br>
<br>
<br>
<br>
<br>
</span><o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Users mailing list<o:p></o:p></pre>
<pre><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><o:p></o:p></pre>
<pre><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:&quot;Times New Roman , serif&quot;,&quot;serif&quot;">&nbsp;</span><o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:&quot;Times New Roman&quot;,&quot;serif&quot;"><o:p>&nbsp;</o:p></span></p>
</div>
</body>
</html>