Re: Terminating emergency calls
Denis Kenzior denk...@gmail.com 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
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
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
Re: Terminating emergency calls
Denis Kenzior denk...@gmail.com 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
Hi Sjur, Sjur Br?ndeland wrote: Denis Kenzior denk...@gmail.com 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