NTP VoIP Platform: A SIP VoIP Platform and Its Services



Similar documents
NTP VoIP Platform: A SIP VoIP Platform and Its Services 1

Chapter 10 Session Initiation Protocol. Prof. Yuh-Shyan Chen Department of Computer Science and Information Engineering National Taipei University

Voice over IP (SIP) Milan Milinković

Three-Way Calling using the Conferencing-URI

Session Initiation Protocol (SIP) 陳 懷 恩 博 士 助 理 教 授 兼 計 算 機 中 心 資 訊 網 路 組 組 長 國 立 宜 蘭 大 學 資 工 系 TEL: # 340

Media Gateway Controller RTP

SIP: Protocol Overview

3.1 SESSION INITIATION PROTOCOL (SIP) OVERVIEW

Voice over IP & Other Multimedia Protocols. SIP: Session Initiation Protocol. IETF service vision. Advanced Networking

TECHNICAL SUPPORT NOTE. 3-Way Call Conferencing with Broadsoft - TA900 Series

TSIN02 - Internetworking

ARCHITECTURES TO SUPPORT PSTN SIP VOIP INTERCONNECTION

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

This specification this document to get an official version of this User Network Interface Specification

802.11: Mobility Within Same Subnet

SIP Basics. CSG VoIP Workshop. Dennis Baron January 5, Dennis Baron, January 5, 2005 Page 1. np119

