A UDU Indicators field in the message header includes specification of data encoding formats. Three canonical formats are defined:
The UDU header indicates that the UDU contains a control segment by a flag and by the control segment class.
The protocol parameters supported are:
Protocol level indicators are positive integers, nominally 0-127.
The source field, cs_source, identifies the UMA component affected:
The subclass of a message identifies the severity of the problem.
The severity may be one of the following:
The body bgcolor="#FFFFFF" identifies the condition (through defined constants). For
The text description is useful for reporting the condition back to a user. It can be used, for example, in printing a status message to the user's terminal.
Data Type | Name | Description |
---|---|---|
UMAOctetString[4] | mh_msgtag | BER-encoded UMA message indicator tag 0x7fd5cd41 |
UMAOctetString[1] | mh_msglenlen | ASN.1/BER length of mh_msglen |
1000 0011 | Leading bit always 1; shows mh_msglen length of 3 octets. | |
UMAOctetString[3] | mh_msglen | Length of the message including the standard header starting at the next field |
UMAOctetString[3] | mh_hdrtag | UDU Header Tag 0xbf1081 (includes length of mh_hdrlen in the low order 7 bits). The first octet of the string marks the global start of the message. |
UMAOctetString[1] | mh_hdrlen | Length of UDU Header |
UMAOctetString[3] | mh_indtag | UDU Indicators tag (for mh_flags) indicators - 0x9f3081 (includes length of mh_flags in the low order 7 bits). |
UMAOctetString[1] | mh_indlen | Length of UDU Indicators |
UMAMsgFlags | mh_flags | UDU Indicators |
1... .... .... .... | UDU contains control information | |
010. .... .... .... | Canonical A format1 | |
001. .... .... .... | Canonical B format | |
011. .... .... .... | Canonical C format | |
1... 0... .... .... | 16-bit byte order H to L2 | |
1... 1... .... .... | 16-bit byte order L to H | |
1... .0.. .... .... | integer component order H to L | |
1... .1.. .... .... | integer component order L to H | |
1... .... 1... .... | First message for this class, this system ID | |
1... .... .1.. .... | Last message for this class, this system ID | |
1... .... ...0 .... | dst not in effect | |
1... .... ...1 .... | dst in effect | |
1... .... .... 1... | Protocol Section present | |
UMAOctetString[3] | mh_protag | UDU Protocol Section tag (if section present) - 0xbf708n (includes length of protocol section, n, in the low order 7 bits). |
UMAOctetString[3] | mhpro_wdsztag | Tag for this platform's wordsize - 0x9f7181 (includes length of mhpro_wdsize in the low order 7 bits). |
UMAOctetString[1] | mhpro_wdsize | This platform's wordsize in bytes |
UMAOctetString[3] | mhpro_cplvltag | Tag for UMA Communication Protocols - 0x9f7384 (includes length of mhpro_umaplvl in the low order 7 bits). |
UMAUint4 | mhpro_umacps | UMA Message Communications Protocols supported |
UMAOctetString[3] | mhpro_mflvltag | Tag for UMA Message Format Level - 0x9f7581 (includes length of mhpro_umamflvl in the low order 7 bits) |
UMAOctetString[1] | mhpro_umamflvl | UMA Message Format Specification Level3 |
UMAOctetString[3] | mhpro_sblvltag | Tag for UMA Specification Base Level - 0x9f7681 (includes length of mhpro_umamslvl in the low order 7 bits) |
UMAOctetString[1] | mhpro_umasblvl | UMA Message Specification Base Level |
UMAOctetString[3] | mhpro_vndtag | Tag for Vendor Name string - 0x9f778n (includes length of mhpro_vndname in the low order 7 bits, max length 64). |
UMAOctetString[] | mhpro_vndname | Vendor Name - Text not null terminated |
UMAOctetString[3] | mhpro_vndptag | Vendor Protocol Level tag - 0x9f7981 (includes length of mhpro_vndplvl in the low order 7 bits). |
UMAOctetString[1] | mhpro_vndplvl | Vendor Protocol Level |
UMATimeStamp | mh_time | Timestamp of message creation |
UMAClass | mh_class | UMA class of the message |
UMASubclass | mh_subclass | UMA subclass of the message |
UMAOctetString[8] | mh_address | Host network address that generated the data in the message |
UMAOctetString[4] | mh_addr_family | Host network address type (e.g. internet, SNA, ...)4 |
Data Type | Name | Description |
---|---|---|
UMAOctetString[4] | cs_segtag | BER-encoded control segment tag 0xbfd5c300 ("UC", counter 0x00) |
UMAOctetString[1] | cs_seglenlen | ASN.1/BER length of cs_seglen |
1000 0011 | Leading bit always 1; indicates cs_seglen length of 3. | |
UMAOctetString[3] | cs_seglen | Length of the control segment that follows (not including this field); the next octet marks the local start position for this segment |
. | ||
Control Segment Content | ||
. |
Condition | Hint 1 | Hint 2 | Hint 3 |
---|---|---|---|
U_EGAP | Start time of gap | Duration of gap | not used |
RHIST_GAP | |||
DSL_NODATA | Start time of interval | Duration of interval | not used |
DSL_GAP | Start time of gap | Duration of gap | not used |
DSL_EOS | Session end time | not used | not used |
DSL_INTVL | Closest available interval | not used | not used |
U_EOF | Timestamp of last | not used | not used |
interval in data source. | |||
Either UMADS or file. |
When provided, the MAP can use the hints to respond to the condition. Here are two examples:
Each hint field is a union of the following data types:
Each hint field is preceded by a hint type field, which identifies the type actually used for the hint.
Within the categories of interval or event data, there are currently three kinds of data segments as defined by the Data Pool Definitions (see reference DPD):
Following each fixed data segment section (Basic,
Enhanced, Extension) there is a VLDS (Variable Length
Each of the UDU data segments begins with an ASN.1/BER tag-length prefix. The location of each segment is specified in the UDU header as an offset from a message global start position.
The following figure, UMA Data UDU Message Layout, illustrates the details of how a data UDU is assembled.
Data Type | Name | Description |
---|---|---|
UMAOctetString[4] | mh_msgtag | BER-encoded UMA message indicator tag 0x7fd5cd41 |
UMAOctetString[1] | mh_msglenlen | ASN.1/BER length of mh_msglen |
1000 0011 | Leading bit always 1; indicates mh_msglen length of 3 octets. | |
UMAOctetString[3] | mh_msglen | Length of the message including the standard header starting at the next field |
UMAOctetString[3] | mh_hdrtag | UDU Header Tag 0xbf0181 (includes length of mh_hdrlen in the low order 7 bits). The first octet of the string marks the global start of the message. |
UMAOctetString[1] | mh_hdrlen | Length of UDU Header |
UMAMsgFlags | mh_flags | UDU Indicators |
0... .... .... .... | UDU contains interval/event data | |
010. .... .... .... | Canonical A format | |
001. .... .... .... | Canonical B format | |
011. .... .... .... | Canonical C format | |
0... 0... .... .... | 16-bit byte order H to L | |
0... 1... .... .... | 16-bit byte order L to H | |
0... .0.. .... .... | integer component order H to L | |
0... .1.. .... .... | integer component order L to H | |
0... 1... .... .... | Interval data (interval header extension will be present) | |
0... 0... .... .... | Event or trace data (event header extension will be present) | |
0... ...0 .... .... | dst not in effect | |
0... ...1 .... .... | dst in effect | |
0... .... 1... .... | First message for this class, this system ID | |
0... .... .1.. .... | Last message for this class, this system ID | |
0... .... ...1 .... | Last message for this subclass | |
0... .... .... 1... | Class specified is provider-specific | |
0... .... .... .1.. | Subclass specified is provider-specific | |
0... .... .... ...1 | Threshold screening has been applied to this UDU | |
UMATimeStamp | mh_time | Timestamp of message creation (data received from Data Capture Interface) |
UMAClass | mh_class | UMA class of the message |
UMASubClass | mh_subclass | UMA subclass of the message |
UMAOctetString[8] | mh_address | Host network address that generated the data in the message |
UMAOctetString[4] | mh_addr_family | Host network address type (Internet, SNA, etc.) |
UMAUint4 | mh_provider | Identifier of the data provider that registered to supply this data. |
UMAUint4 | mh_provinst | The instance of this provider. |
Data Type | Name | Description |
---|---|---|
Interval Data Header Extension | (Type UMAIntExt) | |
UMAOctetString[3] | mhix_ixlenlen | BER-encoded header interval extension tag and length of mhix_ixlen (0xbf0581) |
UMAOctetString[1] | mhix_ixlen | Length of the interval extension |
UMAMsgFlags | mhix_flags | Interval extension flags |
1... .... .... .... | First message for interval, this system ID | |
.1.. .... .... .... | Last message for interval, this system ID | |
..1. .... .... .... | Source for this data was recent history | |
UMATimeStamp | mhix_schedtime | Datetime measurement scheduled as timestamp (nsec) |
UMATimeStamp | mhix_intime | Actual timestamp for this interval (nsec) |
UMATimeUsec | mhix_intlen | Duration of this interval in microseconds |
UMAUint4 | mhix_baseoff | Offset from global start to basic data segment, if it is present (zero otherwise) |
UMAUint4 | mhix_optoff | Offset from global start to optional segment, if it is present (zero otherwise) |
UMAUint4 | mhix_extoff | Offset from global start to extension segment, if it is present (zero otherwise) |
= | Data UDU Basic Segment | = |
UMAOctetString[4] | bs_segtag | BER-encoded basic data segment tag 0xbfd5c200 ("UB", counter 0x00). This and the next 2 fields are included in the type UMASegDescr. |
UMAOctetString[1] | bs_seglenlen | ASN.1/BER length of bs_seglen |
1000 0011 | Leading bit always 1; indicates bs_seglen length of 3. | |
UMAOctetString[3] | bs_seglen | Length of the basic segment that follows, not including this field or the length of the Variable Length Data Section (VLDS); the next octet marks the local start position for this segment. |
. | ||
Basic Segment Data | ||
. | ||
= | UDU VLDS | = |
UMAOctetString[4] | vlds_sectag | ASN.1/BER-encoded VLDS tag 0xbfuutt80 This and the next 2 fields are included in the type UMASegDescr. |
uutt = 0xd5c2 | Basic segment | |
uutt = 0xd5cf | Optional segment | |
uutt = 0xd5c5 | Extension segment | |
UMAOctetString[1] | vlds_seclenlen | ASN.1/BER length of vlds_seclen |
1000 0011 | Leading bit always 1; gives vlds_seclen length 3 octets. | |
UMAOctetString[3] | vlds_seclen | VLDS length (not including this field) |
. | ||
Variable length data item | ||
. |
Data Type | Name | Description |
---|---|---|
Event Data Header Extension | (Type UMAEvtExt) | |
UMAOctetString[3] | mhex_exlenlen | BER-encoded event header extension tag and length of mhex_exlen (0xbf0681). |
UMAOctetString[1] | mhex_exlen | Length of the event header extension |
UMATimeStamp | mhex_evtime | Timestamp of this event (nsec) |
UMAUint4 | mhex_baseoff | Offset from global start to basic data segment, if it is present (zero otherwise) |
UMAUint4 | mhex_optoff | Offset from global start to optional segment, if it is present (zero otherwise) |
UMAUint4 | mhex_extoff | Offset from global start to extension segment, if it is present (zero otherwise) |
= | Data UDU Basic Segment | = |
UMAOctetString[4] | bs_segtag | BER-encoded basic data segment tag 0xbfd5c200 ("UB", counter 0x00). This and the next 2 fields are included in the type UMASegDescr. |
UMAOctetString[1] | bs_seglenlen | ASN.1/BER length of bs_seglen |
1000 0011 | Leading bit always 1; indicates bs_seglen length of 3. | |
UMAOctetString[3] | bs_seglen | Length of the basic segment that follows, not including this field and not including the length of the VLDS; the next octet marks the local start position for this segment. |
. | ||
. | ||
Basic Segment Data | ||
. | ||
. | ||
= | UDU VLDS | = |
UMAOctetString[4] | vlds_sectag | ASN.1/BER-encoded VLDS tag 0xbfuutt80. This and the next 2 fields are included in the type UMASegDescr. |
uutt = 0xd5c2 | Basic segment | |
uutt = 0xd5cf | Optional segment | |
uutt = 0xd5c5 | Extension segment | |
UMAOctetString[1] | vlds_seclenlen | ASN.1/BER length of vlds_seclen |
1000 0011 | Leading bit always 1; indicates vlds_seclen length of 3 octets. | |
UMAOctetString[3] | vlds_seclen | VLDS length (not including this field) |
. | ||
. | ||
Variable length data item | ||
. |
The Data Capture Committee Measurement Data Pool document defines two data segments in addition to that for basic data. The optional segment contains standard data that is part of the pool, but may be implemented at an individual vendor's choice. The extension segment contains additional data items that a specific vendor considers useful.
Data Type | Name | Description |
---|---|---|
UMAOctetString[4] | os_segtag | BER-encoded optional data segment tag 0xbfd5cf00 ("UO", counter 0x00) |
UMAOctetString[1] | os_seglenlen | ASN.1/BER length of os_seglen |
1000 0011 | Leading bit always 1; indicates os_seglen length of 3. | |
UMAOctetString[3] | os_seglen | Length of the optional segment that follows, not including this field and not including the length of the VLDS; the next octet marks the local start position for this segment. |
. | ||
. | ||
Optional Segment Data | ||
. | ||
. |
Data Type | Name | Description |
---|---|---|
UMAOctetString[4] | es_segtag | BER-encoded extension data segment tag 0xbfd5c500 ("UE", counter 0x00) |
UMAOctetString[1] | es_seglenlen | ASN.1/BER length of es_seglen |
1000 0011 | Leading bit always 1; indicates es_seglen length of 3. | |
UMAOctetString[3] | es_seglen | Length of the extension segment that follows, not including this field; the next octet marks the local start position for this segment. |
. | ||
. | ||
Extension Segment Data | ||
. | ||
. |
In a UDU data segment (basic, optional, extension), a variable length data item is comprised of two parts. The first is a fixed-length descriptor giving the offset to the item from the segment local start position and the length of the item. The second part is the variable length data itself which is located in the segment's VLDS. Variable length text data, described by the UMA type UMATextDescr is an example of the use of this format.
Data Type | Name | Description |
---|---|---|
. | ||
xxxxxx | pppppp | Fields preceding descriptor |
. | ||
UMAUint4 | yyy_off | Offset from segment local start to variable length data item yyy |
UMAUint4 | yyy_len | Length of the variable length data item (in bytes) |
. | ||
xxxxxx | ffffff | Field(s) following variable length data descriptor |
= | UDU VLDS | = |
UMAOctetString[4] | vlds_sectag | ASN.1/BER-encoded VLDS tag 0xbfuutt80 |
uutt = 0xd5c2 | Basic segment | |
uutt = 0xd5cf | Optional segment | |
uutt = 0xd5c5 | Extension segment | |
UMAOctetString[1] | vlds_seclenlen | ASN.1/BER length of vlds_seclen |
1000 0011 | Leading bit always 1; indicates vlds_seclen length of 3 octets. | |
UMAOctetString[3] | vlds_seclen | VLDS length (not including this field) |
. | ||
. | ||
Variable length data item | ||
. |
Data Type | Name | Description |
---|---|---|
. | ||
xxxxxx | pppppp | Fields preceding array descriptor |
. | ||
UMAUint4 | yyy_off | Offset from segment local start to first element of array yyy |
UMAUint4 | yyy_elmtcount | Number of array elements in yyy |
UMAUint4 | yyy_elmtsize | Size of each array element in yyy |
. | ||
xxxxxx | ffffff | Field(s) following array descriptor |
. | ||
. | ||
= | UDU VLDS | = |
UMAOctetString[4] | vlds_sectag | BER-encoded VLDS tag 0xbfuutt80 |
uutt = 0xd5c2 | Basic segment | |
uutt = 0xd5cf | Optional segment | |
uutt = 0xd5c5 | Extension segment | |
UMAOctetString[1] | vlds_seclenlen | ASN.1/BER length of vlds_seclen |
1000 0011 | Leading bit always 1; indicates vlds_seclen length of 3 octets. | |
UMAOctetString[3] | vlds_seclen | VLDS length of following (not including this field) |
. | ||
Array Data | ||
. | ||
. |
Contents | Next section | Index |