Package com.avaya.clientservices.call
Class AudioDetails
- java.lang.Object
-
- com.avaya.clientservices.call.AudioDetails
-
public class AudioDetails extends java.lang.Object
Represents details of transmitted and received audio stream properties.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getAverageJitterLocalMillis()
Average jitter buffer size (in milliseconds) the local end is experiencing on received RTP stream.int
getAverageJitterRemoteMillis()
Average jitter buffer size (in milliseconds) that the far-end is experiencing.int
getBytesReceived()
Total number of RTP payload bytes received.int
getBytesTransmitted()
Total number of RTP payload bytes transmitted.java.lang.String
getCodec()
The name of the codec that is being used for the audio session.int
getCurrentAccelerateRate()
Fraction of data removed through acceleration.int
getCurrentBufferSize()
Current jitter buffer size in milliseconds.int
getCurrentDiscardRate()
Percentage packet loss rate because of late packets.int
getCurrentExpandRate()
Fraction of synthesized speech frames inserted through expansion in total frame count in buffer.int
getCurrentPacketLossRate()
Percentage packet loss rate (network + late).int
getCurrentPreemptiveRate()
Fraction of synthesized speech frames inserted through pre-emptive expansion in total frame count in buffer.MediaEncryptionType
getEncryptionType()
Encryption type used for the audio session.int
getFractionLostLocal()
Fractional loss seen locally.int
getFractionLostRemote()
Fractional loss seen remotely which far end sends to local end through RTCP.java.lang.String
getLocalIPAddress()
Local IP address used to receive audio packets from the far-end.int
getLocalPort()
Local (RTP) receive port for the audio session (as per SDP offer/answer exchange).int
getPacketizationMillis()
The packetization interval in milliseconds.int
getPacketsReceived()
Total number of RTP packets received.int
getPacketsTransmitted()
Total number of RTP packets transmitted.int
getPreferredBufferSize()
Preferred (optimal) jitter buffer size in milliseconds.java.lang.String
getRemoteIPAddress()
Remote IP address used to send audio packets to the far-end.int
getRemotePort()
Remote (RTP) receive port for the audio session (as per SDP offer/answer exchange).int
getRFC2833PayloadType()
Payload type negotiated for telephony events (DTMF tones).int
getRoundTripTimeMillis()
The round-trip audio delay (in milliseconds) calculated as per RFC 3550.boolean
isMediaProxied()
boolean
isMediaTunneled()
boolean
isRTCPEncrypted()
RTCP encryption status for the audio session.java.lang.String
toString()
-
-
-
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 classjava.lang.Object
-
-