Liblinphone  5.4.0
Public Member Functions | List of all members
linphone::CallStats Class Reference

This object carry various statistic informations regarding the quality of an audio or video stream for a given Call. More...

#include <call_stats.hh>

Inheritance diagram for linphone::CallStats:

Public Member Functions

LINPHONECXX_PUBLIC CallStats (void *ptr, bool takeRef=true)
 
LINPHONECXX_PUBLIC _LinphoneCallStats * cPtr ()
 
LINPHONECXX_PUBLIC float getDownloadBandwidth () const
 Get the bandwidth measurement of the received stream, expressed in kbit/s, including IP/UDP/RTP headers. More...
 
LINPHONECXX_PUBLIC float getEstimatedDownloadBandwidth () const
 Get the estimated bandwidth measurement of the received stream, expressed in kbit/s, including IP/UDP/RTP headers. More...
 
LINPHONECXX_PUBLIC uint64_t getFecCumulativeLostPacketsNumber () const
 If the FEC is enabled, gets the cumulative number of lost source packets of the RTP session that have not been repaired by the current FEC stream. More...
 
LINPHONECXX_PUBLIC float getFecDownloadBandwidth () const
 Get the bandwidth measurement of the part of the received stream dedicated to FEC, expressed in kbit/s, including IP/UDP/RTP headers. More...
 
LINPHONECXX_PUBLIC uint64_t getFecRepairedPacketsNumber () const
 If the FEC is enabled, gets the cumulative number of source packets of the RTP session that have been repaired by the current FEC stream. More...
 
LINPHONECXX_PUBLIC float getFecUploadBandwidth () const
 Get the bandwidth measurement of the part of the sent stream dedicated to FEC, expressed in kbit/s, including IP/UDP/RTP headers. More...
 
LINPHONECXX_PUBLIC linphone::IceState getIceState () const
 Get the state of ICE processing. More...
 
LINPHONECXX_PUBLIC linphone::Address::Family getIpFamilyOfRemote () const
 Get the IP address family of the remote peer. More...
 
LINPHONECXX_PUBLIC bool isZrtpKeyAgreementAlgoPostQuantum () const
 Did ZRTP used a Post Quantum algorithm to perform a key exchange. More...
 
LINPHONECXX_PUBLIC float getJitterBufferSizeMs () const
 Get the jitter buffer size in ms. More...
 
LINPHONECXX_PUBLIC uint64_t getLatePacketsCumulativeNumber () const
 Gets the cumulative number of late packets. More...
 
LINPHONECXX_PUBLIC float getLocalLateRate () const
 Gets the local late rate since last report, expressed as a percentage. More...
 
LINPHONECXX_PUBLIC float getLocalLossRate () const
 Get the local loss rate since last report, expressed as a percentage. More...
 
LINPHONECXX_PUBLIC float getReceiverInterarrivalJitter () const
 Gets the remote reported interarrival jitter, expressed in seconds. More...
 
LINPHONECXX_PUBLIC float getReceiverLossRate () const
 Gets the remote reported loss rate since last report, expressed as a percentage. More...
 
LINPHONECXX_PUBLIC float getRoundTripDelay () const
 Get the round trip delay in s. More...
 
LINPHONECXX_PUBLIC float getRtcpDownloadBandwidth () const
 Get the bandwidth measurement of the received RTCP, expressed in kbit/s, including IP/UDP/RTP headers. More...
 
LINPHONECXX_PUBLIC float getRtcpUploadBandwidth () const
 Get the bandwidth measurement of the sent RTCP, expressed in kbit/s, including IP/UDP/RTP headers. More...
 
LINPHONECXX_PUBLIC int64_t getRtpCumPacketLoss () const
 Get the RTP cumulative number of incoming packet lost. More...
 
LINPHONECXX_PUBLIC uint64_t getRtpDiscarded () const
 Get the RTP incoming packets discarded because the queue exceeds its max size. More...
 
LINPHONECXX_PUBLIC uint64_t getRtpHwRecv () const
 Get the number of received bytes excluding IPv4/IPv6/UDP headers and including late and duplicate packets. More...
 
