41
Fatih University Department of Computer Engineering CENG 401 Software Engineering Requirement Analysis Document JVoiceChat Secured VoIP Internet Telephony Ousmane DIALLO, 07010440, Project Manager Ahmet Faruk BIŞKINLER, 07010441, Developer Mehmet COKYILMAZ, 07010321, Developer Husamettin YUKSEL, 07010314, Developer Mustafa BILGIC, 07010230, Tester Erdal OKALIN, 07010329, Tester Version 2.3 Start Date: 20 November 2007

Secured VoIP

Embed Size (px)

Citation preview

Page 1: Secured VoIP

Fatih UniversityDepartment of Computer Engineering

CENG 401 Software Engineering

Requirement Analysis Document

JVoiceChat

Secured VoIP Internet Telephony

Ousmane DIALLO, 07010440, Project Manager

Ahmet Faruk BIŞKINLER, 07010441, Developer

Mehmet COKYILMAZ, 07010321, Developer

Husamettin YUKSEL, 07010314, Developer

Mustafa BILGIC, 07010230, Tester

Erdal OKALIN, 07010329, Tester

Version 2.3Start Date: 20 November 2007

Monday, December 01, 2008

http://ahmet.piskinler.com/se

Page 2: Secured VoIP

Confirmation

Ousmane DIALLO

Project Manager

Computer Engineering

Ahmet Faruk BIŞKINKER

Developer

Computer Engineering

Mehmet ÇOKYILMAZ

Developer

Computer Engineering

Husamettin YUKSEL

Developer

Computer Engineering

Erdal OKALIN

Tester

Computer Engineering

Mustafa BILGIÇ

Tester

Computer Engineering

Halûk Gümüşkaya

Associate Professor

Computer Engineering

Melek Oktay

Research Assistant

Computer Engineering

ii

Page 3: Secured VoIP

Chapters and Authors Table

The chapter authors and inspectors are given in the following table:

Chapters Authors Inspectors Comments

Abbreviation Ousmane DIALLO,Mehmet COKYIL-MAZ, Erdal OKALIN

1.Introduction Ousmane DIALLO

2.CURRENT SYSTEMS Ousmane DIALLO, Ahmet Faruk BISKINLER

3.PROPOSED SYSTEM Ousmane DIALLO,Mustafa BILGIC, Ahmet Faruk BISKINLER

4.CONCLUSION Ousmane DIALLO

5.GLOSSARY Ousmane DIALLO, COKYILMAZ

6.REFERENCES Ousmane DIALLO, Erdal OKALIN

iii

Page 4: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

Abbreviation

JVoiceChat Java Voice Chat

VoIP Voice over Internet Protocol

UML Unified Modeling Language

PSTN Public Switched Telephone Network

IP Internet Protocol

PCM Pulse Code Modulation

RTP Real-Time Transport Protocol

UDP User Datagram Protocol

QoS Quality of Service

JMF Java Media Framework

XP eXtreme Programming

PDA Personal Digital Assistant

TCP Transmission Control Protocol

ADC Analog Digital Converter

AES Advanced Encryption Standard

FIFO First In First Out

PC Personal Computer

4

Page 5: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

Figures and Tables

Figures

Figure 1.4.1.4.1 Project Milestone.............................................................................................5Figure 1.4.1Yahoo voice messenger..........................................................................................6Figure 1.4.2 MSN voice messenger calling PC.........................................................................6Figure 1.4.3 MSN voice messenger calling Phone....................................................................6Figure 1.4.4 Skype voice messenger calling PC........................................................................7Figure 3.5.2.1 Use Case Diagram of Our project....................................................................12Figure 3.5.3.1 JVoiceChat PCMEF architecture.....................................................................14Figure 3.5.3.2 JVoiceChat Presentation Package....................................................................15Figure 3.5.3.3 JVoiceChat Control Package............................................................................16Figure 3.5.3.4 JVoiceChat Mediator Package.........................................................................16Figure 3.5.3.5 JVoiceChat Entity Package..............................................................................17Figure 3.5.3.6 JVoiceChat Foundation Package......................................................................17Figure 3.5.4.1Sequence Diagram for making a call.................................................................18Figure 3.5.4.2 Activity Diagram for making a call..................................................................19Figure 3.5.5.1 JVoiceChat Client Interface.............................................................................20Figure 3.5.5.2 JVoiceChat after connected to server...............................................................20Figure 3.5.5.3 JVoiceChat: Calling the client..........................................................................21Figure 3.5.5.4 JVoiceChat: Ending a call................................................................................21Figure 3.5.5.5 JVoiceChat: Disconnecting..............................................................................22Figure 3.5.5.6 JVoiceChat Interface: About Menu..................................................................22Figure 3.5.5.7. JVoiceChat Server Interface............................................................................23

