Happy diwali a festival of light l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 51

Happy Diwali A Festival of Light PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

Happy Diwali A Festival of Light.

Download Presentation

Happy Diwali A Festival of Light

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Happy diwali a festival of light l.jpg

Happy DiwaliA Festival of Light

Diwali or Deepaawali means an Array of Lamps  i.e .Rows of diyas (Deep = Lamp, Vali =Array). Of all the festivals celebrated in India, Diwali is by far the most glamorous and important. Enthusiastically enjoyed by people of every religion, its magical and radiant touch creates an atmosphere of joy and festivity. As a family festival, it is celebrated 20 days after Dussehra, on the 13th day of the dark fortnight of the month of Ashwin (October / November). This year it falls on 14th Nov. It is a festival of lights symbolizing the victory of righteousness and the lifting of spiritual darkness. It celebrates the victory of good over evil - and the glory of light. This festival commemorates Lord Rama's return to his kingdom Ayodhya after completing his 14-year exile. Homes are decorated, sweets are distributed by everyone and thousands of lamps lit to create a world of fantasy.Diwali is a time for fun and revelry. Diwali is also a time for pooja and tradition.


An overview of cinema implementation l.jpg

An Overview of CINEMA Implementation

Presented by: Kundan Singh

Joint work with Wenyu Jiang, Jonathan Lennox, Sankaran Narayanan, Henning Schulzrinne and Min Yan

Nov 14, 2001

IRT Group Meeting

Overview

Modules

Applications

Performance

Misc

Compilation

Installation

Portability

Current and Future work


Overview multimedia communication protocols l.jpg

Interactive

voice response

Internet

Telephony

Internet

Radio/TV

Messaging

and Presence

Unified

messaging

Video

conferencing

H.323

RTSP

RSVP

RTCP

Media

G.711

MPEG

Application layer

RTP

Transport (TCP, UDP)

SIP

Network (IPv4, IPv6)

Link layer

Quality of service

Media transport

Signaling

Physical layer

OverviewMultimedia Communication Protocols


Overview cinema columbia internet extensible multimedia architecture l.jpg

OverviewCINEMA - Columbia InterNet Extensible Multimedia Architecture

A flexible architecture to support wide range of multimedia communication applications, both clients and servers

CINEMA Applications

Proxy server, media server, voice mail, conferencing, etc.

CINEMA Libraries

Parsing, SIP, SDP, RTP, mySQL interface, SNMP interface, Portability stubs, etc.


Overview sip and sipd l.jpg

OverviewSIP and sipd

  • Address based on email ([email protected])

  • DNS home.compc1.home.com

    • pc1.home.com 129.59.19.140

  • INVITE [email protected]

  • INVITE [email protected] (proxy mode)

office.com

Bob

Alice

(2)

(3)

m2.home.com

Columbia.edu

Cisco.com

home.com

sipd


Overview sipd example scenario l.jpg

Alice

(9)

(8)

(10)

(13)

(7)

(6)

(6)

(5)

(4)

(3)

(12)

(6)

(11)

(2)

Bob

Overviewsipd – Example scenario

(1)


An overview of cinema implementation7 l.jpg

An Overview of CINEMA Implementation

Overview

Modules

Applications

Performance

Misc

Compilation

Installation

Portability

Current and Future work

Various CINEMA libraries and their functionality


Modules functionality l.jpg

ModulesFunctionality

  • Message parsing: SIP, RTSP

  • Transaction state and client branch

  • User agent call state

  • Interface to external modules: database, SNMP

  • Higher level policy: sip-cgi

  • Canonicalize: e.g., Henning.Schulzrinne => hgs

  • Authentication: basic, digest


Modules message parsing libcine l.jpg

HTTP

RTSP

SIP

ModulesMessage Parsing (libcine)

GET /sip HTTP/1.0

Host: www.cs.columbia.edu

DESCRIBE rtsp://… RTSP/1.0

Accept: application/sdp

INVITE sip:… SIP/2.0

From: [email protected]

  • Utilities for URL, headers, constructing and parsing messages


Modules transaction state libsip l.jpg

ModulesTransaction state (libsip)

  • A request and all its responses

  • RTSP vs SIP requests

  • Request can be

    • Proxied

    • Redirected

    • Generated

    • Terminated


Modules call state libsip l.jpg

ModulesCall state (libsip++)