LINPHONECXX_PUBLIC uint64_t getRtpPacketRecv () const
 Get the number of RTP received packets. More...
 
LINPHONECXX_PUBLIC uint64_t getRtpPacketSent () const
 Get the number of RTP outgoing packets. More...
 
LINPHONECXX_PUBLIC uint64_t getRtpRecv () const
 Get the RTP incoming recv_bytes of payload and delivered in time to the application. More...
 
LINPHONECXX_PUBLIC uint64_t getRtpSent () const
 Get the RTP outgoing sent_bytes (excluding IP header) More...
 
LINPHONECXX_PUBLIC float getSenderInterarrivalJitter () const
 Gets the local interarrival jitter, expressed in seconds. More...
 
LINPHONECXX_PUBLIC float getSenderLossRate () const
 Get the local loss rate since last report, expressed as a percentage. More...
 
LINPHONECXX_PUBLIC linphone::MediaEncryption getSrtpSource () const
 Get the method used for SRTP key exchange. More...
 
LINPHONECXX_PUBLIC linphone::SrtpSuite getSrtpSuite () const
 Get the SRTP Cryto suite in use. More...
 
LINPHONECXX_PUBLIC linphone::StreamType getType () const
 Get the type of the stream the stats refer to. More...
 
LINPHONECXX_PUBLIC float getUploadBandwidth () const
 Get the bandwidth measurement of the sent stream, expressed in kbit/s, including IP/UDP/RTP headers. More...
 
LINPHONECXX_PUBLIC linphone::UpnpState getUpnpState () const
 Get the state of uPnP processing. More...
 
LINPHONECXX_PUBLIC std::string getZrtpAuthTagAlgo () const
 Get the ZRTP algorithm statistics details (authentication method) More...
 
LINPHONECXX_PUBLIC std::string getZrtpCipherAlgo () const
 Get the ZRTP algorithm statistics details (cipher) More...
 
LINPHONECXX_PUBLIC std::string getZrtpHashAlgo () const
 Get the ZRTP algorithm statistics details (hash function) More...
 
LINPHONECXX_PUBLIC std::string getZrtpKeyAgreementAlgo () const
 Get the ZRTP algorithm statistics details (key agreeement) More...
 
LINPHONECXX_PUBLIC std::string getZrtpSasAlgo () const
 Get the ZRTP algorithm statistics details (SAS display) More...
 

Detailed Description

This object carry various statistic informations regarding the quality of an audio or video stream for a given Call.

To receive these informations periodically and as soon as they are computed, implement the call_stats_updated() callback inside a CoreListener. At any time, the application can access latest computed statistics using Call::getAudioStats() and Call::getVideoStats().

Member Function Documentation

◆ getDownloadBandwidth()

LINPHONECXX_PUBLIC float linphone::CallStats::getDownloadBandwidth ( ) const

Get the bandwidth measurement of the received stream, expressed in kbit/s, including IP/UDP/RTP headers.

Returns
The bandwidth measurement of the received stream in kbit/s.

◆ getEstimatedDownloadBandwidth()

LINPHONECXX_PUBLIC float linphone::CallStats::getEstimatedDownloadBandwidth ( ) const

Get the estimated bandwidth measurement of the received stream, expressed in kbit/s, including IP/UDP/RTP headers.

Returns
The estimated bandwidth measurement of the received stream in kbit/s.

◆ getFecCumulativeLostPacketsNumber()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getFecCumulativeLostPacketsNumber ( ) const

If the FEC is enabled, gets the cumulative number of lost source packets of the RTP session that have not been repaired by the current FEC stream.

Returns
The cumulative number of lost packets

◆ getFecDownloadBandwidth()

LINPHONECXX_PUBLIC float linphone::CallStats::getFecDownloadBandwidth ( ) const

Get the bandwidth measurement of the part of the received stream dedicated to FEC, expressed in kbit/s, including IP/UDP/RTP headers.

Returns
The bandwidth measurement of the received FEC stream in kbit/s.

◆ getFecRepairedPacketsNumber()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getFecRepairedPacketsNumber ( ) const

