Taking Control of VoIP in the Data Center OS-03 Martin J Steinmann Member of the Board
[email protected]
Defining the Vision - VoIP Should Be Like Email
VoIP
Email and Web Corporate Directories & Databases
IP Web page w/ VoIP & presence Mobile convergence w/ presence
• • • • 2
Proprietary hardware Mostly on the LAN Feature islands As expensive as TDM
• • • •
Corporate app w/ VoIP & presence SIP phones w/ presence
SW products on any device Voice, video, IM & presence Integrated, Internet solution Part of the Infrastructure
The Dirty Little Secret of SIP
Hard to see from the outside -> SIP goes in, SIP comes out … B2BUA: The Phone thinks it talks to a Phone
Features Features SIP
SIP
Vendor B PBX
Vendor A PBX
SIP
SIP
B2BUA
3
SIP Channel
B2BUA
Architecture Matters
SIP Proxy: Distributed Application Router Allows for complex multi-party call flows without Pixie Dust ….. a real signaling infrastructure
Features
Standard SIP Proxy
App Servers
TCP / UDP / TLS 4
Standard SIP Proxy
The Bottom Line
• If we want to get to a distributed and interoperable infrastructure, we have to settle on a SIP systems based on application routing • We have simply built the better architecture that is in line with the SIP standard • And it provides better voice quality
5
Deployment Example
sipX HA Call Control Server
Load Balance & Fail Over
sipX Media & Config Server
5,000 Polycom Phones
6
Cisco PSTN GWs
Softphones
Why Media does not go through the Proxy
Better Voice Quality
LAN / WAN sip:
[email protected]
sip:
[email protected]
Proxy / Registrar Server Head Quarters
Registration / SIP Signaling Media (RTP) Flow 7
¾ ¾ Unlimited Unlimited number number of of calls calls ¾ ¾ Codec Codec negotiation negotiation is is between between end end points points ¾ ¾ Supports Supports all all media media ¾ ¾ HA HA fail-over fail-over works works without without disconnecting disconnecting the the call call
Distributed Architecture
Postgres Server
(T)FTP Server
LDAP Interface
CSV Import
SOAP Interface
Configuration Server
HTTP/S Admin Portal
XML RPC API (T)FTP
Registry / Redirect Server
Presence Server
LAN / WAN
SIP
SIP
Forking Proxy Server
SIP(S) SIP SIP(S)
Authorization Proxy Server
(S)RTP
SIP SIP
Status Server HTTP/S
Media Server (Voicemail & Auto-Attendant)
(S)RTP
Conference Server
Call Park Server
B2BUA
(S)RTP
ACD (Call Center) Server 8
Voicemail Portal
High-Availability Configuration
Configuration Server
Register
sipX-1
9 9 One One Large Large System System 9 9 Load Load Balancing Balancing 9 9 Full Full Proxy Proxy // Registrar Registrar Redundancy Redundancy 9 9 Error Error Conditions Conditions for for CDR CDR Collection Collection 9 9 Not Not aa cluster cluster 9
Replication
sipX-2
Load Balancing DNS Server
CDR DB
CDR Data Collection & Processing
Configuration Server
sipX-1
Replication A single call can produce a lot of Call State Events
Authorization Proxy Server Forking Proxy Server
9 9 Performance Performance Optimized Optimized CDR CDR Data Data Collection Collection & & Processing Processing 9 9 Supports Supports HA HA Config. Config. 9 9 All All Data Data in in DB DB 9 9 Offline Offline CDR CDR Processing Processing 10
CSE DB
sipX-2 Authorization Proxy Server Forking Proxy Server
Call Resolver CDR DB
CSE DB
sipX Configuration Server
Postgres Server
(T)FTP Server
LDAP Interface
CSV Import
SOAP Interface
Configuration Server
HTTP/S Admin Portal
XML RPC API (T)FTP
HTTP
Load Profiles & Firmware upgrade 11
Configure sipX Components locally or remote
Plug & Play Managed Phones
Polycom
Snom
Grandstream
Cisco
12
Adding a new User & Phone 1. Enter MAC Address and Choose Phone Model
2. Create User
3. Assign User to Phone LDAP Interface
CSV Import
SOAP Interface
Configuration Server XML RPC API
13
¾ ¾ Centralized Centralized plug plug & & play play management management ¾ ¾ All All phone phone parameters parameters configurable configurable in in Config Config Server Server ¾ ¾ No No need need for for the the phone’s phone’s config interface config interface ¾ ¾ Default Default parameters parameters generate generate working working profile profile ¾ ¾ All All phone phone config config stored stored and and backed backed up up centrally centrally
4. Profile auto-generated w/ correct default parameter
(T)FTP
Adding a Gateway and Route 1. Enter MAC & IP Address and Choose Gateway Model
14
¾ ¾ First First Gateways Gateways supported supported will will be be Audiocodes Audiocodes & & Patton Patton ¾ ¾ Centralized Centralized plug plug & & play play management management ¾ ¾ All All gateway gateway parameters parameters configurable configurable in in Config Config Server Server ¾ ¾ No No need need for for the the gateways’s gateways’s config config interface interface ¾ ¾ Default Default parameters parameters generate generate working working profile profile ¾ ¾ All All gateway gateway config config stored stored and and backed up centrally backed up centrally
2. Create Dialing Rule and add Gateway
LDAP Interface
CSV Import
SOAP Interface
Configuration Server XML RPC API
3. Profile auto-generated w/ correct default parameter
(T)FTP
And I forgot to talk about Features…
• •
• • • •
• •
• • • • • • • • • • • • • • • • • • • •
• • • • • • • •
• • • • • •
15
Core Calling Features * Transfer (consultative & blind) * Call coverage * Call hold / retrieve * Consultation hold * Music on Hold for IETF standards compliant phones (release 3.6) * Uploadable music file * 3-way conference * Call pickup (global and directed call pickup) * Call park & retrieve * Hunt groups * SIP URI dialing * CLID (Calling Line Identification) * CNIP (Calling party Name Identification Presentation) * CLIP (Call Line Identification Presentation) * CLIR (Call Line Identification Restriction) (release 3.6) * Per gateway CLIP manipulation (release 3.6) * Call waiting / retrieve * Do not Disturb (DnD) * Forward on busy, no answer, do not disturb * Multiple line appearances * Multiple calls per line * Multiple station appearance * Outbound call blocking * Click-to-dial (Windows XP) * Redial * Call history * Auto off-hook / ring down * Incoming only [edit] Voice Quality * Peer-to-peer media routing for best quality (media not routed through the sipX server) * Unmatched voice quality with lowest delay and jitter * Support for any codec supported by the phone (including video) * Support for Polycom HD Voice * Codec negotiation (no transcoding required) [edit] User Management * Numeric or alpha-numeric User ID * User PIN management (UI or TUI) * Aliasing facility (numeric and alpha-numeric aliases) * Extension and alias uniqueness assurance * Granular per user permissions * Call permissions: o 900 Dialing o International Dialing o Long Distance Dialing o Mobile Dialing o Local Dialing o Toll Free Dialing o Forward Calls External * System permissions: o User has voicemail inbox o User listed in auto-attendant directory o User can record system prompts o User has superuser access o User allowed to change PIN from TUI * Custom permissions (release 3.6) * Supervisor permission for groups (e.g. Call Center supervisor) * SIP password management for security * User groups with group properties * Per user call forwarding (follow me) o To local extension, PSTN number, or SIP address o Parallel or serial ring o Allows definition of ring time before trying next number o Allows several forwarding destinations o Follow-me configuration using user portal * Extension pool with automatic assignment * Per user Caller ID (CLID) assignment * Per user Caller ID blocking [edit] Dial Plan * Easy to use GUI based dial plan manipulation * Rules based least cost routing * Automatic gateway redundancy and failover * Specific E911 routing * Permission based rules * Prefix manipulation * Dialplan templating for international dial plans (release 3.6) * Built-in support for U.S., German, Swiss, and Polish local dial plans (release 3.6) (Any other local dial plan can be added as a plugin) * Specify internal extension length * ISN dialing based in ITAD numbers. See freenum.org (release 3.8) * Redirector plugins - any imaginable dial rule can be added as a plugin (release 3.8) [edit] PSTN Trunking * Unlimited number of PSTN gateways and trunk lines * Supports any SIP compliant gateway (e.g. Cisco, Audiocodes, Mediatrix, Vegastream, Patton, etc.) * Gateways can be in any location * Gateway selection per dialing rule * DID * Local DID per gateway (release 3.6) * DNIS * CLIP Management (release 3.6) o User CLIP o Gateway default CLIP o Prefix stripping / appending * Per gateway CLIR (release 3.6) * Automatic Route Selection (ARS) * Least-cost routing (LCR) * Automatic failover if unavailable * Automatic failover if busy * FAX support [edit] SIP Trunking * SIP call origination & termination * Branch office routing * Proxy to proxy interconnect using ACLs * Least-cost-routing (LCR) * Mixing of PSTN trunks with SIP trunks * TLS support for secure signaling (release 3.8) * Route header for flexible call routing through an SBC (release 3.8) * B2BUA as a low cost option for NAT traversal (release 3.8) (our aim is to support the SIP Forum SIPConnect standard) [edit] Analog Lines (FXS) * Supports any SIP compliant FXS gateway * FAX support * Analog cordless phone support * Plug & play management of FXS gateways from Grandstream and Cisco [edit] Performance * Unlimited number of simultaneous calls * 54,000 BHCC, 100,000 BHCC redundant * Up to 10,000 users * Automatic time distribution of re-registration and subscription events [edit] High Availability * Optionally fully redundant call control system * Based in DNS SRV (no cluster required) * Load balance under normal operating conditions * Geographic dispersion of redundant systems * Real-time synchronization of state information * Reports on load distribution [edit] Call Detail Records collection * Call State Events (CSE) collected for all signaling activity * Processing of CSEs into CDRs * All data stored in a database at all times * Supports redundant call control * Call Detail Record reporting (release 3.8) [edit] Security * All outbound calls authenticated through Authentication Proxy * Secure user password management * DoS attack prevention * HTTPS secure Web access * TLS bassed signaling for SIP trunks (release 3.8) [edit] System Administration Features * Browser based configuration and management * LDAP integration (release 3.6) * SOAP Web Services interface * CSV import of user and device data * Integrated backup & restore * Scheduled backups * Diagnostics o Display active registrations o Display job status o Status of services o Snapshot logs for debugging o Logging (customizable log levels, message log per service) * Domain Aliasing (release 3.6) * Support for DNS SRV * Automatic restart after power failure [edit] Plug & Play Device Management * Plug & play management of phones * Auto-generation of phone config profile * Auto-pickup of profile by phone * Centralized management of all phone parameters * Centralized backup and restore of all phone config * Auto-generation of lines by assigning users to devices * Device group management & properties * Firmware upgrade management [edit] Voicemail Subsystem * Integrated voicemail system * Number of voicemal boxes only limited by disk size * Browser based user portal * MWI * User configurable distribution lists * Manage Notifications: o Email notification of new voicemail messages o Forwarding of message as .wav file o Supports several parallel notifications * Manage folders: Folders for message organization * Manage greetings: Multiple customizable greetings * Operator escape from anywhere * Remote voicemail access * Unlimited number of inboxes * Up to 50 virtual media server ports per server * Message store only limited by disk size * Auto-removal of deleted messages * Daily report on disk usage sent to admin [edit] Auto Attendant Features * Unlimited number of auto-attendants * Customizable IVR menus with VXML * Dial by extension and name * Night and holiday service * Special auto-attendant * Transfer on invalid response * Nested auto-attendants (multi-level) * Fully customizable actions: o Operator o Dial by Name o Repeat Prompt o Voicemail login o Disconnect o Auto-Attendant o Goto Extension o Deposit Voicemail * Uploadable custom prompts * Configurable DTMF handling [edit] Hunt Groups * Unlimited number of hunt groups * Serial and parallel forking * Configurable ring time [edit] Call Park Server * Unlimited number of park orbits * Music on park * Uploadable music file * Configurable call retrieve code * Configurable call retrieve timeout * Automatic park timeout (release 3.6) * Configurable park escape key (release 3.6) * Allow multiple calls on one orbit [edit] Call Center Server (ACD) (not available yet in open source) * Supports several ACD servers * ACD server collocated or on a different server hardware * Several queues per server * Several lines per queue * Support trunk lines (many calls per line) or single call per line * Overflow queues * Configurable call routing scheme per queue: o Circular o Linear o Longest idle * Agent barge in * Agent presence monitor using presence server * Separate welcome and queue audio * Call termination tone or audio * Configurable answer mode * Configurable maximum ring delay * Configurable maximum queue length * Configurable maximum wait time until overflow condition * Unlimited number of agents per queue * Statistics: o Agent statistics o Call statistics o Queue statistics * Supervisor authorization for agent monitoring [edit] sipX Managed Devices * Any SIP compatible phone works with sipX. The following are plug & play managed devices: * Polycom SoundPoint IP 301, 430, 501, 601, 650 * Polycom SoundStation IP 4000 SIP * Snom 300, 320, 360 * Grandstream BudgeTone, HandyTone * Grandstream GXP2000 * Hitachi IP3000 and IP5000 WiFi phones * Cisco ATA 186/188, 7960, 7940, 7912, 7905 [edit] Required Hardware * Intel compatible server (VIA C3/C7, Pentium III, Pentium 4, Core 2 Duo, AMD, Xeon) * Min RAM 256MB, 1GB preferred * Linux operating system (RHEL or Fedora preferred) * No special HW required [edit] SIP Implementation * RFC 3261 Session Initiation Protocol using both UDP and TCP transports * Advanced call control using RFCs o RFC 3515 Refer Method o RFC 3891 Referred-By header o RFC 3892 Replaces header * Provide for consultative and blind transfer and third party call controls * RFC 3263 Locating SIP Servers - use of DNS SRV records for call routing control and server redundancy. * RFC 3581 Symmetric Response Routing (rport) * RFC 3265 SIP Event Notification - for phone configuration and * RFC 3842 Voice mail message waiting indication (MWI) * RFC 3262 Reliable Provisional Responses * RFC 2833 Out-of-band DTMF tones * RFC 3264 Offer/Answer model for SDP for Codec Negotiation * Early media (SDP in 180/183) * Delayed SDP (SDP in ACK) * Re-INVITE: Codec change, hold, off-hold * Route/Record-Route header fields * Configurable RTP/RTCP ports * Configurable SIP ports
http://sipx-wiki.calivia.com
SIP Trunking Seminar … there is a lot of money to be saved!
Brought to you by TMC, Ingate & Pingtel:
Free SIPxNano
Wednesday 10:15am – 12:00 noon Room 6E Its free ! SIP Trunking Roundtable on Friday 8:45am – 11:00am Room 6E
16
Taking Control of VoIP in the Data Center OS-03 Martin J Steinmann Member of the Board
[email protected]