Android based Encrypted IP Voice Communication on GSM
Data Channels (GPRS) using SIP Server
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
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); }}
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
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
Android has many components
Can assume that most have android 4.0 or above
Bruce Scharlau, University of Aberdeen, 2010http://developer.android.com/resources/dashboard/platform-versions.html
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
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.
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.
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
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
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
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
SIP Session Establishment and Call Termination
From the RADVISION whitepaper on SIP
SIP Call Redirection
From the RADVISION whitepaper on SIP
Call Proxying
From the RADVISION whitepaper on SIP
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
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
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
SIP Protocol Use
Henning Schulzrinne’s tutorial on SIP
Where’s SIP
Application
Transport
Network
Physical/Data Link
Ethernet
IP
TCP UDP
RTSP SIP
SDP codecs
RTP DNS(SRV)
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