330 likes | 592 Views
SIP@ EduHr usluga multimedijalne komunikacije Davor Jovanović; sip : djovanovic@srce.hr Sveučilišni računski centar (Srce ). Sadržaj. SIP, SDP i RTP Osnove SIP protokola SIP metode i statusni kodovi SIP transakcija i dijalog SIP autentikacija Zaglavlja SIP poruke SIP SIMPLE
E N D
SIP@EduHrusluga multimedijalne komunikacijeDavor Jovanović; sip:djovanovic@srce.hrSveučilišni računski centar (Srce)
Sadržaj • SIP, SDP i RTP • Osnove SIP protokola • SIP metode i statusni kodovi • SIP transakcija i dijalog • SIP autentikacija • Zaglavlja SIP poruke • SIP SIMPLE • Presence (SUBSCRIBE, PUBLISH i NOTIFY metode) • IM (MESSAGE metoda) • Osnove SDP protokola • Osnove RTP protokola
Sadržaj (nastavak) • Usluga SIP@EduHr • Opis i cilj usluge • Adresiranje • Autentikacija • Autorizacija • Funkcionalnosti • Komponente sustava • Arhitektura - SIP infrastruktura Srca • Arhitektura - spoj sa VoIP sustavom kampusa Borongaj • Poslužitelji • Klijenti • Portal
Sadržaj • Dijelovi infrastrukture - detaljnije • Radionica • Buduće funkcionalnosti usluge • Pitanja
SIP (Session Initiation Protocol) • kontrolni protokol aplikacijskog sloja za kreiranje, upravljanje i terminiranje sesije • SIP ≥ VoIP • signalizacijski protokol koji ne može samostalno funkcionirati već se veže na veliki broj drugih protokola (RTP, SDP, DNS, STUN/TURN/ICE…) • zamjena za H.323 protokol • u ljudima čitljivom tekstualnom obliku • baziran na HTTP request/response transakcijskom modelu
SIP (nastavak) • Request - Metode: INVITE, ACK, BYE, CANCEL, OPTIONS, REGISTER, PRACK, SUBSCRIBE, NOTIFY, PUBLISH, INFO, REFER, MESSAGE, UPDATE • Response - Statusni kodovi: • Provisionalresponses: 1xx • npr. 100 Trying - pretraga u tijeku • Finalresponses: 2xx-6xx • npr. 480 TemporarilyUnavailable – pozivani je trenutno nedostupan
SIP (nastavak) • SIP transakcije i dijalog, UAClient i UAServer UA 1 UA 2 INVITE transakcija #1 100 Trying 180 Ringing UAC UAS 200 OK dijalog transakcija #2 ACK RTP BYE transakcija #3 OK UAS UAC
SIP (nastavak) • WWW-Authenticate - autentikacija prema „krajnjem” poslužitelju koji će isporučiti uslugu • Proxy-Authenticate - autentikacija prema Proxy poslužitelju koji će proslijediti SIP zahtjev krajnjoj točki
SIP (nastavak) Record-Route - u SIP zahtjeve ubacuje Proxy poslužitelj kao bi svi budući zahtjevi unutar dijaloga bili usmjeravani kroz Proxy. Call-ID - jedinstveni identifikator grupiranja serije poruka. Mora biti isti za sve SIP zahtjeve i odgovore unutar dijaloga. Cseq - identificira transakcije i njihov poredak. Sastoji se od metode i sequence broja. Contact - sadrži URI na koji UA želi primati SIP zahtjeve. To - specificira AoR (Address-of-record) željenog primatelja SIP zahtjeva. From - specificira AoR (Address-of-record) pokretača SIP zahtjeva. Via - specificira put kojim je SIP zahtjev usmjeravan te put usmjeravanja koji SIP odgovori moraju slijediti.
SIP (nastavak) • SIP SIMPLE (Sessioninitiation protocol for instant messaging and presence leveraging extensions) • Presence • IM • Pagenačin - SIP MESSAGE metoda • Sessionnačin - MSRP protokol (SIP + SDP)
SDP (Session Description Protocol) • primjenjuje se u svrhu najave multimedijalne sjednice, poziva u sjednicu i pregovaranje o parametrima (session profile) sjednice kako bi se svim krajnjim točkama omogućilo da participiraju u sjednici • koristi se u kombinaciji sa SIP, RTP i drugim protokolima • sadrži informacije o formatu, vremenu i pokretaču sjednice, imenu i svrsi sjednice, mediju, protokolima, formatima kodeka te ostale informacije
SDP (nastavak) Owner/Creator- opisuje pokretača sesije i identifikator (korisničko ime, jedinstveni identifikator sesije (NTP timestamp), broj verzije za ovu sesiju (NTP timestamp), tip mreže (Internet), tip adrese (IPv4), mrežna adresa) ConnectionInformation- mrežna adresa za slanje RTP medija. MediaDescription- opisuje vrstu medija (audio/video/application), RTP port (26948), transportni protokol (RTP/AVP) i format (8 - PCMA) . MediaAttribute– atributi su osnovni način proširenja SDP protokola. Atribut rtpmap ima vrijednost 8 PCMA/8000.
RTP (Realtime Transport Protocol) • prijenos audio i video sadržaja u IP mrežama u stvarnom vremenu • za prijenos koristi UDP protokol (isporuka na vrijeme važnija od gubitka paketa) • ne garantira isporuku i na aplikaciji je da na osnovu sequence broja detektira propušteni paket te poduzme odgovarajuću akciju • za npr. potrebe QoS-a ili sinkronizacije višestrukih stream-ova koristi se RTCP protokol (RTP port + 1) • RTP payload može sadržavati i tekst ili DTMF signalizaciju
RTP (nastavak) PT (PayloadType): opus (96) - vrsta tereta. Opus kodek, 96 (payloadtypenumber). Sequencenumber: 22980 - koristi primatelj za detekciju gubitka paketa te redoslijeda paketa. Povećava se sa svakim RTP paketom. Timestamp: 11520 - koristi primatelj za reprodukciju primljenih uzoraka u ispravnim intervalima. Povećava se sa brojem uzoraka u svakom primljenom paketu. Synchronizationsequencenumber: 0x3c899452 - jedinstveno identificira izvor stream-a. SSRC vrijednost ostaje nepromjenjiva kroz cijelu sesiju. Payload: 780ec0622… - teret
Opis i cilj usluge • “Skype-like” usluga koja osobama iz sustava znanosti i visokog obrazovanja (studenti, profesori, zaposlenici,…) omogućavabesplatnu internetsku glasovnu i video komunikaciju, slanje kratkih tekstualnih poruka u stvarnom vremenu te provjeru dostupnosti • cilj je poboljšati razmjenu obrazovnih, znanstvenih i drugih informacija kako između studenata tako i između studenata i djelatnika
Adresiranje • garancija ispravne identifikacije korisnika • adresiranje prati jednoznačnu identifikaciju korisnika (hrEduPersonUniqueID) u sutavu AAI@EduHr u obliku userid@id_ustanove.hr • za uspostavu komunikacije koristi elektronička adresa slična kao i kod elektroničke pošte (npr. "sip:mie212020z@fer.hr")
Adresiranje (nastavak) • za “čitljiviju” identifikaciju pozivatelja Displaynamepolje u From zaglavlju SIP poruke prepisuje se sa LDAP atributima givenName (ime) i sn (prezime) na nivou SIP infrastrukture. • Inicijalni DisplayName • Konačni DisplayName
Autentikacija • AAI@EduHr korisnički račun • elektronički identitet izdan od matične ustanove izsustava AAI@EduHr • koristi se za pristup SIP portalu (npr. u procesu kreiranja SIP korisničkog računa, promjene postavki,…) • SIP@EduHr korisnički račun • automatski se kreira prilikom prvog pristupa portalu SIP usluge • koristi se u autentikacijskom procesu u SIP infrastrukturi • koristi se token umjesto lozike iz sustava AAI@EduHr
Autorizacija • Regularni korisnik • IP <=> IP komunikacija između softverskih klijenta te sa PSTN destinacijama oglašenim u sustavu besplatne telefonije u akademskoj zajednici (CARNet sustav voopIX) • Korisnik sa pravima pozivanja PSTN destinacija • administrator ustanove dodjeljuje nivo prava pozivanja (Hrvatska, GSM, međunarodno,…) sa softverskih klijenta prema IP telefonskoj centrali ustanove • Blokirani korisnik
Funkcionalnosti • uspostava audio-video poziva • paralelno i serijsko grananje (forking) poziva • click-to-dial funkcionalnost • audio konferencijske sobe na nivou SIP infrastrukture • video konferencijski poziv na nivou SIP klijenta • provjera dostupnosti - presence • tekstualne poruke u stvarnom vremenu - instant messaging (+ offline mod rada) • usluga glasovne pošte - voicemail * naravno, i SIP klijent mora podržavati navedene funkcionalnosti
Arhitektura Proxy entitet koji ima zadaću usmjeravanja SIP zahtjeva prema krajnjim točkama. Ponaša se kao UAC ili UAS kada kreira zahtjev za potrebe drugih klijenata. Ima mogućnost izmjene određenih dijelova SIP poruka prije nego li istu proslijedi te mogućnost autorizacije (npr. da li korisnik može napraviti poziv). Voicemail sustav glasovne pošte zadužen za prihvaćanje SIP signalizacije i RTP stream-a u slučaju da korisnik ne odgovori na zahtjev za glasovnom komunikacijom nakon određenog vremenskog intervala, zauzeća ili odbijanja komunikacije. Nakon ostavljanja glasovne poruke sustav isporučuje istu na e-mail adresu korisnika definiranu u sustavu. XCAP entitet koji omogućuje SIP SIMPLE klijentima spremanje kontakt liste te dozvole praćenja prisutnosti. Funkcionira u suradnji sa SIP SIMPLE poslužiteljem kojeg ujedno obavještava i o promjenama u presencerulesdokumentima. SIP SIMPLE klijenti presence dokumente šalju u obliku XML datoteka korištenjem HTTP GET/PUT/DELETE zahtjeva a XCAP poslužitelj ih sprema u bazu. Location lokacijska usluga ima svrhu uparivanja AoR (AddressofRecord) oblika sip:djovanovic@srce.hr sa kontakt adresom oblika sip:djovanovic@10.0.0.4. Lokacijsku uslugu tada koristi/pretražuje proxy poslužitelj kako bi mogao poslati SIP zahtjev prema krajnjem korisniku. Redirect entitet koji zaprima zahtjev i šalje odgovor u obliku liste koja sadrži trenutne lokacije određenog korisnika. Za kreiranje liste pretražuje lokacijsku uslugu koju popunjava Registrar prilikom registracije korisnika. Presence/IM entitet zadužen za uslugu provjere dostupnosti korisnika (presence) te komuniciranje kratkim tekstualnim porukama u stvarnom vremenu (instant messaging). Također, sustav ima funkciju spremanja IM poruka u slučaju nedostupnosti korisnika te isporuku istih kada korisnik ponovo pristupi usluzi. SIP metode koje se koriste u ovu svrhu su SUBSCRIBE/PUBLISH/ NOTIFY te MESSAGE. Media Relay entitet koji se koristiti kao posrednik RTP stream-a između krajnjih točaka kada direktna (end-to-end) RTP komunikacija nije moguća npr. u slučaju NAT problematike, optimizacije toka prometa i sl. RTPProxy ne vrši transkodiranje te ga ne zanima kodek sesije ili tip komunikacije (audio,video). Audio konferencije entitet zadužen za kreiranje audio konferencijskih soba, primanje audio stream-a svakog od korisnika, transkodiranje i miješanje stream-a te slanje stream-a prema svakom od korisnika. Konferencijske sobe su jedinstvene te zaštićene PIN-om. Registrar entitet koji zaprima korisničke zahtjeve za registracijom tj. de-registracijom u cilju mapiranja njihove SIP URI adrese i mrežnih adresa na koje žele da ih se kontaktira. Registrar iz SIP REGISTER metode izvlači informacije o trenutnoj lokaciji korisnika (mrežnu adresu i port te korisničko ime) i sprema te informacije u lokacijski servis. * multidoman; SIP UDP, TCP i TLS
Arhitektura (nastavak) • spoj sa VoIP sustavom kampusa Borongaj
Arhitektura (nastavak) • Poslužitelji • Kamailio (http://www.kamailio.org) • proxy, registrar, redirect, SIMPLE, XCAP,… • TCP, UDP, TLSi SCTP • IPv4 i IPv6 • IMS ekstenzije (P-CSCF, I-CSCF, S-CSCF,…) • > 150 modula • RTPProxy (http://www.rtpproxy.org/) • proxy poslužitelj za RTP tokove • usmjeravanje RTP tokova između IPv6 i IPv4 klijenata, NAT,…
Arhitektura (nastavak) • Poslužitelji • SEMS (http://www.iptel.org/sems/) • medijski poslužitelj za VoIP sustave • sustav govorne pošte i sandučića govorne pošte, konferencija, najava, pred-pozivnih najava,… • Asterisk (http://www.asterisk.org/) • IP PBX sustav, VoIP prenosnik, konferencijski poslužitelj • popis svih funkcionalnosti: http://www.asterisk.org/get-started/features
Arhitektura (nastavak) • Portal usluge • informacije o usluzi • korisničke upute • korisnički dio portala (upravljanje vlastitim postavkama): • kreiranje SIP korisničkog računa • podešavanje serijskog i paralelnog grananja poziva • podešavanje usluge glasovne pošte • kreiranje audio konferencijskih soba • povijest poziva • imenik matične ustanove i ostalih ustanova u usluzi • click-to-dial funkcionalnost • promjena tokena • promjena PSTN tel. broja, email adrese,… => u LDAP-u ustanove
Arhitektura (nastavak) • Portal usluge • administratorski dio portala (upravljanje postavkama korisnika i domene): • autorizacija korisnika • blokiranje korisnika • upravljanje imenikom ustanove
Arhitektura (nastavak) • Klijenti • usluga je otvorena za sve SIP softverske klijente (RFC 3261) • Srce pruža korisničku podršku za: • Jitsi - Windows, Linux, Mac OS X • Zoiper - iOS, Android • Jitsi (https://jitsi.org/) • audio, video, AV konferencije, IM, prisutnost, desktop sharing,… • provisioningfunkcionalnost -konfiguracijska datoteka(http/https) • Zoiper (http://www.zoiper.com) • audio, video • provisioningfunkcionalnost - QR kod
Dijelovi infrastrukture - detaljnije • Prikaz dijelova konfiguracije poslužitelja • Prikaz strukture baze • Location tablica • Subscriber tablica • Tablice korisničkih podataka (aliases, preferences,…) • IM tablica • Presence tablice • Accounting, Missed i CDR tablice • Konferencijske sobe • Portal • Baza
Radionica • Autentikacija i registracija (REGISTER) • Audio-video poziv (INVITE) • Forking (paralelno i serijsko) • Voicemail • Click-to-Dial • VoIP => SIP poziv prema aliasu • Presence (SUBSCRIBE/PUBLISH/NOTIFY) • IM (MESSAGE) • Online • Offline • Konferencijski poziv
Buduće funkcionalnosti usluge • WebRTC, RTCWeb, WebSockets • MSRP vs CUSAX (dual stack SIP i XMPP) • IPv6 • ? Roger - SIP klijent Srca ? • …
Pitanja http://sip.srce.hr sip:helpdesk@srce.hr Hvala