×

Discussion Board

Page 1 of 2 12 LastLast
Results 1 to 15 of 26
  1. #1
    Nokia Developer Expert
    Join Date
    Dec 2006
    Location
    Mountain View, CA
    Posts
    197

    Loudspeaker control for an active GSM call for S60 3.1 devices

    There is known issue with loudspeaker control during an active circuit switched call. Developers are unable to set the active call to be in loudspeaker mode in S60 3.1 devices. Forum Nokia will publish a Symbian Signed loudspeaker API wrapper which will solve this issue. The implementation delivery estimate is beginning of December 2007.

  2. #2
    Regular Contributor
    Join Date
    Jun 2003
    Posts
    84

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Hi,

    What is the api to activate the loudspeaker during an active call for S60 3rd MR ?
    Or better, can you help with a demo code ?
    I understand this api (for MR) is no more working for S60 3rd FP1 ?

    Thank you
    tek

  3. #3
    Registered User
    Join Date
    Mar 2007
    Posts
    3

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    It is possible to activate the loudspeaker during a call by using the APS Server's ActivateLoudspeaker function.

    This requires downloading the APS version for your platform(FP1 or MR) and needs MultimediaDD capability. See http://wiki.forum.nokia.com/index.ph...o_Proxy_Server

    I am very interested as well if there is another API that allows doing this
    i.e. Activate the loudspeaker during an active GSM call.

  4. #4
    Nokia Developer Expert
    Join Date
    Dec 2006
    Location
    Mountain View, CA
    Posts
    197

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    APS has a "positive" known issue: not only you can put the VoIP call to loudspeaker mode but it works also for circuit switched call in S60 3.0 devices.

    However, it does not allow you to control audio routing for Circuit Switched call in S60 3.1 devices (e.g. N95). Therefore S60 Multimedia team in Dallas has created a "Loudspeaker API wrapper" which Forum Nokia makes available for Symbian C++ developers. Latest estimate is that Forum Nokia will get the initial release during week 51.

    If you are interested and to be the first ones to try, please register to e-Store, buy a Private API voucher (approx 200usd) from e-store and submit a request.

  5. #5
    Nokia Developer Expert
    Join Date
    Dec 2006
    Location
    Mountain View, CA
    Posts
    197

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    This private API wrapper is now available for beta testers. Please submit a private API request (register to Forum Nokia e-store, buy a private API case, submit the request) and ask for CallAudioControl in order to control audio routing during active cellular call.

    Initial release notes:

    Interface for controlling call audio
    * This class provides interface for controlling a) audio routing to various connected output devices. b) speaker volume. c) microphone gain.
    * This interface can be used to control active Circuit Switching call, Video Telephony call and Nokia internal VoIP calls.

    Limitations:
    * 1. This inteface can only be used on Nokia devices running S60 3.1 OR 3.2 platform.
    * 2. Clients are requried to have MultimediaDD and WriteDeviceData capability to use some of the functions defined in this interface. Check individual function documentation for more information.
    * 3. Some of the functions (routing, volume, and gain control) defined in this interface can only be used during an active Circuit Switching OR Video Telephony OR Nokia internal VoIP call.
    * If those functions are used when there is no active call, they return KErrPermissionDenied. Check individual function documentation for more information.
    * 4. This API does not control 3rd party VoIP call created via APS or VoIP Audio Services API.
    * 5. When connected accessory list changes, initial routing happens automatically.
    [B]Forum Nokia Americas[/B]
    Forum Nokia provides a wealth of resources to mobile developers. To be informed about the latest on mobile tools, devices and technologies, register [B][URL="http://www.forum.nokia.com/main/registration/registration.html"]here[/URL][/B]

  6. #6
    Nokia Developer Expert
    Join Date
    Dec 2006
    Location
    Mountain View, CA
    Posts
    197

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Clarification:

    You should be able to control the audio routing for Circuit Switched and VoIP calls using APS ("positive bug") for all S60 3.0 devices.

    For S60 3.1 devices the APS controls only VoIP audio routing and CallAudioControl API (private API wrapper) is needed for CS audio routing.
    [B]Forum Nokia Americas[/B]
    Forum Nokia provides a wealth of resources to mobile developers. To be informed about the latest on mobile tools, devices and technologies, register [B][URL="http://www.forum.nokia.com/main/registration/registration.html"]here[/URL][/B]

  7. #7
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Posts
    115

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Hi all,

    The first beta of CallAudioControl API for S60 3rd FP1 is now available for partnering.

    http://www.forum.nokia.com/main/tech...ort/index.html

    API description from the header file:

    /**
    * Interface for controlling call audio.
    *
    * This class provides interface for controlling a) audio routing to various
    * connected output devices. b) speaker volume. c) microphone gain.
    * This interface can be used to control active Circuit Switching call, Video
    * Telephony call and Nokia internal VoIP calls.
    *
    * Limitations:
    * 1. This inteface can only be used on Nokia devices running S60 3.1 OR 3.2
    * platform.
    * 2. Clients are requried to have MultimediaDD and WriteDeviceData capability to
    * use some of the functions defined in this interface. Check individual
    * function documentation for more information.
    * 3. Some of the functions (routing, volume, and gain control) defined in this
    * interface can only be used during an active Circuit Switching OR Video
    * Telephony OR Nokia internal VoIP call.
    * If those functions are used when there is no active call, they return
    * KErrPermissionDenied. Check individual function documentation for more
    * information.
    * 4. This API does not control 3rd party VoIP call created via APS or VoIP
    * Audio Services API.
    * 5. When connected accessory list changes, initial routing happens
    * automatically.
    *
    * @lib CallAudioControl.lib
    *
    * @since Series 60 3.1, 3.2
    *
    */

    Br,
    Petro

  8. #8
    Regular Contributor
    Join Date
    May 2004
    Location
    Bangalore, India
    Posts
    118

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Hi,

    I am using this CCallAudioControl wrapper on S60 3.1 (Nokia N95). I found couple of issues while using this, which are as stated below:

    1. Calling SetOutput() API, void RoutingEvent(CCallAudioControl& aCallAudioControl, TUint aEvent, TInt aError) callback is never been called. Rather the overloaded callback void RoutingEvent(CCallAudioControl& aCallAudioControl, TUint aEvent) is called. This contradicts to the API description.

    2. After calling SetOutput(), if I try to delete the CCallAudioControl object, it gives E32USER-CBase 40. Which means an attempt to delete the active object while it still has a request outstanding. But not sure which request is outstanding as I already got the callback RoutingEvent() for my request SetOutput().

    3. If I create any instance of CCallAudioControl before there is any active call, and try to do any operation, it fails with KErrPermissionDenied. I guess there is an assumption where call should be active when the instance of CCallAudioControl is created other wise it will fail. Looks like call state is checked and cached at the time on construction of CCallAudioControl and the same cached state is used for further APIs.

    4. If the call is on Hold and if we try to do any operation like SetOutput(), it fails with KErrPermissionDenied which is not inline with the Phone App behaviour. Phone App allows to change the output (loudspeaker/handset) even if the call is on hold.

    Regards,
    Dushyant

    P.S. - All calls under consideration are circuit calls.
    Dushyant Gaur
    Sling Media,
    Bangalore
    cell:+91 9342276086
    email: dushyantg@slingmedia.com

  9. #9
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Posts
    115

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Thanks Dushyant,

    Your feedback is much appreciated.

    I'll forward these findings to our development team.

    Br,
    Petro

  10. #10
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Posts
    115

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Quote Originally Posted by dgaur View Post
    Hi,

    2. After calling SetOutput(), if I try to delete the CCallAudioControl object, it gives E32USER-CBase 40. Which means an attempt to delete the active object while it still has a request outstanding. But not sure which request is outstanding as I already got the callback RoutingEvent() for my request SetOutput().
    Dushyant,

    All other issues will be fixed by us, but the point above needs some clarification.

    Did you call RemoveRoutingObserver before deleting the CallAudioControl object?

    cheers,
    petro

  11. #11
    Regular Contributor
    Join Date
    May 2004
    Location
    Bangalore, India
    Posts
    118

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Yes, I did. I called RemoveRoutingObserver before deleting the CallAudioControl object.

    Here is snippet of my code...

    if(mSpeaker)
    {
    mSpeaker->RemoveRoutingObserver(*this);
    mSpeaker->RemoveDownlinkVolumeObserver(*this);
    mSpeaker->RemoveUplinkGainObserver(*this);
    delete mSpeaker;
    }


    Where mSpeaker is object pointer of CCallAudioControl.
    Dushyant Gaur
    Sling Media,
    Bangalore
    cell:+91 9342276086
    email: dushyantg@slingmedia.com

  12. #12
    Super Contributor
    Join Date
    Feb 2004
    Location
    Dallas
    Posts
    605

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    I beleive, there is another issue while using CallAudioControl.
    If i use CCallAudioControl, the CIdle callback is never called.

    I first initialised it.
    myCmd= CCallAudioControl::NewL();

    and then, CIdle set with EPriorityIdle never gives a callback.

    CIdle *idleObj;
    idleObj = CIdle::New(CActive::EPriorityIdle);
    idleObj->Start(TCallBack (idleObjCallBack,this));

    Has anyone else faced the same issue ?? Can nokia team confirm if this is a known issue ?
    Device used is N95 with latest firmware 20.0.15

  13. #13
    Registered User
    Join Date
    Apr 2008
    Posts
    19

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Hi,

    I have similar issue as amitaggarwal. I successfully call CCallAudioControl::SetOutput and receive SetOutputComplete callback. But if I then initialize CPeriodic with EPriorityIdle, the timer calback function is never called.

    I also have an issue with SetUplinkMute. I don't get the panic code as described in WiKi in known issues, but it fails with error code -32546. Also I don't get any notification from the UplinkGainObserver.

    The last issue for now is, that the I receive the OutputChanged notifications from RoutingObserver are received by my app only if I call the GetAvailableOutputs first.

    All these were observed on N95 with fw 21.0.016.

    Lubos

  14. #14
    Registered User
    Join Date
    Apr 2008
    Posts
    19

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    To Petro

    Is there a plan to release a new version of this API with fixes for the known issues? If yes, when it will be available and what fixes will it address?
    Thanks,

    Lubos

  15. #15
    Registered User
    Join Date
    Apr 2008
    Posts
    19

    Re: Loudspeaker control for an active GSM call for S60 3.1 devices

    Hi,

    I've found another issue with CallAudioControl API. After calling the CallAudioControl::SetOutput, I am unable to read the call log - call to CLogViewRecent::SetRecentListL never completes.
    Has anybody seen something like this?
    Any ides how to fix/workaround it would be appreciated.
    The behavior was observed on N95 with latest FW.

    Lubos

Similar Threads

  1. Replies: 48
    Last Post: 2010-10-05, 07:03
  2. Busy, dropped call GSM network error detection
    By Symbian_Programmer in forum Symbian Networking & Messaging (Closed)
    Replies: 1
    Last Post: 2008-10-24, 11:08
  3. Replies: 4
    Last Post: 2007-07-20, 13:50
  4. How to get control to my aap after disconnecting a call
    By alokkumarsingh in forum Symbian Networking & Messaging (Closed)
    Replies: 9
    Last Post: 2004-06-17, 06:29

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •