<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
The dialog module checks for !=0 and the usrloc for <0. Returning
1 makes no sense for the cassandra functions as it is not for a
special case of successful result. It should be 0.<br>
<br>
Cheers,<br>
Daniel<br>
<br>
<div class="moz-cite-prefix">On 05/03/14 22:46, jay binks wrote:<br>
</div>
<blockquote
cite="mid:CAO47HpfXbczGbM0DM+p2FT3hOKJP5iDhRgggfCGc2Wt1bxu9nA@mail.gmail.com"
type="cite">
<div dir="ltr">Records were inserted, thats for sure..
<div><br>
</div>
<div>I have not checked usrloc, but I suspect it didnt rely on
the return code of the insert to anywhere near the same
amount.</div>
<div> <br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On 5 March 2014 23:42, Carlos Ruiz Díaz
<span dir="ltr"><<a moz-do-not-send="true"
href="mailto:carlos.ruizdiaz@gmail.com" target="_blank">carlos.ruizdiaz@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi Jay,
<div><br>
</div>
<div>I tried the module as is for the location service,
and it worked fine. Considering this, why was this part
working if usrloc uses the same DB API that was binding
a buggy implementation?. It makes me suspicious.</div>
<div><br>
</div>
<div>Did you make sure the records were actually inserted
on the cluster?</div>
<div><br>
</div>
<div>Regards,</div>
<div>Carlos</div>
</div>
<div class="gmail_extra">
<div>
<div class="h5"><br>
<br>
<div class="gmail_quote">
On Wed, Mar 5, 2014 at 8:42 AM, Daniel-Constantin
Mierla <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hello,<br>
<br>
can you make the patch for master branch? I just
backported two patches that were in master
branch but not yet in 4.1.<br>
<br>
With this occasion, can you review if the other
'return 1' expose the same issue? I noticed
another one in db_cassa_delete and in
db_cassa_query.<br>
<br>
Thanks,<br>
Daniel
<div>
<div><br>
<br>
<div>On 05/03/14 03:57, jay binks wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Just noticed the same thing
in db_cassa_delete..
<div>patch updated to fix both</div>
<div><br>
</div>
<div>Jay</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On 5 March 2014
12:52, jay binks <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:jaybinks@gmail.com"
target="_blank">jaybinks@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div dir="ltr">Hi All,<br>
<br>
so Ive done what Carlos suggested
and swapped out my dialog db to
Mysql rather than cassandra.<br>
All worked 100% as you would
expect.<br>
<br>
Right so the issue is db_cassandra
.<br>
<br>
I started testing and going
through the code.<br>
<br>
I found I had these lines, which
was interesting & concerning.<br>
update_dialog_dbinfo_unsafe():
could not add another dialog to db<br>
I had been ignoring them, because
the dialog was in the DB and I
figured I would come back and
figure that out later.<br>
<br>
but this seems to have been key to
this whole thing.<br>
<br>
ends up that in dlg_db_handler.c
dialog_dbf.insert was getting a 1
back from kamailio on the insert
and a 0 back from mysql... WTF..
ok.<br>
<br>
so I trace into db_cassa_insert
which calls db_cassa_modify ..<br>
around line 1210 I can see this ..<br>
<br>
CON_CASSA(_h)->con->batch_mutate(CFMap,
oac::ConsistencyLevel::ONE);<br>
return 1;<br>
<br>
wrapped in a try / catch block..<br>
seems db_cassandra wants to return
1 for success but kamailio ( or
dialog module at least ) expects 0
for success .<br>
<br>
so I change that to be return 0,
and re-test.<br>
everything works as expected,
"could not add another dialog to
db" stops coming up on my console,<br>
and dialogs are removed when calls
hangup.<br>
<br>
seems this 1 thing is enough to
screw dialogs in cassandra ( and
who knows what else ).<br>
This is the reason for my email
though, if we simply change that
to 0, what else may break !??<br>
<br>
however <a moz-do-not-send="true"
href="http://www.asipto.com/pub/kamailio-devel-guide/#c09f_insert"
target="_blank">http://www.asipto.com/pub/kamailio-devel-guide/#c09f_insert</a>
clearly states that "0 if
everything is OK"<br>
so this is clearly a bug that
needs fixing.<br>
<br>
Can I get someone with
more experience to test this for
me and possibly apply the attached
patch !?
<div><br>
</div>
<div>Jay</div>
<div><br>
</div>
<div>
<div>
<div>
<div><br>
</div>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 25 February 2014 05:58,
Daniel-Constantin Mierla
<<a
moz-do-not-send="true"
href="mailto:miconda@gmail.com"
target="_blank">miconda@gmail.com</a>>
wrote:<br>
><br>
> Hello,<br>
><br>
> I pushed some patches
to the master branch in
order to remove the dialog
from its associated profiles
when it gets in terminated
state. I encountered such
issue (not that) recently,
but I haven't gotten the
time to get to it before.<br>
><br>
> Then, the second patch
is to not add dialogs in
profiles when loading from
database and the state is
terminated (5).<br>
><br>
> Here are the links to
the patches:<br>
><br>
> - <a
moz-do-not-send="true"
href="http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=edf61acb57ed5e8ee0ca9ec1f796e43ce993be48"
target="_blank">http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=edf61acb57ed5e8ee0ca9ec1f796e43ce993be48</a><br>
> - <a
moz-do-not-send="true"
href="http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=9b88eb7ee2d243882383a44f601baa21fd679cd5"
target="_blank">http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=9b88eb7ee2d243882383a44f601baa21fd679cd5</a><br>
><br>
> Should be
straightforward to cherry
pick to 4.1 (even 4.0 I
expect). If you test and all
goes fine, I will backport
-- here I had no time for
real testing.<br>
><br>
> I plan also to not add
the dialogs in memory for
state terminated, but
destroy them at db load
time. But this needs a bit
of a review, to be sure that
all necessary callbacks are
executed.<br>
><br>
> On the other hand, if
the dialogs are not removed
from db, might be an issue
with the database driver
(cassandra in this case,
which is rather new module).
Do you get any syslog errors
from kamailio or database
server? I expect that people
would have reported such
issue for other database
engines so far. Still it
might be an issue, just that
was not noticed...<br>
><br>
> Cheers,<br>
> Daniel<br>
><br>
> On 24/02/14 11:19, jay
binks wrote:<br>
><br>
> So poking round the
code for the dialog
module.... <br>
> Im not sure what im
missing here.<br>
><br>
><br>
> get_profile_size dosnt
care bout the state of a
dialog... so you get ALL
dialogs that are in the hash
table.<br>
> ( which is interesting
if you want to use dialog
module to enforce channel
limits etc )<br>
><br>
> So you go... OK...
kamailio only expects to
have "ACTIVE" dialogs in the
hash table... kewl..<br>
> lets assume that to be
the case.<br>
><br>
> but then in
dlg_db_handler.c ,
load_dialog_info_from_db
loads all dialogs from the
DB, regardless of state.<br>
> so all dialogs in the
DB ( ones that didnt get
deleted yet... but were in
state 5 ) get re-created in
kamailio<br>
> upon startup.<br>
><br>
> what this means is...<br>
> ( assume starting with
empty DB )<br>
><br>
> I start kamailio, make
some calls... they get
synced to the DB.<br>
> I end the calls,
kamailio removes from
dialogs module internal
hash, but the sync to DB
hasnt happened yet.<br>
><br>
> I kill kamailio ( or
crash .. whatever )....
restart kamailio and it
re-loads all those dialogs<br>
> and thinks they are
still active calls.<br>
><br>
> Im SURE Im missing
something here, because it
seems to be VERY common to
use dialogs for channel
limiting..<br>
> maybe not so much using
cassandra db behind the
scenes, but as of yet ... Im
still yet to find anything
that makes me thing this is
db_cassandra mis-behaving.<br>
><br>
> if im wrong, please
point me in the right
direction.<br>
><br>
> Jay<br>
><br>
><br>
><br>
><br>
> On 24 February 2014
17:54, jay binks <<a
moz-do-not-send="true"
href="mailto:jaybinks@gmail.com"
target="_blank">jaybinks@gmail.com</a>>
wrote:<br>
>><br>
>> Am I REALLY the
only person who has ever run
into this !?<br>
>><br>
>><br>
>> On 19 February 2014
14:08, jay binks <<a
moz-do-not-send="true"
href="mailto:jaybinks@gmail.com"
target="_blank">jaybinks@gmail.com</a>>
wrote:<br>
>>><br>
>>> Hi all, im
using the dialog module with
db_cassandra backend..<br>
>>> I dont believe
this issue is related to
cassandra, but its worth
mentioning anyways.<br>
>>><br>
>>> so... I run
kamailio, make calls, see
dialogs in the DB..<br>
>>> and I Can use
"kamctl mi dlg_list" and see
that dialogs go away when I
hangup a call..<br>
>>><br>
>>> When I query
the DB Backend, I still see
the queries, but they have a
state of 5.<br>
>>> I Initially
thought this was a bug, but
it seems dialogs in state 5
get cleaned up after a
period.<br>
>>> so I moved on.<br>
>>><br>
>>> now , lets
restart kamailio..<br>
>>> kamailio loads
all dialogs on startup,
after kamailio starts I call
"kamctl mi dlg_list" again,
and it shows all my dialogs
from the DB. they DO show
as "State 5"<br>
>>> but for some
reason, these dialogs appear
to stick around for a long
time, and the bigger issue
it causes me is that my
channel limiting ( using
get_profile_size ) seems to
consider these dialogs ( in
state 5 ) as being active
calls. <br>
>>><br>
>>> Please someone
point me in the right
direction... :)<br>
>>><br>
>>> what am I doing
wrong ?<br>
>>> ( or is this a
bug somewhere )<br>
>>><br>
>>> Sincerely<br>
>>><br>
>>> Jay<br>
>><br>
>><br>
>><br>
>><br>
>> -- <br>
>> Sincerely<br>
>><br>
>> Jay<br>
><br>
><br>
><br>
><br>
> -- <br>
> Sincerely<br>
><br>
> Jay<br>
><br>
><br>
>
_______________________________________________<br>
> sr-dev mailing list<br>
> <a
moz-do-not-send="true"
href="mailto:sr-dev@lists.sip-router.org"
target="_blank">sr-dev@lists.sip-router.org</a><br>
> <a
moz-do-not-send="true"
href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev"
target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br>
><br>
><br>
> -- <br>
> Daniel-Constantin
Mierla - <a
moz-do-not-send="true"
href="http://www.asipto.com"
target="_blank">http://www.asipto.com</a><br>
> <a
moz-do-not-send="true"
href="http://twitter.com/#%21/miconda"
target="_blank">http://twitter.com/#!/miconda</a>
- <a moz-do-not-send="true"
href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a><br>
><br>
><br>
</div>
</div>
>
_______________________________________________<br>
> SIP Express Router (SER)
and Kamailio (OpenSER) -
sr-users mailing list<br>
> <a moz-do-not-send="true"
href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
> <a moz-do-not-send="true"
href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
><br>
<br>
<br>
<br>
--<br>
Sincerely<span><font
color="#888888"><br>
<br>
Jay<br>
</font></span></div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Sincerely<br>
<br>
Jay </div>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a></pre>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
</div>
</div>
<span class="HOEnZb"><font color="#888888">-- <br>
<div dir="ltr">Carlos
<div><a moz-do-not-send="true"
href="http://caruizdiaz.com" target="_blank">http://caruizdiaz.com</a></div>
<div><a moz-do-not-send="true"
href="http://ngvoice.com" target="_blank">http://ngvoice.com</a></div>
<div><a moz-do-not-send="true"
href="tel:%2B595981146623" value="+595981146623"
target="_blank">+595981146623</a></div>
</div>
</font></span></div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Sincerely<br>
<br>
Jay
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a></pre>
</body>
</html>