RTP Voice


The RTP Voice tab is available when you select rtpvoice protocol (if your system has VoLTE license) when defining RTP Traffic (Gm | Media | RTP Traffic | DMF > Protocol - rtpvoice).

The rtpvoice protocol supports native RTP with Audio codecs. The DMF configuration includes all the parameters required to accomplish RTP Audio:

Originator Mode

Terminator Mode

Supports four modes of speech exchanged between Terminate and Originate ends of SIP Session/Call:

  • Tx Only mode
  • Rx Only mode
  • Bi-Directional (Full-Duplex) mode
  • Push-To-Talk (Half-Duplex) mode

The Bi-Directional and Push-To-Talk modes assume that after a SIP Session is established, the Terminate side always starts RTP data transmission that reflects the fact the callee speaks first. (Technically SIP ACK received by Terminate side almost guarantees that the Originate side is ready to accept RTP data.

NOTES:
  • The GUI Tool tip will suggest options for selecting Originator/Terminator mode. However, the user has the flexibility to select whatever mode they prefer.
  • If originating stream is Bi-Directional, then the tool tip will suggest Bi-Directional for terminating stream. This will only be a default behavior, but is entirely dependent on the Landslide user discretion.
  • If the originating stream is Tx only, then the tool tip will suggest Rx only for Terminating stream.
  • If the originating stream is Rx only, then the tool tip will suggest Tx only for Terminating stream.
  • If the originating stream is Push-To-Talk, then the tool tip will suggest Push-To-Talk for Terminating stream.
  • No tool tip will be applied for Terminating stream.
  • Default behavior for both originator and terminator streams will be Bi-Directional.

 

Bi-Directional

Select to indicate two flows, Tx and Rx traffic flows.

Bi-Directional (Full-Duplex) mode simulates both-speak-both-listen scenario.  In this mode both sides simultaneously transmit and receive encoded RTP streams.

RTP packet transmission starts when:

  • The Terminate end begins to transmit upon receiving SIP ACK.
  • The Originate side begins to transmit upon receiving the 1st RTP packet from Terminate.
NOTE: The encoded wav file (RTP Stream) transmits repeatedly during the SIP session (Call Hold time).

SIP Session stops gracefully as follows:

  • Current RTP Stream transmission cycle  has finished AND
  • Current RTP Stream receive cycle has finished (all RTP packets within the Stream received ) OR
  • The last RTP packet arriving time expires (that is, if some of RTP packets within the Stream lost)

For example, if Call Hold Time = 10, File size = 8 seconds, and Maximum Network Delay = 2 seconds then in the worst case actual call hold time will be 8 + 8 + 2 = 18 seconds.

Tx Only Mode

The Tx only mode simulates talk-only scenario. Both Originate and Terminate side of SIP session transmit encoded WAV file(s). The encoded wav file (RTP Stream) is either transmitting repeatedly during the whole SIP session (Call Hold time) or a number of times depending on rtpvoice DMF configuration.

Rx Only

The Rx Only Mode simulates listen-only scenario. Both Originate and Terminate side of SIP session receive encoded WAV file(s). (The incoming packet flow is analyzed and the RTP Rx Statistics are updated: total received, out-of-order, late arrival, duplicate, lost, interval, arrival jitter, and so on).

Push-To-Talk

The Push-To-Talk mode simulates toggling one-talk-one-listen scenario. In this mode, one side of SIP Session transmits the entire WAV file as RTP Stream whie the other side receives. Then the role of transmitter and receiver is changed and so on, until the Session end or audio media is removed from the Session.

Terminate side always starts to talk (transmit RTP Stream) first.

SIP Session stop gracefully as follows:

  • For the side currently talking: the transmission of the RTP stream has finished
  • For the side currently listening:
  1. Entire RTP Stream has received (all RTP packets within the Stream received) OR
  2. The last RTP packet arriving time expires (If some of RTP packets within the Stream lost)
Jitter Buffer Size

The Jitter Buffer Size is used to determine RTP Packets Late Arrival. The RTP packets delayed more than the time entered in Jitter Buffer Size and less than the Max Network Delay are considered as late arrival.

Default: 200 milliseconds.

Max Network Delay (ms)

Specifies the maximum time an RTP packet can take to travel from source to destination. If a packet does not arrive before the specified delay time,  it is considered as lost (RTP Packets Lost). All the packets arrived after Max Network Delay are discarded.

The value of Max Network Delay (ms) should be at least 20 milliseconds greater than Jitter Buffer size.

Default: 1500

Codec Configuration

Select direction of the traffic flow, packet size and interval.

Codec

Support codecs: AMR , AMR-WB, EVRC-B, EVS, G.711-muLaw, G.711-ALaw, G.722, G.729AB, G.729B, iLBC and OPUS

A-Law - Companding algorithm used in North America and Japan

mu-Law - Companding algorithm used in Europe

iLBC codec - Copyright statement

Codec Parameters:

Media Subtype

Specify the name as it appears in offer/answer SDP of SIP Messages (INVITE, 183, 200, UPDATE).

For example:

a=rtpmap:98 AMR-NB/8000  

a=rtpmap:98 AMR /8000

Default: AMR (AMR codec) and AMR-WB (AMR-WB codec)

When Codec Code = EVRC-B select from one of the following options:

EVRCB (default), EVRCB0 or EVRCB1.

Automatically set to:

PCMU for G.711-mulaw , PCMA for G.711-ALaw, EVS for EVS , G.722 for G.722, G729 for G.729AB/G.729B, iLBC for iLBC, OPUS for OPUS and the field is disabled.

NOTE:

  • DTX (Silence Suppression) is not supported at this time for EVRC-B Codec thus RTP headers's maker (M) bit is always set to zero.
  • For VoLTE/VoIP the media settings are negotiated during Call Setup by SIP/SDP.
  • Landslide supports all three EVRC-B med a subtypes/profiles (EVRCB, EVRCB0 and EVRCB1). However, if Media Calle and Caller have different expectations, the Called party sends "488 Not Acceptable Here" which terminates the SIP session.

 

Tcl Parameter : CodecSdpName

Frame Interval (ms)

Specifies a minimum length of speech. The Interval value depends on codec type. For AMR , AMR-WB, EVS and EVRC-B it is always 20 milliseconds. For G.729AB and G.729B, set to 10 and the field is disabled.

For OPUS, valid options are : 2.5, 5, 10, 20, 40 and 60. Default = 20.

10 to 180 for G. 711 and G.722 codecs. Default = 20.

For iLBC, valid options are : 20 or 30. Default = 30.

Tcl Parameter : SampleInterval

Payload Type

Payload type (PT) identifies the format of the RTP payload and determines its interpretation.

Some of the codecs are statically bound to the Payload Type. For example, 0 for G.711-muLaw, 8 for G.711 Alaw, 9 for G.722 and 18 for G.729AB and G.729B.

Range: 96-127.

Default: 96. (97 for iLBC, 120 for OPUS)

In addition to RTP header, the Payload type appears in SDP as follows.

a=rtpmap:98 AMR-WB/16000

Frames per RTP packet

Specify the number of Frames per RTP packet.

Always set to 1 for G.711 and G.722 Codecs and field is disabled. For G.729AB and G.729B, range = 1-20, default = 1.

For iLBC, range = 1 to 10, default =1. Must be less than MTU.

For EVS Codec, if RTP Packet Payload Format = Compact, then always set to 1 and field is disabled. If f RTP Packet Payload Format = Header-Full then : Range from 1 to 12

Range: 1 to 10  (The packet size is 20, 40, or 60 milliseconds)

Default: 4

Tcl Parameter : SamplePerRtpPacket

Audio Bandwidth

Available when Codec = EVS, Default = Narrowband. For iLBC, Narrowband is the only option.

Options: Narrowband, Mediumband, Wideband, Superwideband, Fullband

Tcl Parameter : AudioBandwidth

Min Rate (kbps)

Minimum Rate for encoding algorithm.  Available when Codec = EVS  and when Codec = EVRC-B and Media type = EVRCB or EVRCB0.

Select from the following options for EVRC-B

ER/0.80  (Eights Rate) - Default

QR/2.0  (Quarter Rate)

HR/4.0  (Half Rate)

FR/8.55  (Full Rate)

Select from the following options for EVS. (Available values based on Audio Bandwidth).

VBR/5.9, 7.2, 8, 9.6, 13.2, 16.4, 24.4, 32, 48, 64, 96, 128

See below for additional details.

 

5.9

7.2

8

9.6

13.2

16.4

24.4

32

48

64

96

128

nb

x

x

x

X

x

x

x

 

 

 

 

 

wb

x

x

x

X

x

x

x

x

x

x

x

x

swb

 

 

 

X

x

x

x

x

x

x

x

x

fb

 

 

 

 

 

x

x

x

x

x

x

x

 

Tcl Parameter : CodecBitRate

Max Rate (kbps)

Maximum Rate for encoding algorithm. Available when Codec = EVS  and when Codec = EVRC-B and Media type = EVRCB or EVRCB0.

Select from the following options for EVRC-B:

ER/0.80  (Eights Rate)

QR/2.0  (Quarter Rate)

HR/4.0  (Half Rate)

FR/8.55  (Full Rate)  - Default

Select from the following options for EVS (See table above for additional details)

VBR/5.9, 7.2, 8, 9.6, 13.2, 16.4, 24.4, 32, 48, 64, 96, 128

If "Min Rate" is set to VBR/5.9, then Max Rate is automatically set to VBR/5.9, All other values are disabled.

Tcl Parameter : MaxBitrate

RTP Packet Payload Format

Support 3 Payload formats: Please refer to RFC 3558 and RFC 4788 for detailed information about RTP Payload formats.

Interleave/Bundled (default for EVRCB media type) - when selected, must specify Frames per RTP packet and Max Interleave.

Header-Free (Default for EVRCB0 media type) - when selected, Frames per RTP packet - 1.

Compact (Header-Free) - when selected, must specify Frames per RTP packet  and Min/Max rates = HR and FR.

Header-Full (Default for Codec EVS) - when selected, Frames per RTP packet - 1.

Compact - when selected for EVS , Frames per RTP packet =1 (field is disabled).

Tcl Parameter : PacketPayloadFormat

VAD/DTX

Select to enable Voice Activity Detection/Discontinuous Transmission (VAD/DTX) - Only available for Codec= EVS, G.729AB and G.729B.

If EVS codec's Min rate /Max Rate is VBR/5.9 then the VAD/DTX option setting is always set to ON and cannot be changed. 

Tcl Parameter : VadStxEnabled

Max Interleave

Available when RTP Packet Payload Format = Interleave/Bundled and Codec = EVRC-B.

Options: 0 to 7

Default = 5.

Tcl Parameter : MaxInterLeave

Frame Format

Two types of Frame Format are supported by AMR and AMR-WB encoder:

Options:

  • Bandwidth-Efficient (Interface Format 1 or simply IF1)
  • Octet-Aligned (Interface Format 2 or simply IF2)

Default: Bandwidth-Efficient

In addition to encoded bitstream format, the Frame Format also specifies the value X in a=fmtp:98 octet aligned=X of SDP as shown in Mapping codecs to SIP SDP table.

Tcl Parameter : FrameFormat

Rate (kbps)

Higher Codec rates yield better quality of speech. Codec bit rate is measured in Kbps. The values are Codec specific. Disabled for EVRCB and EVRCB0 Media Subtypes.

Always set to 64 for G.711 and G.722 Codecs and field is disabled.

Always set to 8.0 for G.729AB and G.729B and field is disabled.

For iLBC Codec, when Frame Interval (ms) = 20, then Rate = 15.2 and Frame Interval (ms) = 30, then Rate = 13.3.

 

Dynamic Payload

Select for Dynamic Payload values. When enabled, the codec will be matched by it contents.

  1.  For most codecs, codec name received in SDP is used for matching with the one configured. 
  2.  For AMR codec, additional parameter of Frame format will be taken into account for matching. 
  3.  For EVS codec,  additional parameter of Payload format will be taken into account for matching. 

Tcl Parameter : DynamicPayloadEnabled 

Call Configuration

(Only applies to L4-7 Data Traffic uses)

Only applicable when using configuration via L4-7 Data Traffic.

Call Hold Time (s)

Indicates the length of call.

Option: 1 - 65535

Default: 20 (s)

Call Pending Time (s)

Indicates the idle time.

Option: 1 - 65535

Default: 1000

Media TDF (.WAV)

Select the media TDF from the library. See TDF WAVE Library for a list of files you may download and use.

WAV files

The RTP Voice DMF uses a TDF to select a .WAV file. The audio RTP packet stream is created from .WAV file.

  • Landslide provides a library of .WAV files, which may be download

  • You may also import your own .WAV files into the TDF library.

NOTE: The maximum length of the file depends on Test Server’s memory and number of UE configured in a test as RTP stream is assigned individually per UE. For example, a file size of 128 KHz, 8 seconds WAV file is ~152 KB.

The Table below shows correspondence between codec and WAV file format.

Codec WAV file format
AMR Mono, Sampling rate – 8000 Hz, sample size - 16 bit if linear or 8 bit if A-Law or Mu-Law
AMR-WB   Mono, Sampling rate - 16000 Hz, sample size – 16 bit only
EVRC-B Mono, Sampling rate - 8000 Hz, sample size – 16 bit only
EVS 16-bit Linear PCM Samples and sample rate (8, 16, 32 or 48 kHz)

Audio Bandwidth

Sampling Rate ( kHz)

Audio signal spectral range (Hz)

Narrowband (NB)

8

300 – 3400

Wideband (WB)

16

50 – 7200

Super wideband (SWB)

32

50 – 14000

Fullband (FB)

48

50 – 20000

 

 

Source codec bit-rate (kbit/s)

Audio bandwidth supported

1

5,9 (SC-VBR)

NB, WB

2

7.2

NB, WB

3

8.0

NB, WB

4

9.6

NB, WB, SWB

5

13.2

NB, WB, SWB

6

13.2 (channel aware)

       WB, SWB

7

16,4

NB, WB, SWB, FB

8

24,4

NB, WB, SWB, FB

9

32

       WB, SWB, FB

10

48

       WB, SWB, FB

11

64

       WB, SWB, FB

12

96

       WB, SWB, FB

13

128

       WB, SWB, FB

 
G.711-mu-Law G.711-ALaw Windows PCM (8000 Hz, 16-bit, Mono) 8-bit mu-Law Encoded Waveform (8000 Hz, 16 Bit, Mono) 8-bit A-Law Encoded Waveform (8000 Hz, 16 Bit, Mono)
G.722 Windows PCM (16000 Hz, 16-bit, Mono)
G.729AB G.729B Windows PCM (8000 Hz, 16-bit, Mono)
iLBC Windows PCM (8000 Hz, 16-bit, Mono)
OPUS 16-bit Linear PCM Samples and sample rate ( 8, 12, 16, 24 or 48 kHz) .

Abbreviation

Audio bandwidth

Effective sample rate

NB (narrowband)

4 kHz

8 kHz

MB (medium-band)

6 kHz

12 kHz

WB (wideband)

8 kHz

16 kHz

SWB (super-wideband)

12 kHz

24 kHz

FB (fullband)

20 kHz

48 kHz

   

NOTE: If codec and .WAV file format do not match, then the file cannot be encoded and an encoding error is reported.

Reference Document

 

Title

1

RFC 3551 – RTP Profile for Audio and Video Conference with Minimal Control

2

RFC 4856 -  Media Type Registration of Payload Formats in the RTP Profile for Audio and Video Conferences

           3

RFC 7261 – Offer/Answer Considerations for G723 Annex A and G279 Annex B

4

Real-Time Transport Protocol (RTP) Parameters

5

RFC 3389 - Real-time Protocol (RTP) Payload for Comfort Noise (CN)

6

RFC 3555 - MIME Type Registration of RTP Payload Formats

7

RFC 4566 - SDP: Session Description Protocol

8

RFC 3951 - Internet Low Bit Rate Codec (iLBC) ,

Webpage Source, iLBC VAD and Silence Supression

Source Code, libilbc source repository

ITU-T, Recommendation G.711 Appendix II

Webpage Source, Per Call Bandwidth Consumption

NOTICE Copyright : iLBC Codec

  • Copyright (c) 2013, The WebRTC project authors. All rights reserved.
  • Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    • Neither the name of Google nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  • THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 

9

RFC 3952 - Real-time Transport Protocol (RTP) ayload Format for Internet Low BitRate Codec (iLBC) Speech

            10

RFC 6716 - OPUS Codec

11

ITU-T G.722 :  7 kHz audio-coding within 64 kbit/s