Modules canonicalization libcanon l.jpg

Modulescanonicalization [libcanon]

Bob.Wilson

canonicalize

[email protected]


Modules libraries l.jpg

CINEMA Applications

RTSP media

server

SIP proxy

server

SIP/H.323

gateway

SIP/RTP

conferencing

SIP/RTSP

unified messaging

SIP/VoiceXML

browser

rtspd

sipd

sip323

sipconf

sipum

sipvxml

LDAP

Xerces-C

ViaVoice

Xerces-C

OpenH323

CINEMA Libraries

libNT

libcine

libsip

librtsp

libsip++

librtp

libmixer

libdict

libdb++

libsnmp

RTSP

client

RTP library

SIP MIB

Win32 stub

Utilities parsing

IPv6

Basic SIP library

SIP UA library

RTP audio mixer

Hash table

mySQL intf

MySQL

PWLib

Resparse

ModulesLibraries

Parsing, SIP, SDP, RTP, mySQL interface, SNMP interface, Portability stubs, etc.


Modules layered structure l.jpg

ModulesLayered structure

Other Applications

RTSP server

SIPUA

API

SIP

proxy

RTSP API

RTP

Interface

RTSP transaction

HTTP Message Parsing

SIP transaction

Client Branch

Transport layer (TCP/UDP)


An overview of cinema implementation15 l.jpg

An Overview of CINEMA Implementation

Overview

Modules

Applications

Performance

Misc

Compilation

Installation

Portability

Current and Future work

Our test-bed architecture and its components


Test bed architecture l.jpg

sipd

SIP proxy,

redirect

server

SQL

database

Test-bed Architecture

  • OpenSource SQL database: MySQL

  • http://www.mysql.com

  • User information:

  • Contact location

  • Profile (e.g., password)

  • Aliases

  • Address book

  • System information

  • Configuration

  • Proxy, Redirect, Registration server.

  • Authentication

  • Programmable (SIP- CGI)


Test bed architecture17 l.jpg

Web based

configuration

sipd

SIP proxy,

redirect

server

SQL

database

Web server

Test-bed Architecture

  • User profile can be modified using web browser.

  • Creating new user (admin/normal)

  • Changing profile and contact information (“follow me” service).

  • Web CGI scripts

  • Both sipd and web scripts use the database


Test bed architecture18 l.jpg

Web based

configuration

sipd

SIP proxy,

redirect

server

SQL

database

e*phone

Hardware

Internet (SIP)

phones

Web server

sipc

Software SIP

user agents

Test-bed Architecture

IP phones connected to the departmental LAN. Users are identified by id, e.g., [email protected]

Software (sipc) for desktop. Allows audio, video, chat, white board, device control, instant message, presence and desktop sharing.


Test bed architecture19 l.jpg

Web based

configuration

sipd

SIP proxy,

redirect

server

SQL

database

e*phone

Hardware

Internet (SIP)

Phones

128.59.19.233

Web server

sipc

Software SIP

user agents

Test-bed Architecture

Registration can also be altered from the web interface

Phones register themselves with sipd when powered up.

Sipd stores the contact information in the database table:

[email protected] => [email protected]

There can be multiple contacts. All registered phones ring, and the first to pick up is connected.


Test bed architecture20 l.jpg

Web based

configuration

sipd

SIP proxy,

redirect

server

SQL

database

e*phone

Hardware

Internet (SIP)

Phones

128.59.19.233

Web server

sipc

Software SIP

user agents

Test-bed Architecture

Another IP phone

(1) When somebody calls [email protected], sipd gets the INVITE message and “proxies” the call to the current location.

(2) Phone rings, the user picks up the call and can talk to the caller.

Based on user profile, sipd may ask for caller authentication.


Test bed architecture21 l.jpg

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

e*phone

Hardware

Internet (SIP)

phones

Web server

sipc

Software SIP

user agents

Test-bed Architecture

Telephone

Telephone

switch

External T1

Departmental PBX (Nortel Meridian) connects both internal and external lines to the gateway.

Dial “8” to reach outside line

Department

PBX

Internal T1

(Extension:713x)

SIP/PSTN Gateway

Cisco 2600 router with SIP/PSTN gateway connects the departmental LAN with the PBX.


Test bed architecture22 l.jpg

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

e*phone

Hardware

Internet (SIP)

phones

Web server

sipc

Software SIP

user agents

