towards junking the pbx: deploying ip telephony wenyu jiang, jonathan lennox, henning schulzrinne...
Post on 21-Dec-2015
221 views
TRANSCRIPT
Towards Junking the PBX: Towards Junking the PBX: Deploying IP TelephonyDeploying IP Telephony
Wenyu Jiang, Jonathan Lennox, Henning Schulzrinne and Kundan SinghColumbia University
{wenyu,lennox,hgs,kns10}@cs.columbia.edu
We describe our departmental IP telephony installation
6/26/2001 Columbia University, Deploying IP Telephony
2
OutlineOutline
• Introduction to IP telephony
• System architecture
• Call flows
• System configuration
• Security
• Scalability
6/26/2001 Columbia University, Deploying IP Telephony
3
Traditional Telecommunication Traditional Telecommunication InfrastructureInfrastructure
7043
7040
7041
7042
External line
Telephoneswitch
Private BranchExchange
212-8538080
Anotherswitch
Corporate/Campus
InternetCorporate/Campus LAN
6/26/2001 Columbia University, Deploying IP Telephony
4
What is IP Telephony ?What is IP Telephony ?
External line
7043
7040
7041
7042
PBX
Corporate/Campus
InternetLAN
8154
8151
8152
8153
PBX
Another campus
LAN
IP Phone Client
VoIP Gateway VoIP Gateway
6/26/2001 Columbia University, Deploying IP Telephony
5
IP Telephony ProtocolsIP Telephony Protocols
Call “[email protected]”
• Contact “office.com” asking for “bob”
• Locate Bob’s current phone and ring
office.comhome.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/2001 Columbia University, Deploying IP Telephony
6
ArchitectureArchitecture
SIP proxy,redirectserver
SQLdatabase
sipd
SIPH.323convertor
NetMeetingsip323
H.323
rtspd
SIP/RTSPUnified
messaging
RTSP media server
sipum
Quicktime
RTSP clients
RTSP
SIP conference
server
sipconf
T1/E1 RTP/SIP
Telephone
Cisco 2600 gateway
Telephoneswitch
Web based configuration
Web server
Cisco 7960
3Com
e*phone
sipc
Software SIP user agents
Hardware Internet (SIP)
phones
Pingtel
SNMP
6/26/2001 Columbia University, Deploying IP Telephony
7
SIP proxy,redirectserver
SQLdatabase
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)Example Call (IP only)• Bob signs up for the service from the web as “[email protected]”
• He registers from multiple phones
• Alice tries to reach Bob INVITE sip:[email protected]
• sipd canonicalizes the destination to sip:[email protected]
• sipd rings both e*phone and sipc
• Bob accepts the call from sipc and starts talking
6/26/2001 Columbia University, Deploying IP Telephony
8
CanonicalizationCanonicalization
Bob.Wilson
canonicalize
bob@cs
6/26/2001 Columbia University, Deploying IP Telephony
9
Other ServicesOther 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/2001 Columbia University, Deploying IP Telephony
10
PSTN to IP Call (Direct Inward Dial)PSTN to IP Call (Direct Inward Dial)
PBXPSTN
External T1/CAS
Regular phone(internal)
Call 93971341
SIP server
sipd
Ethernet
3
SQLdatabase
4 7134 => bob
sipc
5
Bob’s phone
• DID - direct and simple• No-DID - dial extension, supports more users
GatewayInternal T1/CAS(Ext:7130-7139)
Call 71342
713x is called a part of Coordinated Dial Plan (CDP) in a Nortel PBX
6/26/2001 Columbia University, Deploying IP Telephony
11
IP to PSTN CallIP to PSTN Call
Gateway(10.0.2.3)
3
SQLdatabase
2Use sip:[email protected]
Ethernet
SIP server
sipdsipc
1Bob calls 5551212
PSTN
External T1/CASCall 55512125
5551212
PBX
Internal T1/CASCall 85551212 4
Regular phone(internal, 7054)
Note: In this direction there is no distinction between DID and non-DID calls.
6/26/2001 Columbia University, Deploying IP Telephony
12
T1 Line Configuration T1 Line Configuration (From the PBX Side)(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/2001 Columbia University, Deploying IP Telephony
13
VoIP Configuration in the VoIP Configuration in the Gateway: Dial PeersGateway: 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:128.59.19.141
• 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/2001 Columbia University, Deploying IP Telephony
14
Dial Peers for non-DID callsDial Peers for non-DID calls
• Example for a mix of DID and non-DIDtranslation-rule 7138 rule 1 71381.% 1 ANY abbreviateddial-peer voice 1 voip destination-pattern 713[0-79] …dial-peer voice 2 voip destination-pattern 7138T translate-outgoing called 7138 …
• Caller dial 939-7138, then punch in a 3-digit extension of the form 1xx.
6/26/2001 Columbia University, Deploying IP Telephony
15
VoIP Configuration in VoIP Configuration in sipdsipd:: Dial PlanDial Plan
sip:7134@sipd-hostcanonicalize using dial plan
tel:+12129397134Find tel: uid in SQL PrimaryUser Table
Locate user’scontact information
sip:5551212@sipd-host
• PSTN to IP call • IP to PSTN call
sip:bob@sipd-host
canonicalize using dial plan
tel:+12125551212
Verify caller’sprivilege
Locate propergateway
sip:85551212@gw
6/26/2001 Columbia University, Deploying IP Telephony
16
Example Dial PlanExample Dial Plan
• Dial plan mapping for IP to PSTN calls# Intra-department calls7[01]?? tel:+1212939$# Local (same area code) calls??????? tel:+1212$# Remove dial-out prefix ‘8’(8)???????tel:+1212$# International numbers(011)* tel:+$(8011)* tel:+$
6/26/2001 Columbia University, Deploying IP Telephony
17
SecuritySecurity
• 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/2001 Columbia University, Deploying IP Telephony
18
Gateway Selection and PrivilegesGateway Selection and Privileges
• Approaches– RFC 2916: ENUM, E.164 based on DNS
– RFC 2871: TRIP, allows optimization
– Static routing file, used in sipd(+1212939)7[01]?? full,guest sip:[email protected]
– full and guest are user’s gateway classes
– The server may terminate the call if caller has no sufficient privileges.
6/26/2001 Columbia University, Deploying IP Telephony
19
Sample Access Control List (ACL)Sample Access Control List (ACL)• Configure NIC to use ACL 101 (in packets)
interface FastEthernet0/0 ip address 128.59.19.28 255.255.248.0 ip access-group 101 in
• Definition of ACL 101access-list 101 permit ip host 128.59.19.141 anyaccess-list 101 permit udp 128.59.16.0 0.0.7.255 \ range biff 65535 host 128.59.19.28 neq 5060
• SIP requests (destination port 5060) allowed from only the designated proxy host
• Multimedia (RTP) packets treated otherwise
6/26/2001 Columbia University, Deploying IP Telephony
20
CINEMA: Columbia InterNet CINEMA: Columbia InterNet Extensible Multimedia ArchitectureExtensible Multimedia Architecture
• Web interface– Administration– User configuration
• Unified Messaging
– Notify by email
– rtsp or http
• Portal Mode– 3rd party IpTelSP
6/26/2001 Columbia University, Deploying IP Telephony
21
Scalability via DNS SRVScalability via DNS SRV
• A simple load balancing schemeexample.com_sip._udp 0 40 a.example.com
0 40 b.example.com0 20 c.example.com1 0 backup.somewhere.com
• a and b each receives 40% of total request
• c receives remaining 20%
• backup server for fault tolerance
6/26/2001 Columbia University, Deploying IP Telephony
22
Scalability ContinuedScalability 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/2001 Columbia University, Deploying IP Telephony
23
Scalability of Media ServersScalability 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/2001 Columbia University, Deploying IP Telephony
24
Scalability of Gateway and LANScalability 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)
Codec Bit-rate Net bandwidth Gross (IP/RTP/UDP)
PCM µ-law 64 kb/s 3.072 Mb/s 3.84 Mb/s
G.729, 20ms 8 384 kb/s 1.152 Mb/s
G.729, 40ms .. .. 768 kb/s
6/26/2001 Columbia University, Deploying IP Telephony
25
SNMP Support in SNMP Support in sipdsipd
• sipd status
• Details of active transactions
• User contact info
6/26/2001 Columbia University, Deploying IP Telephony
26
Detailed SNMP MIBsDetailed SNMP MIBs
• Details of active transactions
• User contact info
6/26/2001 Columbia University, Deploying IP Telephony
27
Future WorkFuture Work• Additional services
– PIN numbers for telephone users– Automated, electronic billing– Instant messaging– VoiceXML (e.g., email 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/2001 Columbia University, Deploying IP Telephony
28
ConclusionConclusion
• 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