Scall

23
Android based Encrypted IP Voice Communication on GSM Data Channels (GPRS) using SIP Server

description

Final year project in JIIT on secured voip calling.

Transcript of Scall

Page 1: Scall

Android based Encrypted IP Voice Communication on GSM

Data Channels (GPRS) using SIP Server

Page 2: Scall

Android is part of the ‘build a better phone’ process

Open Handset Alliance produces Android

Open Handset Alliance produces Android

Comprises handset manufacturers, software firms, mobile operators, and other manufactures and funding companies

Comprises handset manufacturers, software firms, mobile operators, and other manufactures and funding companies

Page 3: Scall

Android applications are written in Java

package com.google.android.helloactivity;

import android.app.Activity;import android.os.Bundle;

public class HelloActivity extends Activity { public HelloActivity() { }@Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.hello_activity); }}

Page 4: Scall

Android applications are compiled to Dalvik bytecode

Write app in JavaWrite app in Java

Compiled in JavaCompiled in Java

Transformed to Dalvik bytecodeTransformed to Dalvik bytecode

Linux OS Linux OS

Loaded into Dalvik VMLoaded into Dalvik VM

Page 5: Scall

The Dalvik runtime is optimised for mobile applications

Run multiple VMs efficientlyRun multiple VMs efficiently

Each app has its own VMEach app has its own VM

Minimal memory footprintMinimal memory footprint

Page 6: Scall

Android has many components

Page 7: Scall

Can assume that most have android 4.0 or above

Bruce Scharlau, University of Aberdeen, 2010http://developer.android.com/resources/dashboard/platform-versions.html

Page 8: Scall

IntroductionSIP is • An Application-layer control (signaling)

protocol for creating, modifying and terminating sessions with one or more participants.

• Sessions include Internet multimedia conferences, Internet telephone calls and multimedia distribution.

• Members in a session can communicate via multicast or via a mesh of unicast relations, or a combination of these.

• Text based , Model similar to HTTP : uses client-server model

Page 9: Scall

SIP Basic FunctionalitySupports 5 facets of communication:• User location: determination of the end system

to be used for communication; • User capabilities: determination of the media

and media parameters to be used;• User availability: determination of the

willingness of the called party to engage in communications;

• Call setup: "ringing", establishment of call parameters at both called and calling party;

• Call handling: including transfer and termination of calls.

Page 10: Scall

SIP Functionality (cont.)

• SIP can also initiate multi-party calls using a multipoint control unit (MCU) or fully-meshed interconnection instead of multicast.

• Internet telephony gateways that connect Public Switched Telephone Network (PSTN) parties can also use SIP to set up calls between them.

Page 11: Scall

Development of SIP

• SIP developed by Handley, Schulzrinne, Schooler, and Rosenberg - Submitted as Internet-Draft 7/97

• Assigned RFC 2543 in 3/99• Goals: Re-use of & Maximum Interoperability with

existing protocols

• Alternative to ITU’s H.323- H.323 used for IP Telephony since 1994- Problems: No new services, addressing, features- Concerns: scalability, extensibility

Page 12: Scall

SIP Philosophy

• Internet Standard- IETF - http://www.ietf.org

• Reuse Internet addressing (URLs, DNS, proxies)- Utilizes rich Internet feature set

• Reuse HTTP coding- Text based

• Makes no assumptions about underlying protocol:- TCP, UDP, X.25, frame, ATM, etc.- Support of multicast

Page 13: Scall

SIP Architecture• SIP uses client/server architecture• Elements:

– SIP User Agents (SIP Phones) – SIP Servers (Proxy or Redirect - used to

locate SIP users or to forward messages.)• Can be stateless or stateful

– SIP Gateways:• To PSTN for telephony interworking• To H.323 for IP Telephony interworking

• Client - originates message• Server - responds to or forwards message

Page 14: Scall

SIP Entities

• User Agents– User Agent Client (UAC): Initiates SIP requests– User Agent Server (UAS): Returns SIP responses

• Network Servers (diff. types may be co-located )– Proxy: Decides next hop and forwards request, relays call

signaling , operates in a transactional manner, saves no session state

– Redirect: Sends address of next hop back to client, redirects callers to other servers

- Registrar: Accepts REGISTER requests from clients, maintains users’ whereabouts at a location server

Page 15: Scall

SIP Session Establishment and Call Termination

From the RADVISION whitepaper on SIP

Page 16: Scall

SIP Call Redirection

From the RADVISION whitepaper on SIP

Page 17: Scall

Call Proxying

From the RADVISION whitepaper on SIP

Page 18: Scall

Instant messaging based on SIP

• SIMPLE – IM protocol based on SIP

• SIP promises interoperability between various IM vendors

• “Forking proxy “

• SIP has unique user tracking features.

• SIP addressing

Page 19: Scall

Instant Messaging (Contd.)

SIP Client SIP Client

dynamic.com

columbia.eduSIP Redirect server

SIP proxy

foo.com

Location

service

proxy

sales.foo.com

1

2

3

4

5

6

7

8

9

1011

12

13

Page 20: Scall

SIP for Internet Telephony

• Two types of phones – IP phones and conventional analog phones.

• Uses phone numbers instead of IP addresses

• To place a call to an IP phone, DNS is used• To place a call to an analog phone, gateway

protocols like BGP are used

Page 21: Scall

SIP Protocol Use

Henning Schulzrinne’s tutorial on SIP

Page 22: Scall

Where’s SIP

Application

Transport

Network

Physical/Data Link

Ethernet

IP

TCP UDP

RTSP SIP

SDP codecs

RTP DNS(SRV)

Page 23: Scall

Conclusions

• Through this application, the users will be able to communicate with each other securely using GPRS

• We shall use strongest encryption technique called ZRTP which would be layered on SIP protocol for an effective