Ultra Format Definition Language (UFDL)
The MediationZone Ultra formatting subsystem manages the decoding of information that originates from network elements. The information is converted to internal UDRs (usage data records) that can be processed by MediationZone agents, such as the Analysis Agent and Aggregation Agent. It also provides functionality to encode the internal UDRs to different output formats.
Ultra is configured with a language called the Ultra Format Definition Language (UFDL). There are six main building blocks of UFDL:
External formats - describes the way data is structured physically. This information is used by Ultra when decoding and encoding the data to include real-time requests and answer messages.
Internal formats - describes a UDR (fields and types) that can be accessed from a MediationZone agent
In maps - describes how to map the information of an external format to an internal format (for a decoder)
Out maps - describes how to map the information of an internal format to an external format (for an encoder)
Decoders – a declaration of a decoder that converts an external format to an internal format
Encoders - a declaration of an encoder that converts an internal format to an external format
Relationship between UFDL building blocks
Example of data converted using Decoder and Encoder agents
Ultra includes support for, and has been deployed using, numerous different physical formats. Direct support is included for any format described in ASN.1 (BER and PER), and XML Schema (XML). Ultra also contains a specification language to describe other physical formats, such as proprietary tagged records, fixed size records and binary data structures down to bit-level. Among other formats, this language has been used to provide support for AMA, INAMA, TAP2, TAP3, EMI, and a number of proprietary equipment vendor formats.
It is important to note that based on format specifications, MediationZone generates code for decoding and encoding functionality automatically. This means that there is no interpretation, with associated performance penalties, performed at runtime.
The following two figures illustrate how raw source data is defined as a UDR called udrAsciiSwitch in ULTRA.
Raw source data file content
UDR representation in ULTRA of raw source dataÂ