<div dir="ltr">Hi Bogdan,<div><br></div><div>Confirmed, everything restores correctly now. Tested on 1.9 pulled from git today.</div><div class="gmail_extra"><br clear="all"><div><div dir="ltr"><div><br></div><div>- Jeff</div>
<div>
<br></div></div></div>
<br><br><div class="gmail_quote">On Tue, Oct 29, 2013 at 2:34 PM, Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<u></u>
<div text="#000000" bgcolor="#ffffff">
<tt>Hi Jeff,<br>
<br>
I uploaded a fix on GIT (see
<a href="https://github.com/OpenSIPS/opensips/commit/adfe53f29fb93fa6f003431aee76e57db65da62a" target="_blank">https://github.com/OpenSIPS/opensips/commit/adfe53f29fb93fa6f003431aee76e57db65da62a</a>).
Fix was pushed on all maintained branches, so please update your
code and give it a try - let me know if it works for you.<br>
<br>
Regards,<br>
</tt><div class="im">
<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>
<br></div><div><div class="h5">
On 10/28/2013 07:42 PM, Bogdan-Andrei Iancu wrote:
</div></div><blockquote type="cite"><div><div class="h5">
<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 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>
<br>
On 10/24/2013 09:03 PM, Jeff Pyle wrote:
<blockquote 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. vsf, vst, etc.
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"><<a 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>
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>
<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>
<br>
</div>
<div>
<div> 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. 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 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>
<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>
<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.
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 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 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 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>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div></div><pre><fieldset></fieldset>
_______________________________________________
Users mailing list
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
</div>
</blockquote></div><br></div></div>