diff --git a/drivers/qmimodem/voice.h b/drivers/qmimodem/voice.h index bb98e693..9c8dffdf 100644 --- a/drivers/qmimodem/voice.h +++ b/drivers/qmimodem/voice.h @@ -74,7 +74,8 @@ enum qmi_voice_call_state { enum qmi_voice_call_type { QMI_CALL_TYPE_VOICE = 0x0, - QMI_CALL_TYPE_VOICE_FORCE, + QMI_CALL_TYPE_VOICE_FORCE = 0x01, + QMI_CALL_TYPE_EMERGENCY = 0x09, }; struct qmi_ussd_data { diff --git a/drivers/qmimodem/voicecall.c b/drivers/qmimodem/voicecall.c index 499e0b5f..382258df 100644 --- a/drivers/qmimodem/voicecall.c +++ b/drivers/qmimodem/voicecall.c @@ -245,7 +245,10 @@ static void dial(struct ofono_voicecall *vc, const struct ofono_phone_number *ph memcpy(&vd->dialed, ph, sizeof(*ph)); arg.call_type_set = true; - arg.call_type = QMI_CALL_TYPE_VOICE_FORCE; + if (ofono_voicecall_is_emergency_number(vc, ph->number) == TRUE) + arg.call_type = QMI_CALL_TYPE_EMERGENCY; + else + arg.call_type = QMI_CALL_TYPE_VOICE_FORCE; if (!qmi_voice_dial_call( &arg,