diff --git a/mms-lib/src/mms_task_send.c b/mms-lib/src/mms_task_send.c index a32d755..d30a4ba 100644 --- a/mms-lib/src/mms_task_send.c +++ b/mms-lib/src/mms_task_send.c @@ -81,7 +81,15 @@ mms_task_send_done( } } else { MMS_ERR("MMSC responded with %u", pdu->sc.rsp_status); - state = MMS_SEND_STATE_REFUSED; + switch (pdu->sc.rsp_status) { + case MMS_MESSAGE_RSP_STATUS_ERR_PERM_SERVICE_DENIED: + case MMS_MESSAGE_RSP_STATUS_ERR_PERM_LACK_OF_PREPAID: + case MMS_MESSAGE_RSP_STATUS_ERR_PERM_CONTENT_NOT_ACCEPTED: + state = MMS_SEND_STATE_REFUSED; + break; + default: + break; + } } } else { MMS_ERR("Unexpected response from MMSC"); diff --git a/mms-lib/test/send/data/Reject/0001.png b/mms-lib/test/send/data/Failure/0001.png similarity index 100% rename from mms-lib/test/send/data/Reject/0001.png rename to mms-lib/test/send/data/Failure/0001.png diff --git a/mms-lib/test/send/data/Reject/m-send.conf b/mms-lib/test/send/data/Failure/m-send.conf similarity index 100% rename from mms-lib/test/send/data/Reject/m-send.conf rename to mms-lib/test/send/data/Failure/m-send.conf diff --git a/mms-lib/test/send/data/Reject/test.txt b/mms-lib/test/send/data/Failure/test.txt similarity index 100% rename from mms-lib/test/send/data/Reject/test.txt rename to mms-lib/test/send/data/Failure/test.txt diff --git a/mms-lib/test/send/data/ServiceDenied/0001.png b/mms-lib/test/send/data/ServiceDenied/0001.png new file mode 100644 index 0000000..1ea1390 Binary files /dev/null and b/mms-lib/test/send/data/ServiceDenied/0001.png differ diff --git a/mms-lib/test/send/data/ServiceDenied/m-send.conf b/mms-lib/test/send/data/ServiceDenied/m-send.conf new file mode 100644 index 0000000..12f8a26 Binary files /dev/null and b/mms-lib/test/send/data/ServiceDenied/m-send.conf differ diff --git a/mms-lib/test/send/data/ServiceDenied/test.txt b/mms-lib/test/send/data/ServiceDenied/test.txt new file mode 100644 index 0000000..c35cd9a --- /dev/null +++ b/mms-lib/test/send/data/ServiceDenied/test.txt @@ -0,0 +1 @@ +MMS Center rejection test diff --git a/mms-lib/test/send/test_send.c b/mms-lib/test/send/test_send.c index cc7ce96..4a9bbd5 100644 --- a/mms-lib/test/send/test_send.c +++ b/mms-lib/test/send/test_send.c @@ -122,7 +122,7 @@ static const TestDesc send_tests[] = { MMS_SEND_STATE_SENDING, "TestMessageId" },{ - "Reject", + "ServiceDenied", ATTACHMENTS(test_files_reject), "Rejection test", "+1234567890", @@ -135,6 +135,20 @@ static const TestDesc send_tests[] = { SOUP_STATUS_OK, MMS_SEND_STATE_REFUSED, NULL + },{ + "Failure", + ATTACHMENTS(test_files_reject), + "Failure test", + "+1234567890", + NULL, + NULL, + NULL, + 0, + "m-send.conf", + MMS_CONTENT_TYPE, + SOUP_STATUS_OK, + MMS_SEND_STATE_SEND_ERROR, + NULL } };