Principy telefonní signalizace SIP



Podobné dokumenty
Michal Vávra FI MUNI

Principy signalizace SIP

SIP Session Initiation Protocol

Teorie a praxe IP telefonie 2. dvoudenní odborný seminář Hotel Olšanka, 8. a 9. listopadu 2006 SIGNALIZACE SIP

2N EasyRoute UMTS datová a hlasová brána

Schéma elektronické pošty

Rodina protokolů TCP/IP, verze 2.7. Část 11: VOIP, IP telefonie

xphonet - tester telefonních sítí

Modern Technology of Internet

Rodina protokolů TCP/IP, verze 2.6. Část 11: VOIP, IP telefonie

Počítačové sítě II. 18. World Wide Web, HTTP Miroslav Spousta,

Analýza komunikace při realizaci VoIP spojení

BI-AWD. Administrace Webového a Databázového serveru Virtualizace HTTP serveru

HTTP protokol. HTTP protokol - úvod. Zpracoval : Petr Novotný novotny0@students.zcu.cz

Počítačové sítě II 17. WWW, HTTP. Miroslav Spousta, 2005

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták


Studium protokolu Session Decription Protocol. Jaroslav Vilč

IP telephony security overview

ZADÁNÍ BAKALÁŘSKÉ PRÁCE

Multimediální přenosy. IP telefonie.

Semestrální práce 37MK

JSON API pro zjišťování cen MtG karet

HTTP protokol. Zpracoval : Petr Novotný

Voice over IP - přehled protokolů a praktické zkušenosti

Platební systém XPAY [

Obsah. 1. Charakteristika a historie protokolu 2. Architektura protokolu 3. Bezpečnostní otázky 4. Konfigurace SIP na Cisco směrovačích

Webové služby. Martin Sochor

Avaya IP Office Jak ji nakonfigurovat s 2N Helios IP

VoIP podvody. poznatky o podvodných hovorech do zahraničí a ochraně proti nim s využitím SIP firewallu a SIP antifraudu

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

2N Helios IP HTTP API

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ IMPLEMENTACE PROTOKOLU SIP DIPLOMOVÁ PRÁCE FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ

Bezpečnostní problémy VoIP a jejich řešení

Technická specifikace SMS Platby

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Kerio Operator. Kerio Technologies

Avaya IP Office R8.0 - Jak ji nakonfigurovat s 2N Helios IP

VoIP ústředna s protokolem SIP

SIGNALIZAČNÍ A KOMUNIKAČNÍ PROTOKOLY V IP TELEFONII

}w!"#$%&'()+,-./012345<ya

Dokumentace ke službě SMS Connect.

Bezpečnostní prvky IP telefonů Cisco se signalizací SIP a jejich kompatibilita

2N VoiceBlue Next. 2N VoiceBlue Next & Asterisk. Propojení pomocí SIP trunku. Quick guide. Version 2.00

Rychlý postup k nastavení VoIP gatewaye ASUS VP100

IP telefon Cisco SPA303g (SIP) Stručný průvodce instalací a konfigurací

2N VoiceBlue Next. 2N VoiceBlue Next & Siemens HiPath (series 3000) Propojení pomocí SIP trunku. Quick guide. Version 1.

HTTP: Hyper Text Transfer Protocol

RESTful API TAMZ 1. Cvičení 11

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

BI-VWS. Vybrané partie z administrace Webového Serveru Autetizace, autorizace a kontrola přístupu Apache httpd

Telefonní přístroj. Instalační a konfigurační příručka

TRANSPORTY výbušnin (TranV)

Jak nastavit PBX 2N OMEGA LITE SERIES pro SIP TRUNK FAYN a hybrdní vnitřní pobočky

Manuál pro nastavení telefonu Siemens C450 IP

RTP Real Time protocol

Site - Zapich. Varianta 1

SSL Secure Sockets Layer

}w!"#$%&'()+,-./012345<ya

IP adaptér Linksys SPA-1001 (SIP) Stručný průvodce instalací a konfigurací

