[OpenSIPS-Users] Dialog Concurrency Control Issue.
logan
voipmaster at me.com
Wed Apr 6 17:40:35 CEST 2011
Hi, thanks for the reply. The issue was that my comparison was being treated as a string instead of an integer so 2 > 15. Once I converted to integers this looked to be resolved:
$avp(s:sim_calls) = $(avp(s:sim_calls){s.int});
$avp(s:cnt) = $(avp(s:cnt){s.int});
if($avp(s:cnt) >= $avp(s:sim_calls)) {
On Apr 06, 2011, at 11:15 AM, Bogdan-Andrei Iancu <bogdan at opensips.org> wrote:
> Hi Logan,
>
> what are the printed xlogs from your script ? interesting is to see the values for $avp(s:cnt) and $avp(s:sim_calls) .
>
> Regards,
> Bogdan
>
> On 03/15/2011 04:15 PM, logan wrote:
>>
>> I have a uuid in the usr_preferences table set to attribute = sim_calls with value = 15 calls allowed but am getting the concurrency limit error when 2 calls are up and trying to establish the 3rd call. Can anyone help figure out why?
>>
>>
>>
>> Config Snips:
>>
>> modparam("avpops", "avp_table", "usr_preferences")
>>
>> modparam("avpops", "use_domain", 0)
>>
>> modparam("avpops", "uuid_column", "uuid")
>>
>> modparam("avpops", "username_column", "username")
>>
>> modparam("avpops", "domain_column", "domain")
>>
>> modparam("avpops", "attribute_column", "attribute")
>>
>> modparam("avpops", "value_column", "value")
>>
>> modparam("avpops", "type_column", "type")
>>
>>
>> loadmodule "dialog.so"
>>
>> modparam("dialog", "dlg_flag", 4)
>>
>> modparam("dialog", "db_mode", 1)
>>
>> # TODO: rename profile "caller" to something more deliberate
>>
>> modparam("dialog", "profiles_with_value", "caller;carrierin;carrierout")
>>
>>
>>
>>
>>
>> # fetch group the user belongs to
>>
>> avp_db_query("select grp from grp where username='$avp(s:username)'", "$avp(s:group)");
>>
>> if(avp_check("$avp(s:group)","re/.*/g")) {
>>
>> xlog("L_INFO", "----- user $avp(s:username) belongs to $avp(s:group) group\n");
>>
>>
>> # find out how many calls are allowed, match username to uuid column
>>
>> if(avp_db_load("$avp(s:group)/uuid","$avp(s:sim_calls)")) {
>>
>> xlog("L_INFO", "----- group $avp(s:group) can have max $avp(s:sim_calls) calls\n");
>>
>>
>> # check active calls
>>
>> get_profile_size("caller","$avp(s:group)","$avp(s:cnt)");
>>
>> xlog("L_INFO", "----- currently the group $avp(s:group) has $avp(s:cnt) active outgoing calls\n");
>>
>>
>> # reject if there is more than $sim_calls active calls from this user
>>
>> if($avp(s:cnt) >= $avp(s:sim_calls)) {
>>
>> sl_send_reply("486","Concurrency Limit Exceeded");
>>
>> exit;
>>
>> } else {
>>
>> # store dialog on the profile
>>
>> set_dlg_profile("caller","$avp(s:group)");
>>
>> }
>>
>> } else {
>>
>> xlog("L_INFO", "----- group $avp(s:group) doesn't have sim_calls limit\n");
>>
>> }
>>
>> } else {
>>
>> xlog("L_INFO", "----- user $avp(s:username) doesn't belong to any groups\n");
>>
>> };
>>
>>
>>
>>
>>
>> root at sip01:~# opensipsctl fifo profile_get_values caller
>>
>> value:: 80 count=2
>>
>>
>> root at sip01:~# opensipsctl fifo profile_get_values carrierin
>>
>> value:: 192.168.1.234 count=2
>>
>>
>> profile_list_dlgs:
>>
>>
>> opensipsctl fifo profile_list_dlgs caller
>>
>> dialog:: hash=57:1237628390
>>
>> state:: 4
>>
>> user_flags:: 0
>>
>> timestart:: 1299009653
>>
>> timeout:: 1786844
>>
>> callid:: 32d75fda0adefcc6454938161fa8f488 at 192.168.1.234
>>
>> from_uri:: sip:+16465222041 at 192.168.1.234
>>
>> to_uri:: sip:+18642227540 at 10.1.0.141
>>
>> caller_tag:: as303e8090
>>
>> caller_contact:: sip:+16465222041 at 192.168.1.234
>>
>> callee_cseq:: 102
>>
>> caller_route_set::
>>
>> caller_bind_addr:: udp:10.1.0.141:5060
>>
>>
>> callee_tag:: as6b251cdf
>>
>> callee_contact:: sip:8642227540 at 10.1.0.137
>>
>> caller_cseq:: 102
>>
>> callee_route_set::
>>
>> callee_bind_addr:: udp:10.1.0.141:5060
>>
>>
>> dialog:: hash=1234:1922532974
>>
>> state:: 4
>>
>> user_flags:: 0
>>
>> timestart:: 1299009708
>>
>> timeout:: 1786898
>>
>> callid:: 61e4b8a31839e0c311ed482c6453317a at 192.168.1234
>>
>> from_uri:: sip:+12127858470 at 192.168.1.234
>>
>> to_uri:: sip:+18642227540 at 10.1.0.141
>>
>> caller_tag:: as7c87f91d
>>
>> caller_contact:: sip:+12127858470 at 192.168.1.234
>>
>> callee_cseq:: 102
>>
>> caller_route_set::
>>
>> caller_bind_addr:: udp:10.1.0.141:5060
>>
>>
>> callee_tag:: as7bd2b3e8
>>
>> callee_contact:: sip:8642227540 at 10.1.0.137
>>
>> caller_cseq:: 102
>>
>> callee_route_set::
>>
>> callee_bind_addr:: udp:10.1.0.141:5060
>>
>>
>
> --
> Bogdan-Andrei Iancu
> OpenSIPS eBootcamp - 2nd of May 2011
> OpenSIPS solutions and "know-how"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20110406/6386ed8b/attachment-0001.htm>
More information about the Users
mailing list