120 likes | 226 Views
Siptrex Scalable IP Centrex. http://www.siptrex.net Elias C. Efstathiou , efstath@aueb.gr Joint work with Rob Dupuis , Usman Arshad and Alejandro Flores at Department of Computer Science, University College London, 2001. Siptrex.net Motivations. VoIP maturity Codec standardisation
E N D
SiptrexScalable IP Centrex http://www.siptrex.net Elias C. Efstathiou, efstath@aueb.gr Joint work with Rob Dupuis, Usman Arshad and Alejandro Flores at Department of Computer Science, University College London, 2001.
Siptrex.net Motivations • VoIP maturity • Codec standardisation • Converged carriers • Popularity of service outsourcing • ASP model • Centrex services
Siptrex.net Overview • Platform for IP telephony services • Distributed • Scalable • Fault tolerant • Enabling technology • Session Initiation Protocol (SIP) • Java API for Integrated Networks (JAIN)
Siptrex.net Objectives • To utilise commodity components • Standard PCs running Windows / Linux • Cheap commodity Ethernet infrastructure • To design and implement a scalable architecture • Load balanced • Fault tolerant • “Hot Pluggable” • Versatile
Siptrex.net Objectives (cont’d) • To provide a Java API for service development • Low level API for fine grained control • Higher level API for rapid service deployment • To develop telephony services • Traditional • Innovative
SIP – RFC 2543 • Text-based signaling protocol (it does not care about things like RTP and it does lot more than just VoIP). • Similar to HTTP. May also use UDP as transport. • Defines the SIP URL notion: • sip:efstath@aueb.gr • Elias Efstathiou <sip:efstath@aueb.gr> • Only one SIP URL per person? What about private numbers? • SIP Messages = SIP-Requests | SIP-Responses
JAIN SIP API • “Standard” Java Interfaces to SIP. • Protocol-level API. • SIP transaction-oriented (not call-oriented). • The Siptrex stack implemented most of it. • Lies between the stack and apps such as SIP servers and UAs. • Nice way to look at SIP. Streamlines things - especially the headers. • The Siptrex stack reuses the NIST SIP Parser • Current JAIN SIP version has design flaws. Siptrex solved several.
Siptrex.net Call API • Our own “higher-level” interface. • The Siptrex UA uses it. • Call-oriented API, similar to JTAPI and JAIN SIP Lite. • Lies between JAIN SIP API and the Siptrex User Agent. • Makes it easier to construct JAIN SIP Messages. • Makes it easier to use services. • Core notions: CallProvider, CallListener. • Defines a CallProvider state model and a call state model. • Siptrex Call API implementation uses JMF for RTP.
SIP User Agent (UA) Application Siptrex Call API UA registration Siptrex Call API implementation JAIN SIP API Siptrex JAIN SIP implementation Siptrex Stack MessageCentre Load Balancing Component Siptrex UdpNetworkCentre Layered Depiction of the Siptrex.net Components
Siptrex.net 2001 PBX Services • Siptrex.net 2001 supports: • Two-party calls (call, talk, hang-up) • Call waiting • Call hold/unhold • Presence information (through a buddy-list) • Siptrex.net 2002 will support: • Call Transfer • Conference Calls • Call Pickup • Call Forwarding
Siptrex.net Issues • Forking made the stack a bit more complicated. • Load balancing affects basic operation? • Hotmail-like road-warrior applet-usage scenario unrealistic? • Gateway to the PSTN: • Use Cisco’s SIP Gateway? • Support SIP-to-SIP intra-domain and inter-domain calls, support PSTN-to-SIP calls, support SIP-to-PSTN calls. • Logging and Billing. • Scalability, Voice QoS and Security?
Thank You – Useful Links • www.siptrex.net • www.cs.columbia.edu/~hgs/sip/ • www.dynamicsoft.com • www.ubiquity.net • www.sipcenter.com • www.sipforum.org • www.vovida.org/vocal/