If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.
Property:RTP
BoxMatrix >> Lexicon >> Network-Protocols >> RTP | @ BoxMatrix - IRC-Chat - Translate: de es fr it nl pl |
News | Selectors | Models | Accessories | Components | Environment | Config | Commands | System | Webif | Software | Develop | Lexicon | Community | Project | Media |
Computer | FRITZ | I18N | Telephony | Smarthome | Internet | Protocols | Multimedia | Formats | Hardware | Software | Research |
Protocol
Protocol: | RTP | Wiki | Freetz | IPPF | whmf | AVM | Web |
Short for: | Real-time Transport Protocol | ||||||
Location: | Lexicon >> Network-Protocols | ||||||
Weblinks: | Wikipedia.int - Wikipedia.de - RFC-3550 | ||||||
Description: | Deliver audio or video over an IP network, ie. for VoIP or IPTV |
Goto: FRITZ!OS - SMW-Browser
Details
RTP (Real-time Transport Protocol
) is a protocol which delivers audio or video over an IP network, ie. for VoIP.
For low latency it uses UDP, and there's no standard port defined. It just has to be an even port above 1024.
RTP works in conjunction with the RTCP (Real-time Control Protocol
), which uses an odd port above 1024. While RTP
provides the audio or video stream using an arbitary Codec the RTCP protocol provides stream control and status feedback.
A secure variant of RTP is the SRTP protocol.
FRITZ!OS
IPTV
RTP is also used to stream IPTV.
VoIP
In FRITZ!OS RTP is used for VoIP and T.38 Fax and is performed by voipd using librtpstream.so.
For every Fritzbox with configured Telephony the 40 ports Port-7078-7109-udp are open to the Internet.
This is required for a maximum of 20 SIP accounts, 20 even ports for RTP / SRTP and 20 odd ports for RTCP / SRTCP.
There's are some global RTP related options in voip.cfg:
use_krtp = yes; # use krtp.ko rtp_prio = 0; # ... rtpstream { voice_activity_detection { # VAD - Voice Activity Detection vad_enabled = vadenabled_no; vad_threshold = 10000; } plc { # PLC - Packet Loss Concealment in_the_stack = yes; } jitter { # Jitter buffering to mitigate PDV - Packet Delay Variation auto_on = yes; in_ms = 50; in_packets = 0; } rtcp_enabled = yes; # separate RTCP or multiplexing with RTP silence_detection = no; }
Besides this voip.cfg also contains some RTP related options per SIP account:
ua1 { ... dtmfcfg = dtmfcfg_rtp_or_inband; # DTMF transfer method rtpevent_keep_packetrate = no; xrtp_periodic = 0; add_rtpmap_for_all_codecs = no; srtp_supported = no; # SRTP - Secure RTP }
Codecs
librtpstream.so uses the RTPAudioEncoder
in capi_codec.ko which uses builtin and hardware Codecs in pcmlink.ko.
The Kernel-Config contains these Codec related variables:
- CONFIG_CAPI_CODEC - enables capi_codec.ko
- CONFIG_CAPI_CODEC_CNG - CNG - Comfort Noise Generation
- CONFIG_CAPI_CODEC_FAX - V.17, V.27, V.29, V.33, etc - Fax
- CONFIG_CAPI_CODEC_G711 - PCMA (A-law), PCMU (µ-law) companded
- CONFIG_CAPI_CODEC_G722 - G.722 - wideband SB-ADPCM
- CONFIG_CAPI_CODEC_G726 - G.726 - narrow-band SB-ADPCM
- CONFIG_CAPI_CODEC_G729 - G.729 - narrow-band CS-ACELP vocoder
- CONFIG_CAPI_CODEC_ILBC - ILBC - Internet Low Bitrate Codec
- CONFIG_CAPI_CODEC_VAD - VAD - Voice Activity Detection
There's a global option in voip.cfg to limit the Codecs used:
root@fritz1:/var/mod/root# grep audiocodecs /var/flash/voip.cfg use_audiocodecs = no; audiocodecs = "PCMA", "PCMU", "G726-32", "G726-40", "G726-24";
The currently activated Codecs could be queried from voipd - fw 7.29:
root@fritz1:/var/mod/root# aicmd voipd show codeclist | sort CLEARMODE/8000/1: 106000 bits/second (encaplen=32,20ms) CLEARMODE/8000/1: 98933 bits/second (encaplen=32,30ms) G722/8000/1: 106000 bits/second (encaplen=32,20ms) G722/8000/1: 98933 bits/second (encaplen=32,30ms) G726-24/8000/1: 56533 bits/second (encaplen=32,30ms) G726-24/8000/1: 63600 bits/second (encaplen=32,20ms) G726-32/8000/1: 70666 bits/second (encaplen=32,30ms) G726-32/8000/1: 84800 bits/second (encaplen=32,20ms) G726-40/8000/1: 70666 bits/second (encaplen=32,30ms) G726-40/8000/1: 84800 bits/second (encaplen=32,20ms) PCMA/16000/1: 197866 bits/second (encaplen=32,30ms) PCMA/16000/1: 212000 bits/second (encaplen=32,20ms) PCMA/8000/1: 106000 bits/second (encaplen=32,20ms) PCMA/8000/1: 98933 bits/second (encaplen=32,30ms) PCMU/16000/1: 197866 bits/second (encaplen=32,30ms) PCMU/16000/1: 212000 bits/second (encaplen=32,20ms) PCMU/8000/1: 106000 bits/second (encaplen=32,20ms) PCMU/8000/1: 98933 bits/second (encaplen=32,30ms) iLBC/8000/1: 42400 bits/second (encaplen=32,30ms) iLBC/8000/1: 63600 bits/second (encaplen=32,20ms) rtploopback/8000/1: 106000 bits/second (encaplen=32,20ms) rtploopback/8000/1: 98933 bits/second (encaplen=32,30ms)
See also