<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <tt>Hi Jeff,<br>
      <br>
      It seems to be a bug in the uac module, not related to the dbtext
      module. I will work on a fix and let you know for testing.<br>
      <br>
      Thanks and 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 09:03 PM, Jeff Pyle wrote:
    <blockquote
cite="mid:CACYJG3K+XjLXUyDKHzWOwUgs3M-X2-gcPmdfJO9QtK+o06neGw@mail.gmail.com"
      type="cite">
      <div dir="ltr">Bogdan,
        <div><br>
        </div>
        <div>In the 'vars' column of the dbtext file I have values that
          look appropriate for the replacements. &nbsp;vsf, vst, etc. &nbsp;I
          don't see a 'values' column.</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>- Jeff</div>
        <div><br>
        </div>
        <div class="gmail_extra">
          <div>
            <div dir="ltr">
              <div><br>
              </div>
            </div>
          </div>
          <br>
          <br>
          <div class="gmail_quote">On Thu, Oct 24, 2013 at 12:50 PM,
            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: 0pt 0pt 0pt
              0.8ex; border-left: 1px solid rgb(204, 204, 204);
              padding-left: 1ex;">
              <div text="#000000" bgcolor="#ffffff"> <tt>Hi Jeff,<br>
                  <br>
                  It should be restart-safe - the UAC module stores info
                  into the dialog - when doing the restart, do you see
                  in the DB any data in the values field for your dialog
                  ?<br>
                  <br>
                  Best regards,<br>
                </tt>
                <div class="im">
                  <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>
                  <br>
                </div>
                <div>
                  <div class="h5"> On 10/24/2013 03:24 PM, Jeff Pyle
                    wrote:
                    <blockquote type="cite">
                      <div dir="ltr">Hi Bogdan,
                        <div><br>
                        </div>
                        <div>I believe it's dialog-based. &nbsp;I call
                          topology_hiding() early on the initial INVITE.
                          &nbsp;The replace functions happen on the
                          branch_routes, very late in the processing.
                          &nbsp;The topology_hiding() function establishes
                          the dialog, no?</div>
                        <div><br>
                        </div>
                        <div>Should the dialog-based version be
                          restart-safe also?</div>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                        <div>- Jeff</div>
                        <div class="gmail_extra">
                          <div>
                            <div dir="ltr">
                              <div> <br>
                              </div>
                            </div>
                          </div>
                          <br>
                          <br>
                          <div class="gmail_quote">On Thu, Oct 24, 2013
                            at 4:08 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: 0pt 0pt 0pt 0.8ex;
                              border-left: 1px solid rgb(204, 204, 204);
                              padding-left: 1ex;">
                              <div 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>
                                <div>
                                  <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>
                                  <br>
                                </div>
                                <div>
                                  <div> On 10/24/2013 05:48 AM, Jeff
                                    Pyle wrote:
                                    <blockquote 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> <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>
                                  </div>
                                </div>
                              </div>
                            </blockquote>
                          </div>
                          <br>
                        </div>
                      </div>
                    </blockquote>
                  </div>
                </div>
              </div>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
  </body>
</html>