Dials 9397132

Test-bed Architecture

Telephone

Telephone

switch

(1) When PBX receives a call for 9397132, it forwards the call to extension 7132. 7130-7139 is assigned to the gateway.

Department

PBX

Internal T1

(Extension:713x)

(2) The gateway forwards all PSTN calls to sipd; sip:[email protected]

128.59.19.141

SIP/PSTN Gateway

(3) Sipd looks into the dialplan, finds a mapping 7132=>[email protected] and forwards the call to the current location of “hgs”.


Test bed architecture23 l.jpg

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

e*phone

Hardware

Internet (SIP)

phones

Web server

sipc

Software SIP

user agents

Test-bed Architecture

Telephone

Telephone

switch

(4) PSTN user receives the call.

External T1

Dial “8” to reach outside line

(3) PBX forwards the call to external line.

Department

PBX

(2) Sipd authenticates the caller and checks permissions.

Sipd maps the number 5551212 to [email protected], adding the prefix “8” and the gateway address.

128.59.19.141

SIP/PSTN Gateway

128.59.19.28

(1) The IP user dials “sip:[email protected]


Test bed architecture24 l.jpg

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

e*phone

Hardware

Internet (SIP)

phones

Web server

sipc

Software SIP

user agents

Test-bed Architecture

Telephone

Telephone

switch

Telephone number mappings and privileges modifiable from the web

External T1

Department

PBX

Internal T1

SIP/PSTN Gateway

Can use no-DID (direct inward dialing) mode for more numbers.


Additional services l.jpg

Additional Services

  • Advantage: cost savings + new services

  • “Think of receiving your voicemail messages in an email that you can later play out in a conference to show it to others”

  • Easy integration of email, web, instant messaging, etc.

  • Open architecture vs Close architecture (traditional telephones)


Test bed architecture26 l.jpg

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

e*phone

Hardware

Internet (SIP)

phones

Web server

sipc

Software SIP

user agents

Test-bed Architecture

Telephone

Telephone

switch

Programmable server:

SIP-CGI and Call Processing Language (CPL)

Department

PBX

SIP/PSTN Gateway

Scripts can be uploaded by clients also.


Test bed architecture27 l.jpg

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

SNMP

(Network

Management)

e*phone

Hardware

Internet (SIP)

phones

Web server

sipc

Software SIP

user agents

Test-bed Architecture

Telephone

Telephone

switch

SNMP agent for SIP MIB. Allows remote monitoring and control of the SIP server. (e.g., prompt when an unauthorized registration is attempted)

Department

PBX

SIP/PSTN Gateway


Test bed architecture28 l.jpg

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

SNMP

(Network

Management)

e*phone

Hardware

Internet (SIP)

phones

SIPH.323

convertor

Web server

NetMeeting

siph323

H.323

sipc

Software SIP

user agents

Test-bed Architecture

Telephone

Telephone

switch

Allows an H323 client (Netmeeting) to use the services of our SIP infrastructure.

Department

PBX

SIP/PSTN Gateway


Test bed architecture29 l.jpg

rtspd

Quicktime

RTSP media

server

RTSP

RTSP clients

sipum

SIP/RTSP

Unified

messaging

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

SNMP

(Network

Management)

e*phone

Hardware

Internet (SIP)

phones

SIPH.323

convertor

Web server

NetMeeting

siph323

H.323

sipc

Software SIP

user agents

Test-bed Architecture

Telephone

Telephone

switch

Generic media server for playback and recording of messages. Can work with existing RTSP client, Apple’s QuickTime.

Department

PBX

SIP/PSTN Gateway

Provides a voice mail and answering machine service to all the registered users. Has web interface for accessing voice mails.


Test bed architecture30 l.jpg

rtspd

Quicktime

RTSP media

server

RTSP

sipconf

RTSP clients

SIP

conference

server

sipum

SIP/RTSP

Unified

messaging

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

SNMP

(Network

Management)

e*phone

Hardware

Internet (SIP)

phones

SIPH.323

convertor

Web server

NetMeeting

siph323

H.323

sipc

Software SIP

user agents

Test-bed Architecture

Telephone

Telephone

switch

Centralized conferencing server for audio and video. Users can join from IP as well as PSTN.

Department

PBX

SIP/PSTN Gateway


Test bed architecture31 l.jpg

rtspd

Quicktime

RTSP media