Podpora technologie ENUM v

Testy softwarových VoIP klient

Nastavení telefonu Motorola V300

VoIP telefon Gigaset A580IP

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

PRINCIP HLASOVÉ KOMUNIKACE V IP SÍTÍCH A JEJÍ BEZPEČNOST

Nastavení telefonu Samsung S5220 Star 3

Bezpečnost provozu VoIP

Domácí VoIP ústředna s připojením do GSM sítí

Elektronická pošta. elementární služba, výchozí pro některé další jedna z prvních síťových služeb vůbec. základní principy popisují

WWW technologie. HTTP protokol

TFTP Trivial File Transfer Protocol

vysokých škol na projektu IP telefonie

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Rodina protokol TCP/IP, verze 2.2. ást 11: VOIP, IP telefonie

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Demo: Multipath TCP. 5. října 2013

Nastavení telefonu LG Shine (KE970)

Manuál IP telefon SIP-T9CM

Počítačové sítě Systém pro přenos souborů protokol FTP

Nastavení telefonu Windows Phone 8S by HTC

Nastavení routeru Linksys RT31P2

Nastavení tabletu Samsung P605 Galaxy Note 10.1 (2014 edition)

Realizace a zabezpečení telefonního centra s využitím technologie Voice Over Internet Protocol. Implementation of secure VOIP call center

Počítačové sítě Internetový systém elektronické pošty

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

ENUM v telefonní síti Ostravské univerzity. M. Dvořák

Grandstream GXV3175v2 - Jak jej nastavit s 2N Helios IP?

Služba World Wide Web

Funkční specifikace ABOKWS. Aplikační rozhraní elektronického bankovnictví ABO-K. Verze 0.5

1. Obsah. Publikováno:

Komunikace systémů s ostatními multimediálními sítěmi

Nastavení pro Windows,Linux a Mac


GP webpay: Správa objednávek, Web Services

Nastavení telefonu Samsung S5610

Transkript:

Principy telefonní signalizace SIP Teorie a praxe IP telefonie Skymia s.r.o. Petr Hruška petr.hruska@skymia.cz 6.12.2012

Historie protokolu SIP 1996 první pracovní verze 1999 schváleno RFC 2543 2002 schváleno RFC 3261

Standardy základ je v RFC 3261 další rozšíření v RFC 3262, 3263, 3264, 3265, 3361, 3581, 3856,... stovky stránek specifikací RFC 5411:A Hitchhiker s Guide to the Session Initiation Protocol (SIP) (Stopařův průvodce po SIPu )

Co SIP dovede? Všechno co se týká signalizace, zejména: dohledání IP telefonu na internetu podle,,čísla navázání víc hovorů jedním voláním, tzv. větvení

Jak SIP vypadá? INVITE sip:petr@b.cz SIP/2.0 From: "Jana"<sip:jana@a.cz>;tag=Hxfergs To: "Petr"<sip:petr@b.cz> Via: SIP/2.0/UDP 10.0.0.1:5060; branch=z9hg4bkx Call-ID: 8e727e0b@10.27.105.76... Zprávy se přenáší bud jako UDP pakety, nebo přes TCP. Standardní port je 5060.

Jak vypadá HTTP? GET /path/file.html HTTP/1.1 Host: www.host1.com:80 srovnejte INVITE sip:jana@a.cz SIP/2.0

Požadavky a odpovědi Požadavek začíná vždy metodou, například INVITE pro navázání hovorů, nebo BYE pro jejich ukončení. Odpověd obsahuje číselný kód pro stroje a popis pro lidi.

SIP URI SIPové adresy typu sip:hudba@nic.cz SIPová adresa = SIP URI obdoba telefonního čísla dáte-li někomu svoji SIPovou adresu, může vám zavolat

Transakce

Terminologie Koncové zařízení z hlediska protokolu SIP je User Agent (UA). V rámci transakce (požadavek odpověd ) hraje UA bud roli klienta (UAC), nebo roli serveru (UAS). UA může hrát více roĺı zároveň. Mezilehlá zařízení jsou SIP Proxy. Slouží k přeposílání a směrování zpráv. Jejich úloha je přibližně obdoba úlohy routeru v IP komunikaci.

