Towards Junking the PBX: Deploying IP Telephony Wenyu Jiang, Jonathan Lennox, Henning Schulzrinne and Kundan Singh Columbia University {wenyu,lennox,hgs,kns10}@cs.columbia.edu We describe our departmental IP telephony.

Download Report

Transcript Towards Junking the PBX: Deploying IP Telephony Wenyu Jiang, Jonathan Lennox, Henning Schulzrinne and Kundan Singh Columbia University {wenyu,lennox,hgs,kns10}@cs.columbia.edu We describe our departmental IP telephony.

Towards Junking the PBX:
Deploying IP Telephony
Wenyu Jiang, Jonathan Lennox, Henning Schulzrinne and Kundan Singh
Columbia University
{wenyu,lennox,hgs,kns10}@cs.columbia.edu
We describe our departmental IP telephony installation
Outline
•
•
•
•
•
•
Introduction to IP telephony
System architecture
Call flows
System configuration
Security
Scalability
6/26/2001
Columbia University, Deploying IP
Telephony
2
Traditional Telecommunication
Infrastructure
7040
External line
7041
Corporate/Campus
7042
Private Branch
Exchange
212-8538080
Telephone
switch
Another
switch
7043
Corporate/Campus LAN
6/26/2001
Internet
Columbia University, Deploying IP
Telephony
3
What is IP Telephony ?
7040
Corporate/Campus
Another campus
8151
External line
8152
7041
PBX
PBX
8153
7042
7043
LAN
VoIP Gateway
VoIP Gateway
Internet
8154
LAN
IP Phone Client
6/26/2001
Columbia University, Deploying IP
Telephony
4
IP Telephony Protocols
audio over RTP
Call “[email protected]”
SIP
server
home.com
office.com
Session Initiation Protocol
- SIP
Real time Transport Protocol
- RTP
6/26/2001
• Contact “office.com” asking for “bob”
• Locate Bob’s current phone and ring
• Bob picks up the ringing phone
• Send and receive audio packets
Columbia University, Deploying IP
Telephony
5
Architecture
rtspd
SNMP
RTSP media
server
sipconf
SIP
conference
server
Telephone
Telephone
switch
T1/E1
RTP/SIP
sipd
SIP proxy,
redirect
server
RTSP
RTSP clients
sipum
SIP/RTSP
Unified
messaging
Web based
configuration
Web server
3Com
SQL
database
Cisco 2600 gateway
sipc
Quicktime
Cisco 7960
e*phone
Hardware
Internet (SIP)
phones
Pingtel
NetMeeting
sip323
Software SIP
user agents
6/26/2001
SIPH.323
convertor
Columbia University, Deploying IP
Telephony
H.323
6
Example Call (IP only)
• Bob signs up for the service from the
web as “[email protected]”
• sipd canonicalizes the destination
to sip:[email protected]
• sipd rings both e*phone and sipc
• He registers from multiple phones
• Alice tries to reach Bob
INVITE sip:[email protected]
• Bob accepts the call from sipc and
starts talking
Web based
configuration
sipd
SIP proxy,
redirect
server
Call Bob
Web server
SQL
database
e*phone
Hardware
Internet (SIP)
phones
sipc
cs.columbia.edu
Software SIP
user agents
6/26/2001
Columbia University, Deploying IP
Telephony
7
Canonicalization
Bob.Wilson
canonicalize
bob@cs
6/26/2001
Columbia University, Deploying IP
Telephony
8
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/2001
Columbia University, Deploying IP
Telephony
9
PSTN to IP Call (Direct Inward Dial)
PBX
PSTN
External T1/CAS
1 Call 9397134
713x is called a part of
Coordinated Dial Plan
(CDP) in a Nortel PBX
Gateway
Internal T1/CAS
(Ext:7130-7139)
2
Call 7134
Ethernet
5
Regular phone
(internal)
3
SIP server
• DID - direct and simple
• No-DID - dial extension,
supports more users
6/26/2001
sipc
Bob’s phone
Columbia University, Deploying IP
Telephony
SQL
database
sipd
4
7134 => bob
10
IP to PSTN Call
PBX
PSTN
External T1/CAS
5 Call 5551212
Gateway
(10.0.2.3)
Internal T1/CAS
4 Call 85551212
3
Ethernet
5551212
Regular phone
(internal, 7054)
Note: In this direction
there is no distinction
between DID and nonDID calls.
6/26/2001
1
Bob calls
5551212
SIP server
sipc
2
SQL
database
sipd
Use sip:[email protected]
Columbia University, Deploying IP
Telephony
11
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/2001
Columbia University, Deploying IP
Telephony
12
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: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
13
Dial Peers for non-DID calls
• Example for a mix of DID and non-DID
translation-rule 7138
rule 1 71381.% 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 939-7138, then punch in a 3digit extension of the form 1xx.
6/26/2001
Columbia University, Deploying IP
Telephony
14
VoIP Configuration in sipd:
Dial Plan
• PSTN to IP call
• IP to PSTN call
sip:7134@sipd-host sip:5551212@sipd-host
canonicalize using dial plan canonicalize using dial plan
tel:+12129397134
Find tel: uid in
SQL Primary
User Table
Locate user’s
contact
information
sip:bob@sipd-host
6/26/2001
tel:+12125551212
Verify caller’s
privilege
Locate proper
gateway
sip:85551212@gw
Columbia University, Deploying IP
Telephony
15
Example Dial Plan
• Dial plan mapping for IP to PSTN calls
# Intra-department calls
7[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
16
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/2001
Columbia University, Deploying IP
Telephony
17
Gateway 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
18
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 101
access-list 101 permit ip host 128.59.19.141 any
access-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
19
CINEMA: Columbia InterNet
Extensible 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
20
Scalability via DNS SRV
• A simple load balancing scheme
example.com
_sip._udp 0 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/2001
Columbia University, Deploying IP
Telephony
21
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/2001
Columbia University, Deploying IP
Telephony
22
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/2001
Columbia University, Deploying IP
Telephony
23
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)
Codec
Bit-rate Net bandwidth Gross (IP/RTP/UDP)
PCM µ-law 64 kb/s
G.729, 20ms 8
G.729, 40ms ..
3.072 Mb/s
384 kb/s
..
3.84 Mb/s
1.152 Mb/s
768 kb/s
• Silence Suppression: 40-45% activity factor
• Faster Ethernet interface (10 => 100 Mb/s)
6/26/2001
Columbia University, Deploying IP
Telephony
24
SNMP Support in sipd
• sipd status
• Details of
active
transactions
• User
contact info
6/26/2001
Columbia University, Deploying IP
Telephony
25
Detailed SNMP MIBs
• User contact info
• Details of active transactions
6/26/2001
Columbia University, Deploying IP
Telephony
26
Future 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
27
Conclusion
• 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
6/26/2001
Columbia University, Deploying IP
Telephony
28