Re: Terminating emergency calls

2010-08-16 Thread Sjur Brændeland
Denis Kenzior  wrote:
> Hi Sjur,
>
 I have to verify this with some of my colleagues, but I am pretty sure
 emergency calls cannot be applied to the AT+CHLD command. i.e. they
 cannot be part of mpty.
>>
>> Initial testing on STE modem indicates that emergency call cannot
>> participate in multi call or be put on hold.
>
> What about a somewhat backdoor of putting call on hold on some modems:
> If a call is active, and you dial another call, the active call is
> automatically put on hold.  So if an emergency call is active and we
> dial another number, what happens?

On the STE modem I get NO CARRIER if I try to put an emergency call on
hold this way.
fonod[27624]: > ATD911;\r
ofonod[27624]: < \r\nOK\r\n
...
ofonod[27624]: > ATD+4425993004494;\r
ofonod[27624]: < \r\nNO CARRIER\r\n

However the other way around works, by having a normal call and then
dialing an emergency number
puts the regular call on hold.

...
>> Yes, you're right using hangup_active will terminate all active calls
>> participating in a multi call.
>> So my proposal will not work as is. Maybe we need to know if
>> release_next was called for multi call?
>
> I have commited a fix for this that I think should work just fine.  Can
> you please check bab23b39767b664061ac2bcba747fe2b96561ca7 and let me
> know if it solves the issue?

Yes, it does. I can now use hangup_all on an emergency call :-)

I think this closes the last voice call issue for STE modems (for now).

Regards
Sjur
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: Terminating emergency calls

2010-08-13 Thread Denis Kenzior
Hi Sjur,

>>> I have to verify this with some of my colleagues, but I am pretty sure
>>> emergency calls cannot be applied to the AT+CHLD command. i.e. they
>>> cannot be part of mpty.
> 
> Initial testing on STE modem indicates that emergency call cannot
> participate in multi call or be put on hold.

What about a somewhat backdoor of putting call on hold on some modems:
If a call is active, and you dial another call, the active call is
automatically put on hold.  So if an emergency call is active and we
dial another number, what happens?

> 
>>
>> If emergency calls cannot be part of mpty call, we can use either hangup_all 
>> or
>> hangup_active as Denis said. However, your suggested fix will break 
>> multiparty call
>> scenario since multiparty_hangup calls voicecall_release_next as well.
> 
> Yes, you're right using hangup_active will terminate all active calls
> participating in a multi call.
> So my proposal will not work as is. Maybe we need to know if
> release_next was called for multi call?

I have commited a fix for this that I think should work just fine.  Can
you please check bab23b39767b664061ac2bcba747fe2b96561ca7 and let me
know if it solves the issue?

Regards,
-Denis
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: Terminating emergency calls

2010-08-13 Thread Sjur Brændeland
 Zhang, Zhenhua  wrote:
>> Denis Kenzior  wrote:
 I thought of one more issue with voice calls.
 I don't think it is safe to to terminate emergency calls using
 release_specific, AT+CHLD=1X. At least this don't work for STE
 modems.

 I suggest calls in state active should be terminated using
 hangup_all or hangup_active. What do you think?
>>>
>>> So in the case of a single call, the emergency call will be
>>> terminated using hangup_all / hangup_active anyway.  I have relaxed
>>> the single call restriction for active calls when hangup_active is
>>> provided by the
>>> driver.  Refer to c7b13ec2fe664b122216a312f2442c9ca26f5f43
>>
>> Yes, it seems to be ok for voicecall_hangup, but in manager_hangup_all
>> the active call is still terminated with release_specific in
>> voiceall_release_next.
>> This implies that if you have an emergency call and terminate it with
>> manager_hangup_all AT+CHLD=1X still will be used, right?
>>
>> I suggest we change voicecall_release_next like this:
>>
>>       if (vc->driver->hangup_active != NULL &&
>>                       (call->call->status == CALL_STATUS_ALERTING ||
>>                               call->call->status == CALL_STATUS_DIALING ||
>> +                             call->call->status == CALL_STATUS_ACTIVE ||
>>                               call->call->status == CALL_STATUS_INCOMING))
>>               vc->driver->hangup_active(vc, multirelease_callback, vc);
>>       else
>>               vc->driver->release_specific(vc, call->call->id,
>>                                               multirelease_callback, vc);
>>
>>> For mpty calls this gets tricky.  I'd like some answers to these
>>> questions:
>>>
>>> - Can Emergency calls participate in mpty?
>>
>> I have to verify this with some of my colleagues, but I am pretty sure
>> emergency calls cannot be applied to the AT+CHLD command. i.e. they
>> cannot be part of mpty.

Initial testing on STE modem indicates that emergency call cannot
participate in multi call or be put on hold.

>
> If emergency calls cannot be part of mpty call, we can use either hangup_all 
> or
> hangup_active as Denis said. However, your suggested fix will break 
> multiparty call
> scenario since multiparty_hangup calls voicecall_release_next as well.

Yes, you're right using hangup_active will terminate all active calls
participating in a multi call.
So my proposal will not work as is. Maybe we need to know if
release_next was called for multi call?

>Maybe we
> should use call->type to indicate whether it's an emergy call. It looks to me 
> that the
> type flag in struct ofono_call hasn't been used yet. Correct me if I am wrong.

Regards
Sjur
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


RE: Terminating emergency calls

2010-08-12 Thread Zhang, Zhenhua
Hi Sjur,

