Hello Charles,
Yes, It’s enough. I understand the concept now.
Thank you!
Regards,
Grant
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org]
On Behalf Of Charles Chance
Sent: Monday, January 19, 2015 12:59 PM
To: Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] dialog module shared memory
Hi Grant,
There is no integration with the dialog module directly - that is coming soon - but for now you can track call profiles across the cluster by doing something like:
loadmodule "dmq"
loadmodule "htable"
...
modparam("dmq", "server_address", "sip:MY_IP_ADDR:5080") # <--- make sure you listen on a separate, restricted port!
modparam("dmq", "notification_address", "sip:REMOTE_DMQ_ADDR:5080") # <--- we just need to tell DMQ about one other node - it will learn about any others itself
...
modparam("htable", "enable_dmq", 1)
modparam("htable", "htable", "call_profiles=>size=7;autoexpire=3600;dmqreplicate=1;")
...
route {
if (method == "KDMQ" && $Rp == 5080) {
dmq_handle_message();
exit;
}
# handle requests within SIP dialogs
route(WITHINDLG);
...
# on INVITE, add the call to one or more "profiles"...
$sht(call_profiles=>$ci) = "external:" + $fu; # you can append more if required (+ ",international:" + $fu + ",outgoing:" + $fu...)
t_on_failure("FAILURE");
...
}
route[WITHINDLG] {
...
if (is_method("BYE")) {
$sht(call_profiles=>$ci) = $null;
}
...
}
failure_route[FAILURE] {
...
$sht(call_profiles=>$ci) = $null;
...
}
Now, any time you need to, you can get the current count of calls in any profile for any user by doing...
$var(count_external) = $shtcv(call_profiles=>external:$fu);
$var(count_outgoing) = $shtcv(call_profiles=>outgoing:$fu);
The above offers flexibility of adding calls to multiple profiles, but if that is beyond your requirements, you could equally just increment/decrement a counter for each user with:
$shtinc(call_count=>$fu)
$shtdec(call_count=>$fu)
I put this together quickly, so please excuse any typos or omissions, but it should hopefully be enough for illustration purposes.
Regards,
Charles
On 19 January 2015 at 07:05, Grant Bagdasarian <gb@cm.nl> wrote:
Hello Charles,
I’ve looked at the htable and dmq modules, but I don’t understand how to integrate this with the
dialog module.
Could you post an example please?
Thanks!
Regards,
Grant
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org]
On Behalf Of Charles Chance
Sent: Friday, January 16, 2015 12:23 PM
To: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List
Subject: Re: [SR-Users] dialog module shared memory
Hello,
Currently, this is work in progress. But in the meantime, it is possible to achieve using htable with dmq enabled.
I can post an example later if required.
Cheers,
Charles
On 16 Jan 2015 07:54, "Grant Bagdasarian" <gb@cm.nl> wrote:
Hello,
I’m using the dialog module to control the maximum number of calls allowed to be passed through.
Is it possible to share the dialogs stored in memory with multiple instances of kamailio?
So if both kamailio instances process calls, and the maximum is set to a global of 10, both combined should never let more than 10 calls through.
Regards,
Grant
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
www.sipcentric.com
Follow us on twitter
@sipcentric
Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
www.sipcentric.com
Follow us on twitter
@sipcentric
Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.