- Android - Intents/Filters
- Android - Fragments
- Android - Content Providers
- Android - Broadcast Receivers
- Android - Services
- Android - Activities
- Android - Resources
- Android - Hello World Example
- Android - Application Components
- Android - Architecture
- Android - Environment Setup
- Android - Overview
- Android - Home
Android - User Interface
- Android - Custom Components
- Android - Styles and Themes
- Android - Event Handling
- Android - UI Controls
- Android - UI Layouts
Android Advanced Concepts
- Publishing Android Application
- Android - Phone Calls
- Android - Sending SMS
- Android - Sending Email
- Location Based Services
- Android - Notifications
- Android - Drag and Drop
Android Useful Examples
- Android - XML Parsers
- Android - Widgets
- Android - Wi-Fi
- Android - WebView Layout
- Android - UI Testing
- Android - UI Patterns
- Android - UI Design
- Android - Twitter Integration
- Android - TextureView
- Android - Text to Speech
- Android - Testing
- Android - Support Library
- Android - SQLite Database
- Android - Spelling Checker
- Android - SIP Protocol
- Android - Shared Preferences
- Android - Session Management
- Android - Sensors
- Android - SDK Manager
- Android - Screen Cast
- Android - RSS Reader
- Android - RenderScript
- Android - Push Notification
- Android - ProgressBar
- Android - Progress Circle
- Android - PHP/MySQL
- Android - NFC Guide
- Android - Network Connection
- Android - Navigation
- Android - Multitouch
- Android - MediaPlayer
- Android - Login Screen
- Android - Localization
- Android - Loading Spinner
- Android - Linkedin Integration
- Android - JSON Parser
- Android - JetPlayer
- Android - Internal Storage
- Android - ImageSwitcher
- Android - Image Effects
- Android - Google Maps
- Android - Gestures
- Android - Facebook Integration
- Android - Emulator
- Android - Developer Tools
- Android - Data Backup
- Android - Custom Fonts
- Android - Clipboard
- Android - Camera
- Android - Bluetooth
- Android - Best Practices
- Android - Auto Complete
- Android - AudioManager
- Android - Audio Capture
- Android - Animations
- Android - Alert Dialoges
Android Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Android - SIP Protocol
SIP stands for (Session Initiation Protocol). It is a protocol that let apppcations easily set up outgoing and incoming voice calls, without having to manage sessions, transport-level communication, or audio record or playback directly.
Apppcations
Some of the common apppcations of SIP are.
Video conferencing
Instant messaging
Requirements
Here are the requirements for developing a SIP apppcation −
Android OS must be 2.3 or higher
You must have a data connection or WIFI
You must have an SIP account in order to use this service.
SIP Classes
Here is a summary of the classes that are included in the Android SIP API:
Sr.No | Class & description |
---|---|
1 |
SipAudioCall Handles an Internet audio call over SIP |
2 |
SipErrorCode Defines error codes returned during SIP actions |
3 |
SipManager Provides APIs for SIP tasks, such as initiating SIP connections, and provides access to related SIP services |
4 |
SipProfile Defines a SIP profile, including a SIP account, domain and server information |
5 |
SipSession Represents a SIP session that is associated with a SIP dialog or a standalone transaction not within a dialog |
Functions of SIP
SIP has following major functions.
SIP allows for the estabpshment of user location
SIP provides a mechanism for call management
SIP provides feature negotiation, so that all the parties in the call can agree to the features supported among them
Components of SIP
SIP has two major components which are psted below.
User Agent Cpent (UAC)
User Agent Server (UAS)
UAC
UAC or User Agent Cpent are those end users who generates requests and send those requests to the server.These requests are generated by the cpent apppcations running on their systems.
UAS
UAS or User Agent Server are those systems which get the request generated by UAC. The UAS process those requests and then according to the requests it generates responses accordingly.
SipManager
SipManager is an android API for SIP tasks, such as initiating SIP connections, and provides access to related SIP services. This class is the starting point for any SIP actions. You can acquire an instance of it with newInstance().
The SipManager has many functions for managing SIP tasks. Some of the functions are psted below.
Sr.No | Class & description |
---|---|
1 |
close(String localProfileUri) Closes the specified profile to not make/receive calls |
2 |
getCallId(Intent incomingCallIntent) Gets the call ID from the specified incoming call broadcast intent |
3 |
isOpened(String localProfileUri) Checks if the specified profile is opened in the SIP service for making and/or receiving calls |
4 |
isSipWifiOnly(Context context) Returns true if SIP is only available on WIFI |
5 |
isRegistered(String localProfileUri) Checks if the SIP service has successfully registered the profile to the SIP provider (specified in the profile) for receiving calls |
6 |
isVoipSupported(Context context) Returns true if the system supports SIP-based VOIP API |
7 |
takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener pstener) Creates a SipAudioCall to take an incoming call |
8 |
unregister(SipProfile localProfile, SipRegistrationListener pstener) Manually unregisters the profile from the corresponding SIP provider for stop receiving further calls |