Version 1 (modified by nanang, 15 years ago) (diff)

Initial version of VAS doc

Using VoIP Audio Services (VAS) in PJSIP

Table of Contents

  1. Requirements
  2. Building Steps
  3. Installation
  4. Developing Application with VAS Support
  5. Limitations

VoIP Audio Services API is a secure single utility interface to audio services on the S60 platform, which allows control of audio by 3rd party VoIP client applications. It provides high level access to audio device making possible to play and record audio, play DTMF and ring tones, configure supported codecs, adjust microphone gain, volume level, and switch audio routing between private and public output device. It removes the need for use of Audio Proxy Server (APS) on S60 3rd Edition, Feature Pack 1 and Feature Pack 2 and largely extends its feature set. (quoted from Nokia wiki page on VAS).

VAS shares the same benefits as APS, i.e: low latency, audio-routing, and built-in echo canceller. VAS is available for almost all S60 3rd ed (except plain/MR) and S60 5th ed devices, while APS is available only for all S60 3rd ed (plain/MR, FP1, FP2) devices, also it is marked as obsolete or no longer maintained.


To build PJSIP with VAS support, we need:

  1. Successfully build non-APS/VAS PJSIP as described Getting Started for Symbian, note that VAS is only available starting from PJSIP version 1.4.
  2. SDK API Plug-in corresponding to each main SDK.
  3. You need a Symbian Developer Certificate of type Open Signed Offline and with valid Publisher ID to install the application that uses VAS on the device. VAS requires MultimediaDD capability and this capability is among the restricted capabilities so the application needs to be signed with a valid developer certificate to use the capability. The signing options for applications that need these restricted capabilities are Open Signed Offline or Certified Signed. Please see Symbian Signed website for more detail.

Building Steps

Here are a few steps to build PJSIP with VAS support:

  1. Specify that sound device implementation is using VAS, and turn off MDA and APS i.e in config_site.h:
    #if defined(PJ_SYMBIAN) || PJ_SYMBIAN==1
  2. Activating VAS in each MMP

Edit symbian_ua.mmp (and symbian_ua_gui.mmp if you are using it):

#define SND_HAS_VAS	1
#define SND_HAS_APS	0
#define SND_HAS_MDA	0
  1. Clean and rebuild the whole project. Please note that WINSCW target doesn't seem to support VAS.
  2. Make the installer (.sis file) for the application.


  1. Install VAS Server VoIPAudioSrvc_xxxx.sisx to device, the installer comes with the VAS SDK package i.e in folder InstallToDevice. You will need to do this only once for each device.
  2. Sign the application installer with VAS support with Developer Certificate using Open Signed Offline/with Publisher ID.
  3. Install the application to the device.

Developing Application with VAS Support

  1. Link the application to VAS library, i.e:
    LIBRARY		VoIPAudioIntfc.lib
  2. Add MultimediaDD capability to your application, i.e. in application MMP:
    CAPABILITY	MultimediaDD ...

There are some notes for developing application with VAS support:

  • There seems binary compatibility issue among Symbian OS versions, you will have to use appropriate SDK API Plug-in and VoIPAudioSrvc_xxxx.sisx for each OS version.


  • Currently, this VAS wrapper can only work in S60 3rd edition device that supports G.711, which perhaps means all S60 3rd & 5th edition devices.
  • VAS features of DTMF and ringtone are not implemented.