Tables

Table 1.4.1 Project Members and Their Roles..........................................................................5

1

Page 6: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

Contents

CONFIRMATION........................................................................................................................................II

CHAPTERS AND AUTHORS TABLE.....................................................................................................III

ABBREVIATION...........................................................................................................................................4

FIGURES AND TABLES..............................................................................................................................1

FIGURES........................................................................................................................................................1TABLES.........................................................................................................................................................1

CONTENTS....................................................................................................................................................2

1. INTRODUCTION......................................................................................................................................3

1.1. PURPOSE OF THE SYSTEM................................................................................................................31.2. SCOPE OF THE SYSTEM....................................................................................................................31.3. OBJECTIVES AND SUCCESS CRITERIA OF THE PROJECT...................................................................41.4. PROJECT MEMBERS AND THEIR ROLES..........................................................................................5

2. CURRENT SYSTEMS..........................................................................................................................6

3. PROPOSED SYSTEM..........................................................................................................................8

3.1. OVERVIEW.......................................................................................................................................83.2. FUNCTIONAL REQUIREMENTS.........................................................................................................83.3. NON FUNCTIONAL REQUIREMENTS...............................................................................................103.3.1. USABILITY................................................................................................................................103.3.2. RELIABILITY.............................................................................................................................103.3.3. PERFORMANCE..........................................................................................................................103.3.4. HARDWARE REQUIREMENT......................................................................................................103.4. PSEUDO REQUIREMENTS...............................................................................................................103.5. SYSTEM MODELS..........................................................................................................................113.5.1 SCENARIO......................................................................................................................................113.5.2 USE CASE MODEL.........................................................................................................................123.5.3 OBJECT MODEL.............................................................................................................................143.5.4 DYNAMIC MODEL.........................................................................................................................183.5.5 USER INTERFACE...........................................................................................................................20

4. CONCLUSION....................................................................................................................................24

5. GLOSSARY.........................................................................................................................................25

6. REFERENCES......................................................................................................................................27

2

Page 7: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

1. INTRODUCTION

The idea of VoIP bursts in the late 1970 when at the same time Computer Networking was on

date. VoIP is of many interests because it allows end users to handle a voice call from their computers

(Desktop, Laptop, PDA....) with a very low fee or even sometimes free of charge.

Actually our project, JVoiceChat which relies on VoIP, is a technology that allows us to make

phone calls over the Internet instead of over the traditional PSTN. With VoIP voices are being trans-

mitted as data packets using the IP. So the user’s voice is converted into digital signal, compressed,

broken down into chunks of packets. The packets are then transported over public or private IP net -

works and collected back on the receiving host. Also VoIP is location independent, only Internet is re-

quired to get connection from the VoIP provider. Finally VoIP can integrate other internet services

like video conversation, message or data exchange while handing a call.

But in the matter of fact its implementation or its commercialization could be granted only in

1995-96. This late commercial development is the result of lack of IP infrastructure and also the fact

that Circuit Switched networking was and is still much more reliable for voice transmission. Another

reason for its gradual improvement might be the low bandwidth of the late Internet Service (56 kbps –

128 Kbps).

Somehow even thought today VoIP is of great interest, it is still facing the problem of Available

Bandwidth, Latency, Packet Loss, Reliability and Security.

