VoIP Voice over IP & IP-Telefoni Lars Christensen & René Truelsen, Dec. 2004
Oversigt over foredrag VoIP I Dag Hvordan står tingene i dag? Netværksstrukturen for VoIP Benyttede VoIP-standarder/protokoller Sætter fokus på SIP Problemer omkring VoIP For og imod
Ulemper / Løsninger Mest udbredte i dag: MSN Skype Ulemper: Kun gratis til andre Skype- og MSN brugere Kan ikke modtage opkald fra alm. telefoner (PSTN) Kører via computer Løsninger: Standardisering af VoIP 2-vejs gateway mellem IP og PSTN Samle digitaliseringen i telefonen I dag: Bl.a. SIP Muligt at ringe mellem IP og PSTN IP-telefoner, VoIP Adaptere og Softphones
PSTN netværk (Traditionel telefoni) Elementer i et 2-delt PSTN netværk: Database services = Opslag af eks. telefonnr., betaling Signalering = Opsætning af et opkald / styring af netværk Bæremedie for samtale = Transport af tale-data Codecs = Voice -> data -> voice encoding/decoding
VoIP netværk Dele i et VoIP netværk: Server (database services etc.) Evt. gateways til PSTN netværk Evt. gateways til lokale telefonsystemer (f.eks. i virksomhed) Ip telefoner
H.323 MGCP = Media Gateway Control Protocol Megaco / H.248 SIP SIP-standarden benytter SIP = Session Initiation Protocol SDP = Session Description Protocol RTP = Real-Time Transport Protocol RTCP = Real-Time Control Protocol
Hvad er SIP? Tekstbaseret protokol ala HTTP og SMTP. Request / Response
Fordele Simpel Ligger i applikationslaget, typisk over UDP Benytter Internet standarder såsom DNS, email-type adressering eks. person@diku.dk eller 35321400@diku.dk Kan også benyttes til multimedie, f.eks. video Intelligens ligger typisk hos klient, med deraf følgende mulighed for nemt at udvikle smarte services Ulemper Problemer med NAT og firewalls DTMF toner er ikke specificeret i standard
SIP Enheder Enheder Klient Proxy / Redirect Server (Database services) Gateway
Klient Klient Registrering hos server Opslag i redirect server eller brug af proxy server når et opkald skal foretages Foretager opkald Indkodning / Afkodning Osv. det meste af funktionaliteten ligger altså i klienten
Server Proxy / Redirect server Database service: Klient registrerer sig hos server ved tilkobling til netværket Klient kan lave lookup af andre klienter (telefonnr. eller SIP-url) Proxy: SIP kommunikation mellem klient og modtager-af-opkald kører via server Redirect: Klient forespørger om modtager-af-opkalds adresse hos server, og kommunikerer derefter direkte med modtager-af-opkald
Gateway Gateway Er bare en SIP klient, der er forbundet til et PSTN eller lokalt telefoni-netværk og oversætter mellem de to netværk
SIP Protokollerne Protokoller SIP: Opkald setup og terminering (Signalering) SDP: Opkald konfiguration (Signalering) RTP: Data overførsel (Bæremedie) RTCP: Feedback på dataoverførsel (Bæremedie feedback)
SIP SIP (Session Initiation Protocol) UDP typisk, port 5060 typisk Kommandoer INVITE: Setup af opkald BYE: Terminering af opkald REGISTER: Registrering hos server Osv.. SIP besked indeholder SDP til konfiguration. ICMP til fejlhåndtering SIP - Eksempel
SDP SDP (Session Description Protocol) Mere et beskedformat end en protokol (<variabel> = <værdi>) Bruges til konfiguration af opkald i SIP besked Elementer i konfigurationen er f.eks.: Medie type (audio, video) Transport protokol (RTP) Medie format (MPEG, etc.) Multicast / Unicast Session start og stop SDP - Eksempel
RTP RTP (Real-time Transport Protocol) Standard protokol til audio/video streaming Samtalen samples i pakker med 20 el. 30ms tale Ligger i applikations laget oven på UDP. Sikrer mere stabilt dataflow Applikations laget ETH IP UDP RTP DATA eth Hovedfunktioner for RTP Rækkefølge Tidsstempel / Timing Indkodnings type (CODEC)
RTCP RTCP (Real-Time Control Protocol) Feedback til klienter på eks. regelmæssig pakketab og manglende båndbredde Op til 5% af RTP data
En SIP samtale Eksempel på et opkald
Problemer - dataflow Problemer under samtale: 1. Jitter Ujævn datastrøm 20ms 20ms 20ms Afsender: Data Data Data Modtager: Data Data Data 2. Pakketab 3. Sikkerhed
Problemer - dataflow 4. Båndbredde LinjeKrav = Pakker Pr Sek x Pakke Størrelse Eksempel: Pakker Pr Sek = 1000ms / 20ms/pakke = 50 pakker Pakke Størrelse = 200 bytes (varierer) x 8bit LinjeKrav = 50 x 200 x 8 = 80 kbps CODECs benyttet til datakomprimering: ITU Standard Kommentar Kbps inkl. RTP Konvertering (ms) G.711 (Ulaw / Alaw) Bedst til høj båndbredde 56 / 64 90 / 100 < 1.00 G.729 8 30 ~ 15.00 G.723.1 Licenseret 5.3 25 ~ 30.00 ilbc Skype. Robust for pakketab 13.3 / 15.3 ~ 15.00
Problemer - dataflow 5. Forsinkelse Acceptabel samtale kræver forsinkelse <150ms Codec konvertering (1-30 ms) Traffic-load på LAN Traffic-load på WAN Afstande Diverse problemer undervejs
For / Imod Plus Meget økonomisk Bedre udnyttelse af (ofte) ubrugt båndbredde Ekstra services: Click to dial Gratis forwarding Uafhængighed af fysisk placering Minus Flere decentrale mellemstationer (routere, firewalls, nat, etc..) QoS krav Linjekapacitet Strøm / Lovkrav Sikkerhed: Internet angreb Misbrug af konto NAT / Firewall problemer