[Kamailio-Users] using dialog to limit concurrent call, and limit monthly limits

Jinsong Hu jinsong_hu at hotmail.com
Sat Apr 11 08:44:31 CEST 2009


Hi,
  One of the biggest problem with VOIP service is how to defend against 
unlimited usage. openning the SIP to an end user is pretty scary thing as 
the following  3 things could happen:

1. people uses the same username/password for multiple phone. This is 
addressed by one discussion thread in this mailing list, basically, 
forwarding the traffic to the last registered AOR using

modparam("usrloc", "desc_time_order", 1)
modparam("registrar", "append_branches", 0)

2. people can use a single username/password , but uses it as a trunk, so 
they run multiple channels of voice call . With this they can run up 
thousands of dollars of bills on the kamailio owner. There are suggestion 
that we use dialog module to limit it. However no sample code is given. 
this is a sample code I googled:
   if ( avp_check("$DLG_count", "gt/i:10") ) {
      sl_send_reply("403","no more calls accepted");
      exit;
   }
but looks DLG_count is a global  variable. Does any body have a better 
example ?


3. even if with single channel of communication, if somebody still run the 
channel in a shared environment, in theory, they can call 60*24*30 
minutes=43200 minutes a month. take a cheap wholesale cost of 1 cent per 
minute, this will run to $432 per month for the kamailio owner. there is no 
way a voip operator can charge $432 for a user in current market. so most of 
the carrier will limit
monthly usage to 2500 minutes per month. I searched kamailio modules, I 
can't find any easy way
to do it. does anybody have a good solution ?


Jimmy. 




More information about the Users mailing list