[OpenSIPS-Users] radius_send_auth returns Vendor Specific Attributes

Bogdan-Andrei Iancu bogdan at opensips.org
Tue Apr 8 12:11:25 CEST 2014


Fair enough..... I will take  care of it and push it as a fix for a logical bug.

Thanks and regards,
Bogdan


Sent from Samsung Mobile

-------- Original message --------
From: John Quick <john.quick at smartvox.co.uk> 
Date:08/04/2014  11:38  (GMT+01:00) 
To: 'Bogdan-Andrei Iancu' <bogdan at opensips.org> 
Cc: 'OpenSIPS users mailling list' <users at lists.opensips.org> 
Subject: RE: [OpenSIPS-Users] radius_send_auth returns Vendor Specific Attributes 

You could add a modparam option to make it keep working as before or in the
new way, then set default for that parameter to "old way".

John

-----Original Message-----
From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org] 
Sent: 07 April 2014 23:00
To: john.quick at smartvox.co.uk
Cc: 'OpenSIPS users mailling list'
Subject: Re: [OpenSIPS-Users] radius_send_auth returns Vendor Specific
Attributes

I'm glad it works.

I definitely think this must be pushed as bug fix (as it poses serious
limitations) , but we need to be very careful to backward compatibility
(which may be affected)...do you see any way nicely deal with this ?

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 07.04.2014 18:22, John Quick wrote:
> Bogdan,
>
> That seems to have fixed it. Thanks.
>
> John
>
>
> -----Original Message-----
> From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> Sent: 04 April 2014 16:15
> To: john.quick at smartvox.co.uk
> Cc: 'OpenSIPS users mailling list'
> Subject: Re: [OpenSIPS-Users] radius_send_auth returns Vendor Specific 
> Attributes
>
> Hi John,
>
> There was a small bug - please test this new attached patch (remove 
> the prev one).
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
> On 04.04.2014 17:29, John Quick wrote:
>> Hi Bogdan,
>>
>>   From my initial testing, I think the inner while loop never terminates.
>> Luckily I added a trap using an integer counter with a limit of 40 
>> iterations.
>> What is it in the call to rc_avpair_get() that allows it to cycle 
>> through each instance with a matching name rather than just keep 
>> getting the first instance?
>>
>> John
>>
>>
>> -----Original Message-----
>> From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
>> Sent: 03 April 2014 17:21
>> To: john.quick at smartvox.co.uk
>> Cc: 'OpenSIPS users mailling list'
>> Subject: Re: [OpenSIPS-Users] radius_send_auth returns Vendor 
>> Specific Attributes
>>
>> John - please try the attached patch, with all the disclaimers it was 
>> not tested :)
>>
>> Regards,
>>
>> Bogdan-Andrei Iancu
>> OpenSIPS Founder and Developer
>> http://www.opensips-solutions.com
>>
>> On 03.04.2014 19:13, John Quick wrote:
>>> Hi Bogdan,
>>>
>>> If the variable is a var, at the moment you would only get the first
>> value.
>>> After modification, you would only get the last value. I agree this 
>>> is changed behaviour, but one case does not seem to me to be any 
>>> worse than the other. The advantage that multiple values *can* be 
>>> returned in an AVP seems to me to outweigh the risk of changed 
>>> behaviour on the next release of OpenSIPS. For me, it would be a 
>>> great advantage to be able to retrieve multiple values where this is 
>>> not
> possible at the moment.
>>> If you are able to send me the diff file (or simply a description) 
>>> for the changes, I would be happy to test it here.
>>>
>>> Thanks for responding.
>>>
>>> John
>>>
>>> -----Original Message-----
>>> From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
>>> Sent: 03 April 2014 16:53
>>> To: john.quick at smartvox.co.uk
>>> Cc: 'OpenSIPS users mailling list'
>>> Subject: Re: [OpenSIPS-Users] radius_send_auth returns Vendor 
>>> Specific Attributes
>>>
>>> John,
>>>
>>> We could do that (pushing back to OpenSIPS all values for that 
>>> RADIUS AVP), but it may be dangerous if you use on the OpenSIPS side 
>>> a variable that does not support multiple values - actually the AVPs 
>>> are the
>> only one doing that.
>>> Imagine the RADIUS reply returns multiple instances on an RADIUS AVP.
>>> And you use a $var() variable to get the value - each value will be 
>>> pushed to that $var(), but as it can hold only one value, it will 
>>> keep being overwritten -> only last value will be actually available.
>>> If this behavior is not a problem, we can fix the code and iterate 
>>> through the entire list of RADIUS AVP and get all instances.
>>>
>>> Regards,
>>>
>>> Bogdan-Andrei Iancu
>>> OpenSIPS Founder and Developer
>>> http://www.opensips-solutions.com
>>>
>>> On 02.04.2014 10:20, John Quick wrote:
>>>> Bogdan,
>>>>
>>>> I was hoping to get all the values returned in 1 avp, the avp 
>>>> defined for Cisco-AVPairs in set2. This takes advantage of the 
>>>> ability of OpenSIPS avps to hold multiple indexed values and also 
>>>> means minimal changes to the documentation of the aaa_radius module.
>>>> If you add a numeric index in the set definition, you must know 
>>>> which position the required attribute is in and it is even possible 
>>>> the server may return
>>> them in a different order.
>>>> Also, if you want to retrieve 10 values this makes the set2 
>>>> definition very big and clumsy. Adding an index in the set 
>>>> definition would only be a good solution if the index was a string 
>>>> identifying the Attribute name within Cisco-AVPairs.
>>>>
>>>> I would be very happy to test if you can show me what changes need 
>>>> to be made in the sources. I would have tried it already, but 
>>>> wasn't sure how to add multiple values to the avp.
>>>>
>>>> John
>>>>
>>>> -----Original Message-----
>>>> From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
>>>> Sent: 01 April 2014 22:49
>>>> To: john.quick at smartvox.co.uk
>>>> Cc: 'OpenSIPS users mailling list'
>>>> Subject: Re: [OpenSIPS-Users] radius_send_auth returns Vendor 
>>>> Specific Attributes
>>>>
>>>> John,
>>>>
>>>> I understand the issue and agree over the need of a solution. Two 
>>>> possible
>>>> approaches:
>>>>          - return all the values for that radius AVP
>>>>          - include an index in the set definition - to say which 
>>>> instance of the radius AVP you are looking for
>>>>
>>>> Regards,
>>>>
>>>> Bogdan-Andrei Iancu
>>>> OpenSIPS Founder and Developer
>>>> http://www.opensips-solutions.com
>>>>
>>>> On 01.04.2014 21:29, John Quick wrote:
>>>>> Hi Bogdan,
>>>>>
>>>>> Yes absolutely certain. I used Wireshark to check.
>>>>>
>>>>> I did make a little progress with this problem after finding some 
>>>>> info on the Internet.
>>>>> The name that has to be used in set2 is "Cisco-AVPair". This 
>>>>> allows me to retrieve just one VSA value.
>>>>> The *real* problem is that you cannot retrieve values 2, 3, 4, etc.
>>>>> This is because multiple instances are returned using the same VSA.
>>>>> They are all returned by the server in the attribute called 
>>>>> h323-ivr-in. I even found the code in the sources that retrieves them.
>>>>> It loops through every instance in
>>>>> set2 and looks for 1 matching value. So even if you add "Cisco-AVPair"
>>>>> several times into set2 all you get is the first matching value 
>>>>> many
>>>> times.
>>>>> John
>>>>>
>>>>> -----Original Message-----
>>>>> From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
>>>>> Sent: 01 April 2014 19:15
>>>>> To: john.quick at smartvox.co.uk; OpenSIPS users mailling list
>>>>> Subject: Re: [OpenSIPS-Users] radius_send_auth returns Vendor 
>>>>> Specific Attributes
>>>>>
>>>>> Hi John,
>>>>>
>>>>> It may be a stupid question, but are you sure the AVP does exist 
>>>>> in the RADIUS reply ?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Bogdan-Andrei Iancu
>>>>> OpenSIPS Founder and Developer
>>>>> http://www.opensips-solutions.com
>>>>>
>>>>> On 28.03.2014 13:23, John Quick wrote:
>>>>>> Hi,
>>>>>>
>>>>>> With help from this forum, I have just got radius_send_auth working.
>>>>>> I needed some extra dictionaries including dictionary.cisco In 
>>>>>> that dictionary, there are vendor specific attributes like this:
>>>>>> ATTRIBUTE       h323-ivr-in                     100     string
>>>>>> Cisco
>>>>>> ATTRIBUTE       h323-credit-amount              101     string
>>>>>> Cisco
>>>>>>
>>>>>> My Radius server returns some data using these VSA's. In 
>>>>>> particular, it returns many values using the same VSA - 
>>>>>> h323-ivr-in
>>>>>>
>>>>>> I am having trouble recovering the returned values using set2 of 
>>>>>> radius_send_auth Can anyone advise me how I should define set2 to 
>>>>>> get at these returned values? I have tried the following with no
>>> success:
>>>>>> modparam("aaa_radius", "sets", "set2 = 
>>>>>> (h323-return-code=$avp(retcode),
>>>>>> h323-ivr-in=$avp(authretvals))")
>>>>>>
>>>>>> After the function is called, there are no values in
>>>>>> $avp(authretvals)
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> John Quick
>>>>>> Smartvox Limited
>>>>>> Web: www.smartvox.co.uk
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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/20140408/50429d6f/attachment-0001.htm>


More information about the Users mailing list