sip.edu speaker: changyu wu adviser: quincy wu date:2006/12/18
TRANSCRIPT
SIP.edu
Speaker: Changyu Wu
Adviser: Quincy Wu
Date:2006/12/18
2
Overview
Introduction SIP.edu implementation Architecture Call flow
PSTN Voicemail Campus extension
Goals Conclusion Reference
3
Introduction
Build a community of Internet2 schools that is experimenting with offering enterprise SIP services.
The initial SIP.edu architecture works by integrating the legacy campus PBX and person directory with two new components A SIP proxy server A SIP PBX gateway.
4
Introduction-(cont)
Users should not be burdened with device
addresses. Addresses should be empower enterprises to
manage the identities of their users For instance
Alice to call Bob using Bob's email address (e.g. [email protected]).
5
SIP.edu implementation
A SIP DNS SRV record pointing to a SIP proxy server.
A SIP proxy server integrated with the campus directory to alias internal extension numbers to usernames.
A SIP-PRI (Primary Rate Interface ) gateway to terminate inbound SIP calls and gateway to the correct “black phone” through the campus PBX.
6
SIP.edu implementation-DNS SRV
The domain name system (DNS) stores and associates many types of information with domain names Translates domain names (computer
hostnames) to IP addresses. The SRV resource record allows
administrators to use several servers for a single domain.
7
DNS-SRV
Example: Want to make a SIP phone call to Changyu@
ncnu.edu, the SRV record might tell your computer that it should connect to
8
SRV record (RFC2782)
Type:_Service._Proto.Name TTL Class SRV Priority Weight Port Target
_sip._utp.ncnu.edu 43200 IN SRV 10 10 5060 sip.ncnu.edu
The service is SIP. The transport is UDP. The cache lifetime is 12 hours (43,200 secondes.) The class is IN (this is always true.) The record type is SRV.
9
SRV record (cont)
The priority is 10. With multiple SRV records the priority determines the proxy query order.
The weight is 10. With multiple SRV records of similar priority, the weight determines proportionally how often a proxy is queried. Higher values are queried more often.
The port is 5060.
The proxy server is sip.ncnu.edu.
---- 10 10 5060 sip.ncnu.edu
---- 20 10 5060 sip.ncnu1.edu
---- 10 10 5060 sip.ncnu.edu
---- 20 10 5060 sip.ncnu1.edu
---- 10 15 5060 sip.ncnu2.edu
_sip._utp.ncnu.edu 432000 IN SRV 10 10 5060 sip.ncnu.edu
10
SIP.edu implementation- SIP proxy server
SER (SIP Express Router) is an open-source SIP proxy. Configurations Ser.cfg.
Use Mysql(Database) support user’s directory (username, phone number, E-mail..). Ser tables (subscriber).
11
SIP.edu implementation-SIP Gateway
SIP Gateway Connects to existing PBX or Centrex Could also connect to proprietary VoIP system
12
SIP.edu Architecture
Alice
DNS SRV query _sip._udp.ncnu.edu
INVITE
(sip:[email protected])
INVITE
(sip:[email protected])
Telephone number where mail=bob
PRI/CAS
Bob’ phone
Ncnu.edu
13
SIP.edu Call flow (PSTN )
Internet
Ncnu net
SIP server
Ncnu PBX PSTN
Call :09XXXXXXXX
SIP/PRIGateway
Alice
Bob’ phone
14
Ser.cfg (PSTN)
If (uri=~”^sip:09[0-9]*@”){
rewritehostport(“163.22.20.154:5060”);
forward(uri:host, uri:port);
break;
}
rewritehostport(“string”) =>rewrite host part of Request URI
forward(“”) =>forward the request to given destination statelessly
15
SIP.edu Call flow (Voicemail)
Internet
Ncnu net
SIP server
Ncnu PBX PSTN
SMTP server
SMTP mail
SIP/PRIGateway
Alice
Bob’ phone
Alice call john
John not on line
John
16
Ser.cfg (Voicemail)
AVPops modules Implementing services and preferences per us
er or domain. The AVPops module exports functions for inter
facing DB resources. Exported Parameters. Exported Functions.
17
Ser.cfg (Voicemail) Avp configuration--------setting module-specific parameters ---------------
modparam("avpops", "avp_url", "mysql://ser:heslo@localhost/ser")modparam("avpops", "avp_aliases", "email=i:67")modparam("avpops", "avp_aliases", "mode=i:343")modparam("avpops", "avp_table", "subscriber")modparam("avpops", "uuid_column", "uuid")modparam("avpops", "db_scheme", email_scheme:table=subscriber;value_col=email_address;value_type=string")modparam("avpops", "db_scheme", mode_scheme:table=subscriber;value_col=show_mode;value_type=string")modparam("tm", "tw_append", "voicemail_headers:hdr[User_Agent];P-Email-Address=avp[$email]")
18
Ser.cfg (Voicemail)
Avp configuration------------request routing logic------------------if (avp_db_load("$ruri", “$mode/$mode_scheme"))
{avp_write("2", "s:voicemail");avp_db_load("$ruri","$email/$email_scheme");if (avp_check("voicemail","eq/$mode/g")) { if(!t_newtran()) {
break; };t_write_req("/tmp/am_fifo", "voicemail/voicemail_headers");break; };
}
[email protected] => ruri
2.mode_scheme => 2
3.mode=mode_scheme
4.mode=2
19
SIP.edu Call flow (Campus extension )
Internet
Ncnu net
SIP server
Ncnu PBX PSTN
DNS SRV
SIP RTP
SIP/PRIGateway
Alice
Bob’ phone
20
Goals
The goals of the working group are to: Grow number of SIP connected users. Increase value proposition for end-user SIP
adoption. Promote convergence of voice and email
identity. Low entry-cost means for campuses.
21
Conclusion
How is “SIP.edu” Implementation
DNS SRV SIP proxy server SIP Gateway
Architecture and Call flow How to use “SIP.edu” services?
Design a Interface PHP+Mysql The user selects services.
22
Reference
SIP.edu http://mit.edu/sip/sip.edu/
DNS SRV (RFC2782) http://www.ietf.org/rfc/rfc2782.txt
AVpops http://www.voice-sistem.ro/docs/avpops/
SEMS http://www.iptel.org/sems/
SER http://www.iptel.org/ser/
The Internet2 SIP.edu Initiative (June 2, 2003) Dennis Baron Jeremy George Ben Teitelbaum