Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Siptrex Scalable IP Centrex http://www.siptrex.net Elias C. Efstathiou, [email protected] 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:[email protected] – Elias Efstathiou <sip:[email protected]> – 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. Layered Depiction of the Siptrex.net Components 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 Siptrex UdpNetworkCentre Component 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/