Aktualisierungsstand

November 2023

Produktrelevanz

estos ProCall 8 Enterprise

estos ProCall 7 Enterprise

Inhalte der Logdatei mediaav_YYYY_MM_DD_HH_MM.txt

Am Ende eines über den estos UC Media Server geführten SIP Softphone Calls führt das SIP Gateway im estos UCServer einen Abruf der Statistik-Daten durch und schreibt diese abgerufenen Daten 

  • in das SIP Gateway Log sipav_YYYY_MM_DD_HH_MM.txt 
  • in die Statistik-Logdatei mediaav_YYYY_MM_DD_HH_MM.txt.

Für einen Call werden immer zwei Records in die Logdateien geschrieben:

  • ein Record für den WebRTC Endpoint des UC Media Servers: die Verbindung zwischen UC Media Server und ProCall Enterprise Client 
  • ein Record für den RTP Endpoint des UC Media Servers: die Verbindung  zwischen UC Media Server und Telefonanlage

Die Statistik-Logdatei mediaav_YYYY_MM_DD_HH_MM.txt bietet damit einen raschen Überblick über die Verbindungsqualität von SIP Softphone Calls aus Sicht des estos UC Media Servers. Wichtige Kennzahlen sind hier erfasst und können schnell und unkompliziert für eine erste Bewertung herangezogen werden.

Beispiel für die Statistik-Daten zu einem 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

Folgende Angaben können dieser Logdatei entnommen werden:

InformationBeispielBemerkungen
Betriebssystem des ProCall Enterprise Server HostsWindows Server 2022 Standard (10.0.20348)
Produktversion ProCall EnterpriseProduct version: 8.3.1.8259
Datum und Uhrzeit (Ortszeit)10.11.2023 08:00:01:871Zeitstempel zum abgerufenen Statistik-Datensatz, entspricht dem Zeitpunkt des Call-Endes
From:From:'sip:100@172.168.149.249Identifikation der Caller Number
To:To:'sip:200@172.17.69.249Identifikation der Called Number
RtpEndpointn/aUnter diesem Schlüsselwort findet sich der Statistik-Datensatz für die Verbindung zwischen UC Media Server und Telefonanlage
WebRtcEndpointn/aUnter diesem Schlüsselwort findet sich der Statistik-Datensatz für die Verbindung zwischen UC Media Server und ProCall Enterprise Client
RTCOutboundRTPStreamStatsn/aEnthält der Statistikblock dieses Schlüsselwort, handelt es sich um die Statistik für den aus Sicht des UC Media Servers ausgehenden Stream
     bytesSent"bytesSent":302880Verschickte Datenmenge in Bytes
     packetsLost"packetsLost":44Anzahl nicht empfangener Pakete gemeldet durch die Gegenseite (Empfänger)
     packetsSent"packetsSent":1893Anzahl ausgesandter Pakete
     roundTripTime"roundTripTime":0Ermittelte RTT für die RTP-Pakete
     ssrc"ssrc":"3326488042"Synchronisation Source Identifier ssrc des ausgehenden Streams, hier dezimal dargestellt, in Wireshark nach hexadezimal umzuwandeln
RTCInboundRTPStreamStatsn/aEnthält der Statistikblock dieses Schlüsselwort, handelt es sich um die Statistik für den aus Sicht des UC Media Servers eingehenden Stream
     bytesReceived"bytesReceived":301120Empfangene Datenmenge in Bytes
     jitter"jitter":0.002624999964609742Gemessener Jitter-Wert im Inbound Stream 
     packetsLost"packetsLost":9Anzahl der nicht empfangenen aber erwarteten Pakete (basierend auf Sequenznummernfehler im Stream)
     packetsReceived"packetsReceived":1882Anzahl empfangener Pakete
     ssrc"ssrc":"2031170082"Synchronisation Source Identifier ssrc des eingehenden Streams, hier dezimal dargestellt, in Wireshark nach hexadezimal umzuwandeln


Bei direkter Betrachtung eines einzelnen oder nur weniger Calls ist es am einfachsten, die beiden entsprechenden Datensätze für die RTCOutboundRTPStreamStats und die RTCInboundRTPStreamStats direkt anhand des Zeitstempels und der From- und To-Information in der Logdatei mediaav_YYYY_MM_DD_HH_MM.txt zu identifizieren.

