Tekninen

SIP-äänikoodekit selitettynä

Ymmärrä VoIP:ssä käytetyt äänikoodekit, miten ne vaikuttavat puhelun laatuun ja kaistanleveyteen sekä miten ne määritetään SipLinessä parhaiden tulosten saavuttamiseksi.

10 minuutin luku
1

Mikä on koodekki?

Koodekki (kooderi-dekooderi) pakkaa ja purkaa ääntä lähetettäväksi verkon yli. VoIP:ssä koodekki määrittää kompromissin äänenlaadun, kaistanleveyden käytön ja prosessointitehon välillä. Kun soitat SIP-puhelun, molemmat osapuolet neuvottelevat käytettävästä koodekista SIP-signaloinnin SDP (Session Description Protocol) -osan kautta.
Sana "koodekki" tulee sanoista kooderi/dekooderi. Jokainen koodekki käyttää eri algoritmia äänen digitalisoimiseen ja pakkaamiseen.
2

G.711 – Universaali standardi

G.711 on puhelinjärjestelmien laajimmin tukema koodekki. Siinä on kaksi muunnelmaa: PCMA (G.711a, A-laki) jota käytetään pääasiassa Euroopassa, ja PCMU (G.711u, mu-laki) jota käytetään Pohjois-Amerikassa ja Japanissa. G.711 käyttää 64 kbps suuntaansa ja tuottaa laadukasta puheluääntä (8 kHz näytteenottotaajuus, kapeakaista). IP-yleiskulujen kanssa G.711-puhelu kuluttaa noin 87 kbps suuntaansa.
Käytä epävarmoissa tilanteissa G.711a (PCMA). Sitä tukee lähes jokainen VoIP-palveluntarjoaja ja SIP-laite maailmassa. Se on turvallisin valinta yhteentoimivuuden kannalta.
3

Opus – Moderni valinta

Opus on moderni, avoimen lähdekoodin koodekki, joka on suunniteltu internet-audioon. Se on mukautuva, mikä tarkoittaa, että se säätää dynaamisesti bittinopeuttaan verkon olosuhteiden mukaan – niinkin alhaisesta kuin 6 kbps aina 510 kbps asti. Opus tukee laajakaista- ja superlaajakaistaääntä (jopa 48 kHz), tuottaen huomattavasti rikkaamman äänen kuin G.711. Se käsittelee pakettihäviöitä tyylikkäästi sisäänrakennetun eteenpäin suuntautuvan virheenkorjauksen avulla.
Opus on ihanteellinen puheluihin kahden SipLine-käyttäjän välillä tai sellaisten palveluntarjoajien kanssa, jotka sitä tukevat. Se tarjoaa lähes HD-laatuisen äänen murto-osalla G.711:n kaistanleveydestä.
4

Oikean koodekin valitseminen

Valintasi riippuu käyttötapauksestasi. Mahdollisimman hyvän yhteensopivuuden saavuttamiseksi minkä tahansa palveluntarjoajan kanssa käytä G.711a. Parhaan äänenlaadun saavuttamiseksi hyvillä yhteyksillä käytä Opusta. Alhaisen kaistanleveyden skenaarioissa, kuten mobiilitukiasemissa, Opus matalammalla bittinopeudella on paras vaihtoehto. Voit ottaa käyttöön useita koodekkeja SipLinessä ja antaa SDP-neuvottelun valita parhaan automaattisesti.
SipLinessä vedä koodekkeja asettaaksesi niiden prioriteettijärjestyksen. Ensimmäinen luettelossa oleva koodekki tarjotaan ensin neuvottelun aikana. Aseta ensisijainen koodekkisi ylimmäksi.
5

Koodekkineuvottelu SIP:ssä (SDP)

Kun SIP-puhelu aloitetaan, soittaja lähettää INVITE-viestin, joka sisältää SDP-osan, jossa luetellaan tuetut koodekit (tunnistetaan hyötykuormatyyppinumeroiden avulla). Vastaanottaja vastaa omalla SDP:llään ja valitsee yhden tai useamman vastaavan koodekin. Jos yhteistä koodekkia ei löydy, puhelu epäonnistuu virheellä 488 Not Acceptable Here. Tämä neuvottelu tapahtuu automaattisesti – sinun tarvitsee vain varmistaa, että yhteensopivat koodekit ovat käytössä.
Jos puhelut epäonnistuvat välittömästi ilman ääntä, tarkista, että SipLinessä on käytössä vähintään yksi koodekki, jota myös palveluntarjoajasi tukee. Koodekkien yhteensopimattomuus on yleinen syy epäonnistuneisiin puheluihin.
6

Koodekkien määrittäminen SipLinessä

Siirry kohtaan Asetukset > SIP-tilit > [Tilisi] > Koodekit. Näet luettelon käytettävissä olevista koodekeista valintaruutuineen, joilla ne voidaan ottaa käyttöön tai poistaa käytöstä. Vedä koodekkeja asettaaksesi niiden prioriteettijärjestyksen. Useimmille käyttäjille suositeltu kokoonpano on: G.711a (PCMA) ensin, G.711u (PCMU) toisena ja Opus kolmantena. Tämä takaa maksimaalisen yhteensopivuuden ja hyödyntää Opusta sen ollessa saatavilla.
Poista käytöstä koodekit, joita et koskaan käytä. Harvemmat koodekit SDP-tarjouksessa tarkoittavat nopeampaa puhelun muodostusta ja vähemmän tilaa neuvotteluongelmille.

Usein kysytyt kysymykset

G.711 vs Opus – kumpaa minun tulisi käyttää?

G.711 on turvallinen valinta: universaalisti tuettu, ennustettava laatu, ei lisensointiongelmia. Opus on ylivoimainen äänenlaadussa ja kaistanleveyden tehokkuudessa, mutta kaikki palveluntarjoajat eivät vielä tue sitä. Puheluihin perinteisiin puhelinlinjoihin (PSTN) käytetään lähes aina G.711:ää. Softphone-puheluihin tai moderneilla VoIP-alustoilla Opus tarjoaa huomattavasti paremman laadun.

Kuinka paljon kaistanleveyttä kukin koodekki käyttää?

Sisältäen IP/UDP/RTP-yleiskulut: G.711 käyttää noin 87 kbps suuntaansa. Opus oletus-VoIP-asetuksellaan käyttää noin 30–40 kbps suuntaansa, vaikka se voi olla niinkin alhainen kuin 10 kbps tai niinkin korkea kuin 128 kbps kokoonpanosta riippuen. Opus-koodekki on erityisen tehokas, koska se mukautuu reaaliaikaisesti käytettävissä olevaan kaistanleveyteen.

Voinko käyttää useita koodekkeja samanaikaisesti?

Voit ottaa käyttöön useita koodekkeja, mutta vain yhtä käytetään per puhelu. SDP-neuvottelun aikana molemmat osapuolet sopivat yhdestä koodekista. Useiden koodekkien käytössä pitäminen lisää mahdollisuutta löytää yhteensopiva koodekki toisen osapuolen kanssa. SipLine yrittää koodekkeja asettamassasi prioriteettijärjestyksessä.

Entä G.729?

G.729 on matalan kaistanleveyden koodekki (8 kbps), joka oli historiallisesti suosittu kaistanleveyden säästämiseksi. Se oli kuitenkin patentoitu (patentit vanhentuivat vuonna 2017), ja monet modernit järjestelmät ovat siirtyneet Opukseen, joka tarjoaa paremman laadun vastaavilla tai alhaisemmilla bittinopeuksilla. SipLine tukee G.729:ää taaksepäin yhteensopivuuden vuoksi, mutta Opusta suositellaan uusiin käyttöönottoihin, jotka tarvitsevat matalaa kaistanleveyttä.

Miksi puheluni epäonnistuvat 488-virheellä?

488 Not Acceptable Here -vastaus tarkoittaa, että etäosapuoli ei löytänyt yhteensopivaa koodekkia SipLine-kokoonpanosi kanssa. Ota käyttöön G.711a (PCMA) – se on universaaleimmin tuettu koodekki. Jos sinulla oli käytössä vain Opus ja palveluntarjoaja ei sitä tue, puhelut epäonnistuvat tällä virheellä.

Vaikuttaako koodekki viiveeseen?

Kyllä, hieman. G.711:llä on erittäin alhainen käsittelyviive, koska se suorittaa minimaalista pakkausta. Opus tuo mukanaan pienen koodausviiveen (tyypillisesti 20–40 ms), mutta kompensoi paremmalla pakettihäviönsietokyvyllä. Käytännössä koodekin osuus kokonaisviiveeseen on pieni verrattuna verkon viiveeseen. Sekä G.711 että Opus ovat hyvin reaaliaikaisen keskustelun hyväksyttävissä rajoissa.

Aiheeseen liittyvät oppaat

Valmiina aloittamaan?

Lataa SipLine ilmaiseksi ja seuraa tätä opasta.