Příklady odpovědí 100 Trying provizorní odpověd, potvrzení přijetí 180 Ringing volaný telefon vyzvání 200 OK kladné vyřízení požadavku 404 Not Found volané číslo neexistuje 603 Declined odmítnuto uživatelem

Dialog dialog je technický termín o něco širší pojem než hovor začíná s vyzváneněním končí když nikdo nezvedne telefon, nebo UAC potvrdí konec hovoru

Metoda BYE ukončení hovoru

Ukončení hovoru

Co musí UA vědět pro zavěšení? kontakt protistrany petr@4.4.4.4 seznam mezilehlých routerů 2.2.2.2, 3.3.3.3 ID dialogu tři náhodně vygenerované řetězce: Call-ID, From tag, To tag pořadové číslo požadavku CSeq Pokud tohle (a pár dalších nedůležitostí) o sobě UA navzájem vědí, říkáme, že navázaly dialog. S těmito informacemi již lze zkonstruovat požadavek BYE.

BYE BYE sip:petr@4.4.4.4 SIP/2.0 Max-Forwards: 70 From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz>;tag=bflm Call-ID: 5b063520 User-Agent: YV3/1.0.3 Via: SIP/2.0/UDP 1.1.1.1:5060;rport;br... Route: <sip:2.2.2.2;lr=on> Route: <sip:3.3.3.3;lr=on> Contact: <sip:jana@1.1.1.1> Content-Length: 0 CSeq: 13309 BYE

Hlavičky Route

Loose routing Route: <sip:2.2.2.2;lr=on> Route: <sip:3.3.3.3;lr=on> každý SIP Proxy napřed odstraní první položku nenajde-li tam sebe, tak někdo nedodržel RFC3261 zpráva je přeposlána na první položku zbývajícího seznamu je-li seznam prázdný, je zpráva přeposlána na Request URI

Request URI BYE sip:jana@4.4.4.4 SIP/2.0 URI z prvního řádku význam se mění podle metody, obecně je to adresát požadavku zprávy v dialogu mají v RURI kontakt protistrany použije se, když dojdou hlavičky Route

From a To From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz>;tag=bflm kdyby první zavěsil Petr, byl by ve From místo Jany From tag je zkopírovaný z INVITE To tag je vygenerovaný na straně volaného při zpracování INVITE nic jiného než tagy se nepoužívá!

Přeposílání

Přeposílání

Kdy končí hovor? praktická otázka důležitá pro billing zprávy se přeposílají řádově po sekundách může se ztratit požadavek i odpověd neexistuje jasná odpověd lze definovat jako okamžik odeslání BYE (okamžik zavěšení) v praxi to určuje brána do PSTN

Via Via slouží ke směrování odpovědi

Via BYE sip:petr@4.4.4.4 SIP/2.0 From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz>;tag=bflm Via: SIP/2.0/UDP 1.1.1.1:5060;branch=z9hG4bKx Call-ID: 5b063520...

Via BYE sip:petr@4.4.4.4 SIP/2.0 From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz>;tag=bflm Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bKz Via: SIP/2.0/UDP 2.2.2.2:5060;branch=z9hG4bKy Via: SIP/2.0/UDP 1.1.1.1:5060;branch=z9hG4bKx Call-ID: 5b063520...

Via SIP/2.0 200 OK From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz>;tag=bflm Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bKz Via: SIP/2.0/UDP 2.2.2.2:5060;branch=z9hG4bKy Via: SIP/2.0/UDP 1.1.1.1:5060;branch=z9hG4bKx Call-ID: 5b063520...

Metoda INVITE

Požadavek s metodou INVITE

Odmítnutí hovoru