Abfragewerkzeug ScanMediaAVLogs

Sollen die Logdateien mediaav_YYYY_MM_DD_HH_MM.txt herangezogen werden, um sich eine globale Sicht über die Audioqualität zu verschaffen, stellen wir hier das Abfragewerkzeug ScanMediaAVLogs zur Verfügung, das aus einem Befehlszeilenwerkzeug in Form einer einfachen auf Microsoft Windows Betriebssystemen ausführbaren Datei besteht.

Das hier bereitgestellte Abfragewerkzeug ScanMediaAVLogs ist kein Produktbestandteil eines estos Produktes.

Dieses Abfragewerkzeug wird hier unter Ausschluss jeglicher Gewährleistung oder Funktionsgarantie bereitgestellt.

Für das Herunterladen oder die Nutzung des Abfragewerkzeug ScanMediaAVLogs bietet die estos GmbH keine Supportunterstützung.

Das Befehlszeilenwerkzeug ScanMediaAVLogs ermöglicht die Filterung bzw. Auswertung umfassender Bestände von Statistik-Datensätzen. Das Werkzeug liest die adressierten Logdateien mediaav_YYYY_MM_DD_HH_MM.txt ein und sortiert die Daten nach Calls und zugehörigen Statistiken.

Das heruntergeladene Abfragewerkzeug ScanMediaAVLogs kann einfach in einem gewünschten Zielordner abgelegt und via Kommandozeile aufgerufen werden:

Möchte man sich die Pfadangabe (Option --path, siehe unten) zu den Logdateien mediaav_YYYY_MM_DD_HH_MM.txt ersparen, wird das Abfragewerkzeug in denselben Ordner einkopiert, in dem sich diese Logdateien befinden.

Ausgaben des Abfragewerkzeugs ScanMediaAVLogs

Anhand einer beispielhaften Abfrage

Durchsuche in allen im lokalen Verzeichnis befindlichen Logdateien mediaav_YYYY_MM_DD_HH_MM.txt die Calls mit einer Paketverlustrate von 3.0 % oder höher

also ScanMediaAVLogs --path . --percent 3.0

(die Optionen werden im nächsten Abschnitt erläutert) zeigen sich die Ausgaben:

Das Abfragewerkzeug listet jeden Call auf, der den Abfragekriterien entspricht:

  • Datum und Uhrzeit des Gesprächsendes
  • die FROM- und TO-Adresse zur Verbindung
  • WebRTC PacketsLost (Paketverlustrate) aufgeschlüsselt nach Tx (transmitted) und Rx (received) im Verhältnis zu den
  • WebRTC Packets Tx (transmitted) und Rx (received) insgesamt
  • der gemessene WebRTC Jitter des Media Streams vom Client
  • die gemessene WebRTC RoundTripTime (Paketlaufzeit von UC Media Server zum ProCall Enterprise Client und zurück)
  • die SSRC Synchronisation Source Identifier (Tx und Rx) dieser Media Streams dezimal eindeutig repräsentierend
  • RTP PacketsLost (Paketverlustrate) aufgeschlüsselt nach Tx (transmitted) und Rx (received) im Verhältnis zu den
  • RTP Packets Tx (transmitted) und Rx (received) insgesamt,
  • der gemessene RTP Jitter des Media Streams von der PBX
  • die gemessene RTP RoundTripTime (Paketlaufzeit von UC Media Server zur PBX und zurück)
  • die SSRC Synchronisation Source Identifier (Tx und Rx) dieser Media Streams dezimal eindeutig repräsentierend
  • ...


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


Weitere InformationenBeispielErläuterungen
Mediaav files found6Anzahl der durchsuchten Logdateien vom Typ mediaav_YYYY_MM_DD_HH_MM.txt im spezifizierten Pfad (--path).
Streams608

Anzahl der Datensätze, die mindestens einen Media Stream auf dem RTP Endpoint oder dem WebRTC Endpoint erfasst haben.
Datensätze, welche keinen Media Stream erfasst haben, werden hier nicht gezählt und bei der Auswertung auch nicht berücksichtigt.

Total calls with media streams255