server

RTSP

sipconf

RTSP clients

SIP

conference

server

sipum

SIP/RTSP

Unified

messaging

Web based

configuration

sipd

T1/E1

RTP/SIP

SIP proxy,

redirect

server

SQL

database

SNMP

(Network

Management)

e*phone

Hardware

Internet (SIP)

phones

SIPH.323

convertor

Web server

NetMeeting

siph323

H.323

sipc

Software SIP

user agents

Sipd maps 7139=> [email protected]

Test-bed Architecture

Telephone

Telephone

switch

PSTN user dials 1-212-9397139

128.59.19.196

Department

PBX

Netmeeting user dials “sip:[email protected]

SIP/PSTN Gateway

SIP user dials “sip:[email protected]


Our ip telephony test bed l.jpg

rtspd

Quicktime

RTSP media

server

RTSP

sipconf

RTSP clients

SIP

conference

server

sipum

SIP/RTSP

Unified

messaging

Web based

configuration

sipd

T1/E1

RTP/SIP

Device GW

X 10

SIP proxy,

redirect

server

SQL

database

SNMP

(Network

Management)

e*phone

Hardware

Internet (SIP)

phones

Web server

SIPH.323

convertor

NetMeeting

siph323

H.323

sipc

Software SIP

user agents

Our IP telephony test-bed

Telephone

Telephone

switch

Department

PBX

SIP/PSTN Gateway

W. Jiang, J. Lennox, H. Schulzrinne and K. Singh, “Towards Junking the PBX: Deploying IP Telephony". NOSSDAV 2001,


Pstn to ip call l.jpg

PBX

Gateway

PSTN

Internal T1/CAS

(Ext:7130-7139)

External T1/CAS

Call 9397134

Call 7134

Ethernet

713x is called a part of Coordinated Dial Plan (CDP) in a Nortel PBX

5

4

2

3

1

Regular phone

(internal)

SIP server

SQL

database

sipd

sipc

Bob’s phone

7134 => bob

PSTN to IP Call

  • Direct Inward Dial (DID) - direct and simple

  • No-DID - dial extension, supports more users


Ip to pstn call l.jpg

PBX

Gateway

(10.0.2.3)

PSTN

External T1/CAS

Internal T1/CAS

Call 5551212

Call 85551212

Ethernet

3

4

2

1

5

5551212

Bob calls

5551212

Regular phone

(internal, 7054)

SIP server

SQL

database

sipd

sipc

Use sip:[email protected]

IP to PSTN Call

Note: In this direction there is no distinction between DID and non-DID calls.


An overview of cinema implementation35 l.jpg

An Overview of CINEMA Implementation

Overview

Modules

Applications

Performance

Misc

Compilation

Installation

Portability

Current and Future work

Discussion of some performance issues and solutions


Performance why is it important l.jpg

PerformanceWhy is it important ?

  • Reduce server cost per user => more users per server

  • Registration: 100 requests/s => 180000 registered users (1 hr refresh time, digest authentication)

  • Call: 100 requests/s => 120000 calls per hour (record route)

  • Bandwidth: 1 Gb/s => (approx) 6250 bi-directional G.711 simultaneous participants in a conference.


Performance for which components l.jpg

PerformanceFor which components ?

  • Signaling: proxy, registrar (sipd)

    • Receive message

    • Act on it (canonicalize, database lookup)

    • Proxy the message

    • Send/proxy response back

  • Media: sipconf, rtspd

    • Some processing for each media stream

    • File I/O

    • Encode/decode (audio mixing)

    • Forward packets (video)


Performance threads l.jpg

PerformanceThreads

  • One thread per request

    • For 1MB virtual memory per thread on 32 bit machine: max limit of 4000 threads. OS limits (for regular user 1024 pthreads on solaris)

    • 30 second wait per stateful INVITE request; limits to 130 R/s

    • Thread creation overhead

  • Customize stack size

  • Use thread pool or event model


Performance thread pool l.jpg

PerformanceThread pool

  • Request are put in an event queue

  • Worker threads pick up the event and execute

  • Fix the number of worker threads

  • G/G/T/N queue

  • Use thread pool for all requests

  • Need to rewrite sleep/wakeup so that 30 sec wait does not waste a thread

  • Will multiple process help? may be for stateless proxies


Performance in memory db l.jpg

