SIP.edu Speaker: Changyu Wu Adviser: Quincy Wu Date:2006/12/18

Preview:

Citation preview

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. bob@ncnu.edu).

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

Changyu@sip.ncnu.edu

Changyu@ncnu.edu

Changyu@sip.ncnu.edu

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:bob@ncnu.edu)

INVITE

(sip:4762@gw.ncnu.edu)

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; };

}

1.changyu@xx.xx => ruri

2.mode_scheme => 2

3.mode=mode_scheme

4.mode=2

$mode=2Voicemail=2Email=s94321544@ncnu.edu.tw

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

Recommended