11.3 Android, SIP and VoIP

Hello readers!!! Hope you enjoyed the last sub-section. Today we are going to study SIP and VoIP. This would be a theoretical section. We shall have short introduction. Let us not waste time and start making friends with these new guysJ.

11.3.1 Introduction

SIP stands for Session Initiation Protocol. This is a protocol. It is a control channel for voice over IP. Control channel does the call setup. It is also known as signaling channel. Control channel locates the other end point. It determines the availability of other end point. We need a signaling channel even in case of IP world. When we talk about IP or domain names then the first thing comes in mind is they are not stable. IP addresses changes frequently. In case of hotspots or dial-ups it is very common. Ideally, end-to-end conversation is from one SIP phone to other. SIP proxy can be used for call setup by each node.

  • SIP is a text-based protocol that uses UTF-8 encoding
  • SIP uses port 5060 both for UDP and TCP. SIP may use other transports

SIP is the IETF protocol for VOIP and other text and multimedia sessions which include online games, video sessions,  instant messaging and other services. SIP is an application-layer control (signaling) protocol. It is used for creating, modifying, and terminating sessions. It can have one or more participants. These sessions may contain telephone calls via internet, multimedia distribution, and multimedia conferences.

Voice over Internet Protocol is a phone service over internet. If we have a quality internet connection then the phone services need not be delivered by any local telephone company. It can be achieved over internet. A way is required to turn analog phone signals into digital signals that can be sent over the Internet. This function can either be included into the phone itself or in a separate box like an ATA 

The APIs for SIP were introduced in Android 2.3. This allows internet based telephone features in our application. When we talk about Android 4.4 then it would be better to say that capabilities have been enhanced. Now it is more easy to integrate things over voice over internet.

11.3.2 Android and VoIP

Android doesn’t treats voice calls and VoIP calls in a similar manner. The inter-process interfaces are designed around capabilities of mobile telephony, mobile messaging, and mobile data. Thus the designers of VoIP technologies for Android are to make some design decisions. The current direction treats VoIP as a separate application. Thus it makes the possibility in the future to provide a very high-level integration with other parts of the system. Say for an instance, supporting the ACTION_CALL call  in  Intent objects. This development would give the user a choice between Android’s built-in mobile telephony and an add-on for VoIP telephony.

Congratulations guys!! We are done with this section. Hope you enjoyed our tutorial over this category. See you in the next section with something new. Till then keep practicing. Happy App Developing!!!