No subject
Wed Jan 27 21:05:54 CET 2016
The requirement for unique branch IDs across space and time applies to stat=
eless proxies as well.
However, a stateless proxy cannot simply use a random number generator to c=
ompute the first component of the branch ID, as described in Section 16.6 b=
ullet 8. This is because retransmissions of a request need to have the same=
value, and a stateless proxy cannot tell a retransmission from the origina=
l request.
Therefore, the component of the branch parameter that makes it unique MUST =
be the same each time a retransmitted request is forwarded.
Thus for a stateless proxy, the branch parameter MUST be computed as a comb=
inatoric function of message parameters which are invariant on retransmissi=
on.
We are using the stateless implementation of opensips. As such we MUST not =
use the statefull t_replay() function.
Copying the TOP most Via header branch will meet the requirement since that=
branch value MUST also be "unique branch IDs across space and time."
However, just copying apart of that destroys the "unique branch IDs across=
space and time " requirement.
I'm confused because I can not find the requirement that you specified belo=
w in RFC 3261.
Thanks for your response.
Ray
Ray Elliott
Principal Scientist
777, Commerce Dr., Fairfield, CT 06825
T +1 203 339 7052 M +1 203 848 4550 E ray.elliott at ipc.com<mailto:ray.elli=
ott at ipc.com>
Follow us on twitter: @ipc_Systems_Inc www.ipc.com<http://www.ipc.com/>
[cid:image001.jpg at 01D19553.88C2B160]
From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
Sent: Thursday, July 07, 2016 4:43 AM
To: Gupta, Rahul
Cc: Elliott, Ray; users at lists.opensips.org
Subject: Re: [OpenSIPS-Users] Truncated Branch in Via
Hi Rahul,
The received VIA hdr (with the .44 IP) is properly preserved when forwardin=
g (in the outbound message).
The VIA hdr added by OpenSIPS ( .156 IP) is a completely new VIA and its br=
anch value is completely independent from the branch of other VIA hdrs.
Why do they look the same ? The RFC3261 says that for stateless fwd (when b=
asically there is no transaction, so no branch value), to avoid populating =
its VIA with ";branch=3D0" , the proxy may "copy" and use a branch value fr=
om an older VIA (a received VIA) - keep in mind it does not say to copy it =
entirely or part. So, OpenSIPS copies a MAX_BRANCH_PARAM_LEN length string =
from the previous branch param.
Everything is correct and legal (from RFC perspective).
PS: if you would use t_relay() instead of forward() - doing statefull proxy=
-, you will see that the branch in the VIA added by OpenSIPS will be compl=
etly different from the value in the previous VIA.
Best regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 07.07.2016 03:42, Gupta, Rahul wrote:
Hi Bogdan,
Here is a Ethernet trace (pcap) file that has a successful and an unsuccess=
ful registration.
Frames 1-8 illustrate the successful case with Frames 2 and 6 show how open=
sips adds an extra VIA header that has a full VIA;branch
Frame:2
Via: SIP/2.0/UDP 10.204.70.156:5060;branch=3Dz9hG4bK-c45d6-2ff0ce63-4583dc4=
5-6bd144f8
Via: SIP/2.0/UDP 10.204.45.122:5060;branch=3Dz9hG4bK-c45d6-2ff0ce63-4583dc4=
5-6bd144f8
Frames 9-16 illustrate the unsuccessful case where Frames 10 and 14 show ho=
w opensips adds an extra VIA header that has a truncated branch.
Frame 10:
Via: SIP/2.0/UDP 10.204.70.156:5060;branch=3Dz9hG4bK1c68e33e-848e-412a-9137=
-4fb065a7b7eb_0efbfc5e_11391
Via: SIP/2.0/UDP 10.205.236.44:5060;branch=3Dz9hG4bK1c68e33e-848e-412a-9137=
-4fb065a7b7eb_0efbfc5e_113915620064228_MTAuMTIuMy4xMQ
Thanks
Rahul Gupta
Systems Architect
T +1 732-690-3845 * E rahul.gupta at ipc.com<mailto:rahul.gupta at ipc.com>
[cid:image006.jpg at 01D1940F.3E021840]
From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
Sent: Wednesday, July 06, 2016 5:38 AM
To: OpenSIPS users mailling list
Cc: Elliott, Ray; Gupta, Rahul
Subject: Re: [OpenSIPS-Users] Truncated Branch in Via
Hi Rahul,
That define is used to calculate the the max VIA len when OpenSIPS is gener=
ating its own VIA headers. That max len does not impact the VIA headers whi=
ch were received.
I do not understand exactly (in your example) what's the flow of that VIA h=
eader. If you want, send me off-list the pcap/ngrep showing the SIP package=
(before and after OpenSIPS) and how it is affected.
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 05.07.2016 20:57, Gupta, Rahul wrote:
We are using opensips 1.11.5 as a stateless proxy and seeing a truncated Br=
anch in Via for my REGISTER message. After some code digging, the MAX lengt=
h is calculated using the following formula and seems like its truncating t=
he branch after 55 characters. This is causing the REGISTER to fail in our =
case. Is there a config level solution to this ?
#define MAX_BRANCH_PARAM_LEN (MCOOKIE_LEN+8 /*!<int2hex*/ + 1 /*sep*/ + \
MD5_LEN + 1 /*!<sep*/ + 8 /*int2hex*/ + \
1 /*extra space, needed by t_calc_branch*/)
truncated from opensips --> Via: SIP/2.0/UDP XX.XX.XX.XX:5060;branch=
=3Dz9hG4bK0fddbbc9-1487-4755-a0b3-0c319155b8c3_0efbfc5e_11160
Via from EndPoint --> Via: SIP/2.0/UDP XX.XX.XX.XX:506=
0;branch=3Dz9hG4bK0fddbbc9-1487-4755-a0b3-0c319155b8c3_0efbfc5e_11160783089=
24346_MTAuMTIuMy4xMQ
Thanks
Rahul Gupta
DISCLAIMER: This e-mail may contain information that is confidential, privi=
leged or otherwise protected from disclosure. If you are not an intended re=
cipient of this e-mail, do not duplicate or redistribute it by any means. P=
lease delete it and any attachments and notify the sender that you have rec=
eived it in error. Unintended recipients are prohibited from taking action =
on the basis of information in this e-mail. E-mail messages may contain com=
puter viruses or other defects, may not be accurately replicated on other s=
ystems, or may be intercepted, deleted or interfered with without the knowl=
edge of the sender or the intended recipient. If you are not comfortable wi=
th the risks associated with e-mail messages, you may decide not to use e-m=
ail to communicate with IPC. IPC reserves the right, to the extent and unde=
r circumstances permitted by applicable law, to retain, monitor and interce=
pt e-mail messages to and from its systems.
_______________________________________________
Users mailing list
Users at lists.opensips.org<mailto:Users at lists.opensips.org>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
--_000_BL2PR15MB1074A011C26D98B286A9396AE83D0BL2PR15MB1074namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","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;}
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";}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;
color:black;}
p.emailquote, li.emailquote, div.emailquote
{mso-style-name:emailquote;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:1.0pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
span.EmailStyle21
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle22
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle23
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.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=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=3D"white" lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Hi Bogdan,</span><o:p></o=
:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">I’m a bit confused.=
</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">From RFC 3261 states in S=
ection 16.11 Stateless Proxy
</span><o:p></o:p></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri","sans-serif";color:#1F497D">The requirement for=
unique branch IDs across space and time applies to stateless proxies as we=
ll.
</span></i></b><o:p></o:p></p>
<p class=3D"MsoNormal"><i><span style=3D"font-size:11.0pt;font-family:"=
;Calibri","sans-serif";color:#1F497D">However, a stateless p=
roxy cannot simply use a random number generator to compute the first compo=
nent of the branch ID, as described in Section 16.6 bullet
8. This is because retransmissions of a request need to have the same valu=
e, and a stateless proxy cannot tell a retransmission from the original req=
uest.</span></i><o:p></o:p></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri","sans-serif";color:#1F497D">Therefore, the comp=
onent of the branch parameter that makes it unique MUST be the same each ti=
me a retransmitted request is forwarded.</span></i></b><o:p></o:p></p>
<p class=3D"MsoNormal"><i><span style=3D"font-size:11.0pt;font-family:"=
;Calibri","sans-serif";color:#1F497D">Thus for a stateless p=
roxy, the branch parameter MUST be computed as a combinatoric function of m=
essage parameters which are invariant on retransmission.</span></i><o:p></o=
:p></p>
<p class=3D"MsoNormal"><i><span style=3D"font-size:11.0pt;font-family:"=
;Calibri","sans-serif";color:#1F497D"> </span></i><o:p>=
</o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">We are using the stateles=
s implementation of opensips. As such we MUST not use the statefull t=
_replay() function.
</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Copying the TOP most Via =
header branch will meet the requirement since that branch value MUST also b=
e “unique branch IDs across space and time.”</span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">However, just copying apa=
rt of that destroys the “unique branch IDs across space and tim=
e “ requirement.</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">I’m confused becaus=
e I can not find the requirement that you specified below in RFC 3261.</spa=
n><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Thanks for your response.=
</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Ray</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Co=
urier New""> </span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:3.0pt;page-break-after:avoid"=
><b><span lang=3D"EN-GB" style=3D"font-family:"Arial","sans-=
serif"">Ray Elliott</span></b><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ve=
rdana","sans-serif";color:windowtext">Principal Scientist</s=
pan><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ve=
rdana","sans-serif";color:#1F497D">777, Commerce Dr., Fairfi=
eld, CT 06825</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ve=
rdana","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><b><span lang=3D"FR" style=3D"font-size:10.0pt;font-=
family:"Verdana","sans-serif";color:#1F497D">T </s=
pan></b><span lang=3D"FR" style=3D"font-size:10.0pt;font-family:"Verda=
na","sans-serif";color:#1F497D"> +1 203 339 7052 M=
+1 203 848 4550
<b>E</b> <a href=3D"mailto:ray.elliott at ipc.com"><span style=3D"font-size:12=
.0pt">ray.elliott at ipc.com</span></a></span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ve=
rdana","sans-serif";color:#1F497D">Follow us on twitter: @<s=
pan style=3D"text-transform:uppercase">ipc</span>_Systems_Inc &n=
bsp;
<a href=3D"http://www.ipc.com/"><span style=3D"font-size:12.0pt">www.ipc.co=
m</span></a></span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"><img border=3D"0" width=
=3D"159" height=3D"66" id=3D"_x0000_i1026" src=3D"cid:image001.jpg at 01D1D9C6=
.D6C03DD0" alt=3D"cid:image001.jpg at 01D19553.88C2B160"></span><o:p></o:p></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"><o:p> </o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"><o:p> </o:p></span><=
/p>
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:"=
;Calibri","sans-serif";color:windowtext">From:</span></b><sp=
an style=3D"font-size:11.0pt;font-family:"Calibri","sans-ser=
if";color:windowtext"> Bogdan-Andrei Iancu [mailto:bogdan at opensips.org=
]
<br>
<b>Sent:</b> Thursday, July 07, 2016 4:43 AM<br>
<b>To:</b> Gupta, Rahul<br>
<b>Cc:</b> Elliott, Ray; users at lists.opensips.org<br>
<b>Subject:</b> Re: [OpenSIPS-Users] Truncated Branch in Via<o:p></o:p></sp=
an></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal"><tt><span style=3D"font-size:10.0pt">Hi Rahul,</span=
></tt><span style=3D"font-size:10.0pt;font-family:"Courier New"">=
<br>
<br>
<tt>The received VIA hdr (with the .44 IP) is properly preserved when forwa=
rding (in the outbound message).</tt><br>
<br>
<tt>The VIA hdr added by OpenSIPS ( .156 IP) is a completely new VIA and it=
s branch value is completely independent from the branch of other VIA hdrs.=
</tt><br>
<br>
<tt>Why do they look the same ? The RFC3261 says that for stateless fwd (wh=
en basically there is no transaction, so no branch value), to avoid populat=
ing its VIA with ";branch=3D0" , the proxy may "copy" a=
nd use a branch value from an older VIA (a received VIA)
- keep in mind it does not say to copy it entirely or part. So, OpenSIPS c=
opies a MAX_BRANCH_PARAM_LEN length string from the previous branch param.<=
/tt><br>
<br>
<tt>Everything is correct and legal (from RFC perspective). </tt><br>
<br>
<tt>PS: if you would use t_relay() instead of forward() - doing statefull p=
roxy -, you will see that the branch in the VIA added by OpenSIPS will be c=
ompletly different from the value in the previous VIA.
</tt><br>
<br>
<tt>Best regards,</tt><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=3D"http://www.opensips-solutions.com">http://www.opensips-solu=
tions.com</a><o:p></o:p></pre>
<div>
<p class=3D"MsoNormal">On 07.07.2016 03:42, Gupta, Rahul wrote:<o:p></o:p><=
/p>
</div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Hi Bogdan,</span><o:p></o=
:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Here is a Ethernet trace =
(pcap) file that has a successful and an unsuccessful registration.</span><=
o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Frames 1-8 illustrate the=
successful case with Frames 2 and 6 show how opensips adds an extra VIA he=
ader that has a full VIA;branch</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Frame:2</span><o:p></o:p>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Via: SIP/2.0/UDP 10.204.7=
0.156:5060;branch=3Dz9hG4bK-c45d6-2ff0ce63-4583dc45-6bd144f8</span><o:p></o=
:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Via: SIP/2.0/UDP 10.204.4=
5.122:5060;branch=3Dz9hG4bK-c45d6-2ff0ce63-4583dc45-6bd144f8</span><o:p></o=
:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Frames 9-16 illustrate th=
e unsuccessful case where Frames 10 and 14 show how opensips adds an extra =
VIA header that has a truncated branch.</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Frame 10:</span><o:p></o:=
p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Via: SIP/2.0/UDP 10.204.7=
0.156:5060;branch=3Dz9hG4bK1c68e33e-848e-412a-9137-4fb065a7b7eb_0efbfc5e_11=
391</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Via: SIP/2.0/UDP 10.205.2=
36.44:5060;branch=3Dz9hG4bK1c68e33e-848e-412a-9137-4fb065a7b7eb_0efbfc5e_11=
391</span><span style=3D"font-size:11.0pt;font-family:"Calibri",&=
quot;sans-serif";color:red;background:yellow;mso-highlight:yellow">562=
0064228_MTAuMTIuMy4xMQ</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal" style=3D"margin-bottom:3.0pt;page-break-after:avoid"=
><b><span lang=3D"EN-GB" style=3D"font-size:11.0pt">Thanks</span></b><o:p><=
/o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:3.0pt;page-break-after:avoid"=
><b><span lang=3D"EN-GB" style=3D"font-size:11.0pt">Rahul Gupta</span></b><=
o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:6.0pt;page-break-after:avoid"=
><span lang=3D"EN-GB" style=3D"font-size:11.0pt;font-family:"Calibri&q=
uot;,"sans-serif";color:#1F4E79">Systems Architect</span><o:p></o=
:p></p>
<p class=3D"MsoNormal"><b><span lang=3D"FR" style=3D"font-size:10.0pt;font-=
family:"Calibri","sans-serif";color:#1F497D">T</span></=
b><span lang=3D"FR" style=3D"font-size:10.0pt;font-family:"Calibri&quo=
t;,"sans-serif";color:#1F497D"> +1 732-690-3845
</span><span style=3D"font-size:10.0pt;font-family:Symbol;color:#5B9BD5">|<=
/span><span lang=3D"FR" style=3D"font-size:10.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D">
<b>E</b> <a href=3D"mailto:rahul.gupta at ipc.com"><span style=3D"color:#0563C=
1">rahul.gupta at ipc.com</span></a>
</span><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"><img border=3D"0" width=
=3D"163" height=3D"68" id=3D"Picture_x0020_2" src=3D"cid:image002.png at 01D1D=
9C6.D6C03DD0" alt=3D"cid:image006.jpg at 01D1940F.3E021840"></span><o:p></o:p>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D"> </span><o:p></o:p><=
/p>
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:"=
;Calibri","sans-serif";color:windowtext">From:</span></b><sp=
an style=3D"font-size:11.0pt;font-family:"Calibri","sans-ser=
if";color:windowtext"> Bogdan-Andrei Iancu [<a href=3D"mailto:bogdan at o=
pensips.org">mailto:bogdan at opensips.org</a>]
<br>
<b>Sent:</b> Wednesday, July 06, 2016 5:38 AM<br>
<b>To:</b> OpenSIPS users mailling list<br>
<b>Cc:</b> Elliott, Ray; Gupta, Rahul<br>
<b>Subject:</b> Re: [OpenSIPS-Users] Truncated Branch in Via</span><o:p></o=
:p></p>
</div>
</div>
<p class=3D"MsoNormal"> <o:p></o:p></p>
<p class=3D"MsoNormal"><tt><span style=3D"font-size:10.0pt">Hi Rahul,</span=
></tt><span style=3D"font-size:10.0pt;font-family:"Courier New"">=
<br>
<br>
<tt>That define is used to calculate the the max VIA len when OpenSIPS is g=
enerating its own VIA headers. That max len does not impact the VIA headers=
which were received.</tt><br>
<br>
<tt>I do not understand exactly (in your example) what's the flow of that V=
IA header. If you want, send me off-list the pcap/ngrep showing the SIP pac=
kage (before and after OpenSIPS) and how it is affected.</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=3D"http://www.opensips-solutions.com">http://www.opensips-solu=
tions.com</a><o:p></o:p></pre>
<div>
<p class=3D"MsoNormal">On 05.07.2016 20:57, Gupta, Rahul wrote:<o:p></o:p><=
/p>
</div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif"">We are using opensips 1.11.5 as a state=
less proxy and seeing a truncated Branch in Via for my REGISTER message. Af=
ter some code digging, the MAX length is calculated using
the following formula and seems like its truncating the branch after 55 ch=
aracters. This is causing the REGISTER to fail in our case. Is there a conf=
ig level solution to this ?</span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif""> </span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:"=
;Calibri","sans-serif"">#define MAX_BRANCH_PARAM_LEN (=
MCOOKIE_LEN+8 /*!<int2hex*/ + 1 /*sep*/ + \</span></b><o:p><=
/o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:"=
;Calibri","sans-serif""> =
&nb=
sp; =
MD5_LEN + 1 /*!<sep*/ + 8 /*int2hex*/ + \</span></b><o:p></=
o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:"=
;Calibri","sans-serif""> =
&nb=
sp; =
1 /*extra space, needed by t_calc_branch*/)</span></b><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif""> </span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif""> </span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">truncated from opensips
</span><span style=3D"font-size:11.0pt;font-family:Wingdings;color:#1F497D"=
>à</span><span style=3D"font-size:11.0pt;color:#1F497D"> =
</span><span style=3D"font-size:11.0pt;font-family:=
Wingdings;color:#1F497D">
</span><span style=3D"font-size:11.0pt;font-family:"Calibri",&quo=
t;sans-serif";color:#1F497D">Via: SIP/2.0/UDP XX.XX.XX.XX:5060;branch=
=3Dz9hG4bK0fddbbc9-1487-4755-a0b3-0c319155b8c3_0efbfc5e_11160 &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp;  =
; </=
span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D">Via from EndPoint &n=
bsp; </span><span style=3D"font-size:11.0pt;font-family:Wingding=
s;color:#1F497D">à</span><span style=3D"font-size:11.0pt;font-family=
:"Calibri","sans-serif";color:#1F497D"> &nbs=
p; &=
nbsp;
Via: SIP/2.0/UDP XX.XX.XX.XX:5060;branch=3Dz9hG4bK0fddbbc9-1487-4755-a0b3-=
0c319155b8c3_0efbfc5e_11160<span style=3D"background:yellow">78308924346_MT=
AuMTIuMy4xMQ</span> &n=
bsp; </span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif""> </span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif""> </span><o:p></o:p></p>
</div>
<div style=3D"margin-bottom:3.0pt">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt">Thanks</span></b=
><o:p></o:p></p>
</div>
<div style=3D"margin-bottom:3.0pt">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt">Rahul Gupta</spa=
n></b><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif""> </span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca=
libri","sans-serif""> </span><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">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 redistri=
bute 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 viruse=
s 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 pe=
rmitted by applicable law, to retain, monitor and intercept e-mail messages=
to and from its systems.
<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
<br>
<br>
<br>
<o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Users mailing list<o:p></o:p></pre>
<pre><a href=3D"mailto:Users at lists.opensips.org">Users at lists.opensips.org</=
a><o:p></o:p></pre>
<pre><a href=3D"http://lists.opensips.org/cgi-bin/mailman/listinfo/users">h=
ttp://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></pre=
>
</blockquote>
<p class=3D"MsoNormal"> <o:p></o:p></p>
</blockquote>
<p class=3D"MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>
--_000_BL2PR15MB1074A011C26D98B286A9396AE83D0BL2PR15MB1074namp_--
--_005_BL2PR15MB1074A011C26D98B286A9396AE83D0BL2PR15MB1074namp_
Content-Type: image/jpeg; name="image001.jpg"
Content-Description: image001.jpg
Content-Disposition: inline; filename="image001.jpg"; size=3068;
creation-date="Sat, 09 Jul 2016 13:47:01 GMT";
modification-date="Sat, 09 Jul 2016 13:47:01 GMT"
Content-ID: <image001.jpg at 01D1D9C6.D6C03DD0>
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMg
IyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCABCAJ8DASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2as3W
tesdBtPPvpcZ+5GvLufQCjXtag0HSpbyfkj5Y0HV2PQV4tqep3WsX73l7Jvlft2UdgB2FbUqXPq9
j0cDgHifflpFfidDq/xF1W/ZksdtjCemz5nP1Y9PwrmLm+u7xibq6nmJ/wCekhb+dQ0hrujCMdke
w6FOkrQVhY55rd90EskTeqOVP6VuaZ481zS3Gbo3UQ6x3Hzf+PdRWAaYa0cIy0aOKtCMt0e0+GfG
un+I8Qrm3vQMmBz973U9/wCddJXzikjwypJE7JIh3K6nBU+oNex+BfF3/CRWDQXZA1C3A8zHHmL2
cf19/rXFXw/J70djyatLld0dXRRRXIYhRRRQAUUUUAFFFFABRRRQAUUUUAeS/EXV2v8AX/saN+5s
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
--_005_BL2PR15MB1074A011C26D98B286A9396AE83D0BL2PR15MB1074namp_
Content-Type: image/png; name="image002.png"
Content-Description: image002.png
Content-Disposition: inline; filename="image002.png"; size=6149;
creation-date="Sat, 09 Jul 2016 13:47:01 GMT";
modification-date="Sat, 09 Jul 2016 13:47:01 GMT"
Content-ID: <image002.png at 01D1D9C6.D6C03DD0>
Content-Transfer-Encoding: base64
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
--_005_BL2PR15MB1074A011C26D98B286A9396AE83D0BL2PR15MB1074namp_--
More information about the Users
mailing list