Nevertheless VoIP technology is very famous and very familiar to us. Skype, Yahoo Messen-

ger, Windows Live Messenger are good examples of it.

3

Page 8: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

1.1. Purpose of the system

Our purpose is to enable voice chat between two peers and the process to achieve the task will

require some steps to follow.

– First of all we will start sending a given PCM audio file from one peer to another over the

RTP and UDP protocol in order to figure out how the VoIP mechanism is working, that is to say to

have a better idea about the QoS of these protocol.

– Later on we will assert a security issue within an encryption/decryption mechanism to have

the communication protected against any thread.

– Finally we will process the real time voice chat by buffering the audio streams from the mi-

crophones with the support of the JMF.

1.2. Scope of the System

Our system will be eventually based on Server/Client communication in a local area network.

At the very beginning the server program must be run first. After that we can run the client program to

make a request. Once the request is accepted by the server program then audio stream exchanges may

follow in a real time communication.

3

Page 9: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

1.3. Objectives and success criteria of the Project

Our VoIP project like any other VoIP project may face some risky problem during its imple-

mentations. Actually most of the problems about VoIP are related to the network issues that need to be

taken into consideration.

The common problems that JVoiceChat may face are:

Latency

QoS (Quality of Service)

Security

Bandwidth

After we have defined our main problems, now it is high time to establish a plan in order to

work them out.

The latency issue and the QoS problem can be solved by configuring the intranet router system

and prioritizing voice traffic by the firewall.

Again to overcome the bandwidth problem, we can subscribe to a higher bandwidth internet ser-

vice provider.

At last to manage the security matter, a security mechanism will be undertaken to ensure the

voice communication by encrypting the audio streams.

4

Page 10: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

1.4. Project Members and Their Roles

Project Member Roles Task

Ousmane DIALLO Project Manager, End User Documentation Specialist Cryptography Package

Ahmet Faruk BIŞKINLER Developer, Risk Officer, User-interface Designer Cryptography Package

Mehmet ÇOKYILMAZ Developer Voice Package

Husamettin YUKSEL Developer RTP Package

Mustafa BILGIÇ Tester RTP + Cryptography Test Class

Erdal OKALIN Tester Voice Test Class

Table 1.4.1 Project Members and Their Roles

Figure 1.4.1.4 Project Milestone

5

Page 11: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

2. CURRENT SYSTEMS

WNowadays VoIP technology is very popular with lots of application in the internet.

It is the case of Yahoo Messenger, Windows Live Messenger or simple Skype which enhance on their own a lot of subscribers.

At the same time today’s Voip service providers has overcome the barriers of only PC to PC Voice Chat, they have enable the case of PC to Phones. In this sense using Voip can be very eco-nomic. Actually figure 1 illustrates today’s VoIP technology where people can carry on phone calls from their PC to Normal Phones or vice versa.

Yahoo! Voice is a Voice over IP PC- PC, PC-Phone and Phone-to-PC service provided by Ya-hoo! via its Yahoo! Messenger instant messaging application. It is only available for the Windows platform.

Figure 1.4.1Yahoo voice messenger

Windows Live Messenger, still commonly referred to by the previous name of MSN Messenger, is an instant messaging client for Windows XP, it include also voice chat features.

Figure 1.4.2 MSN voice messenger calling PC Figure 1.4.3 MSN voice messenger calling Phone

6

Page 12: Secured VoIP

FATİH UNIVERSITY – Department of Computer Engineering

Skype allows users to make telephone calls from their computer to other Skype users free of charge, or to landlines and cell phones for a fee. Additional features include instant messaging, file transfer, short message service, video conferencing and its ability to circumvent firewalls.

Figure 1.4.4 Skype voice messenger calling PC

7

Page 13: Secured VoIP

3. PROPOSED SYSTEM

3.1. Overview

Our Project aim is to come up with an application that will make voice calls possible with our

computers. So our first goal is to enable voice streams between two peers in the same local area net-

work. Then later on applying an encryption/decryption mechanism on the voice packets for the secu-

rity issue. In the end entertaining a real time Voice call by managing the audio data of the speaker

