Evaluation of the ProCall Enterprise Server log files mediaav_YYYY_MM_DD_HH_MM.txt
November 2023
Product relevance | estos ProCall 8 Enterprise estos ProCall 7 Enterprise |
---|
Contents of the log file mediaav_YYYY_MM_DD_HH_MM.txt
At the end of a SIP softphone call made via the estos UC media server, the SIP gateway in estos UCServer retrieves the statistics data and writes this retrieved data:
- In the SIP gateway log sipav_YYYY_MM_DD_HH_MM.txt
- In the statistics log file mediaav_YYYY_MM_DD_HH_MM.txt.
Two records are always written to the log files for a call:
- A record for the WebRTC endpoint of the UC media server: The connection between UC media server and ProCall Enterprise client
- A record for the RTP endpoint of the UC media server: The connection between the UC media server and the telephone system
The statistics log file mediaav_YYYY_MM_DD_HH_MM.txt thus provides a quick overview of the connection quality of SIP softphone calls from the perspective of the estos UC media server. Important key figures are recorded here and can be used quickly and easily for an initial evaluation.
Example of statistics data for a SIP softphone call
...
10.11.2023 00:00:24:423;4;Log;Windows Server 2022 Standard (10.0.20348)
10.11.2023 00:00:24:423;4;Log;Product version: 8.3.1.8259
...
10.11.2023 08:00:01:871;1;EAVConnectionManager-8652;MEDIAAV;ESipAVCall::GetStats AVCallthis:0x000001A5371A2CD0 SIPCallID:'8032c7db74b7ad91eaea663970e55fc3' From:'sip:100@172.168.149.249 To:'sip:200@172.17.69.249;maddr=172.168.149.241;transport=udp' Endp:'1c46e30e-917f-4616-9e76-ab9e8b5b7516_kurento.MediaPipeline/96cf282b-f37e-4b18-9e93-f799ed065e65_kurento.RtpEndpoint' Stats:'{"8fe25671-1742-4970-afa0-d166e735917b":{"__module__":"kurento","__type__":"RTCOutboundRTPStreamStats","associateStatsId":"","bytesSent":301280,"codecId":"","firCount":0,"fractionLost":0,"id":"8fe25671-1742-4970-afa0-d166e735917b","isRemote":false,"mediaTrackId":"","nackCount":0,"packetsLost":0,"packetsSent":1883,"pliCount":0,"remb":0,"roundTripTime":0,"sliCount":0,"ssrc":"348949513","targetBitrate":63986,"timestamp":1699599601,"transportId":"","type":"outboundrtp"},"d46d4f30-2767-4c7c-9b7d-489ef1ea6341":{"__module__":"kurento","__type__":"RTCInboundRTPStreamStats","associateStatsId":"","bytesReceived":309600,"codecId":"","firCount":0,"fractionLost":0,"id":"d46d4f30-2767-4c7c-9b7d-489ef1ea6341","isRemote":false,"jitter":0.0012499999720603228,"mediaTrackId":"","nackCount":0,"packetsLost":0,"packetsReceived":1935,"pliCount":0,"remb":0,"sliCount":0,"ssrc":"3788155462","timestamp":1699599601,"transportId":"","type":"inboundrtp"}}'
10.11.2023 08:00:01:871;1;EAVConnectionManager-8652;MEDIAAV;ESipAVCall::GetStats AVCallthis:0x000001A5371A2CD0 SIPCallID:'8032c7db74b7ad91eaea663970e55fc3' From:'sip:100@172.168.149.249 To:'sip:200@172.17.69.249;maddr=172.168.149.241;transport=udp' Endp:'1c46e30e-917f-4616-9e76-ab9e8b5b7516_kurento.MediaPipeline/80e7bee5-474d-44dd-88a3-1b62fe43e8a3_kurento.WebRtcEndpoint' Stats:'{"c579f1ff-eb8b-484d-87fd-7e697ce52e65":{"__module__":"kurento","__type__":"RTCInboundRTPStreamStats","associateStatsId":"","bytesReceived":301120,"codecId":"","firCount":0,"fractionLost":0,"id":"c579f1ff-eb8b-484d-87fd-7e697ce52e65","isRemote":false,"jitter":0.002624999964609742,"mediaTrackId":"","nackCount":0,"packetsLost":9,"packetsReceived":1882,"pliCount":0,"remb":0,"sliCount":0,"ssrc":"2031170082","timestamp":1699599601,"transportId":"","type":"inboundrtp"},"d82ac906-da9e-4503-bfd9-c72c6c93e828":{"__module__":"kurento","__type__":"RTCOutboundRTPStreamStats","associateStatsId":"","bytesSent":302880,"codecId":"","firCount":0,"fractionLost":0,"id":"d82ac906-da9e-4503-bfd9-c72c6c93e828","isRemote":false,"mediaTrackId":"","nackCount":0,"packetsLost":44,"packetsSent":1893,"pliCount":0,"remb":0,"roundTripTime":0,"sliCount":0,"ssrc":"3326488042","targetBitrate":64003,"timestamp":1699599601,"transportId":"","type":"outboundrtp"}}'
...
The following information can be taken from this log file:
Information | Example | Comments |
---|---|---|
Operating system of the ProCall Enterprise server host | Windows Server 2022 Standard (10.0.20348) | |
ProCall Enterprise product version | Product version: 8.3.1.8259 | |
Date and time (local time) | 10.11.2023 08:00:01:871 | Timestamp for the retrieved statistics data set, corresponds to the time of the call end |
From: | From:'sip:100@172.168.149.249 | Identification of the caller number |
To: | To:'sip:200@172.17.69.249 | Identification of the called number |
RtpEndpoint | n/a | The statistics data record for the connection between the UC media server and the telephone system can be found under this keyword |
WebRtcEndpoint | n/a | The statistics data record for the connection between UC media server and ProCall Enterprise client can be found under this keyword |
RTCOutboundRTPStreamStats | n/a | If the statistics block contains this keyword, it is the statistics for the outgoing stream from the point of view of the UC media server |
bytesSent | "bytesSent":302880 | Amount of data sent in bytes |
packetsLost | "packetsLost":44 | Number of packets not received reported by the other party (recipient) |
packetsSent | "packetsSent":1893 | Number of packets sent |
roundTripTime | "roundTripTime":0 | Determined RTT for the RTP packets |
ssrc | "ssrc":"3326488042" | Synchronization Source Identifier ssrc of the outgoing stream, shown here in decimal, to be converted to hexadecimal in Wireshark |
RTCInboundRTPStreamStats | n/a | If the statistics block contains this keyword, it is the statistics for the incoming stream from the UC media server's point of view |
bytesReceived | "bytesReceived":301120 | Amount of data received in bytes |
jitter | "jitter":0.002624999964609742 | Measured jitter value in the inbound stream |
packetsLost | "packetsLost":9 | Number of packets not received but expected (based on sequence number errors in the stream) |
packetsReceived | "packetsReceived":1882 | Number of packets received |
ssrc | "ssrc":"2031170082" | Synchronization Source Identifier ssrc of the incoming stream, shown here in decimal, to be converted to hexadecimal in Wireshark |
ScanMediaAVLogs query tool
If the log files mediaav_YYYY_MM_DD_HH_MM.txt are to be used to obtain a global view of the audio quality, we provide the ScanMediaAVLogs query tool here, which consists of a command line tool in the form of a simple file that can be executed on Microsoft Windows operating systems.
The ScanMediaAVLogs query tool provided here is not a product component of an estos product.
This query tool is provided here without any warranty or functional guarantee.
estos GmbH does not provide support for downloading or using the ScanMediaAVLogs query tool.
The command line tool ScanMediaAVLogs enables the filtering and evaluation of comprehensive sets of statistics data records. The tool reads the addressed log files mediaav_YYYY_MM_DD_HH_MM.txt and sorts the data according to calls and associated statistics.
The downloaded ScanMediaAVLogs query tool can simply be stored in a desired target folder and called up via the command line:
If you do not want to specify the path (option --path, see below) to the log files mediaav_YYYY_MM_DD_HH_MM.txt, the query tool is copied into the same folder in which these log files are located.
Output of the ScanMediaAVLogs query tool
Using an example query.
Search all log files in the local directory mediaav_YYYY_MM_DD_HH_MM.txt for calls with a packet loss rate of 3.0 % or higher
also ScanMediaAVLogs --path . --percent 3.0
(the options are explained in the next section) the outputs are displayed:
The query tool lists every call that matches the query criteria:
- Date and time of the end of the call
- the FROM and TO address for the connection
- WebRTC PacketsLost (packet loss rate) broken down into Tx (transmitted) and Rx (received) in relation to the
- WebRTC packets Tx (transmitted) and Rx (received) in total
- the measured WebRTC jitter of the media stream from the client
- the measured WebRTC RoundTripTime (packet runtime from UC Media Server to ProCall Enterprise client and back)
- the SSRC synchronization source identifiers (Tx and Rx) of these media streams representing decimal uniqueness
- RTP PacketsLost (packet loss rate) broken down by Tx (transmitted) and Rx (received) in relation to the
- RTP packets Tx (transmitted) and Rx (received) in total,
- the measured RTP jitter of the media stream from the PBX
- the measured RTP RoundTripTime (packet runtime from UC Media Server to PBX and back)
- the SSRC synchronization source identifiers (Tx and Rx) of these media streams representing decimal uniqueness
- ...
ScanMediaAVLogs Version 0.93 (beta), (c) 2022 estos GmbH. All rights reserved
Using search path: .
Showing calls with equal or above than 3.0% packets lost
13.11.2023 10:03:33 From:sip:142@10.20.2.200 To:sip:442@10.20.2.33:51310 SIPCallID: ebea17d960c8818e PacketsLost: 3.76% (max)
-- WebRTC PacketsLost (TX/RX): 5/0 (3.76%/0.00%)
WebRTC FractionLost (TX/RX): 12/0
WebRTC SSRC (TX/RX): 3755405116/1999186444
WebRTC Packets (TX/RX): 133/131
WebRTC Timestamp : 1699866213
WebRTC Jitter : 0.002270833356305957
WebRTC RoundTripTime : 0.03765869140625
-- RTP PacketsLost (TX/RX): 0/0 (0.00%/0.00%)
RTP FractionLost (TX/RX): 0/0
RTP SSRC (TX/RX): 4156934333/852327775
RTP Packets (TX/RX): 130/132
RTP Timestamp : 1699866213
RTP Jitter : 0.003375000087544322
RTP RoundTripTime : 0
Mediaav files found: 6
Streams: 608
Total calls with media streams: 255
Calls listed in output: 1
Further information | Example | Explanation |
---|---|---|
Mediaav files found | 6 | Number of searched log files of type mediaav_YYYYY_MM_DD_HH_MM.txt in the specified path (--path). |
Streams | 608 | Number of data records that have captured at least one media stream on the RTP endpoint or the WebRTC endpoint. |
Total calls with media streams | 255 | Number of data records that contain a complete set of media streams, i.e. have captured an incoming and an outgoing stream on the RTP endpoint and on the WebRTC endpoint. |
Calls listed in output | 1 | Number of data records that match the search and filter criteria and were output. |
In this way, it is possible to quickly search through an extensive database of call statistics to identify calls that have a higher packet loss rate.
In the example above, 608 streams were searched for a packet loss rate of 3.0 % or higher and there was only one call or hit based on this criterion: the WebRTC PacketsLost TX counter shows the value 5 lost packets
However, a further examination of the hit shows a very short connection of only 133 WebRTC Tx packets (approx. two and a half seconds), which is why no further attention should be paid to such a case in practice.
However, if anomalies in the PacketsLost, Jitter or RoundTripTime counters occur more frequently in the queries, further considerations and investigation steps can be derived from this:
- Do the excessive counters appear on the WebRTC endpoint, i.e. the connection to the client?
- Do the excessive counters appear on the RTP endpoint, i.e. the connection to the PBX?
- Are the same extensions (FROM or TO) often affected by the inflated counters?
- How are these frequently affected extensions connected to the UC Media Server?
- ...
An in-depth investigation may then be necessary using Create PCAP record file/trace for UCServer – network analysis.
Available options of the ScanMediaAVLogs query tool
The ScanAVMediaLogs query tool has the following options:
Options | Argument | Examples | Purpose | Comments |
---|---|---|---|---|
<without> | C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe | Output of statistical data records in log files mediaav_YYYY_MM_DD_HH_MM.txt in the local directory in descending sort order by package loss rate. | ||
--help or -h | n/v | C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --help | Output of all available options of ScanAVMediaLogs.exe. | |
--path | <PATH> as a string | C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --path c:\temp\mediaavlogs C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --path "\\desktop-abc\c$\Program Files\estos\UCServer\logs" C:\TEMP\mediaavlogs>ScanMediaAVLogs --path . > .\result.txt | Output of all available statistical data records and descending sorting by package loss rate. | This option specifies the storage location of the log files to be analyzed mediaav_YYYY_MM_DD_HH_MM.txt. It is possible to specify an absolute, relative or UNC path. The output redirection to a file can also be used as usual. |
--phonenumber | <PHONENUMBER> as a string | C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --phonenumber sip:142@ | Search for calls which contain the specified character string (call number, part of a call number) in the FROM or TO call number fields. The hits are output in descending order of package losses. | This option specifies the SIP address or part of a phone number to be filtered. The FROM and TO attributes are searched for. As an exact substring comparison is carried out here during the search, the argument should be selected as clearly as possible. For example, if you search for sip:142@, no data records containing 142 as a substring (e.g. phone number 0071114212345) are taken into account. If the --phonenumber and --lostpackets options are used together, they are processed logically with AND. If a call number or part of a call number is searched for and no output is received (Calls listed in output: 0), this does not necessarily mean that this part of the number is not included in the log files at all. If the call number is included but not recorded by the statistics evaluation, only one call was logged on this call number, but no media stream. This means that no call statistics are available, only the call itself. |
--lostpackets | <LOSTPACKETS> as a decimal number | C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --lostpackets 200 | Search for calls with a packet loss corresponding to at least the specified argument | This option specifies the packet loss. Only statistical data records in which the number of lost packets corresponds to this value or a higher value are output. If this option is not specified, the default value 0 is assumed and no filtering for packet loss is performed. The filter value refers to the sum of
If --phonenumber and --lostpackets are specified together, they are processed logically with AND. If the --percent option is specified, the --lostpackets option is not taken into account. |
--percent | <PERCENT> als Dezimalzahl im Bereich zwischen 0 und 100 | C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --percent 3 | Search for calls with a packet loss rate of at least the specified argument | This option specifies the packet loss rate. Only statistical data records in which the proportion of lost packets in relation to the transmitted packets corresponds to this percentage or a higher percentage are output. The packet loss rate is calculated separately for each stream (WebRTC IN, WebRTC OUT, RTP IN, RTP OUT). As soon as one of these four streams reaches or exceeds the specified packet loss rate, this statistics data record is output. If this option is not specified, the default value 0 is assumed and no filtering for packet loss is performed. If the --percent option is specified, the --lostpackets option is no longer taken into account. Internally, the work is more precise than the output display x.xx% makes it appear. Filtering to < 0.01% is therefore possible, e.g. 0.0003% |
--date | <DATE> as a string | C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --date 10.11. C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --date "13.11.2023 09:23" C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --date "10.11.2023 10:" | Search for calls that ended on a specified date or at a specified time | This option specifies the time that is taken into account during filtering. The full text search requires the date and time as the search string according to the display in the output. If this option is not specified, the system does not filter by date or time. |
--unsorted | n/v | C:\TEMP\mediaavlogs>ScanMediaAVLogs --unsorted > .\res_unsorted.txt C:\TEMP\mediaavlogs>ScanMediaAVLogs --path . --unsorted | Output of statistics data records in ascending sort order by time of call end | This option is selected in order not to use the default sort order by descending packet loss rate. This option in combination with the other options --date, --lostpackets or --phonenumber returns the hits sorted by date. |
Download ScanMediaAVLogs.exe
Version 0.93
Further information
Create a debug log for UCServer
estos ProCall Enterprise server log files
Create PCAP record file/trace for UCServer – network analysis