<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=iso-8859-1">
<meta name="Generator" content="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:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
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;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@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 lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="NO-BOK">Hello!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="NO-BOK"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="NO-BOK"><o:p> </o:p></span></p>
<p class="MsoNormal">After proxying a REGISTER from a WebRTC client to our SIP backend, the backend starts sending keepalives. Every 30 seconds I get a log entry in Kamailio saying: “INFO: stun [kam_stun.c:169]: stun_parse_header(): INFO: stun_parse_header:
 incomplete header of STUN message”.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here's one such packet:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">No.     Time           Source                Destination           Protocol Length Info<o:p></o:p></p>
<p class="MsoNormal">      1 0.000000       xxx.xxx.xxx.xxx       yyy.yyy.yyy.yyy        UDP      60     5060 ? 15060 Len=4<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Frame 1: 60 bytes on wire (480 bits), 60 bytes captured (480 bits)<o:p></o:p></p>
<p class="MsoNormal">Ethernet II, Src: JuniperN_4f:3f:f0 (40:a6:77:4f:3f:f0), Dst: 02:81:64:58:cf:d1 (02:81:64:58:cf:d1)<o:p></o:p></p>
<p class="MsoNormal">Internet Protocol Version 4, Src: xxx.xxx.xxx.xxx, Dst: yyy.yyy.yyy.yyy<o:p></o:p></p>
<p class="MsoNormal">    0100 .... = Version: 4<o:p></o:p></p>
<p class="MsoNormal">    .... 0101 = Header Length: 20 bytes (5)<o:p></o:p></p>
<p class="MsoNormal">    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)<o:p></o:p></p>
<p class="MsoNormal">    Total Length: 32<o:p></o:p></p>
<p class="MsoNormal">    Identification: 0x5bf5 (23541)<o:p></o:p></p>
<p class="MsoNormal">    Flags: 0x4000, Don't fragment<o:p></o:p></p>
<p class="MsoNormal">    Time to live: 56<o:p></o:p></p>
<p class="MsoNormal">    Protocol: UDP (17)<o:p></o:p></p>
<p class="MsoNormal">    Header checksum: 0x2fc3 [validation disabled]<o:p></o:p></p>
<p class="MsoNormal">    [Header checksum status: Unverified]<o:p></o:p></p>
<p class="MsoNormal">    Source: xxx.xxx.xxx.xxx<o:p></o:p></p>
<p class="MsoNormal">    Destination: yyy.yyy.yyy.yyy<o:p></o:p></p>
<p class="MsoNormal">User Datagram Protocol, Src Port: 5060, Dst Port: 15060<o:p></o:p></p>
<p class="MsoNormal">    Source Port: 5060<o:p></o:p></p>
<p class="MsoNormal">    Destination Port: 15060<o:p></o:p></p>
<p class="MsoNormal">    Length: 12<o:p></o:p></p>
<p class="MsoNormal">    Checksum: 0xfa28 [unverified]<o:p></o:p></p>
<p class="MsoNormal">    [Checksum Status: Unverified]<o:p></o:p></p>
<p class="MsoNormal">    [Stream index: 0]<o:p></o:p></p>
<p class="MsoNormal">Data (4 bytes)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">0000  00 00 00 00                                       ....<o:p></o:p></p>
<p class="MsoNormal">    Data: 00000000<o:p></o:p></p>
<p class="MsoNormal">    [Length: 4]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I found this in kam_stun.c:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">static int stun_parse_header(struct stun_msg* req, USHORT_T* error_code)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">                <o:p></o:p></p>
<p class="MsoNormal">                if (sizeof(req->hdr) > req->msg.buf.len) {<o:p></o:p></p>
<p class="MsoNormal">                                /* the received message does not contain whole header */<o:p></o:p></p>
<p class="MsoNormal">                                LOG(L_INFO, "INFO: stun_parse_header: incomplete header of STUN message\n");<o:p></o:p></p>
<p class="MsoNormal">                                /* Any better solution? IMHO it's not possible to send error response<o:p></o:p></p>
<p class="MsoNormal">                                * because the transaction ID is not available.<o:p></o:p></p>
<p class="MsoNormal">                                */<o:p></o:p></p>
<p class="MsoNormal">                                return FATAL_ERROR;<o:p></o:p></p>
<p class="MsoNormal">                }<o:p></o:p></p>
<p class="MsoNormal">…<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Could someone please explain what’s wrong?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="NO-BOK" style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-fareast-language:NO-BOK">Med vennlig hilsen<br>
<b>Pan B. Christensen</b><br>
Utvikler<br>
<br>
Phonect AS <br>
Brugata 19, PB 9156 Grønland, N-0133 Oslo, Norway<br>
E-post: </span><span lang="NO-BOK" style="font-size:9.0pt;font-family:"Helvetica",sans-serif;mso-fareast-language:NO-BOK"><a href="mailto:pan.christensen@phonect.no"><span style="color:#0563C1">pan.christensen@phonect.no</span></a><br>
Mobil: 41 88 88 00<br>
<br>
<span style="color:black"><br>
 </span></span><span lang="NO-BOK"><a href="http://www.phonect.no/"><span style="color:windowtext;mso-fareast-language:NO-BOK;text-decoration:none"><img border="0" width="159" height="51" style="width:1.6562in;height:.5312in" id="Picture_x0020_16" src="cid:image002.png@01D3F740.A662D960" alt="cid:image007.png@01D3A0E8.376921D0"></span></a></span><span lang="NO-BOK" style="mso-fareast-language:NO-BOK"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="NO-BOK"><a href="https://www.facebook.com/phonectno"><span style="color:windowtext;mso-fareast-language:NO-BOK;text-decoration:none"><img border="0" width="21" height="21" style="width:.2187in;height:.2187in" id="Picture_x0020_1" src="cid:image003.png@01D3F73F.197625D0" alt="facebook_2"></span></a></span><span lang="NO-BOK" style="color:black;mso-fareast-language:NO-BOK"> </span><span lang="NO-BOK"><a href="https://www.linkedin.com/company/44983?trk=tyah&trkInfo=clickedVertical%3Acompany%2CentityType%3AentityHistoryName%2CclickedEntityId%3Acompany_company_44983%2Cidx%3A0"><span style="font-size:10.5pt;color:black;mso-fareast-language:NO-BOK;text-decoration:none"><img border="0" width="21" height="21" style="width:.2187in;height:.2187in" id="Picture_x0020_2" src="cid:image004.png@01D3F73F.197625D0" alt="LinkedIn_logo_initials (1)"></span></a></span><span lang="NO-BOK" style="font-size:10.5pt;color:#1F497D;mso-fareast-language:NO-BOK">   </span><span lang="NO-BOK" style="mso-fareast-language:NO-BOK"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="NO-BOK"><o:p> </o:p></span></p>
</div>
</body>
</html>