from the microphone.

3.2. Functional Requirements

We have to assume that in a VoIP application for voice data, we need a real time communica-

tion. That is why voice packets are encapsulated in real time protocol like RTP over the UDP/IP.

Here we have to explain the reason why we did not use the common overused TCP/IP protocol

instead UDP. Actually the main reason is that TCP is very heavy and takes over a lot of control. So not

suitable for a real time communication. On the other hand UDP avoid the heavy load of checking the

order or the arrival of the packets. So it has a faster efficiency and suitable for real time communica -

tion.

So as a matter of fact the functional requirement of Our project has many aspect that needs to be

taken into consideration.

1. The server interface and the Client interface.

The client program will initiate a request to send the audio stream to the already con-

nected server program. That is to say the client will know the IP number and the port number

assigned to the server.

The server will accept the request and reply by sending itself also an audio stream.

Page 14: Secured VoIP

2. The Communication process

An Analog to Digital converter (ADC) is needed to convert the analogue

voice to digital signals (for the third step of our plan actually)

After that we will choose suitable audio format and a compression algo-

rithm (PCM (Pulse Code Modulation) in our case) for the transmission

Later on the voice packets will be encapsulated in a data packet using a real

time protocol. That is to say we will have to use the RTP over the UDP then over IP and son

on toward the other layers (Data Link and Physical).

3. Security

We can use an encryption/ decryption mechanism of the data packets using for instance

the AES algorithm.

4. Assuring Quality of service (QoS)

Since for our basic step, the software is going to work in a local area net-

work, we don’t have to worry much about the QoS. It will be handled by the RTP and UDP

protocol.

In an internet environment we would develop some basic policy in the router

interface. For instance enabling a queuing packet method in FIFO basically and also en-

abling a congestion avoidance

Page 15: Secured VoIP

3.3. Non Functional Requirements

3.3.1. Usability

The use of the software will be very easy. There will be a graphical user interface for both the

client and the server side. There won’t be a login identification, so once the server is connected, the

client by knowing the server IP address can send a request to start the communication.

3.3.2. Reliability

The reliability is a matter of concern in our Project since we are implementing a real time appli -

cation. But we are using the UDP protocol in the transportation layer which does not provide reliabil -

ity. Nevertheless for voice communication some lost packets can be tolerated

3.3.3. Performance

In order to gain performance for our real time application, we did not use the TCP protocol

which might be very heavy because of the control mechanism that it is involving in, rather The RTP/

UDP/IP protocols were preferred.

3.3.4. Hardware Requirement

This System may be used in any PC that is running Java Virtual Machine. All we need to have

is a microphone so that we can make send our voice.

3.4. Pseudo Requirements

The target environment of the project is a PC. And we will implement the project using Java

language.

Page 16: Secured VoIP

3.5. System Models

3.5.1 Scenario

The scenario helps us to have to identify the different type of action that we can have

using this application so the possible scenarios that can be driven from the system are:

3.5.1.1. Sending the Stream

The client type the IP address of the server on the address field then press the call

button automatically and start to send the audio stream

3.5.1.2. Receiving the Stream

The server receives a request from the Client for sending stream so the datagram

socket is established and the audio stream starts to flow.

3.5.1.3. Making a call

Client request a connection then press on the call Button after that it starts talking

from its microphone.

3.5.1.4. Receiving a call

Server accepts the request then press on the answer button start hearing the voice

from its earphone.

Page 17: Secured VoIP

3.5.2 Use Case Model

Figure 3.5.2.5 Use Case Diagram of Our project

For the simplification of the system, our project involves on its own two main users who are the

Caller and the Callee and also two main functions “make a call”, “receive a Call”.

Actually making a call or receiving a call include other sub functionalities which are “sending

audio streams” and “receiving audio streams”

The use cases are explained below in detail:

I. Use Case Name : Use Case Diagram Connection

Initiating Actor : Caller

Participating Actor : Callee

Entry Condition : Make Call

Flow of Events : 1) Sending Audio Stream

2) Receive Audio Stream