INVITE INVITE sip:petr@b.cz SIP/2.0 From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz> Call-ID: 5b063520 CSeq: 13308 INVITE Contact: <sip:jana@1.1.1.1> Max-Forwards: 70 Via: SIP/2.0/UDP 1.1.1.1:5060;rport;br... Allow: INFO,PRACK,INVITE,ACK,OPTIONS,BYE,CANCEL User-Agent: YV3/1.0.3 Supported: 100rel Content-Length: 400 Content-Type: application/sdp

100 Trying

INVITE sip:petr@b.cz SIP/2.0 From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz> Contact: jana@1.1.1.1 Record-Route: <sip:2.2.2.2;lr=on> Via: SIP/2.0/UDP 2.2.2.2:5060;branch=z9hG4bKy Via: SIP/2.0/UDP 1.1.1.1:5060;branch=z9hG4bKx Call-ID: 5b063520... SIP Proxy 2.2.2.2 není zodpovědný za b.cz, takže zjistí IP adresu pro b.cz a přepošle požadavek na 3.3.3.3.

INVITE sip:petr@4.4.4.4 SIP/2.0 From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz> Contact: jana@1.1.1.1 Record-Route: <sip:3.3.3.3;lr=on> Record-Route: <sip:2.2.2.2;lr=on> Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bKz Via: SIP/2.0/UDP 2.2.2.2:5060;branch=z9hG4bKy... SIP Proxy 3.3.3.3 je zodpovědný za b.cz, takže zná IP adresu UA petr@b.cz. Přepíše Request-URI a přepošle požadavek na 4.4.4.4.

Record-Route SIP/2.0 200 OK From: "Jana"<sip:jana@a.cz>;tag=psvz To: "Petr"<sip:petr@b.cz>;tag=bflm Contact: petr@4.4.4.4 Record-Route: <sip:3.3.3.3;lr=on> Record-Route: <sip:2.2.2.2;lr=on> Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bKz... Hlavičky Record-Route se zkopírují do odpovědi úplně stejně jako Via. Narozdíl od Via ale projdou k volanému nepozměněné.

Média

SIPový lichoběžník

SDP Content-Length: 400 Content-Type: application/sdp délka a formát dat za hlavičkami zprávy SDP = Session Description Protocol RFC 2327, upřesnění pro SIP v RFC 3264

INVITE sip:291914320@nic.cz SIP/2.0 To: "291914320"<sip:291914320@nic.cz> Accept: application/dtmf-relay,application/sdp,text/plain,application/sip User-Agent: YV3/1.0.3 Via: SIP/2.0/UDP 10.27.105.76:5060;rport;branch=z9hG4bK46d759a5 From: "phru8648"<sip:phru8648@nic.cz>;tag=4e128660 Allow: UPDATE,INFO,PRACK,MESSAGE,REFER,NOTIFY,INVITE,ACK,OPTIONS,BYE,CANCEL Allow-Events: talk,hold,refer Call-ID: 8e727e0b-3bad3895-464c929d-c2c257db@10.27.105.76 Max-Forwards: 70 Contact: <sip:phru8648@10.27.105.76:5060> Session-Expires: 1800 Content-Length: 400 Content-Type: application/sdp Supported: timer,100rel,join,tdialog,replaces,norefersub,histinfo CSeq: 32437 INVITE v=0 o=ipr1b240ef4fd 13756244 13756244 IN IP4 1.1.1.1 s=c=in IP4 1.1.1.1 t=0 0 m=audio 8010 RTP/AVP 0 8 104 2 105 18 4 101 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:104 G726-32/8000 a=rtpmap:2 G721/8000 a=rtpmap:105 G726-40/8000 a=rtpmap:18 G729/8000 a=rtpmap:4 G723/8000 a=rtpmap:101 telephone-event/8000 a=ptime:20 a=fmtp:101 0-16 a=fmtp:4 ptime=30;bitrate=6.3

Formát SDP v=0 o=ipr1b240ef4fd 13756244 13756244 IN IP4 1.1.1.1 s=- v= verze protokolu o= originator (kdo to založil) s= jméno session, doporučeno s=-

