Update status

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"}}'
...
CODE

The following information can be taken from this log file:

InformationExampleComments
Operating system of the ProCall Enterprise server hostWindows Server 2022 Standard (10.0.20348)
ProCall Enterprise product versionProduct version: 8.3.1.8259
Date and time (local time)10.11.2023 08:00:01:871Timestamp for the retrieved statistics data set, corresponds to the time of the call end
From:From:'sip:100@172.168.149.249Identification of the caller number
To:To:'sip:200@172.17.69.249Identification of the called number
RtpEndpointn/aThe statistics data record for the connection between the UC media server and the telephone system can be found under this keyword
WebRtcEndpointn/aThe statistics data record for the connection between UC media server and ProCall Enterprise client can be found under this keyword
RTCOutboundRTPStreamStatsn/aIf 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":302880Amount of data sent in bytes
     packetsLost"packetsLost":44Number of packets not received reported by the other party (recipient)
     packetsSent"packetsSent":1893Number of packets sent
     roundTripTime"roundTripTime":0Determined 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
RTCInboundRTPStreamStatsn/aIf 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":301120Amount of data received in bytes
     jitter"jitter":0.002624999964609742Measured jitter value in the inbound stream
     packetsLost"packetsLost":9Number of packets not received but expected (based on sequence number errors in the stream)
     packetsReceived"packetsReceived":1882Number 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


When looking directly at a single call or just a few calls, it is easiest to identify the two corresponding data records for the RTCOutboundRTPStreamStats and the RTCInboundRTPStreamStats directly using the timestamp and the From and To information in the log file mediaav_YYYY_MM_DD_HH_MM.txt.

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
CODE


Further informationExampleExplanation
Mediaav files found6Number of searched log files of type mediaav_YYYYY_MM_DD_HH_MM.txt in the specified path (--path).
Streams608

Number of data records that have captured at least one media stream on the RTP endpoint or the WebRTC endpoint.
Data records that have not recorded a media stream are not counted here and are not included in the evaluation.

Total calls with media streams255

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 output1Number 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:

OptionsArgumentExamplesPurposeComments

<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

  • WebRTC PacketsLost TX
  • WebRTC PacketsLost RX
  • RTP PacketsLost TX
  • RTP PacketsLost RX.

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.

--unsortedn/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

ScanMediaAVLogs.exe


Further information

Create a debug log for UCServer

estos ProCall Enterprise server log files

Create PCAP record file/trace for UCServer – network analysis

Analysis of softphone behavior

VoIP Readiness analysis for softphones