Anzahl der Datensätze, die einen vollständigen Satz von Media Streams beinhalten, d. h. auf dem RTP Endpoint und auf dem WebRTC Endpoint einen eingehenden und einen ausgehenden Stream erfasst haben.

Calls listed in output1Anzahl der Datensätze, die den Such- und Filterkriterien entsprechen und ausgegeben wurden.

Auf diese Weise ist es also möglich, einen umfangreichen Datenbestand von Call-Statistiken schnell durchforsten zu lassen, um Calls zu identifizieren, welche eine höhere Paketverlustrate aufweisen.

In obigem Beispiel wurden 608 Streams auf eine Paketverlustrate von 3.0 % oder höher durchsucht und es gab nur einen Call bzw. einen Treffer auf Basis dieses Kriteriums: der Counter WebRTC PacketsLost TX zeigt den Wert 5 verlorener Pakete

Eine weitere Betrachtung des Treffers zeigt jedoch eine nur sehr kurze Verbindung im Umfang von nur 133 WebRTC Tx Paketen (ca, zweieinhalb Sekunden), weshalb in der Praxis einem derartigen Fall keine weitere Aufmerksamkeit zu schenken ist.

Sollten in den Abfragen jedoch häufiger Auffälligkeiten in den Countern PacketsLost, Jitter oder RoundTripTime in Erscheinung treten, so können hieraus weitere Überlegungen und Untersuchungsschritte abgeleitet werden:

  • Treten die überhöhten Counter auf dem WebRTC Endpoint, also der Verbindung zum Client, in Erscheinung?
  • Treten die überhöhten Counter auf dem RTP Endpoint, also der Verbindung zur PBX, in Erscheinung?
  • Sind häufig dieselben Nebenstellen (FROM oder TO) von den überhöhten Countern betroffen?
  • Auf welchem Weg sind diese häufig betroffenen Nebenstellen mit dem UC Media Server verbunden?
  • ...

Eine eingehende Untersuchung kann dann mittels PCAP Mitschnittdatei/Trace für UCServer erstellen - Netzwerkanalyse erforderlich sein.

Verfügbare Optionen des Abfragewerkzeugs ScanMediaAVLogs

Das Abfragewerkzeug ScanAVMediaLogs kennt die folgenden Optionen:

OptionenArgumentBeispieleZweckBemerkungen

<ohne>


C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe

Ausgabe der Statistik-Datensätze in Logdateien mediaav_YYYY_MM_DD_HH_MM.txt im lokalen Verzeichnis bei absteigender Sortierreihenfolge nach Paketverlustrate.


--help

oder

-h

n/v

C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --help

Ausgabe aller verfügbaren Optionen der ScanAVMediaLogs.exe.


--path

<PATH>

als Zeichenfolge

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

Ausgabe aller verfügbarer Statistik-Datensätze und absteigende Sortierung nach Paketverlustrate.

Diese Option spezifiziert den Ablageort der zu analysierenden Logdateien mediaav_YYYY_MM_DD_HH_MM.txt.

Die Angabe eines absoluten, relativen oder UNC-Pfades ist möglich.

Die Ausgabeumlenkung in eine Datei kann ebenfalls wie gewohnt verwendet werden.

--phonenumber

<PHONENUMBER>

als Zeichenfolge

C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --phonenumber sip:142@

Suche nach Calls, welche in den Rufnummernfeldern FROM oder TO die angegebene Zeichenkette (Rufnummer, Teil einer Rufnummer) beinhalten.

Die Ausgabe der Treffer erfolgt mit absteigender Sortierung nach Paketverlusten.

Diese Option spezifiziert nach der zu filternden SIP-Adresse bzw. einem Rufnummernteil.

Gesucht wird im FROM- und TO-Attribut.

Da hier bei der Suche ein exakter Substring-Vergleich durchgeführt wird, sollte das Argument möglichst eindeutig gewählt werden. Wird beispielsweise nach sip:142@ gesucht, werden bspw. keine Datensätze berücksichtigt, in denen die 142 als Teilstring (bspw. Rufnummer 0071114212345) enthalten ist.

Werden die Optionen --phonenumber und --lostpackets zusammen verwendet, werden diese logisch mit AND verarbeitet.