If the FEC is enabled, gets the cumulative number of source packets of the RTP session that have been repaired by the current FEC stream.

Returns
The cumulative number of repaired packets

◆ getFecUploadBandwidth()

LINPHONECXX_PUBLIC float linphone::CallStats::getFecUploadBandwidth ( ) const

Get the bandwidth measurement of the part of the sent stream dedicated to FEC, expressed in kbit/s, including IP/UDP/RTP headers.

Returns
The bandwidth measurement of the sent stream in kbit/s.

◆ getIceState()

LINPHONECXX_PUBLIC linphone::IceState linphone::CallStats::getIceState ( ) const

Get the state of ICE processing.

Returns
The IceState of ICE processing

◆ getIpFamilyOfRemote()

LINPHONECXX_PUBLIC linphone::Address::Family linphone::CallStats::getIpFamilyOfRemote ( ) const

Get the IP address family of the remote peer.

Returns
The IP address family Address::Family of the remote peer.

◆ getJitterBufferSizeMs()

LINPHONECXX_PUBLIC float linphone::CallStats::getJitterBufferSizeMs ( ) const

Get the jitter buffer size in ms.

Returns
The jitter buffer size in ms.

◆ getLatePacketsCumulativeNumber()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getLatePacketsCumulativeNumber ( ) const

Gets the cumulative number of late packets.

Returns
The cumulative number of late packets

◆ getLocalLateRate()

LINPHONECXX_PUBLIC float linphone::CallStats::getLocalLateRate ( ) const

Gets the local late rate since last report, expressed as a percentage.

Returns
The local late rate

◆ getLocalLossRate()

LINPHONECXX_PUBLIC float linphone::CallStats::getLocalLossRate ( ) const

Get the local loss rate since last report, expressed as a percentage.

Returns
The local loss rate

◆ getReceiverInterarrivalJitter()

LINPHONECXX_PUBLIC float linphone::CallStats::getReceiverInterarrivalJitter ( ) const

Gets the remote reported interarrival jitter, expressed in seconds.

Returns
The interarrival jitter at last received receiver report

◆ getReceiverLossRate()

LINPHONECXX_PUBLIC float linphone::CallStats::getReceiverLossRate ( ) const

Gets the remote reported loss rate since last report, expressed as a percentage.

Returns
The receiver loss rate

◆ getRoundTripDelay()

LINPHONECXX_PUBLIC float linphone::CallStats::getRoundTripDelay ( ) const

Get the round trip delay in s.

Returns
The round trip delay in s.

◆ getRtcpDownloadBandwidth()

LINPHONECXX_PUBLIC float linphone::CallStats::getRtcpDownloadBandwidth ( ) const

Get the bandwidth measurement of the received RTCP, expressed in kbit/s, including IP/UDP/RTP headers.

Returns
The bandwidth measurement of the received RTCP in kbit/s.

◆ getRtcpUploadBandwidth()

LINPHONECXX_PUBLIC float linphone::CallStats::getRtcpUploadBandwidth ( ) const

Get the bandwidth measurement of the sent RTCP, expressed in kbit/s, including IP/UDP/RTP headers.

Returns
The bandwidth measurement of the sent RTCP in kbit/s.

◆ getRtpCumPacketLoss()

LINPHONECXX_PUBLIC int64_t linphone::CallStats::getRtpCumPacketLoss ( ) const

Get the RTP cumulative number of incoming packet lost.

Returns
The number of RTP cumulative number of incoming packet lost

◆ getRtpDiscarded()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getRtpDiscarded ( ) const

Get the RTP incoming packets discarded because the queue exceeds its max size.

Returns
The RTP incoming packets discarded because the queue exceeds its max size

◆ getRtpHwRecv()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getRtpHwRecv ( ) const

Get the number of received bytes excluding IPv4/IPv6/UDP headers and including late and duplicate packets.

Returns
the number of received bytes excluding IPv4/IPv6/UDP headers and including late and duplicate packets

◆ getRtpPacketRecv()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getRtpPacketRecv ( ) const

Get the number of RTP received packets.

