<div dir="ltr">Bogdan,<div><br></div><div>Next problem... URI replacements don&#39;t carry through to in-dialog transactions if there is an Opensips restart during the dialog.</div><div><br></div><div>I use uac_replace_to() and uac_replace_from() in branch_routes in my script.  On a call with no restart between the INVITE and BYE transactions, all is well -- those functions make their replacements on the initial INVITE, and those replacements carry through to future in-dialog transactions (like a BYE).  If I restart Opensips between the INVITE and the BYE, the BYE doesn&#39;t receive the replacements.</div>
<div><br></div><div>In my particular case this causes upstream uac:replace_uri errors in an Opensips 1.6 system since the local and remote URIs for the dialog have changed.</div><div><br></div><div>Let me know if you need any particular debugs or traffic captures.</div>
<div><br></div><div><br></div><div>- Jeff</div><div><br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Oct 23, 2013 at 11:30 AM, Bogdan-Andrei Iancu <span dir="ltr">&lt;<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<u></u>

  
    
  
  <div text="#000000" bgcolor="#ffffff">
    <tt>Hi Jeff,<br>
      <br>
      Thanks for your input and help - I found and fixed the bug - the
      fix was tested and uploaded on GIT.<br>
      Please put back the dialog table spec from the sources (with
      &quot;long&quot; definition to the dlg_id column) and give it a fresh start.<br>
      <br>
      Regards,<br>
    </tt>
    <pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre><div><div class="h5">
    <br>
    On 10/22/2013 10:25 PM, Jeff Pyle wrote:
    <blockquote type="cite">
      <div dir="ltr">I think I&#39;ve found part of it.  On line 536 of
        modules/db_text/dbt_file.c it reads &#39;bigint&#39;.  &#39;bigint&#39; is read
        as a blob; it seems &#39;long&#39; is the correct word to read the &#39;l&#39;
        for DB_BIGINT (line 198).
        <div>
          <br>
        </div>
        <div>Making that change helps, but now there is a new problem:</div>
        <div><br>
        </div>
        <blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">
          <div>
            <div>ERROR:dialog:load_dialog_info_from_db: inconsistent
              hash data in the dialog database: you may have restarted
              opensips using a different hash_size: please erase dialog
              database and restart</div>
          </div>
          <div>
            <div>db : 869, dlg : 1919252015</div>
          </div>
        </blockquote>
        <div><br>
        </div>
        <div class="gmail_extra">
          <div>
            <div dir="ltr">
              <div>Obviously 869 != 1919252015, but I haven&#39;t found
                where those numbers come from.  And the hash_size hasn&#39;t
                actually changed.  Line 565 of
                modules/dialog/dbt_db_handler.c is the complainer.<br>
                <br>
              </div>
            </div>
          </div>
          Perhaps another misbehaving column type in the db_text table?</div>
        <div class="gmail_extra"><br>
        </div>
        <div class="gmail_extra"><br>
        </div>
        <div class="gmail_extra">- Jeff</div>
        <div class="gmail_extra"><br>
        </div>
        <div class="gmail_extra">
          <br>
          <br>
          <div class="gmail_quote">On Tue, Oct 22, 2013 at 11:24 AM,
            Jeff Pyle <span dir="ltr">&lt;<a href="mailto:jpyle@fidelityvoice.com" target="_blank">jpyle@fidelityvoice.com</a>&gt;</span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
              <div dir="ltr">Bogdan and team,
                <div><br>
                </div>
                <div>This is on a 1.9 build from October 17, plus the
                  recently committed change to the dialog table schema
                  in dbtext.</div>
                <div><br>
                </div>
                <div>Here&#39;s the scenario...  After a fresh Opensips
                  start, I place a call through it.  A dialog is
                  established.  I stop Opensips after about five seconds
                  and verify the contents of the dialog table file:<br>
                </div>
                <div><br>
                </div>
                <blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">
                  <div>
                    <div>dlg_id(bigint) callid(string) from_uri(string)
                      from_tag(string) to_uri(string) to_tag(string)
                      mangled_from_uri(string,null)
                      mangled_to_uri(string,null) caller_cseq(string)
                      callee_cseq(string) caller_ping_cseq(int)
                      callee_ping_cseq(int)
                      caller_route_set(string,null)
                      callee_route_set(string,null)
                      caller_contact(string) callee_contact(string)
                      caller_sock(string) callee_sock(string) state(int)
                      start_time(int) timeout(int) vars(string,null)
                      profiles(string,null) script_flags(int) flags(int)</div>
                  </div>
                  <div>
                    <div>8672076440446:662bbb7a-8f52-4c26-adaa-6f2f5f870751:.....remaining
                      fields for dialog record.....</div>
                  </div>
                </blockquote>
                <div><br>
                </div>
                <div>I again start Opensips.  I see this in the log
                  (debug=3):</div>
                <div>
                  <br>
                </div>
                <blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">
                  <div>ERROR:dialog:load_dialog_info_from_db: column
                    dlg_id cannot be null/has wrong type 6 -&gt;
                    skipping</div>
                </blockquote>
                <div><br>
                </div>
                <div>
                  One interesting note, when Opensips starts the dlg_id
                  column is defined with &#39;long&#39;.  After Opensips exits,
                  it has &#39;bigint&#39; type.  I don&#39;t know if that&#39;s
                  relevant.</div>
                <span><font color="#888888">
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                    <div>- Jeff</div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                  </font></span></div>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
  </div></div></div>

</blockquote></div><br></div></div>