Wird nach einer Rufnummer oder einem Rufnummernteil gesucht und man erhält jedoch keine Ausgabe (Calls listed in output: 0), muss es nicht bedeuten, dass dieser Nummernteil überhaupt nicht in den Logdateien enthalten ist. Wenn die Rufnummer enthalten ist, jedoch von der Statistik-Auswertung nicht erfasst ist, wurde auf dieser Rufnummer nur ein Call, aber kein Media Stream protokolliert. Somit liegen keine Call-Statistiken vor, sondern nur der Call selbst.

--lostpackets

<LOSTPACKETS>

als Dezimalzahl

C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --lostpackets 200

Suche nach Calls mit einem Paketverlust mindestens dem angegebenen Argument entsprechend

Diese Option spezifiziert den Paketverlust. Es werden nur Statistik-Datensätze ausgegeben, in denen die Anzahl der verlorenen Pakete diesem oder einem höheren Wert entsprechen.

Wenn diese Option nicht angegeben ist, wird der Standardwert 0 angenommen, es wird damit nicht nach Paketverlust gefiltert.

Der Filterwert bezieht sich auf die Summe aus

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

Wird --phonenumber und --lostpackets zusammen spezifiziert, werden diese logisch mit AND verarbeitet.

Wird die Option --percent angegeben, wird die Option --lostpackets nicht berücksichtigt.

--percent

<PERCENT>

als Dezimalzahl im Bereich zwischen 0 und 100

C:\TEMP\mediaavlogs>ScanMediaAVLogs.exe --percent 3

Suche nach Calls mit einer Paketverlustrate mindestens dem angegebenen Argument entsprechend

Diese Option spezifiziert die Paketverlustrate. Es werden nur Statistik-Datensätze ausgegeben, in denen der Anteil verlorener Pakete im Verhältnis zu den übertragenen Paketen diesem oder einem höheren Prozentsatz entsprechen.

Die Paketverlustrate wird für jeden Stream (WebRTC IN, WebRTC OUT, RTP IN, RTP OUT) gesondert errechnet. Sobald einer dieser vier Streams die angegebene Paketverlustrate erreicht oder überschreitet, wird dieser Statistik-Datensatz ausgegeben.

Wenn diese Option nicht angegeben ist, wird der Standardwert 0 angenommen, es wird damit nicht nach Paketverlust gefiltert.

Wird die Option --percent angegeben, wird die Option --lostpackets nicht weiter berücksichtigt.

Intern wird genauer gearbeitet, als die Ausgabedarstellung x.xx% es erscheinen lässt. Es ist also eine Filterung nach < 0.01% möglich, bspw. 0.0003%

--date

<DATE>

als Zeichenfolge

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


Suche nach Calls, die zu einem spezifizierten Datum oder zu einer spezifizierten Uhrzeit beendet wurden

Diese Option spezifiziert die Zeitangabe, die bei der Filterung berücksichtigt wird.

Die Volltextsuche erfordert als Suchstring die Datums- und Uhrzeitangabe entsprechend der Darstellung in der Ausgabe.

Wenn diese Option nicht angegeben ist, wird nicht nach Datum oder Uhrzeit gefiltert.

--unsortedn/v

C:\TEMP\mediaavlogs>ScanMediaAVLogs --unsorted > .\res_unsorted.txt

C:\TEMP\mediaavlogs>ScanMediaAVLogs --path . --unsorted

Ausgabe der Statistik-Datensätze bei aufsteigender Sortierreihenfolge nach Zeitpunkt des Call-Endes

Um die im Standard vorgesehene Sortier-Reihenfolge nach absteigender Paketverlust-Rate nicht zu verwenden, wird diese Option gewählt.

Diese Option in Kombination mit den weiteren Optionen --date, --lostpackets oder --phonenumber liefert die Treffer in Sortierung nach Datum aus.

Download ScanMediaAVLogs.exe 

Version 0.93

ScanMediaAVLogs.exe


Weiterführende Informationen

Erzeugen eines Debug-Logs von UCServer

estos ProCall Enterprise Server Logdateien

PCAP Mitschnittdatei/Trace für UCServer erstellen - Netzwerkanalyse

Analyse des Softphone Verhaltens

VoIP Readiness Analyse für Softphones