|
Open Diameter Software Architecture |
|
|
|
|
Written by Hemanshu Patel
|
|
Friday, 28 December 2007 |
|
Page 4 of 4 Registering New AVP Types The diameter parser library defines an API to define a new AVP type and a parser to parse the new type, in addition to the default supported AVP types such as Integer32, Unsigned32, OctetString, UTF8String, Grouped and IPAddress. This feature is particularly important not only for developing new Diameter applications and but also for developing a new protocol that uses Diameter AVP formats. PANA (Protocol for carrying Authentication for Network Access) is an example of the latter case. Registration of a new AVP type can be done via adding a new AVP type entry called AvpType, where an AVP type entry consists of the following members. - Type Name The name of this AVP type.
- Type Code An integer that is used by the parser library for distinguishing this AVP type. The type code must be unique among all the types in the system. The type code is used only inside the library and never carried in Diameter messages.
- Type Size The minimum size of the data of this AVP type. This information is used for creating an placeholder AVP when a certain class of error occurs.
- Dictionary Data Data that describes a rule for data conversion between raw data and application data. Dictionary data can be null.
- Parser Creator A function object or a functor that is used for creating a parser class instance that parses the data of the AVP type.
- Container Entry Creator A function object or a functor that is used for creating a container entry that contains the data of the AVP type.
The list of AVPType instances are retained in an AVP type list AAAAvpTypeList, which is a singleton. Bibliography - [ACE] Douglas C. Schmidt, ``The ADAPTIVE Communications Environment, An Object-Oriented Network Programming Toolkit for Developing Communications Software,'' June 1993.
- [RFC3588] P. Calhoun, et al., ``Diameter Base Protocol,'' Request for Comments, Standards Track, September 2003.
- [FRAMEWORK] Y. Ohba, ``Open Diameter Framework Architecture,'', January 2004.
- [DIAMETER ROUTING] V. Fajardo, ``Open Diameter Routing Architecture,'', June 2004.
- [DIAMETER CONFIG] . Fajardo, ``Open Diameter Sample Configuration,'', June 2004.
|