Failure to close mic/speaker after call termination - PJSIP 1.6 on iOS 4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



To add to the answer, first thing to check is whether there's
absolutely no connection in the bridge after all calls are cleared, as
this is the condition for the auto-close.

And secondly, by default the auto close will happen only after 1
second of audio inactivity (the pjsua_media_config.snd_auto_close_time
setting), so if you put the app in background too soon you could leave
the sound device open.

Best regards,
?Benny

On Fri, Aug 6, 2010 at 9:24 PM, Rob Wilkes <wilkrob at gmail.com> wrote:
> Hi Darald,
> We are actually building the UA for the 3.2 SDK target, so maybe that's why
> we are not seeing it. We have not yet delved into the new background VoIP
> APIs for this project of iOS4.
> But to directly answer your question, at least when we build for 3.2 target
> and run it on my iphone 4, I *never* see the red bar after I terminate the
> call and switch out.
>
>
> On Fri, Aug 6, 2010 at 9:58 AM, Darald Trinka <dtrinka at gmail.com> wrote:
>>
>> We are seeing this problem with PJSIP 1.6 on iOS 4. Does anyone else see
>> this? If so were you able to resolve the issue?
>>
>> After we make and terminate a voip call if you put the application into
>> the background the "double high, red, on call status bar" is still shown. It
>> appears that PJ either leaves the mic or/and speaker open so that iOS 4
>> thinks that there is an active call when there isn't.
>>
>> We make the call with pjsua_call_make_call, terminate it with
>> pjsua_call_hangup_all and hook up the media ports in the media state
>> callback.
>>
>> void PJFacade::OnCallMediaState(pjsua_call_id call_id)
>> {
>> ? ?pjsua_call_info ci;
>>
>> ? ?pjsua_call_get_info(call_id, &ci);
>>
>> ? ?if (ci.media_status == PJSUA_CALL_MEDIA_ACTIVE)
>> ? ?{
>> ? ? ? ?// When media is active, connect call to sound device.
>> ? ? ? ?pjsua_conf_connect(ci.conf_slot, 0); // speaker
>> ? ? ? ?pjsua_conf_connect(0, ci.conf_slot); // mic
>>
>> ? ? ? ?iActive_call = call_id;
>> ? ?}
>> ? ?else if( call_id == iActive_call )
>> ? ?{
>> ? ? ? ?iActive_call = PJSUA_INVALID_ID;
>> ? ?}
>> }
>>
>>
>> Thanks,
>> Darald
>> _______________________________________________
>> Visit our blog: http://blog.pjsip.org
>>
>> pjsip mailing list
>> pjsip at lists.pjsip.org
>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux