220 likes | 440 Views
SIP.edu. Speaker: Changyu Wu Adviser: Quincy Wu Date:2006/12/18. Overview. Introduction SIP.edu implementation Architecture Call flow PSTN Voicemail Campus extension Goals Conclusion Reference. Introduction.
E N D
SIP.edu Speaker: Changyu Wu Adviser: Quincy Wu Date:2006/12/18
Overview • Introduction • SIP.edu implementation • Architecture • Call flow • PSTN • Voicemail • Campus extension • Goals • Conclusion • Reference
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.
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. bob@ncnu.edu).
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.
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.
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 Changyu@sip.ncnu.edu Changyu@ncnu.edu Changyu@sip.ncnu.edu
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.
SRV record (cont) ---- 10 10 5060 sip.ncnu.edu ---- 20 10 5060 sip.ncnu1.edu • 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. _sip._utp.ncnu.edu 432000 IN SRV 10 10 5060 sip.ncnu.edu ---- 10 10 5060 sip.ncnu.edu ---- 20 10 5060 sip.ncnu1.edu ---- 10 15 5060 sip.ncnu2.edu
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).
SIP.edu implementation-SIP Gateway • SIP Gateway • Connects to existing PBX or Centrex • Could also connect to proprietary VoIP system
SIP.edu Architecture INVITE (sip:bob@ncnu.edu) Alice Ncnu.edu DNS SRV query _sip._udp.ncnu.edu INVITE (sip:4762@gw.ncnu.edu) PRI/CAS Telephone number where mail=bob Bob’ phone
SIP.edu Call flow (PSTN ) Internet Alice SIP server Call :09XXXXXXXX Ncnu net SIP/PRI Gateway Ncnu PBX PSTN Bob’ phone
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
SIP.edu Call flow (Voicemail) Internet Alice call john John not on line Alice SMTP mail SIP server Ncnu net SMTP server SIP/PRI Gateway John Ncnu PBX PSTN Bob’ phone
Ser.cfg (Voicemail) • AVPops modules • Implementing services and preferences per user or domain. • The AVPops module exports functions for interfacing DB resources. • Exported Parameters. • Exported Functions.
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]")
$mode=2 Ser.cfg (Voicemail) Voicemail=2 Email=s94321544@ncnu.edu.tw • 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; }; } 1.changyu@xx.xx => ruri 2.mode_scheme => 2 3.mode=mode_scheme 4.mode=2
SIP.edu Call flow (Campus extension ) DNS SRV Internet RTP SIP Alice SIP server Ncnu net SIP/PRI Gateway Ncnu PBX PSTN Bob’ phone
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.
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.
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