Voice Quality Records (MDRs)
Oracle Communications Operations Monitor creates media detail records (MDR) files in CSV format. The files are placed in the mdr/ directory under the FTP/FTPS root. The MDR files have the following format:
mdr-unix_timestamp-sequence.csv
where:
unix_timestamp is the Unix timestamp when the file was created.
sequence is a number monotonically increasing.
The MDR files are rotated whenever one of the following three conditions is met:
The file reaches the maximum number of records. The maximum size is configurable in Operations Monitor with the system setting, Maximum lines of a MDR file. The default is 5000 records.
The maximum time is reached. The maximum time is configurable in Operations Monitor with the system setting, Rotate CDR files every N seconds. The default value is 0 for no time limit.
There is no new record for 150 seconds.
When a CSV file is finished, an empty CSV file with the following format is created:
mdr-unix_timestamp-sequence.csv.FIN
Several times per day, old MDR files are compressed to files having the following format, while the corresponding un-compressed files are deleted:
mdr-unix_timestamp-sequence.csv.gz
The recommended way of gathering the MDR files is to connect via FTP/FTPS, copy and delete all the files ending in csv.gz. Alternatively, to get the MDR data in near real time, the MDR files that have a corresponding FIN file can be copied and deleted.
Operations Monitor automatically limits the size of the mdr/ directory to 5 GB, by deleting the oldest files.
There are two types of data sources: Operations Monitor probe machines, which see and analyze the RTP stream and the VQ collector of Operations Monitor, which receives SIP PUBLISH messages with Voice Quality reports. Operations Monitor writes one MDR per RTP stream per data source. That means for one RTP stream there may be multiple MDRs. For example, if the stream was seen by two Operations Monitor probes or if it was seen by a probe and a VQ report was received. However, the streams which were interrupted for more than two seconds appear as separate rows.
To correlate a RTP stream record (MDR) with a call (CDR), you may use Media Leg information. A media leg is defined by a UDP address pair found by an SDP offer/answer exchange. Depending on the call scenarios there may be multiple media legs per call (for example, from multiple segments or after a re-negotiation) or multiple calls per media leg (for example, if the same SDP appears in different calls). Usually each media leg will contain two RTP streams, one per direction. In an MDR the media leg the stream belongs to can be identified using the media_leg_location field. In a CDR the media_leg_locations field lists the media legs correlated with the call. To find the CDR(s) related to an MDR, use the MDR media_leg_location and look for the CDRs where this string is one of the media_leg_locations. To find the MDRs related to a call, use all entries in the media_leg_locations field of the CDR and look for the corresponding media_leg_location in an MDR. Note that there may be media legs which do not have any MDRs, for example, because no RTP was seen by Operations Monitor.
Table 15-1 lists the fields present in the generated CSV files.
Table 15-1 MDR CSV Fields
Field | Description |
---|---|
avgPDV |
Average packet delay variation in milliseconds. |
discarded |
Number of packets received, but dropped by the jitter buffer. |
dst_ip |
Destination IP address of the RTP stream. |
dst_port |
Destination UDP port of the RTP stream. |
end_ts |
UNIX timestamp when the last RTP packet was seen (floating point number). For a VQ report from a SIP PUBLISH message, this is the timestamp when the report was received (start_ts and end_ts will have the same value). |
expected |
Number of RTP packets expected. |
lost |
Number of lost RTP packets. |
maxPDV |
Maximum of the packet delay variation values of all 10 second intervals. |
media_leg_id |
Unique identifier of the media leg (unique if combined with pid). Note, there may be multiple records per media leg, one per RTP stream. |
media_leg_location |
Internal identifier which can be used to find the media leg inside the Operations Monitor system. |
mediatype |
The stream media type. Following are the available media types:
|
minMOSlqe |
Minimum MOSlqe value of all 10 sec intervals of the stream. Available only for the Operations Monitor source. |
MOSlqe |
MOS Listening Quality score for the whole stream, based on the E-Model, if available. |
npayloads |
A list of standard numeric RTP/AVP audio and video payload types in the stream (as per RFC3551). |
packet_loss_rate |
Percentage of lost packets (100 * lost/expected). |
payloads |
Codecs used by the stream: format names like PCMA, G729, telephone-event. |
pid |
Identifier of the Operations Monitor process instance that created the record. |
source |
The source of the measurement: ID of the Operations Monitor probe machine where the RTP stream was seen or “RTCPXR" if the Operations Monitor VQ collector received a SIP PUBLISH message with a Voice Quality report. |
src_ip |
Source IP address of the RTP stream. |
src_port |
Source UDP port of the RTP stream. |
ssrc |
RTP SSRC identifier. |
start_ts |
UNIX timestamp when the first RTP packet was seen (floating point number). For a VQ report from a SIP PUBLISH message, this is the timestamp when the report was received (start_ts and end_ts will have the same value). |
vlan |
VLAN tag of the RTP stream. |