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]

 



Thanks, it occurred because we had set snd_auto_close_time to -1. I'm not sure why!

Best regards,
Darald


On Aug 6, 2010, at 10:48 PM, Benny Prijono wrote:

> 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
>> 
>> 
> 
> _______________________________________________
> 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