<!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 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>
<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 03:24 PM, Jeff Pyle wrote:
<blockquote
cite="mid:CACYJG3KEpEXDreHVegVRzJzbiZPzkM6pu7X4Ys_f19LwD1DPmg@mail.gmail.com"
type="cite">
<div dir="ltr">Hi Bogdan,
<div><br>
</div>
<div>I believe it's dialog-based. I call topology_hiding()
early on the initial INVITE. The replace functions happen on
the branch_routes, very late in the processing. 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"><<a
moz-do-not-send="true" href="mailto:bogdan@opensips.org"
target="_blank">bogdan@opensips.org</a>></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 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 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. 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'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"><<a moz-do-not-send="true"
href="mailto:bogdan@opensips.org"
target="_blank">bogdan@opensips.org</a>></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. On line 536 of
modules/db_text/dbt_file.c it
reads 'bigint'. '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
!= 1919252015, but I
haven't found where
those numbers come from.
And the hash_size
hasn'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"><<a
moz-do-not-send="true"
href="mailto:jpyle@fidelityvoice.com"
target="_blank">jpyle@fidelityvoice.com</a>></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... 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 ->
skipping</div>
</blockquote>
<div><br>
</div>
<div> One interesting
note, when Opensips
starts the dlg_id
column is defined with
'long'. After
Opensips exits, it has
'bigint' type. 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>
</body>
</html>