<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/1699/">https://reviewboard.asterisk.org/r/1699/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By Alec Davis.</div>


<p style="color: grey;"><i>Updated Jan. 27, 2012, 4:58 a.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">complete changes, include global change of &#39;int seqno&#39; and friends to &#39;uint32_t seqno&#39;

Also consider the maximum CSeq number is before wrap around, is it 2^31 -1, or 2^32 -1?
But is commented out in 3 places like /* p-&gt;ocseq &amp;= 0x7FFFFFFF; */

The reference in RFC3261 12.2.1.1 suggests the wrap around is at 2^32, 136 years at 1 second intervals.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">By defining INITIAL_CSEQ to values near the maximum, it can clearly be seen that asterisk will represent the cseqno as negative numbers as %d is used in most places.

//#define INITIAL_CSEQ              101    /*!&lt; Our initial sip sequence number */
#define INITIAL_CSEQ              2147483640 /*!&lt; Our initial sip sequence number */
#define INITIAL_CSEQ              4294967290UL   /*!&lt; Our initial sip sequence number */ 

Examples below after a few messages with INITIAL_CSEQ set to 214783640

...
Call-ID: d469d55c9e9e81ae@192.168.y.yyy
CSeq: -2147483639 NOTIFY
User-Agent: Asterisk PBX SVN-trunk-r352864M
Subscription-State: active
Event: dialog
Content-Type: application/dialog-info+xml
Content-Length: 206

&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;dialog-info xmlns=&quot;urn:ietf:params:xml:ns:dialog-info&quot; version=&quot;16&quot; state=&quot;full&quot; entity=&quot;sip:8612@192.168.x.xxx&quot;&gt;

...
Call-ID: 7d1d964b7867eee008705e1e64386d4e@192.168.x.xxx:5060
CSeq: -5 NOTIFY
User-Agent: Asterisk PBX SVN-trunk-r352864M
Event: message-summary
Content-Type: application/simple-message-summary
Content-Length: 92

Messages-Waiting: no
Message-Account: sip:asterisk@192.168.x.xxx
Voice-Message: 0/0 (0/0)</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Noted that Notify for BLF and MWI, that the CSeq numbers now wrapped around to 0.

After using the 2nd maximum of 2^32 minus a few (#define INITIAL_CSEQ              4294967290UL) phones, BLF and MWI still workign as normal.

Previously the BLF would stop functioning after the minus values were reached.
Now it wraps around from 4294967295 to 0, as below.

Call-ID: c2aaba2919cfcd4a@192.168.y.yyy
CSeq: 4294967295 NOTIFY
User-Agent: Asterisk PBX SVN-trunk-r352864M
Subscription-State: active
Event: dialog
Content-Type: application/dialog-info+xml
Content-Length: 205

&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;dialog-info xmlns=&quot;urn:ietf:params:xml:ns:dialog-info&quot; version=&quot;4&quot; state=&quot;full&quot; entity=&quot;sip:8612@192.168.x.xxx&quot;&gt;
&lt;dialog id=&quot;8612&quot;&gt;

...
Call-ID: c2aaba2919cfcd4a@192.168.y.yyy
CSeq: 0 NOTIFY
User-Agent: Asterisk PBX SVN-trunk-r352864M
Subscription-State: active
Event: dialog
Content-Type: application/dialog-info+xml
Content-Length: 205

&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;dialog-info xmlns=&quot;urn:ietf:params:xml:ns:dialog-info&quot; version=&quot;5&quot; state=&quot;full&quot; entity=&quot;sip:8612@192.168.x.xxx&quot;&gt;
&lt;dialog id=&quot;8612&quot;&gt;
</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> (updated)</h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>trunk/channels/chan_sip.c <span style="color: grey">(352913)</span></li>

 <li>trunk/channels/sip/include/dialog.h <span style="color: grey">(352913)</span></li>

 <li>trunk/channels/sip/include/sip.h <span style="color: grey">(352913)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/1699/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>




  </div>
 </body>
</html>