Returns
The number of RTP received packets

◆ getRtpPacketSent()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getRtpPacketSent ( ) const

Get the number of RTP outgoing packets.

Returns
The number of RTP outgoing packets

◆ getRtpRecv()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getRtpRecv ( ) const

Get the RTP incoming recv_bytes of payload and delivered in time to the application.

Returns
The number of recv_bytes of payload and delivered in time to the application

◆ getRtpSent()

LINPHONECXX_PUBLIC uint64_t linphone::CallStats::getRtpSent ( ) const

Get the RTP outgoing sent_bytes (excluding IP header)

Returns
The number of outgoing sent_bytes (excluding IP header)

◆ getSenderInterarrivalJitter()

LINPHONECXX_PUBLIC float linphone::CallStats::getSenderInterarrivalJitter ( ) const

Gets the local interarrival jitter, expressed in seconds.

Returns
The interarrival jitter at last emitted sender report

◆ getSenderLossRate()

LINPHONECXX_PUBLIC float linphone::CallStats::getSenderLossRate ( ) const

Get the local loss rate since last report, expressed as a percentage.

Returns
The sender loss rate

◆ getSrtpSource()

LINPHONECXX_PUBLIC linphone::MediaEncryption linphone::CallStats::getSrtpSource ( ) const

Get the method used for SRTP key exchange.

Returns
The MediaEncryption method used to exchange the SRTP keys

◆ getSrtpSuite()

LINPHONECXX_PUBLIC linphone::SrtpSuite linphone::CallStats::getSrtpSuite ( ) const

Get the SRTP Cryto suite in use.

Returns
The SRTP crypto suite currently in use SrtpSuite

◆ getType()

LINPHONECXX_PUBLIC linphone::StreamType linphone::CallStats::getType ( ) const

Get the type of the stream the stats refer to.

Returns
The StreamType the stats refer to

◆ getUploadBandwidth()

LINPHONECXX_PUBLIC float linphone::CallStats::getUploadBandwidth ( ) const

Get the bandwidth measurement of the sent stream, expressed in kbit/s, including IP/UDP/RTP headers.

Returns
The bandwidth measurement of the sent stream in kbit/s.

◆ getUpnpState()

LINPHONECXX_PUBLIC linphone::UpnpState linphone::CallStats::getUpnpState ( ) const

Get the state of uPnP processing.

Returns
The UpnpState of uPnP processing.

◆ getZrtpAuthTagAlgo()

LINPHONECXX_PUBLIC std::string linphone::CallStats::getZrtpAuthTagAlgo ( ) const

Get the ZRTP algorithm statistics details (authentication method)

Returns
The auth tag algo

◆ getZrtpCipherAlgo()

LINPHONECXX_PUBLIC std::string linphone::CallStats::getZrtpCipherAlgo ( ) const

Get the ZRTP algorithm statistics details (cipher)

Returns
The cipher algo

◆ getZrtpHashAlgo()

LINPHONECXX_PUBLIC std::string linphone::CallStats::getZrtpHashAlgo ( ) const

Get the ZRTP algorithm statistics details (hash function)

Returns
The hash algo

◆ getZrtpKeyAgreementAlgo()

LINPHONECXX_PUBLIC std::string linphone::CallStats::getZrtpKeyAgreementAlgo ( ) const

Get the ZRTP algorithm statistics details (key agreeement)

Returns
The key agreement algo

◆ getZrtpSasAlgo()

LINPHONECXX_PUBLIC std::string linphone::CallStats::getZrtpSasAlgo ( ) const

Get the ZRTP algorithm statistics details (SAS display)

Returns
The sas algo

◆ isZrtpKeyAgreementAlgoPostQuantum()

LINPHONECXX_PUBLIC bool linphone::CallStats::isZrtpKeyAgreementAlgoPostQuantum ( ) const

Did ZRTP used a Post Quantum algorithm to perform a key exchange.

Returns
true if the ZRTP key exchange was performed using a PQ algo false otherwise: ZRTP exchange not completed or not using a PQ algo

The documentation for this class was generated from the following file: