Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 1 Advanced services with SIP.

23
Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 1 Advanced services with SIP
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    212
  • download

    0

Transcript of Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 1 Advanced services with SIP.

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 1

Advanced services with SIP

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 2

Index

• What is a service?• What do we need to implement a

service?• Exemplary services– Call forwarding– Buddy list management

• How to introduce new services in an existing VoIP network?

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 3

What is meant by service?

• In this context, applications of communications that go beyond simple one-to-one voice calls– Call forwarding– Conference call– Messenger– ... and any other you might yet invent!

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 4

To develop a new SIP-based service, you need...

A good idea

A designSome programming work

A way to introduce the code into the SIP devices

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 5

To develop a new SIP-based service, you need...

• A good idea• A design

– The functionality of your service– The architecture of your service

• Some programming work– The logic of your application– SIP only solves the session control!

• Maybe some SIP extensions– SIP does not cover everything!

• A way to introduce your code into the SIP devices

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 6

SIP Device?

• There are several entities where a service can run– Caller– Callee– SIP server

• Proxy• Relocation Server• Registrar

– New server, special for the service• Existing servers do not cover everything

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 7

SIP extensions revisited

• Introduced to implement new services– SIP is extensible!– H.323 tried to foresee everything

• INFO mid-call signaling• COMET preconditions met• PRACK provisional reliable responses ACK• SUBSCRIBE/NOTIFY/MESSAGE instant messaging• REFER call re-direction• UPDATE update call state

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 8

Introducing new services (I)

• How to bring new application logic in an existing VoIP network?– Operator: • Bring out a new software release for your

client and hope that everybody will download it• Deploy the new proxy software network-

wide– Ineffective– Interworking issues

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 9

Introducing new services (II)

• How to bring new application logic in an existing VoIP network?– User: Patch your client at home

– Works only for you– Interworking issues

– Sometimes, there is no other way than substituting the application• E.g., to go from MS-DOS to WinXP

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 10

Introducing new services (III)

• There has to be a way to introduce new functionality– Securely,– Easily,– And in a controlled way

• This is what we are talking about!• Remember: A SIP entity ignores what it does not

understand!– Simplifies interworking – Easier to introduce new functionality

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 11

Services implemented by extensions

New methods and headers– Proxy servers - simply treat unknown methods as an

OPTION request, unless there is a Proxy-Require header.

– User Agents return:405 Method Not Allowed if the method is

recognized, but not supported500 Bad Request if it does not recognize the

method420 Bad Extension if the UAS does not

support the requested feature– All standardized SIP extensions must document how

the extension interacts with elements that don’t understand this extension

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 12

Services implemented by extensions

Extensions should not extend the scope of SIP (it’s not suitable to make an extension to handle HTTP functionality - HTTP exists already)

– Goal is to keep SIP simple and manageable

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 13

4 ways to introduce new functionality

Based on the way we introduce services to the web

• Call Processing Language (CPL)• SIP Common Gateway Interface (CGI)• Servlets• Voice XML• There are more...

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 14

Let’s try to design a service

• Buddy list management– Every user has a list of its buddies (friends)– Server keeps database with all lists– Users register at server and become “online”:

Event– Buddies are informed (through a Notify)

because they subscribed to the service

• Buddies can now chat

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 15

Messenger scenario (I)

Watcher ([email protected])

Buddy ([email protected])

Proxy/Presence server ([email protected])

“Tell me about Bob”

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 16

Messenger scenario (II)

Watcher ([email protected])

Buddy ([email protected])

Proxy/Presence server ([email protected])

“I am online under the [email protected]

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 17

Messenger scenario (III)

Watcher ([email protected])

Buddy ([email protected])

Proxy/Presence server ([email protected])

“Bob just went online [email protected]

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 18

Messenger scenario (IV)

Watcher ([email protected])

Buddy ([email protected])

Proxy/Presence server ([email protected])

“Hi Bob. Do you want to marry me?”

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 19

What you have to do

• In groups of 2-3 people, write down:– Call flow– A draft of the most relevant message content

• The service will be implemented:– In the caller (?)– In the proxy– In the callee

• You got 15-20 min.• I'm here to help...

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 20

Now let's check on the board...

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 21

Home exercise

• Call forwarding– If the callee does not answer at a certain

address after x seconds, send the call to a voicemail server (voice mailbox)

• Users have registered all their SIP addresses at the server– Also the voicemail server's– Obviate the database queries

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 22

Call forwarding scenario

Caller ([email protected])

Callee ([email protected])

Proxy or Redirect ([email protected])

Voicemail Server([email protected])

Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 23

What you have to do

• Each one write down:– Call flow– A draft of the most relevant message

content

• Send it to me by next Friday 22 January: [email protected]