Exit Condition : Caller or Callee press on the “Disconnect button”

II. Use Case Name : Use Case Diagram Connection

Initiating Actor : Callee

Participating Actor : Caller

Entry Condition : Receive Call

Flow of Events : 1) Sending Audio Stream

2) Receive Audio Stream

Exit Condition : Caller or Callee press on the “Disconnect button”

Page 18: Secured VoIP

III. Use Case Name : Connect to Server

Initiating Actor : Caller, Collee

Participating Actor: none

Entry Condition : Type Server IP Address

Flow of Events : Opening of datagram socket.

Exit Condition : Connection knowledge show on the screen.

Special Requirements : Server and User will in be network.

IV. Use Case Name : Disconnect to Server

Initiating Actor : Caller, Callee

Participating Actor: none

Entry Condition : Pressing the “Disconnect button”

Flow of Events : Closing the connection.

Exit Condition : none

Special Requirements : none

V. Use Case Name : Hang Up

Initiating Actor : Caller,Callee

Participating Actor: Caller, Callee

Entry Condition : Pressing the “Hang up Button”

Flow of Events : Canceling the calling session

Exit Condition : none

Special Requirements : none

VI. Use Case Name : Pick up Call

Initiating Actor : Callee

Participating Actor: Caller

Entry Condition : Pressing the “Pickup button”

Flow of Events : Enabling the audio transmission

Exit Condition : Pressing the “Hang up button”

Special Requirements : none

Page 19: Secured VoIP

3.5.3 Object Model

Figure 3.5.3.6 JVoiceChat PCMEF architecture

Let’s remember that our project is based on Client/Server architecture, so the figure 3.5.3.1 shows an early derivation of the packet diagram.

Page 20: Secured VoIP

Figure 3.5.3.7 JVoiceChat Presentation Package

Here the Figure 3.5.3.2 describes the Presentation package Diagram, more precisely the graphical user interface of the client and server.

Page 21: Secured VoIP

Figure 3.5.3.8 JVoiceChat Control Package

Figure 3.5.3.3 just shows the class diagram of the control package.

Figure 3.5.3.9 JVoiceChat Mediator Package

The Figure 3.5.3.4 illustrates the class diagram of the network packet. It also shows how RTP is

embedded in the UDP.

Page 22: Secured VoIP

Figure 3.5.3.10 JVoiceChat Entity Package

The Figure 3.5.3.5 illustrates the package diagram of the security package in order to understand

how the security mechanism is being processed.

Figure 3.5.3.11 JVoiceChat Foundation Package

The Figure 3.5.3.6 illustrates the package diagram of the Foundation package in order to under-

stand how the voice mechanism is being processed.

Page 23: Secured VoIP

3.5.4 Dynamic Model

Figure 3.5.4.12Sequence Diagram for making a call

The figures 3.5.4.1 illustrate the dynamic action of a calling mechanism in JVoiceChat. Actually

some actions are being driven on the background of the system. When the Caller press the “Call But-

ton” from the Client Interface for instance, the caller tries at the same time to establish a connection

with the server and request to send audio streams by calling the accept Connection function from the

server object. Later voice packets are first encrypted before sent again to the server object which calls

the decrypting function from the decryption object to enable the clear hearing of the voice flushed to

the sound drivers.

Page 24: Secured VoIP

Figure 3.5.4.13 Activity Diagram for making a call

The figure 3.5.4.2 shows the activities taken into consideration during a calling session. Once the connection is established, if the server is connected the caller can start immediately sending audio stream other wise the session is ended.

Page 25: Secured VoIP

3.5.5 User Interface

Figure 3.5.5.14 JVoiceChat Client Interface

The figure 3.5.5.1 shows the Main client interface of JVoiceChat. Here any connection is estab-lished so far. We have only the “Connect button” that is active. All other buttons (Call button, Pick up button, or hang-up button) are all inactive. Beside that we have debug area where action taken by the user are being displayed, and also address field area where we can set the IP of the server that we will connect to.

Figure 3.5.5.15 JVoiceChat after connected to server

