---------- Forwarded message ----------
From: *Bayram Karagoz* <karagoz.bayram(a)gmail.com
<mailto:karagoz.bayram@gmail.com>>
Date: 2013/2/12
Subject: Re: [SR-Users] INVITE Retransmission Causes Limiting
Simultaneus Calls for Subscribers
To: miconda(a)gmail.com <mailto:miconda@gmail.com>
Cc: "SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) -
Users Mailing List" <sr-users(a)lists.sip-router.org
<mailto:sr-users@lists.sip-router.org>>
recheck config and saw that I used dlg_manage() most before
route(QUOTA) block. does it sits in the wrong place?
you can find my kamailio.cfg file in attachment also.
# account only INVITEs
* dlg_manage();*
if (is_method("INVITE"))
{
setflag(FLT_ACC); # do accounting
}
###Display Name manipulation###
if (is_method("INVITE") && ($fn != $fU)) {
uac_replace_from("$fU","");
}
### incoming call from SBC###
route(INCOMINGSBC);
###Suspend User###
route(SUSPEND);
### Concurrent Call Limitation Routing Block ###
* route(QUOTA);*
2013/2/12 Daniel-Constantin Mierla <miconda(a)gmail.com
<mailto:miconda@gmail.com>>
Where do you use dlg_manage()? It is not in the route you pasted
below.
Cheers,
Daniel
On 2/12/13 10:12 AM, Bayram Karagoz wrote:
Thanks for quick response Daniel,
My kamailio version is 3.2.3 (x86_64/linux) .
I want to use dlg_manage() before but not sure which side of my
call limitation route code block.
can you advise me where to use dlg_manage() in my routing?
here is my route block defined below;
route[QUOTA] {
if (is_method("INVITE") && $fU == $avp(s:username)) {
avp_db_query("select quota from subscriber where
username='$avp(s:username)'", "$avp(s:quota)");
$var(SIZE) = 0;
get_profile_size("callquota", "$avp(s:username)",
"$var(SIZE)");
xlog("L_INFO", "CALL_KAMAILIO:Call originated
from = $fd\n");
xlog("L_INFO", "Active call amount for $fU is
$var(SIZE) , call-id=$ci, quota=$avp(s:quota)\n");
if( $var(SIZE) >= $avp(s:quota) ){
sl_send_reply("403", "Simultaneous calls limit
reached");
xlog("L_INFO", "QUOTA:Limit of $var(SIZE) active
calls has been reached for user=$avp(s:username), call-id=$ci,
quota=$avp(s:quota)\n");
exit;
}
set_dlg_profile("callquota","$avp(s:username)");
}
}
2013/2/12 Daniel-Constantin Mierla <miconda(a)gmail.com
<mailto:miconda@gmail.com>>
Hello,
what version of kamailio are you using?
State 1 is for dialogs that were not relayed (or they haven't
received any reply yet). That means you create the dialog and
don't relay the INVITE. Try to us dlg_manage() just before
relaying the INVITE.
Cheers,
Daniel
On 2/12/13 9:37 AM, Bayram Karagoz wrote:
Hi,
is there any advise about my problem?
I'm using kamailio in my production environment and this
issue started to reproduce a lot.
is there any way to discard retransmitted INVITE messages
from counting dialog?
2013/2/9 Bayram Karagoz <karagoz.bayram(a)gmail.com
<mailto:karagoz.bayram@gmail.com>>
thanks for the response Daniel,
has_totag not solved my problem.
in a deep search I realized that these retransmission
INVITE dialogs are waiting in dialog list as state = 1.
one example is below;
is there any way to clear these dialog which state is
waiting for state = 1 or any other solution is welcome
for me?
dialog:: hash=246:499719317
state:: 1
ref_count:: 1
timestart:: 0
timeout:: 0
callid:: 1356619-3569384775-474862(a)GBSBC-1.mydomain.com
<mailto:1356619-3569384775-474862@GBSBC-1.mydomain.com>
from_uri:: sip:02165151057 <tel:02165151057>@xxx.xxx.xxx.xxx
from_tag:: 3569384775-474868
caller_contact:: sip:02165151057
<tel:02165151057>@xxx.xxx.xxx.xxx:5060
caller_cseq:: 2
caller_route_set::
caller_bind_addr:: udp:xxx.xxx.xxx.xxx:5060
callee_bind_addr::
to_uri:: sip:4115667@xxx.xxx.xxx.xxx
to_tag::
callee_contact::
callee_cseq::
callee_route_set::
2013/2/4 Daniel Tryba <daniel(a)pocos.nl
<mailto:daniel@pocos.nl>>
On Sunday 03 February 2013 12:58:02 Bayram Karagoz
wrote:
I'm trying to limit all subscriber's
active call
according to setting their
simultaneous use setting defined in database.
But having problem when one subscriber's INVITE
message goes
to
retransmission. When retranmission occures INVITE
messages don't complete
with BYE and subscriber simultaneus use amount
will hung.
My example code block is below.
Does anyone advice me for overcome INVITE
retransmissions?
I haven't implemented it myself yet, but all
examples I've seen check for
!has_totag() in the INVITE when doing call limit
accounting. So
if (is_method("INVITE") && $fU == $avp(s:username)
&& !has_totag())
in your case. But that only works if the device
received the initial 100
Trying with a tag from Kamailio.
But might it not be better to just do the count in
the INVITE and
adding/deleting of dialogs in the dialog event routes?
http://kamailio.org/docs/modules/stable/modules_k/dialog.html#id2556156
Problem here is that if the limit is 5 and and there
are more than 5
concurrent INVITES you'd have to drop calls with a
200 OK response.
--
POCOS B.V. - Croy 9c - 5653 LC Eindhoven
Telefoon: 040 293 8661 - Fax: 040 293 8658
http://www.pocos.nl/ -
http://www.sipo.nl/
K.v.K. Eindhoven 17097024
--
*Bayram KARAGÖZ*
*NGN Engineer*
*-----------------------------------------*
*@*bayram@bayramkaragoz.org
<mailto:bayram@bayramkaragoz.org>
*:***www.bayramkaragoz.org <http://www.bayramkaragoz.org/>
*-----------------------------------------*
--
*Bayram KARAGÖZ*
*NGN Engineer*
*-----------------------------------------*
*@*bayram@bayramkaragoz.org <mailto:bayram@bayramkaragoz.org>
*:***www.bayramkaragoz.org <http://www.bayramkaragoz.org/>
*-----------------------------------------*
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla -http://www.asipto.com
http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda>
-http://www.linkedin.com/in/miconda
Kamailio World Conference, April 16-17, 2013, Berlin
-http://conference.kamailio.com -
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list
sr-users(a)lists.sip-router.org
<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
*Bayram KARAGÖZ*
*NGN Engineer*
*-----------------------------------------*
*@*bayram@bayramkaragoz.org <mailto:bayram@bayramkaragoz.org>
*:***www.bayramkaragoz.org <http://www.bayramkaragoz.org/>
*-----------------------------------------*
<http://twitter.com/#%21/miconda>
-http://www.linkedin.com/in/miconda
Kamailio World Conference, April 16-17, 2013, Berlin
-http://conference.kamailio.com -
--
*Bayram KARAGÖZ*
*NGN Engineer*
*-----------------------------------------*
*@*bayram@bayramkaragoz.org <mailto:bayram@bayramkaragoz.org>
*:***www.bayramkaragoz.org <http://www.bayramkaragoz.org/>
*-----------------------------------------*
--
*Bayram KARAGÖZ*
*NGN Engineer*
*-----------------------------------------*
*@*bayram@bayramkaragoz.org <mailto:bayram@bayramkaragoz.org>
*:***www.bayramkaragoz.org <http://www.bayramkaragoz.org/>
*-----------------------------------------*
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org