diff --git a/mbuni/mmlib/mms_mm7soap.c b/mbuni/mmlib/mms_mm7soap.c index d503a9b..83fd700 100644 --- a/mbuni/mmlib/mms_mm7soap.c +++ b/mbuni/mmlib/mms_mm7soap.c @@ -967,10 +967,10 @@ MmsMsg *mm7_soap_to_mmsmsg(MSoapMsg_t *m, Octstr *from) t = time(NULL); r = http_header_value(m->envelope, octstr_imm("MMStatus")); - if (msgtype == MM7_TAG_DeliveryReportReq && - p && r && mms_string_to_status(r) >= 0) - msg = mms_deliveryreport(s ? s : octstr_imm("0000"), from, p, t, r); - else if (msgtype == MM7_TAG_ReadReplyReq && + if (msgtype == MM7_TAG_DeliveryReportReq && p) { + Octstr *status = r && (mms_string_to_status(r) >= 0) ? r : octstr_imm("Indeterminate"); + msg = mms_deliveryreport(s ? s : octstr_imm("0000"), from, p, t, status); + } else if (msgtype == MM7_TAG_ReadReplyReq && f && p && r && mms_string_to_read_status(r) >= 0) msg = mms_readreport(s ? s : octstr_imm("0000"), f, p, t, r);