Sjur Br?ndeland wrote:
> Denis Kenzior  wrote:
>>> I thought of one more issue with voice calls.
>>> I don't think it is safe to to terminate emergency calls using
>>> release_specific, AT+CHLD=1X. At least this don't work for STE
>>> modems. 
>>> 
>>> I suggest calls in state active should be terminated using
>>> hangup_all or hangup_active. What do you think?
>> 
>> So in the case of a single call, the emergency call will be
>> terminated using hangup_all / hangup_active anyway.  I have relaxed
>> the single call restriction for active calls when hangup_active is
>> provided by the 
>> driver.  Refer to c7b13ec2fe664b122216a312f2442c9ca26f5f43
> 
> Yes, it seems to be ok for voicecall_hangup, but in manager_hangup_all
> the active call is still terminated with release_specific in
> voiceall_release_next.
> This implies that if you have an emergency call and terminate it with
> manager_hangup_all AT+CHLD=1X still will be used, right?
> 
> I suggest we change voicecall_release_next like this:
> 
>   if (vc->driver->hangup_active != NULL &&
>   (call->call->status == CALL_STATUS_ALERTING ||
>   call->call->status == CALL_STATUS_DIALING ||
> + call->call->status == CALL_STATUS_ACTIVE ||
>   call->call->status == CALL_STATUS_INCOMING))
>   vc->driver->hangup_active(vc, multirelease_callback, vc);
>   else
>   vc->driver->release_specific(vc, call->call->id,
>   multirelease_callback, vc);
> 
>> For mpty calls this gets tricky.  I'd like some answers to these
>> questions: 
>> 
>> - Can Emergency calls participate in mpty?
> 
> I have to verify this with some of my colleagues, but I am pretty sure
> emergency calls cannot be applied to the AT+CHLD command. i.e. they
> cannot be part of mpty.

If emergency calls cannot be part of mpty call, we can use either hangup_all or
hangup_active as Denis said. However, your suggested fix will break multiparty 
call
scenario since multiparty_hangup calls voicecall_release_next as well. Maybe we
should use call->type to indicate whether it's an emergy call. It looks to me 
that the
type flag in struct ofono_call hasn't been used yet. Correct me if I am wrong.

> 
> Regards
> Sjur
> ___
> ofono mailing list
> ofono@ofono.org
> http://lists.ofono.org/listinfo/ofono



Regards,
Zhenhua
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: Terminating emergency calls

2010-08-12 Thread Sjur Brændeland
Denis Kenzior  wrote:
>> I thought of one more issue with voice calls.
>> I don't think it is safe to to terminate emergency calls using
>> release_specific, AT+CHLD=1X.
>> At least this don't work for STE modems.
>>
>> I suggest calls in state active should be terminated using hangup_all
>> or hangup_active.
>> What do you think?
>
> So in the case of a single call, the emergency call will be terminated
> using hangup_all / hangup_active anyway.  I have relaxed the single call
> restriction for active calls when hangup_active is provided by the
> driver.  Refer to c7b13ec2fe664b122216a312f2442c9ca26f5f43

Yes, it seems to be ok for voicecall_hangup, but in manager_hangup_all
the active call is still terminated with release_specific in
voiceall_release_next.
This implies that if you have an emergency call and terminate it with
manager_hangup_all AT+CHLD=1X still will be used, right?

I suggest we change voicecall_release_next like this:

if (vc->driver->hangup_active != NULL &&
(call->call->status == CALL_STATUS_ALERTING ||
call->call->status == CALL_STATUS_DIALING ||
+   call->call->status == CALL_STATUS_ACTIVE ||
call->call->status == CALL_STATUS_INCOMING))
vc->driver->hangup_active(vc, multirelease_callback, vc);
else
vc->driver->release_specific(vc, call->call->id,
multirelease_callback, vc);

> For mpty calls this gets tricky.  I'd like some answers to these questions:
>
> - Can Emergency calls participate in mpty?

I have to verify this with some of my colleagues, but I am pretty sure
emergency calls cannot be applied to the AT+CHLD command. i.e. they cannot
be part of mpty.


Regards
Sjur
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: Terminating emergency calls

2010-08-12 Thread Denis Kenzior
Hi Sjur,

On 08/12/2010 12:39 PM, Sjur Brændeland wrote:
> Hi Denis.
> 
> I thought of one more issue with voice calls.
> I don't think it is safe to to terminate emergency calls using
> release_specific, AT+CHLD=1X.
> At least this don't work for STE modems.
> 
> I suggest calls in state active should be terminated using hangup_all
> or hangup_active.
> What do you think?

So in the case of a single call, the emergency call will be terminated
using hangup_all / hangup_active anyway.  I have relaxed the single call
restriction for active calls when hangup_active is provided by the
driver.  Refer to c7b13ec2fe664b122216a312f2442c9ca26f5f43

For mpty calls this gets tricky.  I'd like some answers to these questions:

- Can Emergency calls participate in mpty?
- Can Emergency calls be HELD?
- How do we recognize Emergency calls?  Is simple string matching of
numbers in EmergencyNumbers of VoiceCallManager enough?

Regards,
-Denis
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Terminating emergency calls

2010-08-12 Thread Sjur Brændeland
Hi Denis.

I thought of one more issue with voice calls.
I don't think it is safe to to terminate emergency calls using
release_specific, AT+CHLD=1X.
At least this don't work for STE modems.

I suggest calls in state active should be terminated using hangup_all
or hangup_active.
What do you think?

Regards
Sjur
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono