IP-telefoni

linje

En av de mera "heta" teknikerna som dykt upp under de senaste åren är IP-telefoni.
Den kommer troligen att revolutionera hela telekom-branchen.
Jag har fått möjligheten att delta i ett projekt med ytterligare några studerande vid Chalmers.
Se gärna kurshemsidan för ytterligare detaljer.
Vi skall bygga en IP-telefon från grunden. Den baseras på en NT-maskin och vi skriver applikationen
i C++.

Arbetsgången i grova drag:
1. Skriv en chat-applikation som kommunicerar via TCP.
2. Ta reda på hur sampling, läsning och skrivning från/till ljudkortet fungerar. (skriv ett ekoprogram)
3. Implementera ljudkommunikation via UDP som ett komplement till vårt chat-program. (ca64kbps)
4. Implementera ljudkodningsalgoritm (G.723.1?) för att komma ner i överföringshastighet.
5. Lägga till "silence detection" för att ytterligare spara kpbs.

Resultatet av projektet kommer att redovisas här senare.

linje

Allmänt om IP-telefoni

IP-telefoni, som ofta förväxlas med internettelefoni, är tal i realtid / telefoni paketerad och förmedlad via IP (Internet Protocol) -baserade nätverk. Internettelefoni däremot är telefoni förmedlad över Internet och därmed en delmängd av IP-telefoni.
IP-telefoni sägs ha börjat med att en grupp israeler tog fram programvara för att skicka ljud i realtid via dator. Det är också denna typ av tillämpning som har varit vanligast fram till nu när det börjat dyka upp flera leverantörer av hela system med allt från stand alone IP-telefoner till gateways, gatekeepers och specialiserade routers.

Varför vill man använda sig av IP-telefoni
Det finns flera skäl och en del av dem tas upp här. Man kan tänka sig en modell med två typer av användare: företag och privatpersoner. Dessa grupper av användare har olika förutsättningar och olika krav på sin telefoni. Man kan då dela in telefonin i fyra olika kategorier:
1. företag – företag, 2. företag – privatperson, 3. privatperson – företag, 4. privatperson – privatperson.

Kategori 2 och 3 skiljer sig på så vis att det är olika parter som initierar samtalet.

1. Företag - företag
Ett företag som är lokaliserat med flera kontor på flera olika orter har ett stort behov av internkommunikation. Troligen har man byggt upp en infrastruktur med egna telefonväxlar och fast förhyrda ledningar mellan de olika kontoren. Parallellt med detta har man troligen ett datanät på varje kontor och även här fasta förbindelser mellan kontoren. Nu när tekniken finns kan man spara mycket pengar på att bara hålla sig med ett nät både vad det gäller förbindelser mellan kontoren och det interna fastighetsnätet. Vid nyetableringar minskas kabeldragningen väsentligt om bara ett nät behövs.

2. Företag - privatperson
Företag som lockar nya kunder med telemarketing. Denna form av marknadsföring är ännu inte så utbredd i Sverige men det kommer troligen mer och mer. Företagens personal som sitter och ringer upp personer från en lista har stor nytta av CTI (Computer Telephony Integration). De kan t.ex. få upp listan på sin dator och bara klicka för att ringa upp. Att integrera telefonin med datorn blir betydligt enklare om telefonin redan ligger i datorn.

3. Privatperson - företag
Många företag har en kundtjänst som utnyttjar / vill utnyttja ovan nämnda dator-telefoni-integration. En annan aspekt är att företaget har produktbeskrivningar på sin webb-sida. En presumtiv kund kanske vill veta mer innan han, kanske via e-handel, köper varan. På samma sida finns då en knapp eller länk som kunden bara klickar på för att komma i kontakt med en representant för företaget.

4. Privatperson - privatperson
Det är kanske främst kostnaden för långdistans och utlandssamtal som motiverar IP-telefoni för denna kategori. Det blir då ofta fråga om den tidigare nämnda internet-telefonin. På detta sätt kan man ringa utlandssamtal till väsentligt lägre kostnad, i vissa fall gratis.
 

Vad IP-telefoni är och hur det fungerar
Vanlig telefoni går i vad som ofta kallas PSTN (Public Switched Telephone Network) eller POTS (Plain Old Telephony System). Den var från början helt analog. Analog överföring är dock svårare att överföra utan brus. När signalen förstärks, förstärks också bruset. Med tiden blev modernare kretsar tillgängliga och talet började digitaliseras. Det digitala formatet är mindre känsligt för brus eftersom man vid långa överföringsavstånd istället för att förstärka signalen detekterar etta eller nolla och regenererar den på nytt, och då utan brus.

I dagens PSTN är talsignalen stort sett bara analog fram till första växeln. Där samplas den med 8 kHz och varje sampel kodas med 8 bitar. (Jfr. Nyquist-kriteriet och att större delen av talet är begränsat till under 4 kHz.) Den standard som används för talkodningen är PCM (Pulse Coded Modulation). Denna vanliga kretskopplade telefoni ockuperar hela sin bandbredd, 64 kbit/s, under hela samtalet.

I fallet IP-telefoni börjar talet som analog signal i mikrofonen. Det samplas med lämplig hastighet och kodas enligt en av flera standarder (se tabell)
Standard Kompressions-metod
Bandbredd (kbit/s)
Kvalitet (MOS)
Fördröjning (ms)
G.711 PCM (Pulse Coded Modulation)
64
4,4
0,75
G.726 ADPCM (Adaptive Differential PCM)
32
4,2
1
G.728 LD-CELP (Low Delay Code Exited Linear Predictive)
16
4,2
3-5
G.729 CS-CELP (Conjugate Structure CELP)
8
4,2
10
G.729a CS-ACELP (CS Algebraic CELP)
8
4,2
10
G.723.1 MPMLG
6,3
3,98
30
G.723.1 ACELP
5,3
3,5
30

MOS (Mean Opinion Score) är en siffra som mäts genom att ett urval personer får betygsätta ljudet enligt vissa givna kriterier. Noll är sämst och fem bäst.
Fördröjningen är den algoritmiska fördröjningen som orsakas av att kodningsmetoden analyserar hela block.

Den vanligaste kodningen är baserad på linjär prediktion. Istället för att överföra vågformen tar man hänsyn till hur talorganet är utformat och bygger en modell för detta. Det som då sedan behöver överföras är modellens parametrar och talets sk. pitch. Samma modell finns i mottagaren och med de mottagna parametrarna resp. pitch skapas ett filter som matas med grundton och vitt brus och det ursprungliga talet återskapas. För ett helt system tillkommer utöver den algoritmiska fördröjningen enligt ovanstående tabell en propageringsfördröjning samt fördröjning i routrar mm. En gräns för vilken fördröjning som kan tolereras innan man uppfattar den som störande brukar anges till 200 ms.

Detektering av tystnad
Efter kodning enligt ovan detekteras tystnad. Ett normalt telefonsamtal brukar bestå av ca 50% tystnad, eftersom man inte gärna pratar i mun på varandra. Vid vanlig telefoni upptas hela bandbredden, 64 kbit/s, även vid tystnad men för paketbaserad telefoni finns här mycket bandbredd att spara. Att inte skicka några paket vid tystnad får dock vissa konsekvenser. Normalt är vi vana vid att höra ett visst bakgrundsbrus. Om det nu blir helt tyst kan man tro att förbindelsen har brutits. Därför genereras ett visst "comfort noise" för att vi ska tro att linjen är öppen.

När sedan personen börjar tala uppstår svårigheter med att de första sampeln av talet klipps bort innan paket börjar skickas igen. Denna detektering, VAD (Voice Activation Detection), får bli en kompromiss mellan att skicka onödiga paket och att missa de inledande sampeln.

För att dra nytta av ovanstående måste paketen tidsmärkas. Om H.323 standarden (se nedan) följs används RTP (Real Time Protocol) för denna tidsmärkning.

Paketering
De kodade sampeln ska också paketeras. Om vi använder TCP/IP standarden finns två val för transportprotokoll, TCP (Transmission Control Protocol) och UDP (User Datagram Protocol). TCP ger en pålitlig koppling som är förbindelseorienterad medan UDP ger en opålitlig och förbindelselös koppling. Med opålitlig menas att den inte har inbyggd felkontroll och omsändningar. UDP har dock mindre overhead och i denna realtidstillämpning är det ändå inte intressant med gamla sampel som omsänds. För att undvika för mycket overhead väljs ofta en paketstorlek på ca 570 bytes. Detta kan ställas i relation till en RTP-header på 20 bytes, en UDP-header på 8 bytes samt en IP-header på 24 bytes. Till detta kommer ytterligare en frame-header för det aktuella fysiska nätet.

