[OpenSIPS-Users] How to limit number of AOR for user

Anton lav at ptcomm.ru
Sat Nov 15 21:35:26 CET 2014


Please tell me that is part of the AOR?
Why, in my case in the list of permitted two AOR instead of one?
Does "max_contacts" come if registration requests with the same username 
and password, but different in other parameters (From, To Contact...)?

14.11.2014 23:18, Anton ?????:
> In any case, here there is a parameter modparam ("registrar", 
> "max_contacts", 1)
> so as not not be 2 AOR....
> I think that the second AOR here - it's UACbehind NAT...
> How to disable registration in this case?
>
> 14.11.2014 18:30, Ra(zvan Crainea ?????:
>> I think there is a bug and I opened an issue on github related to 
>> that[1]. If you could confirm it works when explicitely specifying 
>> the AVP that would be great.
>>
>> [1] https://github.com/OpenSIPS/opensips/issues/385
>>
>> Best regards,
>> Ra(zvan Crainea
>> OpenSIPS Solutions
>> www.opensips-solutions.com
>> On 11/14/2014 03:14 PM, Anton wrote:
>>> Why so? Quote from: 
>>> http://www.opensips.org/html/docs/modules/1.11.x/auth_db.html#id293578
>>>
>>> *Example 1.8. |load_credentials| parameter usage*
>>>
>>> # load rpid column into $avp(13) and email_address column
>>> # into $avp(email_address)
>>> modparam("auth_db", "load_credentials", "$avp(13)=rpid;email_address")
>>>
>>>
>>> But  as I have:
>>> modparam("auth_db", "load_credentials", "$avp(loadedip)=domain;$avp(subscriber_username)=username;maxaor")
>>> .....
>>>
>>> Nelly  is not  correct?
>>>
>>> 14.11.2014 15:20, Ra(zvan Crainea ?????:
>>>> Can you print $avp(maxaor) just before the save() function? I am 
>>>> pretty sure it is not populated. And the reason is that you are not 
>>>> specifying an AVP to store it. The load_credentials parameter should be
>>>> "$avp(loadedip)=domain;$avp(subscriber_username)=username;$avp(maxaor)=maxaor"
>>>> Ra(zvan Crainea
>>>> OpenSIPS Solutions
>>>> www.opensips-solutions.com
>>>> On 11/14/2014 09:41 AM, ?????? ????? ?????????? wrote:
>>>>> Hi!
>>>>>
>>>>> There is a need to limit the maximum number of AOR for the user.
>>>>> To do so:
>>>>>
>>>>> modparam("registrar", "max_contacts", 1)
>>>>> modparam("auth_db", "load_credentials", 
>>>>> "$avp(loadedip)=domain;$avp(subscriber_username)=username;maxaor")
>>>>>
>>>>> [user at opensips]# opensipsctl db show subscriber
>>>>> id      username        domain  password email_address   ha1     
>>>>> ha1b    rpid    maxaor  quota
>>>>> 1    202020  77.66.55.44  123456 f665ec129cd4556aeed95f3b204ff002 
>>>>> 888f4df11367b3f2859c4993a4ad7dd3        NULL 1 1
>>>>>
>>>>> Where: maxaor - maximum number of AOR (max limit).
>>>>>
>>>>> Next in the config:
>>>>>
>>>>> if (is_method("REGISTER"))
>>>>>     {
>>>>>         if(client_nat_test("8"))
>>>>>         {
>>>>>             sl_send_reply("403", "Not working NAT");
>>>>>             www_challenge("", "0");
>>>>>             exit;
>>>>>         }
>>>>>         # authenticate the REGISTER requests (uncomment to enable 
>>>>> auth)
>>>>>         if (!www_authorize("", "subscriber"))
>>>>>         {
>>>>>             www_challenge("", "0");
>>>>>             exit;
>>>>>         }
>>>>>         if ($si!=$avp(loadedip))
>>>>>         {
>>>>>             www_challenge("", "0");
>>>>>             exit;
>>>>>         }
>>>>> save("location","c($avp(maxaor))");
>>>>>         if (!db_check_to())
>>>>>         {
>>>>>             sl_send_reply("403","Forbidden auth ID");
>>>>>             exit;
>>>>>         }
>>>>>
>>>>>         if (!save("location"))
>>>>>             sl_reply_error();
>>>>>         exit;
>>>>>     }
>>>>>
>>>>> But in the presence of 2 AOR record:
>>>>>
>>>>> [user at opensips]# opensipsctl ul show 202020
>>>>> Contact:: 
>>>>> <sip:202020 at 77.66.55.44;uniq=6041F87C7634A40A246E833DDA15E>;q=;expires=1471;flags=0x0;cflags=0x0;socket=<udp:85.85.85.85:5060>;callid=<A8502C3B45165582 at 192.168.178.1>;methods=0x3F7F;user_agent=<AVM 
>>>>> FRITZ!Box Fon WLAN 7140 Annex A 39.04.77 (Feb 14 2014)>
>>>>> Contact:: 
>>>>> <sip:202020 at 77.66.55.44:5075>;q=;expires=450;flags=0x0;cflags=0x0;socket=<udp:85.85.85.85:5060>;callid=<5E7D-E2CA-46940374551E59A3ADE4-649 at SipHost>;methods=0xFFFFFFFF;user_agent=<204 
>>>>> 12-37-1612531>
>>>>>
>>>>> Why? What did I do wrong?
>>>>>
>>>>> Added a check here:
>>>>>     if ($ct.fields(uri)=~'uniq')
>>>>>     {
>>>>>         sl_send_reply("403", "Wrong contact params");
>>>>>         www_challenge("", "0");
>>>>>         exit;
>>>>>     }
>>>>> But it seems to me that this is not quite right.....
>>>>> Please help!
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opensips.org
>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20141115/85670cde/attachment.htm>


More information about the Users mailing list