Once connected this time the “Connect button” become inactive and the other active, so figure

3.5.5.2 illustrate the case when the “Call button” is pressed. At the same time the debugger let us know

the action being taken.

Page 26: Secured VoIP

Figure 3.5.5.16 JVoiceChat: Calling the client

The figure 3.5.5.3 illustrates also the case when a call session is being established between the Client to the localhost.

Figure 3.5.5.17 JVoiceChat: Ending a call

Figure 3.5.5.4 shows the case when the Hang up button is pressed in order to end a current call.

Page 27: Secured VoIP

Figure 3.5.5.18 JVoiceChat: Disconnecting

The Figure 3.5.5.5 demonstrates the event of disconnecting from the server.

Figure 3.5.5.19 JVoiceChat Interface: About Menu

Figure 3.5.5.6 mentions about the “help menu” we have also an “About submenu” which show

the team maker of the project.

Page 28: Secured VoIP

Figure 3.5.5.20. JVoiceChat Server Interface

Figure 3.5.5.7 demonstrates how the server interface is acting. There we have only a debugger

text area where the network activities are being displayed.

Page 29: Secured VoIP

4. CONCLUSION

To sum it up VoIP is an encouraging technology that needs to be taken into consideration.

Maybe today it is facing some problems of Latency or Security but this underperformance it

owes it to the low Internet Speed.

By the way VoIP enhance in itself a lot of promising changes in term of cost and will be ready

to integrate many nowadays popular Internet applications like Video Conference, Data transfer, and so

on. Somehow in the future we are invited to assist the Supremacy of The Internet Telephony over the

current Circuit Switched Telephony.

Page 30: Secured VoIP

5. GLOSSARY

UML (Unified Modeling Language) : Unified Modeling Language is a standardized specification language for object modeling. UML is a general-purpose modeling language that includes a graphical notation used to create an abstract model of a system.

UDP ( User Datagram Protocol): User Datagram Protocol (UDP) is one of the core protocols of the Internet protocol suite. Using UDP, programs on networked computers can send short messages some-times known as diagrams (using Datagram Sockets) to one another. UDP does not guarantee reliabil-ity or ordering in the way that TCP does. Diagrams may arrive out of order, appear duplicated, or go missing without notice. Avoiding the overhead of checking whether every packet actually arrived makes UDP faster and more efficient, at least for applications that do not need guaranteed delivery.

QoS (Quality of Service): In the fields of packet-switched networks and computer networking, the traffic engineering term Quality of Service, abbreviated QoS, refers to resource reservation control mechanisms. Quality of Service can provide different priority to different users or data flows, or guar-antee a certain level of performance to a data flow in accordance with requests from the application program or the internet service provider policy. Quality of Service guarantees are important if the net -work capacity is limited, for example in cellular data communication, especially for real-time stream-ing multimedia applications, for example voice over IP and IP-TV, since these often require fixed bit rate and are delay sensitive.

Bandwidth: Bandwidth is a key concept in many applications. In radio communications, for example, bandwidth is the range of frequencies occupied by a modulated carrier wave, whereas in optics it is the width of an individual spectral line or the entire spectral range.

Latency: Latency in a packet-switched network is measured either one-way (the time from the source sending a packet to the destination receiving it), or round-trip (the one-way latency from source to destination plus the one-way latency from the destination back to the source).

Reliability: In computer networking, a reliable protocol is one that ensures reliability properties with respect to the delivery of data to the intended recipient(s), as opposed to an unreliable protocol, which does not guarantee that data will be delivered intact, or that it will be delivered at all.

VoIP ( Voice over Internet Protocol ): Voice over Internet Protocol (VoIP) is a protocol optimized for transmission of voice through the Internet or other packet switched networks. VoIP is often used ab-stractly to refer to the actual transmission of voice (rather than the protocol implimenting it). VoIP is also known as IP Telephony, Internet telephony, Broadband telephony, Broadband Phone and Voice over Broadband.

