Towards Junking the PBX: Deploying IP Telephony Wenyu Jiang, Jonathan Lennox, Henning Schulzrinne and Kundan Singh Columbia University We describe our departmental IP telephony installation
6/26/2001Columbia University, Deploying IP Telephony 2 Outline Introduction to IP telephony System architecture Call flows System configuration Security Scalability
6/26/2001Columbia University, Deploying IP Telephony 3 Traditional Telecommunication Infrastructure External line Telephone switch Private Branch Exchange Another switch Corporate/Campus Internet Corporate/Campus LAN
6/26/2001Columbia University, Deploying IP Telephony 4 What is IP Telephony ? External line PBX Corporate/Campus Internet LAN PBX Another campus LAN IP Phone Client VoIP Gateway
6/26/2001Columbia University, Deploying IP Telephony 5 IP Telephony Protocols Call Contact “office.com” asking for “bob” Locate Bob’s current phone and ring office.com home.com Bob picks up the ringing phone Send and receive audio packets Session Initiation Protocol - SIP Real time Transport Protocol - RTP SIP server audio over RTP
6/26/2001Columbia University, Deploying IP Telephony 6 Architecture SIP proxy, redirect server SQL database sipd SIPH.323 convertor NetMeeting sip323 H.323 rtspd SIP/RTSP Unified messaging RTSP media server sipum Quicktime RTSP clients RTSP SIP conference server sipconf T1/E1 RTP/SIP Telephone Cisco 2600 gateway Telephone switch Web based configuration Web server Cisco Com e*phone sipc Software SIP user agents Hardware Internet (SIP) phones Pingtel SNMP
6/26/2001Columbia University, Deploying IP Telephony 7 SIP proxy, redirect server SQL database sipd e*phone sipc Software SIP user agents Hardware Internet (SIP) phones Web based configuration Web server cs.columbia.edu Call Bob Example Call (IP only) Bob signs up for the service from the web as He registers from multiple phones Alice tries to reach Bob INVITE sipd canonicalizes the destination to sipd rings both e*phone and sipc Bob accepts the call from sipc and starts talking
6/26/2001Columbia University, Deploying IP Telephony 8 Canonicalization Bob.Wilson canonicalize
6/26/2001Columbia University, Deploying IP Telephony 9 Other Services Programmable servers –Time-of-day, caller identification –CPL, SIP CGI Unified messaging –Centralized voice mail –SIP, RTSP Conferencing –Dial-in bridges; centralized audio mixing –Audio, video and chat
6/26/2001Columbia University, Deploying IP Telephony 10 PSTN to IP Call (Direct Inward Dial) PBX PSTN External T1/CAS Regular phone (internal) Call SIP server sipd Ethernet 3 SQL database => bob sipc 5 Bob’s phone DID - direct and simple No-DID - dial extension, supports more users Gateway Internal T1/CAS (Ext: ) Call x is called a part of Coordinated Dial Plan (CDP) in a Nortel PBX
6/26/2001Columbia University, Deploying IP Telephony 11 IP to PSTN Call Gateway ( ) 3 SQL database 2 Use Ethernet SIP server sipd sipc 1 Bob calls PSTN External T1/CAS Call PBX Internal T1/CAS Call Regular phone (internal, 7054) Note: In this direction there is no distinction between DID and non- DID calls.
6/26/2001Columbia University, Deploying IP Telephony 12 T1 Line Configuration (From the PBX Side) Electrical/physical settings –T1 type: Channelized, PRI –Characteristics: line coding - AMI, B8ZS; framing - D4, ESF Trunk type: DID, TIE Channel type: Data, Voice-only, Data/Voice Access permissions: adjust NCOS for internal T1 trunk and CDP routing entry (713x)
6/26/2001Columbia University, Deploying IP Telephony 13 VoIP Configuration in the Gateway: Dial Peers Dial Peer for PSTN to IP calls: dial-peer voice 1 voip destination-pattern 713. voice-class codec 1 session protocol sipv2 session target ipv4: Dial Peer for IP to PSTN calls: dial-peer voice 1000 pots destination-pattern ((70..)|(71[0-24-9].)) no digit-strip port 1/0:1 Regular expressions to avoid ambiguity
6/26/2001Columbia University, Deploying IP Telephony 14 Dial Peers for non-DID calls Example for a mix of DID and non-DID translation-rule 7138 rule % 1 ANY abbreviated dial-peer voice 1 voip destination-pattern 713[0-79] … dial-peer voice 2 voip destination-pattern 7138T translate-outgoing called 7138 … Caller dial , then punch in a 3- digit extension of the form 1xx.
6/26/2001Columbia University, Deploying IP Telephony 15 VoIP Configuration in sipd: Dial Plan canonicalizeusing dial plan tel: Find tel: uid in SQL Primary User Table Locate user’s contact information PSTN to IP call IP to PSTN call canonicalizeusing dial plan tel: Verify caller’s privilege Locate proper gateway
6/26/2001Columbia University, Deploying IP Telephony 16 Example Dial Plan Dial plan mapping for IP to PSTN calls # Intra-department calls 7[01]??tel: $ # Local (same area code) calls ???????tel:+1212$ # Remove dial-out prefix ‘8’ (8)???????tel:+1212$ # International numbers (011)*tel:+$ (8011)*tel:+$
6/26/2001Columbia University, Deploying IP Telephony 17 Security Goal: prevent unauthorized users from making certain (e.g., long-distance) calls Where to put authentication modules: –In the gateway (requires vendor’s support) –Or, its associated SIP proxy server Prevent direct calls that bypasses the proxy Enforce signaling path using IOS access control SIP authentication –Digest, Basic, PGP
6/26/2001Columbia University, Deploying IP Telephony 18 Gateway Selection and Privileges Approaches –RFC 2916: ENUM, E.164 based on DNS –RFC 2871: TRIP, allows optimization –Static routing file, used in sipd ( )7[01]?? full,guest –full and guest are user’s gateway classes –The server may terminate the call if caller has no sufficient privileges.
6/26/2001Columbia University, Deploying IP Telephony 19 Sample Access Control List (ACL) Configure NIC to use ACL 101 (in packets) interface FastEthernet0/0 ip address ip access-group 101 in Definition of ACL 101 access-list 101 permit ip host any access-list 101 permit udp \ range biff host neq 5060 SIP requests (destination port 5060) allowed from only the designated proxy host Multimedia (RTP) packets treated otherwise
6/26/2001Columbia University, Deploying IP Telephony 20 CINEMA: Columbia InterNet Extensible Multimedia Architecture Web interface –Administration –User configuration Unified Messaging –Notify by –rtsp or http Portal Mode –3 rd party IpTelSP
6/26/2001Columbia University, Deploying IP Telephony 21 Scalability via DNS SRV A simple load balancing scheme example.com _sip._udp0 40 a.example.com 0 40 b.example.com 0 20 c.example.com 1 0 backup.somewhere.com a and b each receives 40% of total request c receives remaining 20% backup server for fault tolerance
6/26/2001Columbia University, Deploying IP Telephony 22 Scalability Continued 2-stage load balancing based on DNS SRV Stage 1: stateless routing based on hashing Stage 2: –Hashed clusters –Stateful proxy Redirect feature
6/26/2001Columbia University, Deploying IP Telephony 23 Scalability of Media Servers Media packets => more load than signaling rtspd: multiple server selection: static/dynamic sipconf: tree structure Bandwidth savings similar to multicast Added packetization and playout delay
6/26/2001Columbia University, Deploying IP Telephony 24 Scalability of Gateway and LAN 1 T1 line = maximum 24 voice channels –Multiple T1 lines or gateways –IP Centrex service by carrier PBX with ethernet LAN bandwidth limitations (gateway calls) Silence Suppression: 40-45% activity factor Faster Ethernet interface (10 => 100 Mb/s) CodecBit-rateNet bandwidthGross (IP/RTP/UDP ) PCM µ-law64 kb/s3.072 Mb/s3.84 Mb/s G.729, 20ms8384 kb/s1.152 Mb/s G.729, 40ms kb/s
6/26/2001Columbia University, Deploying IP Telephony 25 SNMP Support in sipd sipd status Details of active transactions User contact info
6/26/2001Columbia University, Deploying IP Telephony 26 Detailed SNMP MIBs Details of active transactions User contact info
6/26/2001Columbia University, Deploying IP Telephony 27 Future Work Additional services –PIN numbers for telephone users –Automated, electronic billing –Instant messaging –VoiceXML (e.g., access via PSTN) Performance and scalability: –sipd, rtspd, sipconf –SQL main-memory vs. disk database Firewall/NAT interoperability Details of system to appear in Tech Report
6/26/2001Columbia University, Deploying IP Telephony 28Conclusion Initial field test experience with deploying IP telephony in a campus environment The architecture and installation experience can be used at other organizations Issues raised for further study: –Service availability/reliability –Quality of Service (QoS) –Privacy/encryption –Electronic billing policies