[SR-Users] Limiting simultaneous calls

Alex Balashov abalashov at evaristesys.com
Mon Nov 21 12:02:09 CET 2011


On 11/21/2011 05:53 AM, Mino Haluz wrote:

> 1) Is this method per user?

This method is per any criterion you like.  You can use arbitrary 
profile keys.

> 2) Another thing is, what happens if the BYE is not received (network
> issue or whatever), will the dialog expire on the kamailio side so the
> dialog count could me decremented? I mean, if the user has just 1
> voice channel, he could not make a call anymore, that's why it should
> be reliable..

The dialog module has a dialog expiration timer:

http://www.kamailio.org/docs/modules/3.2.x/modules_k/dialog.html#default-timeout-id

When this timeout is hit, the dialog module expires the dialog and it 
stops being tracked, and therefore contributing to the channel 
utilisation count.  You can also optionally have Kamailio spoof a 
bidirectional BYE upon this event, by setting $dlg_ctx(timeout_bye) = 1.

This dialog timeout has to be short enough to be useful, but long 
enough not to irritate your users, or, by the same token, allow them 
to defraud you.  It's not necessarily a happy compromise.  More 
advanced strategies for dealing with the lack of BYE problem usually 
involve some method of dead peer detection that are sometimes outside 
the scope of Kamailio, such as SIP Session Timers (RFC 4028). 
Although, I did notice that the rtpproxy module has evolved a 
parameter called 'timeout_socket':

 
http://www.kamailio.org/docs/modules/3.2.x/modules/rtpproxy.html#id2551006

If rtpproxy can signal RTP timeout back to the proxy now via RPC in a 
manner that can be caught in a route, that would do the trick.

-- 
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/



More information about the sr-users mailing list