Qtopia Home - Classes - Hierachy - Annotated - Functions - Licenses - Reference

VoIP Overview

This document provides an introduction to the Qtopia VoIP infrastructure. For a detailed user-guide please refer to : Qtopia VoIP User Guide

Qtopia VoIP Architecture

VoIP is a Qtopia application integrated with the Qtopia server. The key features are:

An overview of the VoIP Framework Architecture is provided in the following diagram:

Handler Interface

The handler interface communicates with vendor SIP stacks via the vendor wrapper software. For integration information refer to VoIP Integration.

Qtopia VoIP Applications

Qtopia VoIP is integrated with the following applications:

Call History

Call History is a Qtopia module providing the history of all calls received, missed and dialled. VoIP call details are displayed and calls can be initiated from the Call History screen.

Settings

Qtopia provides a basic settings application for VoIP. However, integration of a settings application and design of the settings GUI is largely the responsibility of the vendor. The following describes commonly supported functionality:

  1. User profile management - save/edit/view user profile
  2. Preferences management - manage the SIP, audio call preferences
  3. Initiating registration of the SIP client to presence server
  4. Interaction with the PIM component (Contacts) to access the contacts list.

The screen displays comprising the settings application are described in the following table:

Display Name Description
Display Displays the:
  • audio preferences
  • identity
  • registration status
  • SIP preferences
  • user profiler
as set by the user.
Identity Allows the user to set
  • full name
  • user and host parts of a SIP URL
  • auto-register option.
SIP Settings Allows the user to set:
  • call forwarding preferences
  • expire time of registration
  • expire time of subscription
Socket Allows the user to set socket parameters for SIP protocol including:
  • socket protocol (UDP or TCP)
  • use STUNServer
  • symmetric signalling
  • STUN Server address and port number
  • request period of STUN Server
Audio Preferences Allows the user to specify OSS Device mode
  • device parameters
  • preferred codec
  • payload size
  • ring tone usage.

Quick Dial

Quick Dial component is a Qtopia module that provides a dialing facility from the Home screen and is integrated with the Qtopia phone edition. VoIP identifiers are taken as input Call History matches are presented and the VoIP call is initiated.

Contacts

The Contacts application stores, edits, and displays the VoIP identifier and status of a contact. It interacts with the VoIP framework for:

  1. VoIP Contact additions/deletions/edits
  2. Getting updates on VoIP status of contacts (available/unavailable)

The Contact application receives updates from VoIP server regarding VoIP user status (online/offline) and is responsible for keeping it up-to-date in its database.

Phone Manager/Dial Control

In a standard telephony application, the phone manager/dial control components interact on the behalf of Call History, Quick Dialer and Contact dialing applications with the phone server using Phone line and Phone call objects. The Qtopia VoIP application uses these components to support VoIP Line and VoIP Call objects. When a VoIP service is registered, the user is prompted to check if the dialled call needs to be made on VoIP or GSM line. If the VoIP service is not up, the call will be assumed to be GSM call unless it is initiated using a VoIP identifier. If the call is initiated using a VoIP identifier and the service is not registered, the user will be asked to register with a SIP server and a VoIP settings application will be launched based on user response.

VoIP Line and Call APIs

VoIP Line and Call APIs provide line and call management functionality on the VoIP line as described in the following tables:

Call Management APIs and Callbacks

Name Description
acceptCall Configures the user-profile in the stack.
closeCall Closes the call
feedTone Feeds the tone to the specified call.
hangupCall Saves the user-profile.
makeCall Retrieves the saved user-profile.
notification Call-back to communicate notifications.
statusUpdate Call-back to communicate call status.

VoIP Query APIs

VoIP Query APIs provide functionality to retrieve information based on a database query.

Name Description
query Retrieves the information queried based on query type.

VoIP Configure APIs

VoIP configuration APIs are used by the setting application to configure:

These APIs and callbacks are presented in the tableis below:

VoIP Stack Initialization/De-initialization APIs and Callbacks

Name Description
commandStatus Call-back indicating the status of initStack/deInitStack operation.
deInitStack De-initializes the VoIP stack.
getStackdetails Details the VoIP stack information.
initStack Initializes the VoIP stack.

User-profile/Contact Management APIs and Callbacks

Name Description
addContact Configures the SIP stack to function with an added contact.
configureUserProfile Configures the user-profile in the stack.
deleteContact Deletes a specified contact from the SIP stack.
getUserProfile Retrieves the saved user-profile.
setUserProfile Saves the user-profile.
statusUpdate Callback to communicate the contact status as updated from the presence server.

Registration APIs and Callbacks

Name Description
register Registers the client with the SIP server.
logout Logs out the client from SIP server.
commandStatus Call-back indicating the status of register/logout operation.

Preferences Management APIs

Name Description
getSipPreferences Retrieves the saved SIP preferences.
setSipPreferences Saves the specified SIP preferences.
getAudioPreferences Retrieves the audio preferences.
setAudioPreferences Saves the specified audio preferences.

Outgoing Call Control Flow Diagram

After adding VoIP functionality, the outgoing call control flow of a phone application will be as shown below:


Copyright © 2005 Trolltech Trademarks
Qtopia version 2.2.0