<div dir="ltr"><div><span>Hello,</span></div><div><span>Some confusing things while developing in Kamailio:<br></span></div><div><span>In is_method_f function in textops module, the code checks the HDR_CSEQ_F in msg also, and if the method name appears in CSEQ_F, The result is returned TRUE.<br></span></div><div><span>These question will  arise why in this function, the CSEQ field in message will check?<br></span></div><div><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3498" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line"><span class="gmail-pl-k">if</span>(<span class="gmail-pl-c1">parse_headers</span>(msg, HDR_CSEQ_F, <span class="gmail-pl-c1">0</span>)!=<span class="gmail-pl-c1">0</span> || msg-><span class="gmail-pl-smi">cseq</span>==<span class="gmail-pl-c1">NULL</span>)</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3499" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">      {</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3500" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">              <span class="gmail-pl-c1">LM_ERR</span>(<span class="gmail-pl-s"><span class="gmail-pl-pds">"</span>cannot parse cseq header<span class="gmail-pl-cce">\n</span><span class="gmail-pl-pds">"</span></span>);</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3501" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">              <span class="gmail-pl-k">return</span> -<span class="gmail-pl-c1">1</span>; <span class="gmail-pl-c"><span class="gmail-pl-c">/*</span> should it be 0 ?!?! <span class="gmail-pl-c">*/</span></span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3502" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">      }</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3503" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">      <span class="gmail-pl-k">if</span>(m-><span class="gmail-pl-smi">s</span>==<span class="gmail-pl-c1">0</span>)</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3504" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">              <span class="gmail-pl-k">return</span> (<span class="gmail-pl-c1">get_cseq</span>(msg)-><span class="gmail-pl-smi">method_id</span>&m-><span class="gmail-pl-smi">len</span>)?<span class="gmail-pl-c1">1</span>:-<span class="gmail-pl-c1">1</span>;</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3505" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">      <span class="gmail-pl-k">else</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3506" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">              <span class="gmail-pl-k">return</span> (<span class="gmail-pl-c1">get_cseq</span>(msg)-><span class="gmail-pl-smi">method_id</span>==METHOD_OTHER</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3507" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">                              && <span class="gmail-pl-c1">get_cseq</span>(msg)-><span class="gmail-pl-smi">method</span>.<span class="gmail-pl-smi">len</span>==m-><span class="gmail-pl-smi">len</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC3508" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">                              && (<span class="gmail-pl-c1">strncasecmp</span>(<span class="gmail-pl-c1">get_cseq</span>(msg)-><span class="gmail-pl-smi">method</span>.<span class="gmail-pl-smi">s</span>, m-><span class="gmail-pl-smi">s</span>,</td>
      </tr>
      <tr>
        </tr></tbody></table>                         m-><span class="gmail-pl-smi">len</span>)==<span class="gmail-pl-c1">0</span>))?<span class="gmail-pl-c1">1</span>:-<span class="gmail-pl-c1">1</span>;</div><div><br></div><div>I think it would be nice to add new function like: is_cseq_method_f in module to avoid some problem understanding.</div><br><div><div>-- <br><div dir="ltr" data-smartmail="gmail_signature">--Mojtaba Esfandiari.S</div></div></div></div>