330 likes | 477 Views
IP telefonie. Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová. Verze 2. Obsah. Klasická telefonie Voice over IP IP telefonie Telefonní rozhraní A/D a D/A převody, kodeky Signalizační a transportní protokoly SIP Protokol Asterisk
E N D
IP telefonie Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová Verze 2
Obsah • Klasická telefonie • Voice over IP • IP telefonie • Telefonní rozhraní • A/D a D/A převody, kodeky • Signalizační a transportní protokoly • SIP Protokol • Asterisk • Ostatní VoIP a IP telefonní software
Klasická telefonie • Původní analogová telefonie přenášela hlasovou komunikaci jako analogové signály v rozsahu 300 až 3400Hz. • Začátkem 19. století hovory spojovaly operátorky v telefonních ústřednách. • Automatické telefonní ústředny se začaly nasazovat v období kolem světových válek. Nejdříve elektromechanické (s reléovými voliči) později plně elektronické (procesorově řízené). • Signalizace (např. volba telefonního čísla) se přenáší v hovorovém kanálu (tzv. In-Band). • Tento systém je označován jako POTS (původně Post Office Telephone Service, nyní Plain Old Telephone Service). • S nástupem plně elektronických ústředen přichází standard ISDN (Integrated Services Digital Network), který přenáší hovory digitálně. • Hovor je digitalizován pomocí PCM (Pulse Code Modulation) a telefonní sítí přenášen digitálně. • Signalizace je přenášena odděleně od hovoru ve vyhrazeném komunikačním kanálu. • Digitální telefonní síť nabízí širší okruh služeb než POTS, např. identifikaci volajícího, přesměrování a blokování hovorů, atd. • Veřejná telefonní síť je označována jako PSTN (Public Switched Telephone Network), v Česku někdy označována také jako JTS (Jednotná Telefonní Síť). • K adresaci používá telefonní čísla (standard ITU-T E.164) • Ústředna podnikové telefonní sítě se nazývá PBX (Private Branch Exchange).
Klasická telefonie analogová linka digitální linka TDM POTS telefon TA NTBA PSTN POTS telefon ISDN telefon NTBA analogová PBX digitální PBX
Voice over IP • S rozmachem IP sítí koncem 20. století se začalo uvažovat o přenosu telefonních hovorů pomocí těchto sítí pro snížení nákladů za hovorné. • Začaly se propojovat firemní pobočkové ústředny pomocí hlasových bran, které převádějí analogové nebo digitální linky na IP datagramy. • VoIP vychází z konceptu digitálního přenosu hovoru, především z ISDN. Hlas je digitalizován, pomocí kodeku převeden do UDP datagramu a odeslán IP sítí k protější bráně. Signalizace o zahájení, sestavení a ukončení hovoru je přenášena odděleně signalizačním protokolem. • Přenos hlasu klade na IP sítě vysoké nároky. Pro kvalitní přenos hlasu musí být garantováno: • minimální šířka přenosového pásma – podle požadavků vybraného kodeku • konstantní zpoždění – aby hlas „nekoktal“ • malé zpoždění – do 200ms nepostřehnutelné, nad 500ms nepříjemné
Voice over IP analogová linka digitální linka VoIP POTS telefon TA NTBA PSTN POTS telefon ISDN telefon NTBA analogová PBX digitální PBX Internet
IP telefonie • Pro přenos hlasu používá VoIP protokoly (SIP, H.323, MGCP, IAX) • Nabízí však rozšířené funkce jako jsou konference, hlasové schránky (VoiceMail), hlasovou nabídku (IVR) atd. • Řízení hovorů zabezpečuje centrální prvek (IP PBX, SIP proxy, Soft-switch atd.), ke kterému jsou připojeny hlasové brány a IP telefony. Jedná se o čistě softwarové řešení (ke své funkci nepotřebuje žádný telekomunikační HW). • Nejpoužívanější software pro PBX • Cisco CallManager – Proprietální řešení, Windows • Asterisk – OpenSource řešení, Linux
IP telefonie analogová linka digitální linka VoIP POTS telefon TA NTBA PSTN IP telefon ISDN telefon NTBA IP PBX IP PBX Internet
Telefonní rozhraní • Analogové • FXO (Foreign Exchange Office) • Přijímá telefonní linku (očekává napájení, indikuje vyvěšení a zavěšení) • Na pobočkové ústředně je to port, do kterého se připojují státní linky • V IP telefonii jsou těmito porty vybaveny hlasové brány pro připojení na státní linku • FXS (Foreign Exchange Station) • Generuje linku (poskytuje napájení, signalizuje vyzvánění, generuje oznamovací tón) • Na pobočkové ústředně je to port, do kterého se připojují telefony • V IP telefonii jsou těmito porty vybaveny hlasové brány pro připojení klasických telefonů nebo simulaci státních linek pro telefonní ústřednu • E&M (česky E plus M) • Dříve používané rozhraní a signalizace k propojení PBX • Digitální • ISDN (Integrated Services Digital Network) • B kanál pro přenos hlasu PCM 64 kbit/s a D kanál pro přenos signalizace • Rozhraní • BRI (Basic Rate Interface) • Obsahuje 2 B kanály a D kanál 2B+D • PRI (Primary Rate Interface) • Americká varianta T1 (1,554 Mbit) obsahuje 23 B kanálů a 1 D kanál 23B+1D • Evropská varianta E1 (2,048 Mbit) obsahuje 30 B kanálů a 1 D kanál 30B+1D
Telefonní rozhraní: FXO a FXS PBX FXO port PSTN FXS port státní linka pobočková linka
Telefonní rozhraní: ISDN místní ústředna tel. operátora zákaznický rozbočovač terminace místní smyčky ISDN telefon S T U LE LE NT2 NT1 TE1 klasický telefon terminal adapter R TA
Telefonní rozhraní: ISDN 30B+1D 30*64kbit+64kbit D B B B B B B B B B B B B 2B+D 2*64kbit+16kbit B B B B B B B B B B B B B B D B B B B B B BRI (160kbit) PRI (E1 2048kbit)
VoIP kodeky • G.711 a G.729 • Rozlišení: 8 bitů • Vzorkování: 8 000 vzorků / sekundu • Šířka pásma: 64 000 bit / s • Počet paketů: 50 / s (velikost vzorku 20 ms) • Payload paketu: 1 280 bitů = 160 bajtů
VoIP signalizační protokoly • H.323 • Rodina protokolů pro přenos audio-video relací po paketových sítích, která se začala používat pro VoIP • H.225 (Call Control) řídí sestavení, průběh a ukončení hovorů • H.245 (Media Control) řídí výběr kodeku a sestavení RTP (Realtime Transport Protocol) cesty • Pro komunikaci používá port 1720/tcp • SIP (Session Initiation Protocol) • Novější protokol, který byl definován přímo pro potřeby IP sítí • Protokol je textový, stejně jako např. HTTP • Je definován jako IETF RFC3261 • Pro komunikaci používá port 5060/tcp nebo 5060/udp • SIP je nestavový protokol • IAX • Protokol vznikl jako snaha odstranit nedostatky protokolů H.323 a SIP • Řeší problémy NAT, overheadu při trunkingu a zabezpečení
RTP (Real-time Transport Protocol) • Transportní protokol, který přenáší hlasovou komunikaci (digitalizovaný hlas) • Využívá jej H.323 i SIP • Pro komunikaci používá rozsah portů 16384-32767 UDP • Problémy s NAT – porty jsou vybírány dynamicky signalizačním protokolem • Problém řeší STUN protokol – je ovšem nutné nainstalovat STUN server všude tam, kde je použito NAT • Existuje varianta SRTP, která přenáší hlasovou komunikaci šifrovaně
Signalizační a transportní protokol SIP proxy SIP proxy SIP signalizace IP telefon IP telefon RTP stream
SIP protokol • Protokol nabízí tyto metody: • REGISTER – telefon se registruje k SIP proxy • INVITE – sestavení hovoru • CANCEL – zrušení právě probíhající metody • ACK – potvrzení o sestavení hovoru • BYE – ukončení hovoru • OPTIONS – informace o stavu vzdálené strany • INFO – výměna informací během hovoru • SUBSCRIBE – vyžádání událostí během hovoru • NOTIFY – událost která nastala během hovoru • REFER – přepojení hovoru
SIP protokol • Protokol rozlišuje tyto stavové kódy: • 100: Trying – požadavek byl přijat proxy serverem • 180: Ringing – volaný telefon vyzvání • 181: Forward – přepojení hovoru na jinou linku • 183: Progress – informace o sestavovaném hovoru • 200: OK – požadavek vyřízen (hovor spojený) • 302: Moved – volání bylo přesměrováno • 400: Bad request – chybný požadavek • 401: Unauthorized – volající není autorizován • 404: Not Found – volaný neexistuje • 408: Timeout – volaný neodpovídá • 486: Busy – volaný má obsazeno • 5xx: Server Failure – chyba proxy serveru • 6xx: Global Failure – chyba sítě
SIP protokol 246 123 INVITE: 246@uzlabina.cz volající vytočil linku 246 INVITE: 246@uzlabina.cz ACK: 100 Trying ACK: 180 Ringing volaný telefon vyzvání ACK: 180 Ringing ACK: 200 OK volaný vyvěsil sluchátko ACK: 200 OK Media Session (RTP stream) hovor hovor BYE volaný zavěsil sluchátko BYE ACK: 200 OK ACK: 200 OK
SIP protokol INVITE sip:246@uzlabina.cz SIP/2.0 Via: SIP/2.0/UDP proxy.uzlabina.cz:5600 From: Jan Klepal <sip: 123@uzlabina.cz> To: Radka Mullerova <sip: 246@uzlabina.cz> Call-ID: abdf54ed8a@uzlabina.cz Max-Forwards: 70 CSeq: 1 INVITE Contact: Jan Klepal <sip: 123@uzlabina.cz> Content-Type: application/sdp v=0 o=Jan Klepal 84648468 84648468 IN IP4 uzlabina.cz s=Session SDP c=IN IP4 10.10.2.154 t=0 0 m=audio 16384 RTP/AVP0 a=rtpmap: 8 PCMA/8000 a=rtpmap: 0 PCMU/8000 a=rtpmap: 18 G729/8000
Asterisk • Asterisk je OpenSource IP PBX ústředna • Podporuje protokoly SIP, H.323, IAX, MGCP a SCCP • Poskytuje širokou škálu služeb, např. přepojování hovorů, konference, hlasové schránky, IVR, čekací fronty, parkování hovorů, napojení na databáze atd. • Konfiguruje se pomocí textových konfiguračních souborů nebo webového rozhraní • Jsou podporovány PCI karty s rozhraním FXO, FXS, ISDN BRI a PRI + brány pomocí protokolů SIP, H.323, IAX, MGCP a SCCP • Existují verze pro „embed hardware“ např. OpenWRT
Asterisk • Nejdůležitější konfigurační soubory • modules.conf – moduly které se mají zavést (protokoly, kodeky, aplikace, funkcionalita) • extensions.conf – definice pobočkových linek, volacích filtrů, IVR atd. • sip.conf – konfigurace SIPových bran a IP telefonů • zapata.conf – konfigurace PCI karet • voicemail.conf – konfigurace hlasových schránek
Asterisk: modules.conf [modules] autoload=no noload => chan_oss.so load => res_features.so load => res_musiconhold.so load => chan_sip.so load => app_dial.so load => app_voicemail.so load => codec_alaw.so load => codec_ulaw.so load => codec_adpcm.so load => codec_a_mu.so load => format_pcm.so load => format_pcm_alaw.so
Asterisk: extensions.conf [interni] exten => 123,1,Dial(SIP/jan.klepal,15) exten => 123,2,Voicemail(9123) exten => 123,3,Hangup() exten => 246,1,Dial(SIP/radka.mullerova,15) exten => 246,n,Voicemail(9246) exten => 246,n,Hangup() [statni] exten => _1XX,1,Dial(SIP/sipy) exten => _[2-7]XX.,1,Dial(SIP/sipy) exten => _800.,1,Dial(SIP/sipy) exten => s,1,Congestion() [odchozi-hovory] include => interni include => statni [prichzi-hovory] include => interni
Asterisk: sip.conf [general] disallow=all allow=alaw allow=ulaw allow=g729 register => 271122555@sipy.cz [sipy] type=peer host=sipy.cz context=prichozi-hovory [jan.klepal] type=user host=dynamic pass=heslo context=odchozi-hovory [radka.mullerova] type=user host=dynamic pass=heslo context=odchozi-hovory
IP telefonní systémy • Cisco CallManager (CCM) • Profesionální řešení postavené na Windows 2000 • Vlastní protokol SCCP (Skinny) • Podpora protokolů H.323, MGCP a SIP • Pro: vyzkoušené krabicové řešení, dobrá podpora • Proti: velice drahé řešení – hardware, licence CallManageru a licence za každý telefon • SER (Sip Express Router) • SIP proxy pro poskytovatele • Pro: vynikající škálovatelnost – tisíce hovorů na jeden server • Proti: omezená funkcionalita, podpora pouze protokolu SIP • Ostatní embed zařízení • Většinou založené na Asterisku nebo SERu • Pro: nízká cena oproti CCM, malé PBX = spolehlivé HW zařízení a jednoduchá konfigurace • Proti: většinou hotové řešení, které není možné upravovat
Internetová telefonie • Skype • Volání po Internetu zdarma • Levné volání do PSTN • Používá WideBand kodek • Využívá klienty s veřejnou IP adresou pro hovory klientů „schovaných“ za NAT • SIPY, VOIPEX, VOX.802, VIPHONE atd. • Poskytovatelé „Internetové telefonie“ pomocí protokolů SIP, H.323 nebo IAX • Levné volání do PSTN pomocí IP telefonů (SW i HW) • Výběr ovlivňuje: • Cena – paušál, ceny hovornéno a tarifikace (1+1, 120+60, 60+1 atd.) • Peering – má příslušný operátor peering s vaším poskytovatelem internetu? • Zda operátor poskytuje veřejné telefonní číslo • Doplňkové služby – záznamík hovorů, služby PBX atd. • Podporované kodeky – G.711, G.723, GSM, T38