Interface CallStats


public interface CallStats
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().
  • Method Details

    • getDownloadBandwidth

      float getDownloadBandwidth()
      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

      float getEstimatedDownloadBandwidth()
      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

      int getFecCumulativeLostPacketsNumber()
      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

      float getFecDownloadBandwidth()
      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

      int getFecRepairedPacketsNumber()
      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

      float getFecUploadBandwidth()
      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

      IceState getIceState()
      Get the state of ICE processing.

      Returns:
      The IceState of ICE processing
    • getIpFamilyOfRemote

      Address.Family getIpFamilyOfRemote()
      Get the IP address family of the remote peer.

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

      boolean isZrtpKeyAgreementAlgoPostQuantum()
      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
    • getJitterBufferSizeMs

      float getJitterBufferSizeMs()
      Get the jitter buffer size in ms.

      Returns:
      The jitter buffer size in ms.
    • getLatePacketsCumulativeNumber

      int getLatePacketsCumulativeNumber()
      Gets the cumulative number of late packets.

      Returns:
      The cumulative number of late packets
    • getLocalLateRate

      float getLocalLateRate()
      Gets the local late rate since last report, expressed as a percentage.

      Returns:
      The local late rate
    • getLocalLossRate

      float getLocalLossRate()
      Get the local loss rate since last report, expressed as a percentage.

      Returns:
      The local loss rate
    • getReceiverInterarrivalJitter

      float getReceiverInterarrivalJitter()
      Gets the remote reported interarrival jitter, expressed in seconds.

      Returns:
      The interarrival jitter at last received receiver report
    • getReceiverLossRate

      float getReceiverLossRate()
      Gets the remote reported loss rate since last report, expressed as a
      percentage.

      Returns:
      The receiver loss rate
    • getRoundTripDelay

      float getRoundTripDelay()
      Get the round trip delay in s.

      Returns:
      The round trip delay in s.
    • getRtcpDownloadBandwidth

      float getRtcpDownloadBandwidth()
      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

      float getRtcpUploadBandwidth()
      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

      int getRtpCumPacketLoss()
      Get the RTP cumulative number of incoming packet lost.

      Returns:
      The number of RTP cumulative number of incoming packet lost
    • getRtpDiscarded

      int getRtpDiscarded()
      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

      int getRtpHwRecv()
      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

      int getRtpPacketRecv()
      Get the number of RTP received packets.

      Returns:
      The number of RTP received packets
    • getRtpPacketSent

      int getRtpPacketSent()
      Get the number of RTP outgoing packets.

      Returns:
      The number of RTP outgoing packets
    • getRtpRecv

      int getRtpRecv()
      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

      int getRtpSent()
      Get the RTP outgoing sent_bytes (excluding IP header)

      Returns:
      The number of outgoing sent_bytes (excluding IP header)
    • getSenderInterarrivalJitter

      float getSenderInterarrivalJitter()
      Gets the local interarrival jitter, expressed in seconds.

      Returns:
      The interarrival jitter at last emitted sender report
    • getSenderLossRate

      float getSenderLossRate()
      Get the local loss rate since last report, expressed as a percentage.

      Returns:
      The sender loss rate
    • getSrtpSource

      @NonNull MediaEncryption getSrtpSource()
      Get the method used for SRTP key exchange.

      Returns:
      The MediaEncryption method used to exchange the SRTP keys
    • getSrtpSuite

      @NonNull SrtpSuite getSrtpSuite()
      Get the SRTP Cryto suite in use.

      Returns:
      The SRTP crypto suite currently in use SrtpSuite
    • getType

      StreamType getType()
      Get the type of the stream the stats refer to.

      Returns:
      The StreamType the stats refer to
    • getUploadBandwidth

      float getUploadBandwidth()
      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

      UpnpState getUpnpState()
      Get the state of uPnP processing.

      Returns:
      The UpnpState of uPnP processing.
    • getZrtpAuthTagAlgo

      String getZrtpAuthTagAlgo()
      Get the ZRTP algorithm statistics details (authentication method)

      Returns:
      The auth tag algo
    • getZrtpCipherAlgo

      String getZrtpCipherAlgo()
      Get the ZRTP algorithm statistics details (cipher)

      Returns:
      The cipher algo
    • getZrtpHashAlgo

      String getZrtpHashAlgo()
      Get the ZRTP algorithm statistics details (hash function)

      Returns:
      The hash algo
    • getZrtpKeyAgreementAlgo

      String getZrtpKeyAgreementAlgo()
      Get the ZRTP algorithm statistics details (key agreeement)

      Returns:
      The key agreement algo
    • getZrtpSasAlgo

      String getZrtpSasAlgo()
      Get the ZRTP algorithm statistics details (SAS display)

      Returns:
      The sas algo
    • setUserData

      void setUserData(Object data)
      Sets the object to store in this object user's data
      Parameters:
      data - the object to store
    • getUserData

      Object getUserData()
      Gets the object stored in this object user's data
      Returns:
      the object store if any, null otherwise
    • getNativePointer

      long getNativePointer()
      Gets the native pointer used by this class to make native method calls.
      Returns:
      the nativer pointer, as long
    • toString

      String toString()
      Overrides:
      toString in class Object