Valet av 570 bytes är en kompromiss mellan overhead och paketeringsfördröjning. Även andra val av paketstorlek är dock möjliga.

Standarder
Som nämndes ovan finns flera standarder inom området. Den hittills dominerande standarden för IP-telefoni, H.323, är en hel svit av delstandarder och skapades av ITU-T (International Telecommunication Union - Telecommunication).

H.323 protokollstack
Audio
Video
A/V control
Control
Control
Control
Data
G.7xx
H.26x
RTCP
RAS
H.225.0
(Q.931)
H.245
T.120
RTP
UDP
TCP
IP

En standard som uppstått något senare är SIP (Session Initiation Protocol) som är skapad av IETF. Denna senare är mindre omfattande och lättare att implementera.

Gateways och gatekeepers
Eftersom IP-baserade nät och PSTN kommer att samexistera i många år behövs gateways som översätter från paketerat tal till vanligt kretskopplat tal. Dessa gateways måste även klara av att hantera signaleringen från båda näten och översättningen däremellan. H.323 standarden beskriver vidare något som kallas gatekeepers. Det är en utrustning på respektive lokala nät som samordnar telefonin, ser till att bandbredd reserveras och sköter alla uppkopplingar.

Slutsatser
En av de största nackdelarna med IP-telefoni är svårigheten att garantera QoS, dvs. att garantera bandbredd, maximal fördröjning samt variationer av fördröjningen – jitter. Det finns två standarder för att ge garanterad bandbredd, RSVP (ReSerVation Protocol) och DiffServ. Arbetet med dessa är inte helt färdigt och man har svårt att enas om vilken standard som skall gälla.

En annan svårighet är användandet av dynamiska IP-adresser vilket gör att man måste logga in på en server för att bli synlig och kontaktbar för omvärlden.

Vidare måste all den funktionalitet som erbjuds av exempelvis AXE erbjudas av IP-telefoni för att accepteras av den breda allmänheten. Hittills har vi mest sett tillämpningar i formen av programvara för PC. Kommer PC:n att bli vår telefon i framtiden? Nej, vi gillar specialiserade apparater. Den kombinerade tvättmaskinen och torktumlaren har inte blivit någon större försäljningssuccé. Om PC-tillverkarna dessutom inte lägger ner mer energi på att få fram datorer som startar snabbare från kallt tillstånd kan nog de flesta inte tänka sig att först boota upp datorn och vänta i flera minuter innan man ringer sitt samtal.

linje

Referenser:
IP Telephony, Goralski Walter J, McGraw-Hill 1999, ISBN: 0-07-13 5221-x
Voice over Ip Networks, Gonclaves Marcus, McGraw Hill Text 1998, ISBN: 0-07-91 3783-0
Voice Over IP, Black Uyless D, Prentice Hall 1999, ISBN: 0-13-02 2463-4
Internetworking with TCP/IP, Volume 1: Principles.. , Comer Douglas E.
An Advanced 4.4BSD Interprocess Communication Tutorial, Leffler Samuel J  et al:

Intressanta standarder och RFC:er
RFC 2205 RSVP
RFC 2211 Specification of the Controlled-Load Network Element Service
RFC 2212 Specification of Guaranteed Quality of Service
RFC 2543 SIP
RFC 2549 (1 April 1999!!) IP over Avian Carriers with Quality of Service
ITU-Ts : H.323-svit (alternativ site)
IETF:s SIP (RFC2543) .
TCP/IP protokollsvit (RFC 793)

Rekommenderade länkar:
Internet Telephony - An Overview
Computer Telephony Portal
Voice Over IP, The Way It Should Be
MIT Internet Telephony Consortium
Carrier IP World Forum 2000
ISOCs arbetsgrupp på IP-telefoni
ESTI-Tiphon
www.pulver.com
IP xStream
winsock-API

Ytterligare en stor mängd länkar finns på:
IP Telephony Weblinks

Övrigt:
Voice on the Net Europe 2000 is taking place in Stockholm, Sweden June 19-22, 2000 and will
be the largest conference and exhibition taking place to date in Europe for the VON/VoIP Industry.

CSR ACRONYM DEFINITIONS

Min förkortningsordlista

linje
 Till startsidan

Sidan senast uppdaterad: 
Torbjörn Carlberg



Besökare sedan 2000-03-01