AktualisierungsstandSeptember 2023
Produktrelevanz

ProCall 8 Enterprise

ProCall 7 Enterprise

Bei Störungen im Bereich des ProCall Enterprise SIP Softphone-Betriebs oder auch in den Bereichen eines Audio/Video-Chats bzw. der Bildschirmfreigabe kann es zu Analysezwecken erforderlich oder hilfreich sein, Statistik-Informationen aus dem WebRTC Stack des ProCall Enterprise Clients vorliegen zu haben.

Pro Gespräch bzw. Session können eine Vielzahl von Angaben wie bspw. Jitter, Packet Loss, Round-Trip-Time, Audiopegel, Media-Verbindungswege, etc. zusätzlich zum üblichen Debug Logging am WebRTC Stack des ProCall Enterprise Clients abgerufen und protokolliert werden.

Die Aufforderung, diese zusätzlichen WebRTC Statistikinformationen zu protokollieren, erhalten Sie von Ihrer jeweiligen Support-Instanz.

Aktivierung des ProCall Enterprise Client WebRTC Statistikabrufs

Um für jedes SIP Softphone-Telefonat, für jeden Audiochat, Videochat oder für jede Bildschirmfreigabe-Session die Statistiken aus dem WebRTC Stack abzurufen und protokollieren zu lassen, ist in der Microsoft Windows Registry unter dem Schlüssel HKEY_CURRENT_USER\Software\ESTOS\UCServer4\CtiMain das DWORD (32-bit) AVWebRTCStatsReport zu deklarieren und dessen Wert auf 1 zu setzen.

[HKEY_CURRENT_USER\SOFTWARE\ESTOS\UCServer4\CtiMain]
"AVWebRTCStatsReport"=dword:00000001

Zulässiger Wertebereich für das DWORD (32-bit) AVWebRTCStatsReport:
Wert 0: der Abruf und die Protokollierung der WebRTC Statistik-Informationen ist deaktiviert
Wert 1: der Abruf und die Protokollierung der WebRTC Statistik-Informationen ist aktiviert
CODE

Der ProCall Enterprise Client für Windows ist nach dieser Konfiguration nicht neu zu starten, dieses DWORD wird am Ende jedes Calls neu ausgewertet.

Es ist sicherzustellen, dass im ProCall Enterprise Client für Windows der Debug level auf Debug (alles) eingestellt ist.
Nur in Kombination mit dem ProCall Enterprise Client Log Level Debug (alles) erfolgt die Protokollierung der WebRTC Statistik-Informationen, die WebRTC Statistik wird NICHT protokolliert in den Protokollierungsstufen Error (nur Fehler), Warning (Fehler und Warnungen), Informational (Fehler, Warnungen und Informationen). Weitere Informationen über das Erzeugen eines ProCall Enterprise Client für Windows Debug Logs finden sich hier: 
Erzeugen eines Debug-Logs des ProCall Clients.