PerformanceIn-memory DB

  • Every query to database affects turn-around time

  • Duplicate the DB in main memory; hash-table

  • Less than 4k per user (?)

  • Replacement algorithm? Not needed

  • Synchronization: separate threads

    • Primary user table, aliases: relatively static, readonly by sipd, refresh every 30 min

    • Contacts table: read-write, refreshed every 2 min

    • Read only modified records since last read, write back only modified records


Performance database l.jpg

PerformanceDatabase

  • NFS issues (log, scripts, database files?)

  • SQL logging: currently serialized; use lazy write back; logging at the end of request processing, so it does not affect response time but consumes resources (worker thread) for longer time per request

  • DB on same machine or on remote machine?


Performance bandwidth l.jpg

PerformanceBandwidth

  • Assuming avg message length 130 bytes; on 100 Mb/s with effective 40%, 3000 requests/s

  • Affects more to media components

    • Number of simultaneous media streams served by rtspd

    • Number of participants in a conference by sipconf

    • Number of simultaneous three party conferences by sipconf


Performance general comments l.jpg

PerformanceGeneral Comments

  • Measure performance on various platforms (Linux, Solaris Netra, Dec Alpha)

  • Compare stateless vs stateful proxy

  • Compare in-memory (fastsql) vs database (sql)


An overview of cinema implementation44 l.jpg

An Overview of CINEMA Implementation

Overview

Modules

Applications

Performance

Misc

Compilation

Installation

Portability

Current and Future work


Compilation l.jpg

Compilation

  • Autoconf, configure and make for Unix platforms

    • Solaris, Linux, FreeBSD, Tru64

      $ ./configure –with-mysql=… --with-…

      $ make sipconf

  • Microsoft VC++ 6.0 for Windows NT/2000

  • Makefile.in (global), module.mk (per module)


Installation and software distribution l.jpg

InstallationAnd software distribution

  • GUI based configuration

  • Package manager (Sun, Linux, FreeBSD,…), Installation scripts, windows install shield

  • Monitor scripts, RC


Portability cross platform support l.jpg

PortabilityCross platform support

  • Endian-ness: Big endian (Sparc, DEC), little endian (Intel)

  • 32 bit vs 64 bit

  • Unix vs Windows standard libraries (threads)

  • Re-entrant APIs (gethostbyname_r, strtok_r)

  • NTutils for win32

  • Shared libraries compilation (?)


Documentation l.jpg

Documentation

  • software documentation:

    • http://www.cs.columbia.edu/IRT/cinema

  • Overview:

    • Paper: http://www.cs.columbia.edu/~hgs/papers/Jian0106_Junking.pdf

    • Tech report (incomplete): http://www.cs.columbia.edu/~kns10/publication/cinematr.pdf

  • Compilation instructions:

    • README, README.build, NT/README.win32 files

  • This presentation:

    • http://www.cs.columbia.edu/~kns10/talks (will be put up shortly)


Current and future work l.jpg

Current and Future Work

  • Improved installation

  • Address book

  • Calendar and event notification

  • Conference recording (local file, media server)

  • File sharing in a conference from web

  • Voice dialogs for conferencing and voicemail

  • Load balancing on multiple conference servers

  • Conference (floor) control from web


Current and future work50 l.jpg

Current and Future Work

  • From a multimedia communication test bed to a multimedia collaboration portal environment

  • Scaling to large call volumes and users


Publications for more information l.jpg

PublicationsFor more information

  • W. Jiang, J. Lennox, H. Schulzrinne and K. Singh, “Towards Junking the PBX: Deploying IP Telephony". NOSSDAV 2001,

  • H. Schulzrinne, S. Narayanan, J. Lennox and M. Doyle, “SIPstone – Benchmarking SIP Server Performance”. Aug 2001. http://www.sipstone.org

  • Kundan Singh, Gautam Nair and Henning Schulzrinne, "Centralized Conferencing using SIP". Proceedings of the 2nd IP-Telephony Workshop (IPTel'2001), April 2001.

  • K. Singh, H.Schulzrinne, "Interworking Between SIP/SDP and H.323". Proceedings of the 1st IP-Telephony Workshop (IPTel'2000), April 2000.

  • Kundan Singh and Henning Schulzrinne, "Unified Messaging using SIP and RTSP".  IP Telecom Services Workshop 2000, Sept 2000. Atlanta, Georgia, U.S.A.


  • Login