540 likes | 652 Views
CINEMA Columbia InterNet Extensible Multimedia Architecture. Agenda Basic IP telephony Infrastructure and components Additional services Current and future work. Kundan Singh kns10@cs.columbia.edu.
E N D
CINEMAColumbia InterNet Extensible Multimedia Architecture • Agenda • Basic IP telephony • Infrastructure and components • Additional services • Current and future work Kundan Singh kns10@cs.columbia.edu Joint work with Wenyu Jiang, Jonathan Lennox, Sankaran Narayanan, Henning Schulzrinne, Xiaotao Wu and Min Yan “Internet Real Time Lab”
… Basic IP TelephonyAudio Packet Transfer • Digitization (e.g., sampling at 8kHz, 16 bits per sample, i.e, 128 kb/s or 320 bytes per 20 ms) • Real-time compression/encoding (e.g., G.729A at 8 kb/s) • Transport to remote IP address and port number over UDP (Why not TCP?) • Processing on receiver side is the reverse
Basic IP TelephonySampling, Quantization, Encoding +127 10101111…01101101 Encode each quantized sample into 8 bit code word PCM: 8000 x 8 bits = 64 kb/s Other techniques (differential coding, linear prediction) 2.4 kb/s to 64 kb/s +0 -127 Sample at twice the highest voice frequency 2 x 4000=8000 Round off samples to one of 256 levels (introduces noise)
Basic IP TelephonyProblems with UDP Sender 1 2 3 4 5 6 7 (a) (b) 1 2 3 5 7 6 timeline Receiver • Unreliable UDP • Packet loss • Out-of-order (very rarely) • Jitter (delay variation)
Basic IP Telephony Receive buffer • Sequence number: to detect packet loss; Just ignore the loss! • Receive buffer: to absorb jitter Sender 8 9 0 1 2 3 4 1 2 3 4 5 6 7 8 9 0 2 3 4 1 2 3 5 7 6 Receiver 1 2 7 8 9 0 2 3 1 2 5 7 8 9 0 2 1 2 3 5 6 7
Basic IP Telephony Timestamp Vs sequence number • Silence suppression • Variable length packets Sender t1 t2 t3 t4 t5 t6 t7 t8 t9 Silence … 5 6 7 1 2 3 4 5 6 7 1 2 3 4 Receiver Playout time vs packet loss detection
Basic IP Telephony Real-time Transport Protocol - RTP IP header V CC M Payload type Sequence number P X UDP header Timestamp (proportional to sampling time) RTP Header Source identifier (SSrc) Encoded Audio Optional contributors’ list (CSrc) msg sendto(…, msg, …) recvfrom(…, msg, …)
Basic IP Telephony RTP based conference Mixer PCMU Transcoder PCMU G.729 G.729 PCMU PCMU An example RTP conference (without multicast)
Basic IP Telephony Why do we need signaling? Register as Alice=>128.59.19.194 Query for Alice 128.59.19.194 Alice’s host 128.59.19.194 Bob’s host • What is the IP address of Alice’s host? • What audio encoding can it support?
Basic IP Telephony Session Initiation Protocol - SIP • Address based on email (alice@home.com) • DNS SRV for SIP home.compc1.home.com • pc1.home.com 129.59.19.140 • INVITE alice@home.com • INVITE alice@m2.home.com (proxy mode) office.com Bob Alice (2) (3) m2.home.com Columbia.edu Cisco.com home.com
Basic IP Telephony SIP Message Format Request INVITEsip:alice@home.com SIP/2.0 From: “Bob” <bob@office.com> To: “Alice” <alice@home.com> Subject: do you know SIP? ... Response SIP/2.0 200 OK From: “Bob” <bob@office.com> To: “Alice” <alice@home.com> Subject: do you know SIP? ...
Basic IP Telephony Session Description Protocol - SDP INVITE Alice I can support PCMU and G.729 Send me audio at 202.16.49.27:6780 Bob Alice 128.59.19.194 202.16.49.27 OK; I can support PCMU Send me audio at 128.59.19.194:8000 RTP To port 8000 RTP To port 6780
Basic IP Telephony SDP Message Format Request INVITE sip:alice@home.com SIP/2.0 ... v=0 o=bob 26172 27162 IN IP4 202.16.49.27 s=SIP call c=IN IP4 202.16.49.27 t=0 0 m=audio6780 RTP/AVP 0 8 5 m=video 6790 RTP/AVP 31 Response SIP/2.0 200 OK ... c=IN IP4 128.59.19.194 t=0 0 m=audio8000 RTP/AVP 0 8 m=video 0 RTP/AVP 31
Basic IP Telephony Example scenario Alice pc5 (4) Cisco.com (3) Office.com Bob (2) (1) • Invite alice@home.com • Moved to alice-john@cisco.com • Invite alice-john@cisco.com • Invite alice-john@pc5.cisco.com Home.com
Basic IP TelephonyVoIP Gateways Another campus Corporate/Campus 7040 8151 External line 8152 (Plain Old) Telephone Network PBX PBX 8153 7042 8154 7043 Gateway Internet LAN LAN
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)
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
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., “hgs@cs.columbia.edu” Software (sipc) for desktop. Allows audio, video, chat, white board, device control, instant message, presence and desktop sharing.
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: hgs@cs.columbia.edu => hgs@128.59.19.233 There can be multiple contacts. All registered phones ring, and the first to pick up is connected.
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 hgs@cs.columbia.edu, 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.
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.
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:7132@128.59.19.141 128.59.19.141 SIP/PSTN Gateway (3) Sipd looks into the dialplan, finds a mapping 7132=>hgs@cs.columbia.edu and forwards the call to the current location of “hgs”.
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 85551212@128.59.19.28, 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:5551212@cs.columbia.edu”.
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 • 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)
ServicesProgrammable servers • “Forward my call to office phone during day time and to my mobile in the evening” or “do not allow foo@bar to call me” • Server side scripts – similar to HTTP • SIP-CGI vs HTTP-CGI • SIP Java Servlet • Call Processing Language (CPL)
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.
ServicesManagement - SNMP • Constantly monitor the SIP server from remote • Report any problem (e.g., unauthorized registration request) • Use Simple Network Management Protocol (SNMP) – client server • SIP Management Information Base (MIB) – describe variables and and parameters for monitoring and control • SIP server implements MIB, can be controlled remotely by an SNMP client.
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
ServicesInteroperability with H.323 • H.323 – Proposed by ITU-T • Based on previous H.324/H.320 architecture for video conferencing • Collection of other specifications (for signaling, control, transport, etc.) • Defines everything, from supported codecs to controlling remote camera. (vs SIP, define only what is needed) • NetMeeting – most commonly known client • http://www.packetizer.com - good introduction on H.323 (biased comparison with SIP!!)
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
ServicesUnified messaging • Single messaging system – email, voicemail, fax/video, etc. • Voice mail and answering machine – first step • Streaming media for storage and retrieval – Real-Time Streaming Protocol • RTSP – similar to HTTP, request-response, uses RTP • RealPlayer, QuickTime – popular clients • SIP for signaling of IP telephony calls • Access from telephone using a gateway
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.
ServicesConferencing • Multiparty conferencing using SIP and RTP • Models – centralized, decentralized, multicast • Audio mixing, you don’t get back your own audio • Decode-add-encode • Video replication • Centralized SIP control • Centralized RTP mixer
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
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=> meeting@128.59.19.196 Test-bed Architecture Telephone Telephone switch PSTN user dials 1-212-9397139 128.59.19.196 Department PBX Netmeeting user dials “sip:meeting@cs.columbia.edu” SIP/PSTN Gateway SIP user dials “sip:meeting@cs.columbia.edu”
Services(What more?) Okay, SIP can do so many thing… but can it turn on my lamp? Answer is yes!!
ServicesSIP Extensions • SIP is just a session signaling protocol. • Can send message to a logical address (URI) and initiate any session • Extensions to do new things • Instant messaging; presence; event notification • Call Transfer • Device control (identify device as URI)
rtspd Quicktime RTSP media server RTSP sipconf RTSP clients SIP conference server sipum SIP/RTSP Unified messaging Web based configuration sipd Device GW X 10 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 Department PBX SIP/PSTN Gateway Device gateway allows control of X10 devices. We can control a “lamp” using SIP DO message.
rtspd Quicktime RTSP media server RTSP sipconf RTSP clients SIP conference server sipum SIP/RTSP Unified messaging Web based configuration sipd Device GW X 10 T1/E1 RTP/SIP 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 Complete Architecture Telephone Telephone switch Department PBX SIP/PSTN Gateway
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 SIPH.323 convertor Web server NetMeeting siph323 H.323 sipc Software SIP user agents (In)Complete Architecture Telephone Telephone switch Communication portal: Address book, calendar, message board, file sharing, conferencing, etc. Accounting and billing services Department PBX Performance measurement and scalability for very large call/session volumes (for sipd, sipconf and rtspd). SIP/PSTN Gateway SIP based Voice XML browser to allow access to voice mail and other services from touch tone phones
SummaryInternet Telephony is not only telephony on Internet ! • Basic IP telephony (PC-to-PC) • VoIP gateway (PC-to-phone and phone-to-PC) • Additional services: • Multimedia • Web and email integration • Instant messaging • Presence and event notification • Conferencing • Collaborative work environment • Media streaming • Unified messaging
SummaryWorld of Protocols • Session Initiation Protocol (SIP) – signaling of Internet sessions • Real-time Transport Protocol (RTP) – transport of real-time multimedia • Real Time Streaming Protocol (RTSP) – signaling for multimedia streaming, both playing and recording • Session Announcement Protocol (SAP) – announcing Internet radio session information • Multimedia encoding, G.711, GSM, ADPCM, G.729, H.261, H.263, MPEG.
SummaryOur IP telephony test-bed • For implementing new services • For test and performance measurement • For replacing the plain old PBX
SummaryMore Information • More information on the system design • http://www.cs.columbia.edu/~kns10/publication/cinematr.pdf • More information on the software components: • http://www.cs.columbia.edu/~hgs/software
Questions asked during the talks • Some of the questions that (I think) were raised and answered by the speaker during the talk. • Why not use IP address instead of SSRC in RTP? • What are the authentication mechanisms used in SIP? • Why is it not LGPL licensed? Are there other LGPL’ed SIP implementations? Does Columbia want to make money out of this? • What is the capacity of the system? How many users, calls can it handle? • Actual quality of audio, if we have tested between two IP phones on the real Internet? • Do you support any kind of encryption?
ComponentsVoIP: Call from POTS to IP • Convert telephone number to a SIP address (user@domain) • ENUM: Use DNS lookup • If you dialed 9397042 • Convert to +12129397042 • Do DNS lookup for 2.4.0.7.9.3.9.2.1.2.1.arpa.in • Result will be a SIP URL, e.g., sip:hgs@cs.columbia.edu • Private mapping within a domain by SIP server • 7030 - sip:kns10@cs.columbia.edu • 7032 - sip:hgs@cs.columbia.edu
ComponentsVoIP: Call from IP to POTS • If you know gateway’s IP address, dial sip:number@gatewayip • TRIP: Telephone routing over IP – to discover a gateway that can route your number correctly • Gateway1 +12129397??? free • Gateway2 +1408??????? 2¢/min • Gateway2 +1718??????? 2¢/min • Gateway3 +1?????????? 4¢/min
PSTN ComponentsInteractive Voice Response - IVR • Receives incoming PSTN5 call • Responds back with prompts • Accepts user input (DTMF or speech) • Takes action based on user input • (Usually the service logic is programmed for the specific application, say weather report) End user 1-212-8545224 IVR1 platform • Voice and telephony functions • (ASR2, TTS3, DTMF4) • Service logic (application specific) [1] Interactive voice response [2] Automated speech recognition [3] Text to speech [4] Dual tone multi-frequency (touch tone) [5] Public switched telephone network