How To Understand The Purpose Of A Sip Aware Firewall/Alg (Sip) With An Alg (Sip) And An Algen (S Ip) (Alg) (Siph) (Network) (Ip) (Lib

Session Initiation Protocol (SIP)

IP-Telephony SIP & MEGACO

Request for Comments: August 2006

White paper. SIP An introduction

SIP : Session Initiation Protocol

Application Notes for Configuring SIP Trunking between McLeodUSA SIP Trunking Solution and an Avaya IP Office Telephony Solution 1.

Transparent weaknesses in VoIP

EE4607 Session Initiation Protocol

Part II. Prof. Ai-Chun Pang Graduate Institute of Networking and Multimedia, Dept. of Comp. Sci. and Info. Engr., National Taiwan University

Multimedia & Protocols in the Internet - Introduction to SIP

Integrating Voice over IP services in IPv4 and IPv6 networks

SIP Session Initiation Protocol

IP Office Technical Tip

Session Initiation Protocol

SIP Essentials Training

NAT TCP SIP ALG Support

Session Initiation Protocol and Services

VoIP LAB. 陳 懷 恩 博 士 助 理 教 授 兼 所 長 國 立 宜 蘭 大 學 資 訊 工 程 研 究 所 TEL: # 255

VoIP Signaling and Call Control

SIP/ SIMPLE : A control architecture for the wired and wireless Internet?

Voice over IP Fundamentals

How to make free phone calls and influence people by the grugq

SIP: Ringing Timer Support for INVITE Client Transaction

VoIP. What s Voice over IP?

SIP A Technology Deep Dive

Session Initiation Protocol

Voice over IP (VoIP) Part 2

SIP-based VoIP Deployment in Taiwan

Internet Engineering Task Force (IETF) Request for Comments: 7088 Category: Informational February 2014 ISSN:

Session Initiation Protocol (SIP)

Application Note. Onsight Connect Network Requirements V6.1

internet technologies and standards

SIP OVER NAT. Pavel Segeč. University of Žilina, Faculty of Management Science and Informatics, Slovak Republic

Mobicents 2.0 The Open Source Communication Platform. DERUELLE Jean JBoss, by Red Hat 138

End-2-End QoS Provisioning in UMTS networks

Application Notes for IDT Net2Phone SIP Trunking Service with Avaya IP Office Issue 1.0

Internet Services & Protocols Multimedia Applications, Voice over IP

Formación en Tecnologías Avanzadas

Internet Services & Protocols Multimedia Applications, Voice over IP

SIP Trunking. Service Guide. Learn More: Call us at

SIP ALG - Session Initiated Protocol Applications- Level Gateway

Avaya IP Office 8.1 Configuration Guide

Application Note. Firewall Requirements for the Onsight Mobile Collaboration System and Hosted Librestream SIP Service v5.0

Advanced Networking Voice over IP & Other Multimedia Protocols

SIP Trunking & Peering Operation Guide

ETSI TS V8.2.0 ( ) Technical Specification

Multimedia Communication in the Internet. SIP: Advanced Topics. Dorgham Sisalem, Sven Ehlert Mobile Integrated Services FhG FOKUS

SIP for Voice, Video and Instant Messaging

Session Initiation Protocol (SIP)

Denial of Services on SIP VoIP infrastructures

SIP and ENUM. Overview DENIC. Introduction to SIP. Addresses and Address Resolution in SIP ENUM & SIP

IPv4/IPv6 Transition for SIP VoIP Applications

Q&A. DEMO Version

Contents. Specialty Answering Service. All rights reserved.

WHAT S BEHIND YOUR SMARTPHONE ICONS? A brief tour of behind-the-scenes signaling for multimedia services

An outline of the security threats that face SIP based VoIP and other real-time applications

Cisco Networks (ONT) 2006 Cisco Systems, Inc. All rights reserved.

A Scalable Multi-Server Cluster VoIP System

For internal circulation of BSNL only

MODELLING OF INTELLIGENCE IN INTERNET TELEPHONE SYSTEM

Configuration of Applied VoIP Sip Trunks with the Toshiba CIX40, 100, 200 and 670

Internet Working 15th lecture (last but one) Chair of Communication Systems Department of Applied Sciences University of Freiburg 2005

SIP, Session Initiation Protocol used in VoIP

A Comparative Study of Signalling Protocols Used In VoIP

The use of IP networks, namely the LAN and WAN, to carry voice. Voice was originally carried over circuit switched networks

Receiving the IP packets Decoding of the packets Digital-to-analog conversion which reproduces the original voice stream

Integration of GSM Module with PC Mother Board (GSM Trunking) WHITE/Technical PAPER. Author: Srinivasa Rao Bommana

VoIP with SIP. Session Initiation Protocol RFC-3261/RFC

Need for Signaling and Call Control

Enabling Security Features in Firmware DGW v2.0 June 22, 2011

3GPP TS V8.1.0 ( )

Chapter 2 PSTN and VoIP Services Context

VOP Support Notes. 24-port POTS/VOIP module for IES Version V3.53(BBT.0) July 2008 Edition 1

FOSDEM 2007 Brussels, Belgium. Daniel Pocock B.CompSc(Melbourne)

IxLoad VoIP SIP, MGCP Features

Manual. ABTO Software

SIP Introduction. Jan Janak

VIDEOCONFERENCING. Video class

UC-One. Epik. UC-One Quick Guide. Quick Guide For Apps. Why we love UC-One

VOIP-211RS/210RS/220RS/440S. SIP VoIP Router. User s Guide

Dialogic Diva SIPcontrol Software

Grandstream Networks, Inc. GXP2130/2140/2160 Auto-configuration Plug and Play

Transcription:

NTP VoIP Platform: A SIP VoIP Platform and Its Services Speaker: Dr. Chai-Hien Gan National Chiao Tung University, Taiwan Email: chgan@csie.nctu.edu.tw Date: 2006/05/02 1

Outline Introduction NTP VoIP Platform Background Knowledge VoIP Monitoring System Conference System Conclusion Remarks 2

Introduction (1/3) Internet Protocol (IP) technology has been utilized to transport voice over packet-switched network (that is, Voice over IP; VoIP). This approach consumes lower bandwidth, and therefore reduces communications costs. 3

Introduction (2/3) Session Initiation Protocol (SIP) is the most popular signaling protocol for VoIP call control. It supports functions to facilitate integration of user presence, instant messaging, and multimedia communications. SIP is chosen as the signaling protocol in IP Multimedia Subsystem (IMS) in 3GPP specifications. 4

Introduction (3/3) Under the National Telecommunication Development Program (NTP), we have established a VoIP testbed (i.e., NTP VoIP platform) This platform allows deployment of SIP-based wireless/wireline VoIP applications. 5

Outline Introduction NTP VoIP Platform Background Knowledge VoIP Monitoring System Conference System Conclusion Remarks 6

NTP VoIP Platform 7

SIP User Agents SIP User Agents (UAs) is a hardware-based or a software-based SIP phone that provides several call functions such as dial, answer, reject, hold/unhold, and call transfer. In NTP VoIP platform, the software-based SIP UA can be installed in several terminals including desktop computers, notebooks, PDAs, and Wireless LAN/Cellular dual-mode handsets. 8

Hardware-based SIP User Agents 9

Software-based SIP User Agents 10

SIP Server (1/2) SIP Server provides primary capabilities for call-session control in NTP VoIP platform. A SIP server processes SIP request and response messages as a SIP proxy. It also plays a role as a SIP registrar to store the contact information (e.g., the IP address) of each VoIP user. 11

SIP Server (2/2) Two types of SIP servers are deployed in NTP VoIP platform, which are the call server developed by Industrial Technology Research Institute (ITRI) and the SIP Express Router (SER) developed by iptel. The ITRI call server is a commercial product and provides a convenient Operation, Administration and Maintenance (OAM) interface. The SER is an open-source server deployed on a Linux system or a BSD system. 12

OAM of the NTP Call Server 13

SIP Server and Application Servers 14

PSTN Gateway (1/2) PSTN Gateway supports interworking between NTP VoIP platform (i.e., an IP network) and the Public Switched Telephone Network (PSTN) It allows VoIP phone users to reach other PSTN users. Three PSTN gateways have been deployed in NTP VoIP platform, which are the Vontel gateway developed by ITRI, Cisco 2621 and Cisco 3700. 15

PSTN Gateway (2/2) 16

VPN Gateway VPN Gateway is a server that provides a security channel for connecting internal network (NCTU) through a public network (Internet). Instead of using dedicated connection (e.g., leased line), a VPN establishes "virtual" connections between private network and the remote users. The VPN gateway uses IP Security (IPSec) encryption and Layer 2 Tunnel Protocol (L2TP) tunneling mechanism to ensure that the data is authorized and cannot be intercepted. Both IPv4 and IPv6 are supported by this gateway. 17

Monitoring system and Conference System Monitoring System is developed to provide Lawful Interception for the Law Enforcement Agency. Conference system is developed to provide video/voice conference communication. 18

Outline Introduction NTP VoIP Platform Background Knowledge VoIP Monitoring System Conference System Conclusion Remarks 19

SIP Call Setup in NTP VoIP Platform 20

Execution Steps (1/2) Step A.1. UA1 sends an INVITE message that carries the Real-time Transport Protocol (RTP) information in the SDP fields, to UA2. Since UA1 does not know the contact IP address of UA2, it sends the INVITE message to the SIP server. The SIP server retrieves UA2 s IP address and forwards the INVITE message to UA2. Step A.2. Upon receipt of the INVITE message, UA2 plays a ringing tone and replies a 180 Ringing to UA1. Based on the Via header field, the route of the 180 Ringing message follows the reversed direction of the INVITE message. Therefore, this message is sent to the SIP server and then forwarded to the UA1. When UA1 receives the 180 Ringing message, it plays the ring-back tone to notify the user of UA1 that UA2 is ringing. 21

Execution Steps (2/2) Step A.3. When the called party picks up the call, UA2 sends a 200 OK message to UA1. The 200 OK message carries the RTP information of UA2 in the SDP fields. The 200 OK message follows the same path as 180 Ringing message to UA2. Step A.4. Upon receipt of the 200 OK message, UA1 sends an ACK message to UA2. At this point, the RTP session between UA1 and UA2 is established. Steps A.5 and A.6. Any party of the RTP session can send a BYE message to terminate the ongoing RTP session. In this example, UA2 sends the BYE message to UA1. UA1 replies a 200 OK message to UA2 to confirm that the RTP session is successfully terminated. 22

Session Description Protocol (SDP) INVITE sip:ua2@sip_server SIP/2.0 Via: SIP/2.0/UDP UA1.work.com From: Alan <sip:ua1@ SIP_server> To: Bob <sip:ua2@ SIP_server> Call-ID: 123456@ UA1.work.com CSeq: 1 INVITE Content-Length: 421 Content-Type: application/sdp v=0 c=in IP4 140.113.131.10 m=audio 9000 RTP/AVP 0 a=rtpmap:0 PCMU/8000 23

SDP fields The c field (e.g., c=in IP4 140.113.131.10) indicates the connection information for media (voice or data) session, which includes the network type (IN for Internet), address type (IP4 for IPv4), and connection address. This field may also be expressed with a domain name. The m field (e.g., m=audio 9000 RTP/AVP 0) indicates the media, which contains the media type (audio), port (9000), protocol (RTP/AVP), and the codec number (i.e., 0 for u-law PCM). 24

Media Gate Control Protocol (MGCP) A controller referred to as a call agent uses MGCP to instruct the Media Gateway (MG) to process the multimedia streams such as the RTP streams. In this platform, MGCP is used in the proposed VoIP monitoring system. 25

MGCP Commands The CreateConnection (CRCX) command is issued by the call agent to an MG and used to create a new connection. The ModifyConnection (MDCX) command is issued by the call agent to an MG and used to modify the parameters of a connection. 26

MGCP Parameters The CallId (C) parameter is the unique identifier for a call and composed of hexadecimal numbers. The ConnectionId (I) parameter is the unique identifier for a connection on an MGCP endpoint and composed of hexadecimal numbers. The ConnectionMode (M) parameter is used to configure the connection of an endpoint to receive-only, send-only or send-receive mode. 27

Outline Introduction NTP VoIP Platform Background Knowledge VoIP Monitoring System Conference System Conclusion Remarks 28

VoIP Monitoring System For lawful interception in a SIP-based VoIP system, we design a monitoring system that provides the Call Detail Records (CDRs) and the interception function. In NTP VoIP platform, this monitoring system is a plug-in system. The original SIP server does not require any modification. Moreover, the monitoring system can intercept the multimedia calls (e.g., a voice call or a video call) from all kinds of SIP UAs. 29

VoIP Monitoring System To intercept a phone call, the Law Enforcement Agency (LEA) configures the monitoring system and requests the VoIP operator referred to as an Internet Telephony Service Provider (ITSP) to forward the SIP messages to the monitoring system. In the proposed monitoring system, an administrator (i.e., the LEA) can configure the information of a monitored user (e.g., a suspect), browse the CDRs and obtain the intercepted voice/video files on the monitoring portal through Hyper Text Transfer Protocol (HTTP). The monitoring portal sends a SIP Instant Message (IM) to notify the administrator while receiving a voice/video file. 30

VoIP Monitoring System Architecture 31

The components (1/2) The monitoring server exams the incoming SIP messages based on the user s information retrieved from the monitoring portal, modifies the SDP c and m fields to redirect the monitored RTP streams to the RTP proxy and finally stores the CDRs to the monitoring portal. The monitoring server communicates with the monitoring portal through Remote Authentication Dial-In User Service (RADIUS) and communicates with the RTP proxy through MGCP. 32

The components (2/2) The RTP proxy records the incoming RTP streams and then forwards these streams to the destinations. Since the loading of a RTP proxy is larger than that of a monitoring server, the monitoring server dispatches the RTP streams to multiple RTP proxies for reducing the loading of a RTP proxy. Each RTP proxy uploads the intercepted files to the monitoring portal through File Transfer Protocol (FTP) after sessions are complete, and the administrator can retrieve all files from the monitoring portal. 33

A Call Setup Example 34

Execution Flows (1/4) Step B.1. The WiFi Phone sends a SIP INVITE message to the monitoring server. Step B.2. Upon receipt the INVITE message, the monitoring server checks the SIP Request URI. Since the Request URI header field contains the monitored number, the monitoring server issues an MGCP CreateConnection message to the RTP proxy to start the monitoring procedure. 35

Execution Flows (2/4) Step B.3. The RTP proxy returns its IP address and an available port number in an MGCP 200 OK message. Step B.4. Upon receipt of the 200 OK message, the monitoring server modifies the IP address and the port number of the SDP c and m fields of the INVITE message that is received at Step B.2. Then the monitoring server forwards the modified INVITE message to the VoIP phone according to the Request URI. Step B.5. When the VoIP phone receives the INVITE message, it obtains the RTP information from the SDP c and m fields. After the called party has picked up the call, the VoIP phone replies a SIP 200 OK message to the WiFi phone. The 200 OK message is sent back to the monitoring server according to the top Via header field (SIP/2.0/UDP SIP_server:5060). Therefore, the route of the 200 OK message is the reverse of that for the INVITE message. 36

Execution Flows (3/4) Step B.6. Upon receipt of the 200 OK message, the monitoring server obtains the RTP information of the VoIP phone from the SDP c and m fields and sends this information to the RTP proxy through MGCP ModifyConnection message. Step B.7. The RTP proxy replies an MGCP 200 OK message after it has built the RTP mapping for RTP Stream-2. Step B.8. The monitoring server sends the WiFi phone s address and port number to the RTP proxy and instructs the RTP proxy to build the mapping for RTP Stream-1. 37

Execution Flows (4/4) Step B.9. After the mapping for RTP Stream-1 is built, the RTP proxy returns its IP address and port number to the monitoring server through an MGCP 200 OK message. Then the monitoring server modifies the SDP c and m fields of the SIP 200 OK message based on the MGCP 200 OK message. Step B.10. The SIP 200 OK message is sent back to the WiFi phone according to the top Via header field. Step B.11 and B.12. The ACK message is returned to the VoIP phone. The processing of the ACK message is similar to that of the INVITE message, and the details are omitted here. 38

Outline Introduction NTP VoIP Platform Background Knowledge VoIP Monitoring System Conference System Conclusion Remarks 39

Conference System In NTP VoIP system, we propose a conference system that provides both voice and video conference functions. In this system, the SIP server acts as a SIP Proxy, and the conference users (SIP UAs) may access the conference system through a wireless or a wired network. 40

Conference System Architecture 41

The Components The Conference Server is used to mix the video/voice steams from different users to make a single video/voice stream, and then multicasts this stream to the group of users. In the NTP platform, the conference call numbers, 0944022001~0944022100, are assigned to the Conference Server. The Conference Allocator provides users to allocate the conference period among different user groups. 42

Conference Call Example 43

Execution Flows (1/5) Step C.1. One of the group users first reserves a conference timeslot at the Conference Allocator by using Hypertext Transfer Protocol (HTTP) request. In the Conference Allocator, a time table is maintained to record the reservations of conference timeslots. Upon receipt of the reservation request, the Conference Allocator checks whether the reservation is available. If so, the reservation is added to the time table. Step C.2. When the Conference Allocator accepts the reservation request, it chooses a conference phone number (e.g., 0944022001) by checking its time table and generates a password for this conference. Then the Conference Allocator sends the conference phone number and the conference password to the requested user. Upon receipt of the phone number and password information, the user notifies other users participating in the conference about this information. 44

Execution Flows (2/5) Step C.3. When the start-time of the conference timeslot is reached, the Conference Allocator starts a timer that is used to hold the conference period, which will be expired at the end of the conference period. Step C.4. The Conference Allocator sets the password (generated at Step C.2) for the conference phone number at the Conference Server. Step C.5. The Conference Allocator registers the conference phone number to SIP server to add its contact information by using a SIP REGISTER message. This registration informs the SIP server to route the SIP message (which invites the conference phone number) to the Conference Allocator. 45

Execution Flows (3/5) Step C.6. A user (involving this conference) sends a SIP INVITE message with the conference phone number 0944022001 to the SIP server. Note that each group user must execute Steps C.6-C.10 individually. Step C.7. When the SIP server receives the INVITE message, it checks the SIP registrar for the contact information of the conference phone number. If the contact information is found, the INVITE message is routed to the Conference Allocator. Otherwise, this request is rejected. Step C.8. Upon receipt of the INVITE message, the Conference Allocator forwards this message to the Conference Server. The Conference Allocator also maintains a conference table to record the users who join the conference session. 46

Execution Flows (4/5) Step C.9. Upon receipt of the first INVITE message for a conference phone number, Conference Server starts the video/voice conference session. If the other INVITE message is received, Conference Server adds the user to join the conference session according to the conference call number. An Interactive Voice Response (IVR) stream is played to request the user to submit the conference password (obtained at Step C.2 and set at Step C.4) through Dual Tone Multi-Frequency (DTMF). If the password is correct, a SIP 200 OK message is replied to the user through the Conference Allocator. Step C.10. Upon receipt of the 200 OK message, the user sends an ACK message to Conference Server through the Conference Allocator. Step C.11. Upon receipt of the ACK message, the RTP connection between the user and Conference Server is established, and the video/voice conference is activated. Note that a user can join the video/voice conference between the start and the end of the conference period, and Steps C.6-C.10 can be executed after Step C.11. 47

Execution Flows (5/5) Step C.12. When the timer (started at Step C.3) is expired, the Conference Allocator terminates the conference session by executing Steps C13-C15. Step C.13. The Conference Allocator removes the contact information of the conference phone number by sending a SIP REGISTER message to SIP server (i.e., the contact information is set to blank). Therefore, other INVITE messages will not be routed to the Conference Allocator for this conference. Steps C.14. The Conference Allocator sends the SIP BYE message to the Conference Server to terminate the conference session. Step C.15. By querying the conference table (described at Step C.8), the Conference Allocator sends the BYE messages to the users involving this conference session. 48

Outline Introduction NTP VoIP Platform Background Knowledge VoIP Monitoring System Conference System Conclusion Remarks 49

Conclusion Remarks (1/3) We introduce an experiment SIPbased VoIP platform, NTP VoIP platform. In NTP VoIP platform, we develop a monitoring system for lawful interception and a conference system for audio and video conferences. 50

Conclusion Remarks (2/3) The monitoring system provides call detail records and interception function. Through this system, the Lawful Enforcement Agency can easily intercept the VoIP calls of a suspect. The conference system is proposed to provide voice/video conferences. Through the conference system, a user can dynamically reserve the period of a VoIP conference. 51

Conclusion Remarks (3/3) We utilize the detail message flows to demonstrate the monitoring system and the conference system. The monitoring system won the top prize at the Taiwan Ministry of Education (MoE) Communication Contest 2005. 52