| 1 | = Using VoIP Audio Services (VAS) in PJSIP = |
| 2 | [[TracNav(Getting-Started/TOC)]] |
| 3 | |
| 4 | [[BR]] |
| 5 | '''Table of Contents''' |
| 6 | [[PageOutline(2-3,,inline)]] |
| 7 | |
| 8 | [[BR]] |
| 9 | |
| 10 | |
| 11 | |
| 12 | 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 [http://wiki.forum.nokia.com/index.php/VoIP_Audio_Service_API Nokia wiki page on VAS]). |
| 13 | |
| 14 | VAS shares the same benefits as [wiki:APS 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. |
| 15 | |
| 16 | |
| 17 | == Requirements == |
| 18 | To build PJSIP with VAS support, we need: |
| 19 | 1. Successfully build non-APS/VAS PJSIP as described [wiki:Getting-Started/Symbian Getting Started for Symbian], note that VAS is only available starting from PJSIP version 1.4. |
| 20 | 1. [http://wiki.forum.nokia.com/index.php/SDK_API_Plugin SDK API Plug-in] corresponding to each main SDK. |
| 21 | 2. 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 [http://www.symbiansigned.com Symbian Signed website] for more detail. |
| 22 | |
| 23 | == Building Steps == |
| 24 | Here are a few steps to build PJSIP with VAS support: |
| 25 | 1. Specify that sound device implementation is using VAS, and turn off MDA and APS i.e in config_site.h: |
| 26 | {{{ |
| 27 | #if defined(PJ_SYMBIAN) || PJ_SYMBIAN==1 |
| 28 | # define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 1 |
| 29 | # define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS 0 |
| 30 | # define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0 |
| 31 | #endif |
| 32 | }}} |
| 33 | 2. Activating VAS in each MMP |
| 34 | Edit {{{symbian_ua.mmp}}} (and {{{symbian_ua_gui.mmp}}} if you are using it): |
| 35 | {{{ |
| 36 | #define SND_HAS_VAS 1 |
| 37 | #define SND_HAS_APS 0 |
| 38 | #define SND_HAS_MDA 0 |
| 39 | }}} |
| 40 | 3. Clean and rebuild the whole project. Please note that WINSCW target doesn't seem to support VAS. |
| 41 | 4. Make the installer (.sis file) for the application. |
| 42 | |
| 43 | |
| 44 | == Installation == |
| 45 | 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. |
| 46 | 1. Sign the application installer with VAS support with '''Developer Certificate using Open Signed Offline/with Publisher ID'''. |
| 47 | 1. Install the application to the device. |
| 48 | |
| 49 | |
| 50 | == Developing Application with VAS Support == |
| 51 | 1. Link the application to VAS library, i.e: |
| 52 | {{{ |
| 53 | LIBRARY VoIPAudioIntfc.lib |
| 54 | }}} |
| 55 | 1. Add MultimediaDD capability to your application, i.e. in application MMP: |
| 56 | {{{ |
| 57 | CAPABILITY MultimediaDD ... |
| 58 | }}} |
| 59 | |
| 60 | There are some notes for developing application with VAS support: |
| 61 | - 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. |
| 62 | |
| 63 | |
| 64 | == Limitations == |
| 65 | - 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. |
| 66 | - VAS features of DTMF and ringtone are not implemented. |
| 67 | |