implementing 3gpp2 attributes
Hi, i m in the early stages of implementing a prepaid service for a CDMA network, i have to exchange radius package using the 3gpp2 standard which is an extension to the basic radius protocol. i m facing an issue and that is that the attributes in the 3gpp2 standard included attributes that contain subtypes, in the form of: type:26Length: variable, greated than 8Vendor-ID: 5535Vendor-Type: 91Vendor-Length: variable, greater than 2Sub-Type (=1): Sub-Type for AvailableInClient attributeSub-Type (=2): Sub-Type for SelectedForSession attribute.......Sub-Type (=N): XXXX i have done several tests to confirm that freeradius only supports simple attributes in the form of attribute = value, i need to implement the above, is there any way i can implement it ? i dont mind doing all the work my self but i do not see available or easy ways to access the actual data of the structures directly ... can someone please advise how to implement attributes such as the above ? thanks!
The dictionary.3gpp2 seems to have the VSA Attributes you're looking for. If you're saying that VSA 91 should have subtypes, then you should look at TLVs in the definition. ATTRIBUTE 3GPP2-Prepaid-acct-Capability 91 octets If you have a look in dictionary.dhcp under VSA 82 it gives you an idea how to create the TLV sub VSAs. ATTRIBUTE DHCP-Relay-Agent-Information 82 tlv BEGIN-TLV DHCP-Relay-Agent-Information ATTRIBUTE DHCP-Agent-Circuit-Id 1 octets ... END-TLV DHCP-Relay-Agent-Information I assume you're reading the spec from here? http://www.3gpp2.org/public_html/specs/X.S0011-005-C_v1.0_110703.pdf So you would want to want to update the dictionary file to say something like: ATTRIBUTE 3GPP2-Prepaid-acct-Capability 91 tlv BEGIN-TLV 3GPP2-Prepaid-acct-Capability ATTRIBUTE 3GPP2-Prepaid-acct-Capability-AvailableInClient 1 octets ATTRIBUTE 3GPP2-Prepaid-acct-Capability-SelectedForSession 2 octets ... Rinse and repeat... END-TLV 3GPP2-Prepaid-acct-Capability And then you just need to define what you need in those values. On Thu, Apr 25, 2013 at 10:35 AM, Juan Pablo L. <jpablolorenzetti@hotmail.com> wrote:
Hi, i m in the early stages of implementing a prepaid service for a CDMA network, i have to exchange radius package using the 3gpp2 standard which is an extension to the basic radius protocol. i m facing an issue and that is that the attributes in the 3gpp2 standard included attributes that contain subtypes, in the form of:
type:26 Length: variable, greated than 8 Vendor-ID: 5535 Vendor-Type: 91 Vendor-Length: variable, greater than 2 Sub-Type (=1): Sub-Type for AvailableInClient attribute Sub-Type (=2): Sub-Type for SelectedForSession attribute ....... Sub-Type (=N): XXXX
i have done several tests to confirm that freeradius only supports simple attributes in the form of attribute = value, i need to implement the above, is there any way i can implement it ? i dont mind doing all the work my self but i do not see available or easy ways to access the actual data of the structures directly ... can someone please advise how to implement attributes such as the above ? thanks!
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Juan Pablo L. wrote:
i have done several tests to confirm that freeradius only supports simple attributes in the form of attribute = value, i need to implement the above, is there any way i can implement it ?
Massive code changes. Don't do it. Use the git "master" branch, which does support TLVs for VSAs. You'll probably need to edit the 3gpp2 dictionary, but the underlying code is there. Alan DeKok.
Thank you very much Alan and Peter!! it is nice to know that freeradius is capable of doing so with minors changes in the dictionary. i m using stable version 2.2 so i understand the master branch in the git supports this, i will downloaded. thanks a lot !!! From: jpablolorenzetti@hotmail.com To: freeradius-users@lists.freeradius.org Subject: implementing 3gpp2 attributes Date: Wed, 24 Apr 2013 22:35:58 +0000 Hi, i m in the early stages of implementing a prepaid service for a CDMA network, i have to exchange radius package using the 3gpp2 standard which is an extension to the basic radius protocol. i m facing an issue and that is that the attributes in the 3gpp2 standard included attributes that contain subtypes, in the form of: type:26Length: variable, greated than 8Vendor-ID: 5535Vendor-Type: 91Vendor-Length: variable, greater than 2Sub-Type (=1): Sub-Type for AvailableInClient attributeSub-Type (=2): Sub-Type for SelectedForSession attribute.......Sub-Type (=N): XXXX i have done several tests to confirm that freeradius only supports simple attributes in the form of attribute = value, i need to implement the above, is there any way i can implement it ? i dont mind doing all the work my self but i do not see available or easy ways to access the actual data of the structures directly ... can someone please advise how to implement attributes such as the above ? thanks!
participants (3)
-
Alan DeKok -
Juan Pablo L. -
Peter Lambrechtsen