Embed
Email

14

Document Sample

Shared by: ajizai
Categories
Tags
Stats
views:
2
posted:
12/18/2011
language:
pages:
3
SIP extension



Introduction

This document is a specification of a SIP (Session Initiation Protocol) extension for the Restlet Framework.

SIP support would allow Restlet applications to do:

• voice and video conferencing

• streaming multimedia distribution

• instant messaging

• presence information

• online games

• call forward and screening

• rich-media services

• contact centers

This project was proposed by NetDev1 and is co-develop by NetDev and Noelios Technologies2.





Requirements



High priority

• [REQ01] Control unicast sessions (two-party)

• [REQ02] Control multicast sessions (multiparty)

• [REQ03] Creation of sessions

• [REQ04] Modification of sessions

• [REQ05] Deletion of sessions

• [REQ06] Modification by changing addresses or ports

• [REQ07] Modification by inviting more participants

• [REQ08] Modification by adding or deleting media streams

• [REQ09] Support SIP proxy mode

• [REQ10] Support SIP UA mode (user agent)

• [REQ11] Support SIP B2BUA (back-to-back user agent)

• [REQ12]





Low priority



Analysis

• SIP is a core element of the larger IMS3 (IP Multimedia Subsystem).

• SIP is heavily inspired by HTTP

• SIP only controls the session, the actual transport of data (voice, video) is typically done via RTP4

(Real-time Transport Protocol)

• SIP Servlets is generally suitable for non-transaction based services and rapid prototyping

• JSLEE SBBs are the equivalent of EJBs for SIP Servlets

• Each agent of a SIP network is identified by a URI (sip:username:password@host:port)

• SIP sessions typically correspond to voice calls







SIP extension 1

ID: 300-restlet | Version: 14 | Date: 12/7/09 12:08:25 PM

• SIP B2BUA are similar to HTTP reverse proxies

SIP elements:

• User agent (UA) : User Agent Client (UAC) or User Agent Server (UAS) roles, during a SIP transaction

• Proxy server

• Registar is a sort of directory server

• Redirect server

• Session border controllers (SBC)

• List of SIP methods5

• List of SIP statuses6

SIP call functions:

• Dial

• Answer

• Reject

• Hold

• Unhold

• Transfer

SIP B2BUA can provide (source: Wikipedia) :

• call management (billing, automatic call disconnection, call transfer, etc.)

• network interworking (perhaps with protocol adaptation)

• hiding of network internals (private addresses, network topology, etc.)





References

• [REF01] Wikipedia - Session Initiation Protocol7

• [REF02] Wikipedia - Session Border Controller8

• [REF03] Wikipedia - Back-to-Back User Agent9 (B2BUA)

• [REF03] Wikipedia - Session Initiation Protocol10 (Java)

• [REF04] IETF - RFC 326111 (SIP)

• [REF05] Restlet #910 - Add a SIP extension12

• [REF06] Blog - Technology and Fun13 (SIP related)

• [REF07] JCP - SIP Servlets 1.114 (JSR 289)

• [REF08] JCP - JAIN SIP 1.215 (JSR 32)

• [REF09] JSLEE - SIP presentation16

• [REF10] SIP Servlet tutorial17

• [REF11] SIP Stone test scenarios18

• [REF12] SIPp test tool19

• [REF13] JAIN SIP reference implementation20

• [REF14] SIP Communicator21 (SIP client written in Java)

• [REF15] SIPdroid22 (SIP client for Android)

...









SIP extension 2

ID: 300-restlet | Version: 14 | Date: 12/7/09 12:08:25 PM

Design



Core Restlet API changes

• Add a Protocol#SIP constant with 5060 as the default port

• Add a Protocol#SIPS constant with 5061 as the default port

Alternative designs

• SIP Servlets API 1.123

• Cipango architecture24

• Mule SIP Transport25





Implementation

...



1. http://www.netdev.co.uk/

2. http://www.noelios.com/

3. http://en.wikipedia.org/wiki/IP_Multimedia_Subsystem

4. http://en.wikipedia.org/wiki/Real-time_Transport_Protocol

5. http://en.wikipedia.org/wiki/List_of_SIP_request_methods

6. http://en.wikipedia.org/wiki/List_of_SIP_response_codes

7. http://en.wikipedia.org/wiki/Session_Initiation_Protocol

8. http://en.wikipedia.org/wiki/Session_Border_Controller

9. http://en.wikipedia.org/wiki/Back-to-back_user_agent

10. http://en.wikipedia.org/wiki/Session_Initiation_Protocol_%28Java%29

11. http://tools.ietf.org/html/rfc3261

12. http://restlet.tigris.org/issues/show_bug.cgi?id=970

13. http://technfun.wordpress.com/category/sip/

14. http://jcp.org/en/jsr/detail?id=289

15. http://www.jcp.org/en/jsr/detail?id=32

16. http://java.sun.com/products/jain/JSLEE-SIPServlet.pdf

17. http://dlc.sun.com/pdf/820-3007/820-3007.pdf

18. http://www.sipstone.org/

19. http://sipp.sourceforge.net/

20. https://jain-sip.dev.java.net/

21. http://sip-communicator.org/

22. http://sipdroid.org/

23. http://www.cipango.org/javadoc/jsr289/

24. http://confluence.cipango.org/display/DOC/Architecture

25. http://www.mulesoft.org/display/SIP/Home









SIP extension 3

ID: 300-restlet | Version: 14 | Date: 12/7/09 12:08:25 PM



Related docs
Other docs by ajizai
NH_Members
Views: 0  |  Downloads: 0
06 Mr. Wu Jun 16012009
Views: 0  |  Downloads: 0
9i CITY OF RAPID CITY
Views: 0  |  Downloads: 0
K Readiness Doc. July 2010
Views: 0  |  Downloads: 0
LookMaNoHands
Views: 0  |  Downloads: 0
97605964
Views: 0  |  Downloads: 0
NBA 2006-07 data
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!