Hello,
the avps are available only for the duration of a transaction. They don't persist between register and invite. But you should authenticate invites as well, not only registrations, and then the avp will be loaded and set for invites.
Cheers,
Daniel
Hello?Or i am doing this wrong?
Is avp value live only for one request dialog?
Or it lives until user is unregistered?
вт, 18 окт. 2016 г. в 16:10, Ivan Dudko <ivan.dudko@gmail.com>:
And I check. While kamailio process REGISTER request $avp(i:123) value equals table column call_limit.But after that while it process INVITE request $avp(i:123) is <null>
вт, 18 окт. 2016 г. в 11:59, Ivan Dudko <ivan.dudko@gmail.com>:
But when i want to see value of this avp in route[DIALOG]:Thank you, DanielI am trying to do this.
modparam("auth_db", "load_credentials", "$avp(i:123)=call_limit")
This from mysql log:
After auth:
2016-10-18T07:14:02.598195Z 4451 Query select `password`,`call_limit` from `subscriber` where `username`='2000'
2016-10-18T07:14:02.599166Z 4451 Query select `username` from `subscriber` where `username`='' AND `domain`='172.21.0.150'
xlog("L_INFO", "Control Active Calls $avp(i:123)");
I call from 2000 to another peer аnd recieve null:
Oct 18 11:14:38 kamailio /usr/sbin/kamailio[11470]: INFO: <script>: Control Active Calls <null>
пн, 17 окт. 2016 г. в 13:44, Daniel-Constantin Mierla <miconda@gmail.com>:
Hello,
you can use sqlops module to load data from database and store in an xavp.
If you want to load from subscriber table along with auth credentials, look at load_credentials parameter from auth_db module.
Cheers,
Daniel
On 14/10/16 12:05, Ivan Dudko wrote:
Hello!for each dialog. But i can't understand how to load this number of active calls from some-thing similar of user profile or subscriber table?
I am trying to implement limit of active calls for subscribers. And for each subscriber this limit must be personal.
I find example route in presentation of Daniel-Constantin Mierla.
And i need to set $xavp(caller=>active_calls) = 1;
route[DIALOG] {
if (is_method("CANCEL") || (has_totag() && is_method("INVITE|BYE|ACK"))) {
dlg_manage();
return;
}
if (is_method("INVITE") && !has_totag() && !isflagset(WITH_ACTIVE_CALLS_LIMIT)) {
if( $xavp(caller[0]=>active_calls) != $null && $xavp(caller[0]=>active_calls) > 0 ) {
if(!get_profile_size("caller", "$fU@$fd", "$var(acsize)")) {
send_reply("500", "No more active calls");
exit;
}
if($var(acsize)>=$xavp(caller[0]=>active_calls)) {
send_reply("403", "No more active calls");
exit;
}
set_dlg_profile("caller", "$fU@$fd");
}
setflag(WITH_ACTIVE_CALLS_LIMIT);
dlg_manage();
}
}
______________________________________________________________________________________________ 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
-- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Kamailio Advanced Training, Berlin, Oct 24-26, 2016 - http://www.asipto.com
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
-- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Kamailio Advanced Training, Berlin, Oct 24-26, 2016 - http://www.asipto.com