De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
Dit document beschrijft bandbreedteberekeningen en -functies voor spraakcodec om bandbreedte aan te passen of te behouden wanneer Voice over IP (VoIP) wordt gebruikt.
Eén van de belangrijkste factoren die u in overweging moet nemen wanneer u pakketspraaknetwerken bouwt, is de juiste capaciteitsplanning. Binnen capaciteitsplanning is de bandbreedteberekening een belangrijke factor om te overwegen wanneer u pakketspraaknetwerken ontwerpt en problemen oplost voor een goede spraakkwaliteit.
Opmerking: Als aanvulling op dit document kunt u de TAC Voice Bandwidth Codec Calculator (alleen geregistreerde klanten) gebruiken. Dit hulpmiddel verstrekt informatie over hoe te om de bandbreedte te berekenen die voor pakketstemvraag wordt vereist.
Deze veronderstellingen van de protocolheader worden gebruikt voor de berekeningen:
40 bytes voor IP (20 bytes) / User Datagram Protocol (UDP) (8 bytes) / Real-Time Transport Protocol (RTP) (12 bytes) kopregels.
Compressed Real-time Protocol (cRTP) reduceert de IP/UDP/RTP-headers tot 2 of 4 bytes (cRTP is niet beschikbaar over Ethernet).
6 bytes voor Multilink Point-to-Point Protocol (MP) of Frame Relay Forum (FRF) 12 Layer 2 (L2)-header.
1 byte voor de end-of-frame markering op MP- en Frame Relay-frames.
18 bytes voor Ethernet L2-headers, die 4 bytes Frame Check Sequence (FCS) of Cyclic Redundancy Check (CRC) bevatten.
Opmerking: Deze tabel bevat alleen berekeningen voor de standaardgrootte van de spraakpayload in Cisco Call Manager- of Cisco IOS®-softwaregateways met H.323. Voor extra berekeningen, die verschillende grootte van de spraakpayload en andere protocollen omvatten, zoals Voice over Frame Relay (VoFR) en Voice over ATM (VoATM), gebruikt u de TAC Voice Bandwidth Codec Calculator (alleen geregistreerde klanten).
Codec-informatie | Bandbreedtecalculaties | ||||||||
---|---|---|---|---|---|---|---|---|---|
Codec- en bitsnelheid (Kbps) | Codec-steekproefgrootte (bytes) | Codec-voorbeeldinterval (ms) | Gemiddelde adviesscore (MOS) | Grootte spraakpayload (bytes) | Grootte spraakpayload (ms) | Pakketten per seconde (PPS) | Bandbreedte MP of FRF.12 (Kbps) | Bandbreedte met cRTP MP of FRF.12 (Kbps) | Bandbreedte Ethernet (Kbps) |
G.711 (64 Kbps) | 80 Bytes | 10 ms | 4.1 | 160 Bytes | 20 ms | 50 | 82,8 Kbps | 67,6 Kbps | 87,2 Kbps |
G.729 (8 Kbps) | 10 Bytes | 10 ms | 3.92 | 20 Bytes | 20 ms | 50 | 26,8 Kbps | 1,6 Kbps | 31,2 Kbps |
G.723,1 (6,3 Kbps) | 24 Bytes | 30 ms | 3.9 | 24 Bytes | 30 ms | 33.3 | 18,9 Kbps | 8,8 Kbps | 21,9 Kbps |
G.723,1 (5,3 Kbps) | 20 Bytes | 30 ms | 3.8 | 20 Bytes | 30 ms | 33.3 | 17,9 Kbps | 7,7 Kbps | 20,8 Kbps |
G.726 (32 Kbps) | 20 Bytes | 5 ms | 3.85 | 80 Bytes | 20 ms | 50 | 50,8 Kbps | 35,6 Kbps | 5,2 Kbps |
G.726 (24 Kbps) | 15 Bytes | 5 ms | 20 ms | 50 | 42,8 Kbps | 27,6 Kbps | 47,2 Kbps | ||
G.728 (16 Kbps) | 10 Bytes | 5 ms | 3.61 | 60 Bytes | 30 ms | 33.3 | 28,5 Kbps | 18,4 Kbps | 31,5 Kbps |
G722_64k (64 Kbps) | 80 Bytes | 10 ms | 4.13 | 160 Bytes | 20 ms | 50 | 82,8 Kbps | 67,6 Kbps | 87,2 Kbps |
ilbc_mode_20 (15,2 Kbps) | 38 Bytes | 20 ms | NVT | 38 Bytes | 20 ms | 50 | 34,0 Kbps | 18,8 Kbps | 38,4 Kbps |
ilbc_mode_30 (13,3 Kbps) | 50 Bytes | 30 ms | NVT | 50 Bytes | 30 ms | 33.3 | 25,867 Kbps | 15,73 Kbps | 28,8 Kbps |
Codec-bitsnelheid (Kbps) | Gebaseerd op de codec, is dit het aantal beetjes per seconde die moeten worden overgebracht om een stemvraag te leveren. (codec bitsnelheid = codec steekproefgrootte/codec steekproefinterval). |
---|---|
Codec-steekproefgrootte (bytes) | Gebaseerd op de codec, is dit het aantal bytes dat door de Digitale Signaalprocessor (DSP) bij elk codec steekproefinterval wordt gevangen. Zo werkt de G.729 coder op voorbeeldintervallen van 10 ms, wat overeenkomt met 10 bytes (80 bits) per sample met een bitsnelheid van 8 Kbps. (codec bitsnelheid = codec steekproefgrootte/codec steekproefinterval). |
Codec-voorbeeldinterval (ms) | Dit is het steekproefinterval waarbij de codec werkt. Zo werkt de G.729 coder op voorbeeldintervallen van 10 ms, wat overeenkomt met 10 bytes (80 bits) per sample met een bitsnelheid van 8 Kbps. (codec bitsnelheid = codec steekproefgrootte/codec steekproefinterval). |
Gemiddelde adviesscore (MOS) | MOS is een systeem dat wordt gebruikt om de spraakkwaliteit van telefoonverbindingen te beoordelen. Met MOS beoordeelt een breed scala aan luisteraars de kwaliteit van een stemmonster op een schaal van 1 (slecht) tot 5 (uitstekend). De scores worden gemiddeld om de MOS voor de codec te leveren. |
Grootte spraakpayload (bytes) | De grootte van de stemlading vertegenwoordigt het aantal bytes (of bits) dat in een pakket is ingevuld. De grootte van de stemlading moet een veelvoud van de codec steekproefgrootte zijn. G.729-pakketten kunnen bijvoorbeeld 10, 20, 30, 40, 50 of 60 bytes aan spraakpayloadgrootte gebruiken. |
Grootte spraakpayload (ms) | De grootte van de stemlading kan ook in termen van de codec steekproeven worden vertegenwoordigd. Een G.729 spraakpayload-grootte van 20 ms (twee 10 ms codec-voorbeelden) vertegenwoordigt bijvoorbeeld een spraakpayload van 20 bytes [(20 bytes *)
|
PS | PPS staat voor het aantal pakketten dat elke seconde moet worden verzonden om de codec bitsnelheid te leveren. Bijvoorbeeld, voor een G.729 vraag met de grootte van de stemlading per pakket van 20 bytes (160 beetjes), moeten 50 pakketten elke seconde worden overgebracht [50 pps = (8 Kbps) / (160 beetjes per pakket)] |
Deze berekeningen worden gebruikt:
Totale pakketgrootte = (L2-header: MP of FRF.12 of Ethernet) + (IP/UDP/RTP-header) + (grootte spraakpayload)
PPS = (codec bitsnelheid) / (grootte spraakpayload)
Bandbreedte = totale pakketgrootte * PPS
De vereiste bandbreedte voor een G.729-oproep (8 Kbps codec-bitsnelheid) met cRTP, MP en de standaard 20 bytes van de spraakpayload is bijvoorbeeld:
Totale pakketgrootte (bytes) = (MP-header van 6 bytes) + ( gecomprimeerde IP/UDP/RTP-header van 2 bytes) + (spraak-payload van 20 bytes) = 28 bytes
Totale pakketgrootte (bits) = (28 bytes) * 8 bits per byte = 224 bits
PPS = (8 Kbps codec bitsnelheid) / (160 bits) = 50 pps
Opmerking: 160 bits = 20 bytes (standaard spraakpayload) * 8 bits per byte
Bandbreedte per aanroep = spraakpakketgrootte (224 bits) * 50 pps = 11,2 Kbps
De grootte van de spraaklading per pakket kan worden geconfigureerd in Cisco Call Manager en Cisco IOS-gateways.
Opmerking: Als de Cisco IOS-gateway in Cisco Call Manager is geconfigureerd als een MGCP-gateway (Media Gateway Control Protocol), wordt alle codec-informatie (codec-type, payloadgrootte, detectie van spraakactiviteit, enzovoort) beheerd door Cisco CallManager.
In Cisco Call Manager kan de grootte van de spraaklading per pakket op systeembrede basis worden geconfigureerd. Deze eigenschap wordt ingesteld in Cisco Call Manager Administration (Service > Service Parameters > select_server > Cisco Call Manager) met deze drie serviceparameters:
PreferredG711Millisecond PacketSize - (standaardinstelling: 20 ms. Beschikbare instellingen: 10, 20 en 30 ms.)
PreferredG729MillisecondPacketSize - (standaardinstelling: 20 ms. Beschikbare instellingen: 10, 20, 30, 40, 50 en 60 ms)
PreferredG723Millisecond PacketSize - (standaardinstelling: 30 ms. Beschikbare instellingen: 30 en 60 ms.)
In Cisco Call Manager wordt de grootte van de spraakpayload geconfigureerd in termen van milliseconden (ms) monsters. Gebaseerd op de codec, brengt deze lijst sommige ms steekproeven aan de daadwerkelijke payloadgrootte in bytes in kaart.
Codec | Grootte spraakpayload (ms) | Grootte spraakpayload (bytes) | Opmerkingen |
---|---|---|---|
G.711 | 20 ms (standaard) | 160 Bytes | Merk op dat de codec bitsnelheid altijd wordt gehandhaafd. Voorbeeld: G.711 codec = [240 bytes * 8(bits/bytes)] / 30 ms = 64 Kbps |
30 ms | 240 Bytes | ||
G.729 | 20 ms (standaard) | 20 Bytes | |
30 ms | 30 Bytes | ||
G.723 | 30 ms (standaard) |
In Cisco IOS-gateways wordt een functie toegevoegd in Cisco IOS-softwarerelease 12.0(5)T waarmee de grootte van de spraakpayload (in bytes) voor VoIP-pakketten kan worden gewijzigd via de CLI. De nieuwe opdrachtsyntaxis volgt:
Cisco-Router(config-dial-peer)#codec g729r8 bytes ? Each codec sample produces 10 bytes of voice payload. Valid sizes are: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230 Any other value within the range will be rounded down to nearest valid size. <10-230> Choose a voice payload size from the list above
Het aantal codec steekproeven per pakket is een andere factor die de bandbreedte en de vertraging van een vraag van VoIP bepaalt. De codec definieert de grootte van het monster, maar het totale aantal in een pakket geplaatste monsters beïnvloedt hoeveel pakketten per seconde worden verzonden.
Wanneer u de grootte van de spraakpayload verhoogt, vermindert de VoIP-bandbreedte en neemt de totale vertraging toe. Dit voorbeeld illustreert dit:
G.729 bellen met een spraakpayloadgrootte van 20 bytes (20 ms): (40 bytes van IP/UDP/RTP-headers + 20 bytes spraak/payload)* 8 bits per byte * 50 pps = 24 Kbps
G.729 gesprek met spraakpayloadgrootte van 40 bytes (40 ms): (40 bytes van IP/UDP/RTP-headers + 40 bytes spraak/payload) * 8 bits per byte * 25 pps = 16 Kbps
Opmerkingen:
- L2-headers worden in deze berekening niet meegenomen.
- De berekeningen tonen aan dat terwijl de payload-grootte wordt verdubbeld, het aantal benodigde pakketten per seconde vervolgens wordt gehalveerd.
- Zoals gedefinieerd in de specificaties van International Telecommunication Union Telecommunication Standardisation Sector (ITU-T) G.114, is de aanbevolen totale vertraging voor spraak 150 ms. Voor een privaat netwerk is 200 ms een redelijk doel en moet 250 ms het maximum zijn.
Met circuit-switched spraaknetwerken gebruiken alle spraakoproepen 64 Kbps vaste-bandbreedte links ongeacht hoeveel van het gesprek spraak is en hoeveel stilte is. Met VoIP-netwerken worden alle gesprekken en stilte gepakketteerd. Met Voice Activity Detection (VAD) kunnen stiltepakketten worden onderdrukt.
In de loop van de tijd en als gemiddelde op een volume van meer dan 24 gesprekken, kan VAD tot een 35 procent bandbreedte-besparing bieden. De besparingen worden niet gerealiseerd op elke individuele spraakoproep, of op een specifieke puntmeting. Voor netwerkontwerp en bandbreedteontwikkeling mag VAD niet in aanmerking worden genomen, met name voor links die minder dan 24 spraakoproepen tegelijk vervoeren. Verschillende functies, zoals muziek in wachtstand en fax, maken VAD ineffectief. Wanneer het netwerk is ontworpen voor de volledige bandbreedte van spraakoproepen, zijn alle besparingen die door VAD worden geleverd beschikbaar voor gegevenstoepassingen.
VAD levert ook Comfort Noise Generation (CNG). Omdat u stilte voor een losgekoppeld gesprek kunt verwarren, biedt CNG lokaal gegenereerde witte ruis zodat de oproep normaal verbonden met beide partijen lijkt. G.729 Bijlage-B en G.723.1 Bijlage-A bevatten een geïntegreerde VAD-functie, maar hebben voor het overige dezelfde functie als G.729 en G.723.1.
In Cisco Call Manager kan VAD worden ingeschakeld (standaard uitgeschakeld) met deze serviceparameters:
SilenceSuppressionSystemWide - Deze parameter selecteert de VAD-instelling voor alle magere eindpunten (bijvoorbeeld Cisco IP-telefoons en slimme gateways)
SilenceSuppressionWith Gateways - Deze parameter selecteert de VAD-instelling voor alle MGCP-gateways. Dit heeft geen effect op H.323 gateways. VAD op H.323 gateways moet op de gateway worden uitgeschakeld.
U kunt deze serviceparameters vinden onder Cisco Call Manager Administration (Service > Service Parameters > select_server > Cisco CallManager).
Alle VoIP-pakketten bestaan uit twee componenten: spraakmonsters en IP/UDP/RTP-headers. Hoewel de spraakvoorbeelden worden gecomprimeerd door de digitale signaalprocessor (DSP) en in grootte kunnen variëren op basis van de gebruikte codec, zijn deze kopregels een constante 40 bytes in lengte. Vergeleken met de 20 bytes van stemsteekproeven in een standaardG.729 vraag, maken deze kopballen omhoog een aanzienlijke hoeveelheid overheadkosten. Met cRTP kunnen deze headers gecomprimeerd worden tot twee of vier bytes. Deze compressie biedt aanzienlijke bandbreedte-besparingen voor VoIP. Een standaard G.729 VoIP-oproep verbruikt bijvoorbeeld 24 Kb zonder cRTP, maar slechts 12 Kb met cRTP ingeschakeld.
Omdat cRTP VoIP-oproepen comprimeert op een link-voor-link basis, moeten beide uiteinden van de IP-link worden geconfigureerd voor cRTP.
In Cisco IOS-softwarereleases 12.0.5T en hoger is cRTP processwitched, waardoor de schaalbaarheid van cRTP-oplossingen aanzienlijk wordt beperkt vanwege CPU-prestaties. De meeste van deze problemen zijn opgelost door verschillende cRTP-prestatieverbeteringen die in Cisco IOS-softwarereleases 12.0.7T tot en met 12.1.2T zijn geïntroduceerd. Dit is een samenvatting van de geschiedenis.
cRTP is proces-switched in Cisco IOS-softwarerelease 12.0.5T en hoger.
In Cisco IOS-softwarerelease 12.0.7T en vervolgens in 12.1.1T wordt ondersteuning voor snelle switching en Cisco Express Forwarding-switching voor cRTP geïntroduceerd.
In Cisco IOS-softwarerelease 12.1.2T worden verbeteringen in de algoritmische prestaties geïntroduceerd.
Wanneer u cRTP naar het snelswitchingpad verplaatst, wordt het aantal RTP-sessies (VoIP-oproepen) dat door VoIP-gateways en tussenliggende routers kan worden verwerkt, aanzienlijk verhoogd.
Aangezien RTP geen afzonderlijke pakketheader heeft, wordt een RTP-stroom (voor cRTP) van een UDP-stroom (cUDP) onderscheiden door het gebruik van heuristiek. De exacte heuristiek die momenteel wordt gebruikt om RTP-pakketten te detecteren voor compressie zijn:
Het bestemmingspoortnummer is gelijk.
Het doelpoortnummer valt binnen het bereik 16384-32767 of 49152-65535.
Het veld RTP-versie is ingesteld op twee.
Het veld RTP-extensie wordt op nul ingesteld.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
2.0 |
27-Sep-2022 |
Artikel bijgewerkt voor technische inhoud.
Artikel bijgewerkt voor titelvereisten, stijlvereisten, randvoorwaarden, SEO, introductie en opmaak. |
1.0 |
09-Nov-2001 |
Eerste vrijgave |