View
212
Download
0
Tags:
Embed Size (px)
Citation preview
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 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]