PSTN (Public Switched Telephone Network): The public switched telephone network (PSTN) is the network of the world's public circuit-switched telephone networks, in much the same way that the In-ternet is the network of the world's public IP-based packet-switched networks. Originally a network of fixed-line analog telephone systems, the PSTN is now almost entirely digital, and now includes mobile as well as fixed telephones.

IP (Internet Protocol): An IP address (Internet Protocol address) is a unique address that certain electronic devices currently use in order to identify and communicate with each other on a computer network utilizing the Internet Protocol standard (IP)—in simpler terms, a computer address. Any par-ticipating network device—including routers, switches, computers, infrastructure servers, printers, In-ternet fax machines, and some telephones—can have its own address that is unique within the scope of the specific network. Some IP addresses are intended to be unique within the scope of the global Inter-net, while others need to be unique only within the scope of an enterprise.

Page 31: Secured VoIP

PCM (Pulse Code Modulation): Pulse-code modulation (PCM) is a digital representation of an ana-log signal where the magnitude of the signal is sampled regularly at uniform intervals, then quantized to a series of symbols in a digital (usually binary) code. PCM has been used in digital telephone sys-tems and is also the standard form for digital audio in computers and the compact disc red book for-mat.

RTP (Real-Time Transport Protocol): The Real-time Transport Protocol (or RTP) defines a stan-dardized packet format for delivering audio and video over the Internet. RTP does not have a standard TCP or UDP port on which it communicates. The only standard that it obeys is that UDP communica-tions are done via an even port and the next higher odd port is used for RTP Control Protocol (RTCP) communications. Although there are no standards assigned, RTP is generally configured to use ports 16384-32767. RTP can carry any data with real-time characteristics, such as interactive audio and video.

JMF (Java Media Framework): The Java Media Framework (JMF) is a Java Library that enables audio, video and other time-based media to be added to Java applications and applets. This optional package, which can capture, playback, stream, and transcode multiple media formats, extends the Java Platform, Standard Edition (Java SE) and allows development of cross-platform multimedia applica-tions.

XP (Extreme Programming): Extreme Programming (or XP) is a software engineering methodology, one of several agile software development methodologies, prescribing a set of daily stakeholder prac-tices that embody and encourage particular XP values (below). Proponents believe that exercising these practices—traditional software engineering practices taken to so-called "extreme" levels—leads to a development process that is more responsive to customer needs ("agile") than traditional methods, while creating software of better quality.

TCP (Transmission Control Protocol): The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite. TCP provides reliable, in-order delivery of a stream of bytes, making it suitable for applications like file transfer and e-mail. It is so important in the Internet proto-col suite that sometimes the entire suite is referred to as "the TCP/IP protocol suite."

AES ( Advanced Encryption Standard ) : Advanced Encryption Standard, a symmetric block cipher for encrypting and protecting of information. The algorithm must be used with key sizes of 128 bits, 192 bits, or 256 bits depending on the application security requirement. 

ADC (Analog Digital Converter): On a sound card, an ADC that takes in analog signals from a mi-crophone or other non digital source, and then outputs digital signals (computer bits) that can be held in computer memory or recorded on a storage device such as hard drive, for playback or manipula -tion. 

Page 32: Secured VoIP

6. REFERENCES

[1] L. A. Macias, B. L. Liong, “Designing Measurably-Supportable Systems,” Advanced Informa-tion Technologies for Management, Research Papers No 986, ed. by E. Niedzielska, H. Dudycz, M. Dyczkowski, pp.120-149, 2003

 

[2] L.A. Maciaszek, B.L Liong, “Practical Software Engineering”, Harlow England, Addison-Wes-ley, 2005

[3] Upkar VarShney, Andy Snow, Matt McGivern, Christi Howard “Voice Over IP”  communication of the ACM january 2002/ vol 45 N0 I

[4] Black, U, “Voice over IP.” Prentice Hall, Upper Saddle River, NJ 2000.

[5] Guo Fang Mao, Alex Talevski, Elizabeth Chang “Voice over Internet protocol on Mobile Devices”

Web Site:

[1] en.wikipedia.org/wiki/ VoIP