Die Protokollierung der WebRTC Statistik-Informationen erfolgt in der regulären ProCall Enterprise Client Logdatei ProCall_YYYY_MM_DD_HH_MM.txt, die sich im Standard im Verzeichnis %localappdata%\estos\ProCall <Versionsnr.>\logs befindet (in Version 7 bspw. in %localappdata%\estos\ProCall 7\logs.

Beispiel: WebRTC Statistik-Daten

15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::FlushReports;(3A8F) WebRTC Received Status Report Data
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCTransportStats [0] : {"type":"transport","id":"RTCTransport_0_1","timestamp":1623735481463000,"bytesSent":162140,"packetsSent":1514,"bytesReceived":224710,"packetsReceived":1389,"dtlsState":"connected","selectedCandidatePairId":"RTCIceCandidatePair_dIQxjSuo_hbOilMZS","localCertificateId":"RTCCertificate_57:68:B5:8E:0C:73:ED:4B:ED:D2:17:68:AA:97:8D:13:B7:82:80:55:38:B3:4D:CF:79:6A:5D:CD:BD:A5:AC:EF","remoteCertificateId":"RTCCertificate_FC:3B:2A:FB:92:ED:63:01:D4:A0:EB:83:E3:D1:81:57:EA:F3:67:A9:BF:86:A2:64:A0:C4:0F:F9:01:18:76:2B","tlsVersion":"FEFD","dtlsCipher":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA","srtpCipher":"AES_CM_128_HMAC_SHA1_80","selectedCandidatePairChanges":2}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCAudioSourceStats [0] {"type":"media-source","id":"RTCAudioSource_5","timestamp":1623735481463000,"trackIdentifier":"audio__BLLX2oLRt__01_01_Headphone__Plan","kind":"audio","audioLevel":0,8079775383770257,"totalAudioEnergy":4,279622633298168,"totalSamplesDuration":29,99000000000189}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCRemoteInboundRtpStreamStats [0] {"type":"remote-inbound-rtp","id":"RTCRemoteInboundRtpAudioStream_857357210","timestamp":1623735474032000,"ssrc":857357210,"kind":"audio","transportId":"RTCTransport_0_1","codecId":"RTCCodec_0_Outbound_111","packetsLost":0,"jitter":0,0029375,"localId":"RTCOutboundRTPAudioStream_857357210","roundTripTime":0,033}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCOutboundRTPStreamStats [0] {"type":"outbound-rtp","id":"RTCOutboundRTPAudioStream_857357210","timestamp":1623735481463000,"ssrc":857357210,"isRemote":false,"mediaType":"audio","kind":"audio","trackId":"RTCMediaStreamTrack_sender_5","transportId":"RTCTransport_0_1","codecId":"RTCCodec_0_Outbound_111","mediaSourceId":"RTCAudioSource_5","remoteId":"RTCRemoteInboundRtpAudioStream_857357210","packetsSent":1499,"retransmittedPacketsSent":0,"bytesSent":114804,"headerBytesSent":29980,"retransmittedBytesSent":0}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCInboundRTPStreamStats [0] {"type":"inbound-rtp","id":"RTCInboundRTPAudioStream_1028001286","timestamp":1623735481463000,"ssrc":1028001286,"isRemote":false,"mediaType":"audio","kind":"audio","trackId":"RTCMediaStreamTrack_receiver_5","transportId":"RTCTransport_0_1","codecId":"RTCCodec_0_Inbound_111","packetsReceived":1381,"fecPacketsReceived":0,"fecPacketsDiscarded":0,"bytesReceived":192178,"headerBytesReceived":16572,"packetsLost":0,"lastPacketReceivedTimestamp":2411,538,"jitter":0,"jitterBufferDelay":46454,4,"jitterBufferEmittedCount":1323840,"totalSamplesReceived":1372800,"concealedSamples":49920,"silentConcealedSamples":48920,"concealmentEvents":2,"insertedSamplesForDeceleration":450,"removedSamplesForAcceleration":0,"audioLevel":47,"totalAudioEnergy":0,2265530920651619,"totalSamplesDuration":30,66000000000199}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCPeerConnectionStats [0] {"type":"peer-connection","id":"RTCPeerConnection","timestamp":1623735481463000,"dataChannelsOpened":0,"dataChannelsClosed":0}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCMediaStreamTrackStats [0] : {"type":"track","id":"RTCMediaStreamTrack_receiver_5","timestamp":1623735481463000,"trackIdentifier":"2970e2a2-db70-4c10-9c7c-ef97234371ba","remoteSource":true,"ended":false,"detached":false,"kind":"audio","jitterBufferDelay":46454,4,"jitterBufferEmittedCount":1323840,"audioLevel":0,001434369945371868,"totalAudioEnergy":0,2265530920651619,"totalSamplesReceived":1372800,"totalSamplesDuration":30,66000000000199,"concealedSamples":49920,"silentConcealedSamples":48920,"concealmentEvents":2,"insertedSamplesForDeceleration":450,"removedSamplesForAcceleration":0,"jitterBufferFlushes":0,"delayedPacketOutageSamples":0,"relativePacketArrivalDelay":0,4,"jitterBufferTargetDelay":26553,6,"interruptionCount":0,"totalInterruptionDuration":0}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCMediaStreamTrackStats [1] : {"type":"track","id":"RTCMediaStreamTrack_sender_5","timestamp":1623735481463000,"trackIdentifier":"audio__BLLX2oLRt__01_01_Headphone__Plan","mediaSourceId":"RTCAudioSource_5","remoteSource":false,"ended":false,"detached":false,"kind":"audio"}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCMediaStreamStats [0] {"type":"stream","id":"RTCMediaStream_default","timestamp":1623735481463000,"streamIdentifier":"default","trackIds":["RTCMediaStreamTrack_receiver_5"]}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCMediaStreamStats [1] {"type":"stream","id":"RTCMediaStream_stream_BLLX2oLRt_01____________________","timestamp":1623735481463000,"streamIdentifier":"stream_BLLX2oLRt_01____________________","trackIds":["RTCMediaStreamTrack_sender_5"]}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCRemoteIceCandidateStats [0] {"type":"remote-candidate","id":"RTCIceCandidate_hbOilMZS","timestamp":1623735481463000,"transportId":"RTCTransport_0_1","isRemote":true,"ip":"10.20.2.34","port":5777,"protocol":"udp","candidateType":"host","priority":2015363583,"deleted":false}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCIceCandidatePairStats [0] {"type":"candidate-pair","id":"RTCIceCandidatePair_dIQxjSuo_hbOilMZS","timestamp":1623735481463000,"transportId":"RTCTransport_0_1","localCandidateId":"RTCIceCandidate_dIQxjSuo","remoteCandidateId":"RTCIceCandidate_hbOilMZS","state":"succeeded","priority":8,655920682778246e+18,"nominated":true,"writable":true,"bytesSent":162140,"bytesReceived":224710,"totalRoundTripTime":0,478,"currentRoundTripTime":0,028,"availableOutgoingBitrate":300000,"requestsReceived":18,"requestsSent":1,"responsesReceived":16,"responsesSent":18,"consentRequestsSent":15}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [0] : {"type":"codec","id":"RTCCodec_0_Inbound_0","timestamp":1623735481463000,"payloadType":0,"mimeType":"audio/PCMU","clockRate":8000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [1] : {"type":"codec","id":"RTCCodec_0_Inbound_102","timestamp":1623735481463000,"payloadType":102,"mimeType":"audio/ILBC","clockRate":8000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [2] : {"type":"codec","id":"RTCCodec_0_Inbound_103","timestamp":1623735481463000,"payloadType":103,"mimeType":"audio/ISAC","clockRate":16000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [3] : {"type":"codec","id":"RTCCodec_0_Inbound_104","timestamp":1623735481463000,"payloadType":104,"mimeType":"audio/ISAC","clockRate":32000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [4] : {"type":"codec","id":"RTCCodec_0_Inbound_105","timestamp":1623735481463000,"payloadType":105,"mimeType":"audio/CN","clockRate":16000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [5] : {"type":"codec","id":"RTCCodec_0_Inbound_106","timestamp":1623735481463000,"payloadType":106,"mimeType":"audio/CN","clockRate":32000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [6] : {"type":"codec","id":"RTCCodec_0_Inbound_110","timestamp":1623735481463000,"payloadType":110,"mimeType":"audio/telephone-event","clockRate":48000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [7] : {"type":"codec","id":"RTCCodec_0_Inbound_111","timestamp":1623735481463000,"payloadType":111,"mimeType":"audio/opus","clockRate":48000,"channels":2,"sdpFmtpLine":"minptime=10;useinbandfec=1"}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [8] : {"type":"codec","id":"RTCCodec_0_Inbound_112","timestamp":1623735481463000,"payloadType":112,"mimeType":"audio/telephone-event","clockRate":32000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [9] : {"type":"codec","id":"RTCCodec_0_Inbound_113","timestamp":1623735481463000,"payloadType":113,"mimeType":"audio/telephone-event","clockRate":16000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [10] : {"type":"codec","id":"RTCCodec_0_Inbound_126","timestamp":1623735481463000,"payloadType":126,"mimeType":"audio/telephone-event","clockRate":8000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [11] : {"type":"codec","id":"RTCCodec_0_Inbound_13","timestamp":1623735481463000,"payloadType":13,"mimeType":"audio/CN","clockRate":8000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [12] : {"type":"codec","id":"RTCCodec_0_Inbound_8","timestamp":1623735481463000,"payloadType":8,"mimeType":"audio/PCMA","clockRate":8000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [13] : {"type":"codec","id":"RTCCodec_0_Inbound_9","timestamp":1623735481463000,"payloadType":9,"mimeType":"audio/G722","clockRate":8000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [14] : {"type":"codec","id":"RTCCodec_0_Outbound_111","timestamp":1623735481463000,"payloadType":111,"mimeType":"audio/opus","clockRate":48000,"channels":2,"sdpFmtpLine":"minptime=10;useinbandfec=1"}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCodecStats [15] : {"type":"codec","id":"RTCCodec_0_Outbound_126","timestamp":1623735481463000,"payloadType":126,"mimeType":"audio/telephone-event","clockRate":8000,"channels":1}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCertificateStats [0] : {"type":"certificate","id":"RTCCertificate_57:68:B5:8E:0C:73:ED:4B:ED:D2:17:68:AA:97:8D:13:B7:82:80:55:38:B3:4D:CF:79:6A:5D:CD:BD:A5:AC:EF","timestamp":1623735481463000,"fingerprint":"57:68:B5:8E:0C:73:ED:4B:ED:D2:17:68:AA:97:8D:13:B7:82:80:55:38:B3:4D:CF:79:6A:5D:CD:BD:A5:AC:EF","fingerprintAlgorithm":"sha-256","base64Certificate":"MIIBFzCBvaADAgECAgkAmY9eellScp4wCgYIKoZIzj0EAwIwETEPMA0GA1UEAwwGV2ViUlRDMB4XDTIxMDYxNDA1MzczMFoXDTIxMDcxNTA1MzczMFowETEPMA0GA1UEAwwGV2ViUlRDMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZVDrMwXb1/ucmvZ7ooNrPxcGwk29Cx9H6ozbTu215q2UDtRNlGPHF3B+mHahKjRJPyLH5xMT2uj7Zk79G/qGtDAKBggqhkjOPQQDAgNJADBGAiEAr8S7F3hxSL4Gk45RDRTgMMu8uPV/dSHvYY3wWOPP+j4CIQCY0nGNkgNHx8DRTl67r/koBFi5p7aNiTnPG4q6Nor7Dw=="}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::LogRTCReport;RTCCertificateStats [1] : {"type":"certificate","id":"RTCCertificate_FC:3B:2A:FB:92:ED:63:01:D4:A0:EB:83:E3:D1:81:57:EA:F3:67:A9:BF:86:A2:64:A0:C4:0F:F9:01:18:76:2B","timestamp":1623735481463000,"fingerprint":"FC:3B:2A:FB:92:ED:63:01:D4:A0:EB:83:E3:D1:81:57:EA:F3:67:A9:BF:86:A2:64:A0:C4:0F:F9:01:18:76:2B","fingerprintAlgorithm":"sha-256","base64Certificate":"MIICtzCCAZ+gAwIBAgIBADANBgkqhkiG9w0BAQsFADAfMQswCQYDVQQGEwJTRTEQMA4GA1UEAwwHS3VyZW50bzAeFw0yMTA2MTUwNTIzMzRaFw0yMjA2MTUwNTIzMzRaMB8xCzAJBgNVBAYTAlNFMRAwDgYDVQQDDAdLdXJlbnRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyogP2HlQfmfMzN7rZ3dxph9QLv4QlsTBBJMqtGQJFGmT1/2iDxOs7MYPPVitpNMl6gDOvbydhFFFBxIQ2+YOQCGp9UKbWd0rNCI287HbsYtUTpeIFWlVmECFGxe4VNhIjXw92fxw1RCSw2RIFTOBAh5HNvesywcmy533QrqjqTLPzJZ2aC81RlhtydNjtBRE4esMyPf3mc/mPlcDlry8vWIeiZ9cg1UwwBVp1uz2p3PkW6kaMOHenmo4HqokRgmyH+5/4kgO5+ZJn/lk5TuEU752SahZxpnMz8DsxCYrKH1MD+NR7ADeynGiSkeA5VvuNGzpeeaFrfe7/h5ZX6R3wwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCMBkxAEz9WoZPT7e8jJoCQfZU3qBn0Q/zEV/LCL3Yohl1sbKEXXHQmmFDC2KfYrDKP92jSTl1SOIWTt0G/94B4GaT/Rm1suJYX1ZnPzyWmTKx4AuHg9XbOCqWz5A2PTSXYScaT4pvy/u3YdWa+bGK2EJegc1zfeWpGCi6O0L9bnoBaxXLYRtShrcUI5v8dF0bEQ5Pksr05AxyFxER8YtPfPjx8uCf/Xh3/6aW+9vn58Rc/EesYE+U0SvpxIZ2gpRV9aRVRuNn25HUNWQwILGGoJHiT/+oU2DIpTwLU0hPnl4muBGTXuyOS6aO8NxvDt2Zkanob30KwtlZhRGtkgmeU"}
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::FlushReports;(3A8F) TX Audio Codec: opus
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::FlushReports;(3A8F) RX Audio Failure Rate: 0%
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::FlushReports;(3A8F) ICE (TURN/STUN) Info: 10.21.3.38:36000 (host) <--> 10.20.2.34:5777 (host)
15.06.2021 07:38:02:499;32;mainthread-1272;EAVMediaStats::FlushReports;(3A8F) WebRTC Received Status Report Data - End
CODE

Aufgrund der sehr selten beobachteten Situation eines eingefrorenen ProCall Enterprise Clients für Windows nach beendetem Anruf bzw. beendeter Session aufgrund des Abrufs der WebRTC Statistikinformationen wird dringend empfohlen, nach Abschluss der Tests und der Erhebung des Analysematerials das DWORD AVWebRTCStatsReport zurück auf den Wert 0 zu setzen, um damit die Statistik-Protokollierung wieder zu deaktivieren.

Deaktivierung des ProCall Enterprise Client WebRTC Statistikabrufs

Um den Statistik-Abruf und die -Protokollierung aus dem WebRTC Stack abzuschalten, ist in der Microsoft Windows Registry unter dem Schlüssel HKEY_CURRENT_USER\Software\ESTOS\UCServer4\CtiMain das DWORD (32-bit) AVWebRTCStatsReport auf den Wert 0 zu setzen.

[HKEY_CURRENT_USER\SOFTWARE\ESTOS\UCServer4\CtiMain]
"AVWebRTCStatsReport"=dword:00000000
CODE

Alternativ kann es auch sinnvoll sein, den Client Debug Level von Debug (alles) auf einen niedrigeren Level zurückzustellen.

Weiterführende Artikel

Erzeugen eines Debug-Logs des ProCall Clients

Anzahl WebRTCTrace-Logdateien erhöhen