Formát SDP c=in IP4 1.1.1.1 t=0 0 c= adresa (connection information) t= čas, začátek a konec session (pro SIP je doporučeno používat t=0 0)

Formát SDP m=audio 8010 RTP/AVP 0 8 104 2 105 18 4 101 m= media stream media port transport fmt-list začíná sekci s parametry streamu v SDP nabídce může být více streamů, klient může libovolný z nich odmítnout v SDP odpovědi musí být přesně stejný počet m= sekcí, odmítnutí se provede nastavením portu na hodnotu 0

Formát SDP m=audio 8010 RTP/AVP 0 8 104 2 105 18 4 101 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap určuje parametry rtp kodeku pořadí kodeků ve fmt-list odpovídá preferenci, nevíce preferovaný kodek je na začátku protistrana si může vybrat libovolný kodek a dokonce může během hovoru kodeky libovolně střídat

SDP odpověd musí obsahovat alespoň jeden nabízený kodek může obsahovat i kodeky, které nebyly nabídnuty opět platí, že protistrana si jeden z kodeků vybere každým směrem může být použitý jiný kodek

Registrace

Proč registrace? SIP Proxy zodpovědný za doménu musí mít kontakty na telefony jednotlivých uživatelů registrace umožňuje telefonům nastavit, změnit, nebo zjistit seznam kontaktů pro SIP URI uživatele

Požadavek na registraci REGISTER sip:b.cz SIP/2.0 To: "Petr"<sip:petr@b.cz> From: "Petr"<sip:petr@b.cz>;tag=484d Call-ID: Acu1Ey1m Max-Forwards: 70 Expires: 3600 CSeq: 2855 REGISTER Contact: <sip:petr@4.4.4.4:5060> Via: SIP/2.0/UDP 4.4.4.4:5060;branch=z9hG4bKx Content-Length: 0

To To: "Petr"<sip:petr@b.cz> terminologie: Address Of Record (AOR) pro koho se nastavují kontakty doména by musí být,,validní vzhledem k prvnímu řádku

From From: "Petr"<sip:petr@b.cz>;tag=4sxh SIPová adresa osoby odpovědné za registraci registrace může být provedena třetí stranou tag pro metodu REGISTER nemá využití

Contact Contact: <sip:petr@4.4.4.4:5060> seznam oddělený čárkami bylo-li už SIP URI na serveru registrováno, je upravena doba jeho platnosti nebylo-li registrováno, je přidáno kontakty nemusí být jen SIP URI, ale třeba i http apod. může obsahovat libovolný počet kontaktů (i nulový)

Úspěšná registrace

Neúspěšná registrace

Autorizace server by měl při prvním pokusu vygenerovat náhodný řetězec, tzv. nonce klient nonce použije pro zahashování hesla a tento hash vloží do zprávy v druhém pokusu odposlechnutí komunikace nelze použít pro podvržení registrace, protože útočník dostane jiný nonce

Příklad odpovědi SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP 4.4.4.4:5060;branch=z9hG4bKx From: "Petr"<sip:petr@b.cz>;tag=4sxh To: "Petr"<sip:petr@b.cz>;tag=defz Call-ID: Acu1Ey1m CSeq: 2855 REGISTER WWW-Authenticate: Digest realm="b.cz", nonce="472756e67" Server: Kamailio Content-Length: 0

Autorizace Authorization: Digest username="petr", realm="b.cz", nonce="472756e67", uri="sip:b.cz", response= "febdf1317568b7a914afb4a71d0fa703", algorithm=md5

Odpověd na REGISTER SIP/2.0 200 OK Via: SIP/2.0/UDP 4.4.4.4:5060;branch=z9hG4bKx From: "Petr"<sip:petr@b.cz>;tag=484d To: "Petr"<sip:petr@b.cz>;tag=4sdc Call-ID: Acu1Ey1m CSeq: 2856 REGISTER Contact: <sip:petr@4.4.4.4:5060>;expires=120 Server: Kamailio Content-Length: 0

Autorizace při INVITE

Děkuji za pozornost petr.hruska@skymia.cz