Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia...

14
1 Johan Garcia Datakommunikation II Karlstads Universitet Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne, Columbia University. Johan Garcia Datakommunikation II Karlstads Universitet Datavetenskap 2 Motivation for VoIP

Transcript of Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia...

Page 1: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

1

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

1

Voice over IP / SIP

Johan Garcia

Baserat på mater ial från Henning Schulzr inne, Columbia University.

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

2

Motivation for VoIP

Page 2: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

2

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

3

Internet Telephony as PBX replacement

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

4

Switching Costs

Page 3: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

3

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

5

Internet Telephony Modes

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

6

SIPSIP = Session Initiation Protocol

• Registrering / Lokalisering av användaremhaemail-liknandeadress

• Startasession över Internet

• Förhandlaom sessionsparameter från den uppringande (caller) till de uppringda (callees). (Param. kan ändras under sessionen)

• Avslutasession

• Bygger påanvändandet av proxy servrar

• Tillhandahåller personmobilitet => annan terminal, sammaidentifierare. Jmf terminalmobilitet, servicemobilitet

Page 4: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

4

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

7

SIP applikationer

• Etablera voice-over-IP samtal, videosamtal, osv

• Sättaupp multimediakonferanser

• Textmeddelanden (chatt,IM)

• Event notification (subscribe/notify);

• Tillgänglighet, närvaro (presence)

• Nya tjänster

• Samverkan med PSTN (telenätet)

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

8

SIP adresser

Exempel:

• Adress-of-record (identifierar en anv) :– sip:[email protected]

• Direkta adresser FQDN (identifierar en terminal)– sip:[email protected]

Utöver sip finns ocksåsips- adresser: TLS över TCP

(jmf http och https)

Page 5: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

5

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

9

SIP meddelanden

• Påminner om HTTP 1.1

• Requests och responses är I stort lika,första raden skiljer

• Kan innehålla en body, som vanligtvis är en sessionsbeskrivning

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

10

SIP meddelande

Page 6: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

6

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

11

Metoder

MESSAGE transport of an instant message body

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

12

Media negotiation

Page 7: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

7

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

13

ResultatkoderInformational

Server Failure

Request FailureRedirectionSuccess

Global Failure

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

14

SIP proxy mode

Page 8: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

8

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

15

SIP redirect mode

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

16

För att hittaanvändare

Page 9: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

9

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

17

DNS SRV

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

18

SIP request forking

Page 10: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

10

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

19

SIP sequential request forking

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

20

Page 11: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

11

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

21

Comparison with H.323• H.323 is another signaling

protocol for real-time, interactive

• H.323 is a complete, vertically integrated suite of protocols for multimedia conferencing: signaling, registration, admission control, transport and codecs.

• SIP is a single component. Works with RTP, but does not mandate it. Can be combined with other protocols and services.

• H.323 comes from the ITU (telephony).

• SIP comes from IETF: Borrows much of its concepts from HTTP. SIP has a Web flavor, whereas H.323 has a telephony flavor.

• SIP uses the KISS principle: Keep it simple stupid.

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

22

Service CreationMany possible approaches to create services:

• Functionality in calling UA

• Functionality in called UA

• Functionality in server:– CPL Call processing Language

– SIP CGI

– SIP Servlets

– JAIN & Parlay

– Server specific programming

Page 12: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

12

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

23

CPL exempel<?xml ver si on=“ 1. 0” ?>

<! DOCTYPE cpl PUBLI C “ - / / I ETF/ / DTD RFCxxxx CPL 1. 0/ / EN” “ cpl . dt d” >

<cpl >

<i ncomi ng>

<adr ess- swi t ch f i el d=“ or i gi n” subf i el d=“ user ” >

<adr ess i s=“ svar mor ” >

<r ej ect st at us=“ r ej ect ” >

r eason=“ Kan i nt e pr at a j ust nu” / >

</ adr ess>

</ adr ess- swi t ch>

</ i ncomi ng>

</ cpl >

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

24

CPL taggar• cpl st ar t at cpl scr i pt

• i ncomi ng i nkommande samt al

• out goi ng ut gående samt al

• l ocat i on speci f i cer ar URL

• l ookup Skapar act i on f r ån på l ookupr esul t at

• r emove- l ocat i on Tar bor URL f r ån mängd

• pr oxy pr oxi ar samt al t i l l nya l ocat i ons

• r edi r ect r edi r ect ar samt al t i l l nya l ocat i ons

• r ej ect r ej ect ar samt al

Page 13: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

13

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

25

CPL taggar (forts)• mai l sänder emai l t i l l speci f er ad adr ess

• l og ser ver n l oggar speci f er ad i nf or mat i on

• subact i on def i ni er ar subact i on ( subr ut i n)

• sub anr opar subr ut i n

• adr ess- swi t ch val ber oende av adr ess

• st r i ng- swi t ch val ber oende av st r äng

• t i me- swi t ch val ber oende av t i d

• pr i or i t y- swi t ch val ber oende på pr i or i t y- header n

• anci l l ar y f ör f r amt i da ut ökni ngar

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

26

Serverspecifik programmeringVi kommer att användaSER servern, och ändradess

konfigureringsscript för att skapaen ny tjänst.

Exempel påkommandon:exec_msg St ar t a ext er nt pr ogr am, ski cka header i st di n

exec_dset St ar t a ext er n pr ogr am, ski cka ur i i s t di n och

skr i v över den med st dout

i f ( ur i =~” 020123456” ) { }

l et ar ef t er mat chni ng i ur i : n

sl _send_r epl y ( “ 302” , ” Moved t empor ar i l y” )

ski ckar angi vet svar ( t i l l s t åndsl öst )

Page 14: Voice over IP / SIP - · PDF file1 K a rl s td Un iv e Datakommunikation II Johan Garcia Datavetenskap 1 Voice over IP / SIP Johan Garcia Baserat på material från Henning Schulzrinne,

14

Johan GarciaDatakommunikation IIKarlstads UniversitetDatavetenskap

27

Lab 3 tjänstekonstruktion• Ni skall implementeraen SIP-tjänst som är tänkt att samverkamed

telefonnätet via en PSTN gateway.• Två telefonnummer skall hanteras speciellt

– 020100100 Numret till kundtjänst som kunder ringer– 020100200 Numret som personal ringer för att bli vidarekopplde

till kunder som ringt tidigare

• När kund ringer skall Contact: fältet sparas ner i en köfil• När en personal ringer skall vidarekoppling ske till den kund som

ligger överst i köfilen• Sålunda, tvåprogram/script skall skapas:

– Läs från stdin, spara ner uri från Contact: rad till köfil– Läsöversta raden från köfil, ta bort den och skicka den till stdout