1 / 50

SIP – protokoly, mechanizmy, komunikace

SIP – protokoly, mechanizmy, komunikace. Miroslav Vozňák VŠB – Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra telekomunikační techniky miroslav.voznak @vsb.cz http://homel.vsb.cz/~voz29. Session Initiation Protocol. j ádro protokolu je specifikováno v

gary-norris
Télécharger la présentation

SIP – protokoly, mechanizmy, komunikace

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIP – protokoly, mechanizmy, komunikace Miroslav Vozňák VŠB – Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra telekomunikační techniky miroslav.voznak@vsb.cz http://homel.vsb.cz/~voz29 KC hotelu Olšanka Praha, 8.11.2006

  2. Session Initiation Protocol jádro protokolu je specifikováno v RFC 2543 , r.99 MMUSIC WGMultiparty Multimedia Session Control RFC 3261 , r. 2002 SIP WG rozšíření SIPu přispívají další WG jako SIPPING, SIMPLE (presence), IPTEL (cpl a trip), SPIRITS, PINT vlastnosti: textově orientovaný podobný HTTP end-to-end

  3. Session Initiation Protocol vlastnosti: signalizační protokol pro vytvoření, modifikaci a ukončení relace popis médií se řeší obvykle se spojením s SDP přenos hlasu a videa přes RTP cílové aplikace jsou hlas, video, instant messaging, presence, hry ... může využívat TCP, UDP, TLS ...

  4. Adresace

  5. Adresace SIP URI (Uniform Resource Identifier) sip:user@host:port;uri-parameters

  6. Prvky SIPu User Agent – UA Client, UA Server UAC je část vysílající žádosti a přijímající odpovědi UAS je část přijímající žádosti a odesílající odpovědi SIP server – Proxy, Registrar, Redirect, Location SIP Proxy – analyzuje zprávy, přeposílá je, přepisuje jejich hlavičky Redirect Server – dá kontakt na alterativní URI Registrar Server – přijímá žádosti REGISTER a aktualizuje LS Location Server – uchovává informace o umístění klientů a případně i dalších SIP Proxy

  7. typy SIP Proxy SIP Proxy může být stateful (uchovává žádosti a odpovědi, zachytí opakování zpráv, detekuje zacyklení, podporuje forking) stateless (pouze přeposílá) Stateful SIP Proxy může být transaction stateful (drží stav žádost – odpověď) call stateful (od Invite až po Bye a 200 OK)

  8. Architektura

  9. Metody • INVITE inicializace spojení nebo změna parametrů • ACK tato zpráva potvrzuje přijetí odpovědi na žádost INVITE. Sestavení relace používá „3-way hand-shaking“ • BYE ukončení spojení • CANCEL zrušení sestavovaného spojení • REGISTER registrace, informace o aktuální IP adrese a portu, na kterém může být uživatel zastižen • OPTIONS je žádost o zaslání schopností (vlastností)

  10. Metody – rozšíření

  11. Odpovědi • 1xx prozatímní odpověď • 200 - 699 konečná odpověď • 2xx úspěch např 200 OK • 3xx přesměrování

  12. Odpovědi • 4xx chyba klienta - uživatel nenalezen • 5xx chyba serveru • 6xx globální chyba

  13. Transakce • Transakce • Požadavek a všechny odpovědi • Starý typ rozlišení – hash To, From,RURI, CSeg • Nově – parametr branch ve Via • z9hG4bK je začátek řetězce do branche pro nový zpúsob určení transakce

  14. Dialog • Dialog • Call-ID, From tag, To tag • CSeg identifikuje transakci v dialogu

  15. Registrace

  16. Registrace • svázání user URI a device URI (From a Contact) • Expires je doba registrace (Expires=0 je zrušení registrace)

  17. Přesměrování

  18. SIP zpráva

  19. SDP v=0 o=ja 987504994 987504994 IN IP4 1.2.3.4 s=Hovor 1 c=IN IP4 1.2.3.4 t=3196493794 3196497394 m=audio 10000 RTP/AVP 0 22 a=rtpmap:0aplication/g711 a=rtpmap:22 aplication/g723.1 SDP v = Version number (ignored by SIP)o = Session Origin used by SIPs = Subjectc = Connection Data (IN =internet, IP4 = IPv4, IP Address)t = Time (ignored by SIP)m = Media (type, port, RTP/AVP Profile)a = Attribute (profile, codec, sampling rate)

  20. INVITE INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 (SDP část) první řádek obsahuje : • název metody : INVITE • Request-URI (pro koho je požadavek, next hope) sip:bob@biloxi.com • SIP version number: SIP/2.0

  21. SIP via INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP proxy.stockholm.se:5060;branch=82.1 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 (SDP část) Via položky: • ukazují cestu, Proxy v cestě vkládají další řádky • odpověď jde stejnou cestou jako žádost • „branch“ umožní detekovat smyčky

  22. Dialog (Call-leg) INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 (SDP část) Dialog – stejné informace během spojení v položkách: • To , From a Call-ID • To a From – specifikuje logickou adresu příjemce a odesílatele • Call-ID – jedinečný identifikátor během jednoho spojení

  23. CSeq INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 (SDP část) CSeq - každá nová žádost inkrementuje CSeq - opakovaná žádost má stejný CSeq - veškeré odpovědi k žádosti mají stejný CSeq

  24. Contact INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 Contact • obsahuje SIP URI pro přímou komunikaci, pokud Proxy nevloží Record-Route, tak můžou jít další transakce přímo • v odpovědi 200 OK je rovněž uveden Contact

  25. Content type, Length INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 Content-Type – jaký je obsah (SDP) Content-Length – jaká je velikost obsahu (bytes), 0 znamená bez obsahuje

  26. Max Forwards INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds Max-Forwards: 30 To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 Max-Forwards • je snižován na Proxy s každým přeposlaným požadavkem • pokud je 0, tak je odesláno 483 Too ManyHops • stateless detekuje smyčky

  27. INVITE a odpověď 200 OK

  28. Označkování • v případě větvení by se dalo těžko identifikovat, kdo odpověděl • UAS přidá do odpovědi „tag“ To: sip:bob@macrosoft.com;tag=a48s • další žádost obsahuje „visačku“ přidanou v To

  29. Směrování odpovědi • žádosti se směrují dle Request URI • odpovědi dle Via

  30. Forking- první 200OK potvrzeno ACK - zbytek dostane 487 Cancelled INVITE

  31. Record Routing- Record route pole přidá SIP Proxy nejen do hlavičky žádosti (metody), ale i do konečné odpovědi- další transakce jdou přes prvky uvedené v recorde route

  32. SIP trapezoid- Outbound Proxy musí najít Proxy, která požadavek obslouží- SIP Proxy obsluhuje jednu nebo více domén- hledáme SIP Proxy obsluhující cílovou doménu statickým mapováním anebo přes DNS (SRV záznam vrátí SIP Proxy)- pokud máme e.164, tak pomůže ENUM, regulární výraz regexp v NAPTR záznamu aplikovaný na ENUM dotaz vrátí SIP URI, z té SIP Proxy zjistí cílovou doménu a přes SRV najde obsluhující SIP Proxy

  33. Call Setup

  34. Ukončení sestaveného spojení - Bye

  35. a sestavujícího se spojení – Cancel- dvě žádosti INVITE a CANCEL startují dvě transakce

  36. SIP a PSTN Interworking

  37. Události - presence Zápis k událostem jako změna stavu presence Uživatel se zapisuje k presenci jiného uživatele Změna stavu vyvolá NOTIFY např Busy na Online SUBCRIBE vytváří dialog a jeho rámci proudí NOTIFY

  38. Subscribe a Notify

  39. Instant Messaging • IM je v SIPu řešeno pomocí MESSAGE • text je v těle zprávy • Požadavek Message nevytváří dialog

  40. NAT • Klient za NATem vkládá privátní IP do signalizace – Via, From, Contact, SDP c-line

  41. NAT • ALG – Application Layer Gateway pracuje společně s NATem a přepisuje informace uvnitř hlaviček

  42. NAT • STUN, TURN, ICE – podpora u klienta • Session Border Controller (SBC) – podpora na straně poskytovatele • SIP Proxy – podpora (RTP Proxy)

  43. Open source řešení SER www.sip-router.org OpenSER www.openser.org Asterisk www.asterisk.org SipXpbx www.sipfoundry.org

  44. Aktivity kolem SIPu v akademickém světě • TERENA • IP Telephonycookbook • http://www.terena.nl/activities/iptel/contents1.html • TF-VVC (Task Force – Voice Video Colaboration): • http://www.terena.nl/activities/tf-vvc/ • TERENA jde napříč všemi NREN Evropy a do jejich aktivit jsou zapojeny instituce i z dalších kontinentů, sdružení je podporováno EU • Zájmy ČR zde hájí CESNET, který sdružuje všechny vysoké školy, univerzity a akademie věd v ČR a je aktivní i v TF-VVC

  45. Aktivity kolem SIPu v akademickém světě • INTERNET2 • Do projektu INERNET2 je zapojeno více než 200 amerických univerzit, které se podílí na vývojí Internetu „zítřka“ s pokročilými aplikacemi. • V rámci INTERNET2 existuje aktivita SIP.EDU • http://www.internet2.edu/sip.edu/ • V SIP.EDU funguje na SIP-URI více než 250 tis. uživatelů. • The ISN Cookbook • http://www.internet2.edu/sip.edu/isn/

  46. Aktivity kolem SIPu v akademickém světě • CESNET • CESNET provozuje síť národního výzkumu a vzdělávání, do které jsou zapojeny všechny vysoké školy a akademie věd. • http://www.cesnet.cz • Jedním z projektů, který v rámci sdružení běží je aktivita IP telefonie, do které je zapojena většina členů sdružení. • http://www.cesnet.cz/iptelefonie • V minulém roce bylo přes VoIP v CESNETU prohovořeno téměř 5 mil. minut. V síti je podporován SIP i H.323, protokolový překlad provádí IP2IP GW a Asterisk. Akademická VoIP síť v ČR je otevřená pro peering a kromě čísel jednotlivých institucí má z rozsahu ČTÚ přidělen přístupový prefix 950 0 .

  47. Aktivity kolem SIPu v akademickém světě • CESNET SIP Proxy • – umožňuje si založit účet a volat přes SIP, číslo je přiděleno z rozsahu 950 0, k dispozici je 100 tis. čísel • autentizace uživatele je provedena přes „eduroam“ (systém ověřování identity mezi univerzitami) • princip eduroam funguje tak, že uživatel má jediný účet vedený ve své domovské síti, který jej opravňuje použít WiFi síť kteréhokoli člena projektu • ověření identity uživatele probíhá přes infrastrukturu RADIUS serverů • požadavky kladené na servery připojovaných organizací vychází z doporučení Terena TF-MOBILITY • http://www.terena.nl/activities/tf-mobility/

  48. děkuji za pozornost dotazy?

More Related