Class AudioDetails


  • public class AudioDetails
    extends java.lang.Object
    Represents details of transmitted and received audio stream properties.
    • Method Detail

      • getCodec

        public java.lang.String getCodec()
        The name of the codec that is being used for the audio session.
        Returns:
        the name of the codec that is being used for the audio session.
      • getPacketizationMillis

        public int getPacketizationMillis()
        The packetization interval in milliseconds. This represents the time duration of the audio data contained in each packet. It is retrieved from the ptime attribute from the SDP audio codec config.
        Returns:
        the packetization interval in milliseconds.
      • getRFC2833PayloadType

        public int getRFC2833PayloadType()
        Payload type negotiated for telephony events (DTMF tones).
        Returns:
        payload type negotiated for telephony events.
      • getLocalIPAddress

        public java.lang.String getLocalIPAddress()
        Local IP address used to receive audio packets from the far-end.
        Returns:
        local IP address used to receive audio packets from the far-end.
      • getRemoteIPAddress

        public java.lang.String getRemoteIPAddress()
        Remote IP address used to send audio packets to the far-end.
        Returns:
        remote IP address used to send audio packets to the far-end.
      • getLocalPort

        public int getLocalPort()
        Local (RTP) receive port for the audio session (as per SDP offer/answer exchange).
        Returns:
        local (RTP) receive port for the audio session.
      • getRemotePort

        public int getRemotePort()
        Remote (RTP) receive port for the audio session (as per SDP offer/answer exchange).
        Returns:
        remote (RTP) receive port for the audio session.
      • getEncryptionType

        public MediaEncryptionType getEncryptionType()
        Encryption type used for the audio session.
        Returns:
        encryption type used for the audio session.
        See Also:
        MediaEncryptionType
      • isMediaTunneled

        public boolean isMediaTunneled()
        Returns:
        Status indication for whether Audio tunneled or not.
      • isMediaProxied

        public boolean isMediaProxied()
        Returns:
        Status indication for whether Audio proxied or not.
      • isRTCPEncrypted

        public boolean isRTCPEncrypted()
        RTCP encryption status for the audio session. True if feedback RTCP packets are encrypted false otherwise. If it is true RTCP packets should be decripted before reading audio stream details.
        Returns:
        RTCP encryption status for the audio session.
      • getRoundTripTimeMillis

        public int getRoundTripTimeMillis()
        The round-trip audio delay (in milliseconds) calculated as per RFC 3550. This is the time required for an RTP packet to go from sender to receiver and back.
        Returns:
        the round-trip audio delay in milliseconds.
      • getPacketsTransmitted

        public int getPacketsTransmitted()
        Total number of RTP packets transmitted.
        Returns:
        total number of RTP packets transmitted.
      • getPacketsReceived

        public int getPacketsReceived()
        Total number of RTP packets received.
        Returns:
        total number of RTP packets received.
      • getBytesTransmitted

        public int getBytesTransmitted()
        Total number of RTP payload bytes transmitted.
        Returns:
        total number of RTP payload bytes transmitted.
      • getBytesReceived

        public int getBytesReceived()
        Total number of RTP payload bytes received.
        Returns:
        total number of RTP payload bytes received.
      • getFractionLostLocal

        public int getFractionLostLocal()
        Fractional loss seen locally. This is 8-bits size value. The fraction of RTP data packets from source lost since the previous SR or RR packet was sent, expressed as a fixed point number with the binary point at the left edge of the field. (That is equivalent to taking the integer part after multiplying the loss fraction by 256.) This fraction is defined to be the number of packets lost divided by the number of packets expected. If the loss is negative due to duplicates, the fraction lost is set to zero.
        Returns:
        fractional loss seen locally.
      • getFractionLostRemote

        public int getFractionLostRemote()
        Fractional loss seen remotely which far end sends to local end through RTCP. This is 8-bits size value. The fraction of RTP data packets from source lost since the previous SR or RR packet was sent, expressed as a fixed point number with the binary point at the left edge of the field. (That is equivalent to taking the integer part after multiplying the loss fraction by 256.) This fraction is defined to be the number of packets lost divided by the number of packets expected. If the loss is negative due to duplicates, the fraction lost is set to zero.
        Returns:
        fractional loss seen remotely which far end sends to local end through RTCP.
      • getAverageJitterLocalMillis

        public int getAverageJitterLocalMillis()
        Average jitter buffer size (in milliseconds) the local end is experiencing on received RTP stream. In VoIP, a jitter buffer is a shared data area where voice packets can be collected, stored, and sent to the voice processor in evenly spaced intervals. Variations in packet arrival time, called jitter, can occur because of network congestion, timing drift, or route changes. The jitter buffer, which is located at the receiving end of the voice connection, intentionally delays the arriving packets so that the end user experiences a clear connection with very little sound distortion.
        Returns:
        average jitter buffer size (in milliseconds) the local end is experiencing on received RTP stream.
      • getAverageJitterRemoteMillis

        public int getAverageJitterRemoteMillis()
        Average jitter buffer size (in milliseconds) that the far-end is experiencing. In VoIP, a jitter buffer is a shared data area where voice packets can be collected, stored, and sent to the voice processor in evenly spaced intervals. Variations in packet arrival time, called jitter, can occur because of network congestion, timing drift, or route changes. The jitter buffer, which is located at the receiving end of the voice connection, intentionally delays the arriving packets so that the end user experiences a clear connection with very little sound distortion.
        Returns:
        average jitter buffer size (in milliseconds) that the far-end is experiencing.
      • getCurrentBufferSize

        public int getCurrentBufferSize()
        Current jitter buffer size in milliseconds. In VoIP, a jitter buffer is a shared data area where voice packets can be collected, stored, and sent to the voice processor in evenly spaced intervals. Variations in packet arrival time, called jitter, can occur because of network congestion, timing drift, or route changes. The jitter buffer, which is located at the receiving end of the voice connection, intentionally delays the arriving packets so that the end user experiences a clear connection with very little sound distortion.
        Returns:
        current jitter buffer size in milliseconds.
      • getPreferredBufferSize

        public int getPreferredBufferSize()
        Preferred (optimal) jitter buffer size in milliseconds. In VoIP, a jitter buffer is a shared data area where voice packets can be collected, stored, and sent to the voice processor in evenly spaced intervals. Variations in packet arrival time, called jitter, can occur because of network congestion, timing drift, or route changes. The jitter buffer, which is located at the receiving end of the voice connection, intentionally delays the arriving packets so that the end user experiences a clear connection with very little sound distortion.
        Returns:
        preferred jitter buffer size in milliseconds.
      • getCurrentPacketLossRate

        public int getCurrentPacketLossRate()
        Percentage packet loss rate (network + late).
        Returns:
        current packet loss rate in percents.
      • getCurrentDiscardRate

        public int getCurrentDiscardRate()
        Percentage packet loss rate because of late packets.
        Returns:
        current discard rate in percents.
      • getCurrentExpandRate

        public int getCurrentExpandRate()
        Fraction of synthesized speech frames inserted through expansion in total frame count in buffer. In case of a starved jitter buffer synthesized speech frames will be added. This process is called "expand".
        Returns:
        current expand rate.
      • getCurrentPreemptiveRate

        public int getCurrentPreemptiveRate()
        Fraction of synthesized speech frames inserted through pre-emptive expansion in total frame count in buffer. In case of a shallow jitter buffer synthesized speech frames will be added. This process is called "pre-emptive expand" and based on previous frames.
        Returns:
        current pre-emptive rate.
      • getCurrentAccelerateRate

        public int getCurrentAccelerateRate()
        Fraction of data removed through acceleration. In case of a full jitter buffer speech frames will be deleted. This process is called "acceleration".
        Returns:
        current accelerate rate.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object