unsigned char efmwis_length;
unsigned char efmbdn_length;
unsigned char efmbdn_record_id[5];
+ gboolean mbdn_not_provided;
struct ofono_phone_number mailbox_number[5];
struct ofono_sim *sim;
unsigned int sim_watch;
if (mw->efmbdn_record_id[mailbox] == 0) {
if (msg)
- return __ofono_error_failed(msg);
+ return __ofono_error_sim_not_ready(msg);
return NULL;
}
const char *name, *value;
int i;
+ if (mw->mbdn_not_provided == TRUE)
+ return __ofono_error_not_supported(msg);
+
if (mw->efmbdn_length == 0)
- return __ofono_error_busy(msg);
+ return __ofono_error_sim_not_ready(msg);
if (!dbus_message_iter_init(msg, &iter))
return __ofono_error_invalid_args(msg);
ofono_error("Unable to read mailbox dialling numbers "
"from SIM");
- mw->efmbdn_length = -1;
+ mw->efmbdn_length = 0;
+ mw->mbdn_not_provided = TRUE;
return;
}
ofono_error("Unable to read mailbox identifies "
"from SIM");
- mw->efmbdn_length = -1;
+ mw->efmbdn_length = 0;
+ mw->mbdn_not_provided = TRUE;
return;
}