<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <tt>Hi Jeff,<br>
      <br>
      The TO and FROM replacements can be signalling based (storing a
      cookie in RR hdr) or dialog based (storing the values in the
      dialog). Which one is used depends on the order of your ops - if
      you create the dialog before the replacements, then the dialog
      support will be used. How is it in your case ?<br>
      <br>
      The signaling based replacement is not affected by restarts (as
      values are stored in RR/R hdr) - of course, as time as sequential
      requests hit the loose_route() stuff.<br>
      <br>
      Regards,<br>
    </tt>
    <pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
    <br>
    On 10/24/2013 05:48 AM, Jeff Pyle wrote:
    <blockquote
cite="mid:CACYJG3J9fU8r5g1nD4oXx6PrvpFG57J1YQ7j4wuSGAgfVgkfCw@mail.gmail.com"
      type="cite">
      <div dir="ltr">Bogdan,
        <div><br>
        </div>
        <div>Next problem... URI replacements don'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. &nbsp;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). &nbsp;If I restart Opensips between the
          INVITE and the BYE, the BYE doesn'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
                moz-do-not-send="true" 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: 1px solid rgb(204, 204, 204);
              padding-left: 1ex;">
              <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 "long" 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 moz-do-not-send="true" 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've found part of it. &nbsp;On
                        line 536 of modules/db_text/dbt_file.c it reads
                        'bigint'. &nbsp;'bigint' is read as a blob; it seems
                        'long' is the correct word to read the 'l' 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 !=&nbsp;1919252015, but I
                                haven't found where those numbers come
                                from. &nbsp;And the hash_size hasn't actually
                                changed. &nbsp;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
                                moz-do-not-send="true"
                                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: 1px solid 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's the scenario... &nbsp;After a
                                  fresh Opensips start, I place a call
                                  through it. &nbsp;A dialog is established.
                                  &nbsp;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. &nbsp;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 'long'. &nbsp;After Opensips
                                  exits, it has 'bigint' type. &nbsp;I don't
                                  know if that'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>
    </blockquote>
  </body>
</html>