Showing posts with label Softphone. Show all posts
Showing posts with label Softphone. Show all posts

Friday, December 4, 2009

Microsoft DirectShow API

When developing the softphone application I had to use Microsoft DirectShow API to handle multimedia.

Microsoft DirectShow API is the media streaming architecture for streaming media on the Microsoft Windows platform. Working with multimedia is a challenge due to the following reasons.
  • Multimedia streams contains large amount of data and need to process quickly.
  • Audio and video must be synchronized and played at the same rate.
  • Data can be comes from many sources like local files, networks, cameras etc.
  • Data may come with wide variety of formats.
  • The programmer doesn’t have knowledge about the hardware of the end user’s system.
The DirectShow is designed overcome above problems and the main design goal of the DirectShow is to simplify the task of creating digital media applications on the Windows platform by isolating applications from the complexities of the data transports, hardware differences and synchronization.

DirectShow provides the support for high quality capture and play back of multimedia streams and it supports wide variety of formats like ASF, MPEG, AVI, MP3, and WAV. DirectShow is based on Component Object Model (COM) where COM is and interface standard for software componentry introduced by Microsoft in 1993. It is used to enable inter process communication and dynamic object creation in large range of programming languages. So to write a DirectShow application or a component it is necessary to have a understanding about the COM client programming.

DirectShow can be used to development of applications like audio-video capture applications, file players, TV and DVD players, video editing applications, file format converters and many more. IF the programmer needs to write his own DirectShow component to support new formats or custom effects, it provides access to the underlying stream control architecture.

Wednesday, December 2, 2009

Softphone Architecture.

Above diagram shows the basic data and signaling path established during a call between a SIP phone and a 3G phone.

The SIP server is consists of SIP Registrar and the SIP Proxy. The task of the SIP servers is to act on behalf of the two calling parties to facilitate the session establishment. The proxy server receives SIP requests and forwards them on behalf of the requestor. Another task of the proxy server is locating the proxy server of the other calling party by performing a particular type of DNS lookup to find the SIP server which serves that party. In order to do that the proxy server consults a database called location service also. In addition to DNS and location service lookups proxy servers can make flexible routing decisions to decide where to send a request.

Registration is another common operation in SIP and it is a one way that a SIP server can find the current location of the other party. During the initialization and at periodic intervals the SIP softphone send REGISTER messages to the SIP registrar. The registrar writes this location data to the database called location service where it is used by the proxy servers.

The VSDP is the Video Service Delivery Platform and it acts as an interface between the 3G-324M and the IP network. It supports real time bidirectional streaming of video sessions between 3G-324M mobile phones and multiple IP based video applications.

Tuesday, December 1, 2009

Introduction to Softphones

Softphone is a term derived from the Software Telephone and it is a program that enables Voice over Internet Protocol (VoIP). It allows making calls over the internet using a general purpose computer, Laptop or other computing devices like PDAs. Softphones are not using dedicated hardware for it, but it is configured to work with the computer’s external hardware devices like microphone, Web camera, and speakers. Usually the Softphones are behaved like the traditional phones and it may be implemented with a image of real phone with a panel and buttons to use for the interactions with the user.

The concept of the IP telephony has been available from number of years, but they were not popular as today. The world’s first VoIP softphone was VocalTec’s internet phone which was introduced in 1995. But the softphones have become widely spread today with the fast growth of internet usage on homes, businesses and government offices. Usually the Softphones services are provided by an Internet Telephony Service Provider. The types of calls can be categorized as PC to PC and PC to 3G phone calls. Usually the providers allows to make PC to PC calls with free of charge and PC to 3G phone calls and 3G phone to PC calls are charged.

Softphone use open standard IP signaling protocol – SIP (Session Initiation Protocol) that can be used in conjunction with the IP PBX in a enterprise. It converts video and audio to IP packets which contains the RTP data and vice versa in VoIP telephone service. So for the communication with a softphone, the protocols like SIP, SDP (Session Description Protocol) and RTP (Real Time Protocol) are used. In order to establish a successful communication, the both end points should have same communication protocols and at least a single common codec for both audio and video.
There are popular Internet Telephony Service Providers like Skype, Google Talk and Vonage who are provided their own softphones to install in the user’s PC. The problems with these softphones are they are not interoperable and we can’t place a direct call between them.