gboolean call_direction;
gint call_status;
gboolean call_multiparty_state;
+ gboolean is_volte_call;
if (!check_access_control(p_cynara, invocation, AC_CALL, "r"))
return TRUE;
call_status = tcore_call_object_get_status(call_obj);
call_multiparty_state = tcore_call_object_get_multiparty_state(call_obj);
+ is_volte_call = tcore_call_object_get_is_volte_call(call_obj);
telephony_call_complete_get_status(call, invocation,
call_handle, call_number, call_type,
- call_direction, call_status, call_multiparty_state);
+ call_direction, call_status, call_multiparty_state,
+ is_volte_call);
return TRUE;
}
gboolean call_direction;
gint call_status;
gboolean call_multiparty_state;
+ gboolean is_volte_call;
int len, i;
}
call_multiparty_state = tcore_call_object_get_multiparty_state(call_obj);
+ is_volte_call = tcore_call_object_get_is_volte_call(call_obj);
dbg("Call handle: [%d] Call ID: [%d] Call number: [%s] Call number len: [%d]",
handle, call_id, call_number, len);
g_variant_new_int32(call_status));
g_variant_builder_add(&b, "{sv}", "call_multiparty_state",
g_variant_new_boolean(call_multiparty_state));
+ g_variant_builder_add(&b, "{sv}", "is_volte_call",
+ g_variant_new_boolean(is_volte_call));
g_variant_builder_close(&b);
/* Next Call object */
telephony_network_set_access_technology(network, NETWORK_ACT_UNKNOWN);
telephony_network_set_cell_id(network, 0);
telephony_network_set_ims_voice_status(network, NETWORK_IMS_VOICE_UNKNOWN);
+ telephony_network_set_volte_enable(network, FALSE);
telephony_network_set_circuit_status(network, NETWORK_SERVICE_DOMAIN_STATUS_NO);
telephony_network_set_lac(network, 0);
telephony_network_set_tac(network, 0);
}
break;
+ case TNOTI_NETWORK_IMS_REGISTRATION_STATUS: {
+ const struct tnoti_network_ims_registration_info *ims_reg_info = data;
+
+ dbg("TNOTI_NETWORK_IMS_REGISTRATION_STATUS");
+
+ if (ims_reg_info->is_registered
+ && (ims_reg_info->feature_mask & NETWORK_IMS_REG_FEATURE_TYPE_VOLTE)) {
+ telephony_network_set_volte_enable(network, TRUE);
+ } else {
+ telephony_network_set_volte_enable(network, FALSE);
+ }
+ }
+ break;
+
default:
err("Unhandled/Unknown Notification: [0x%x]", command);
break;