|
|
|
@ -1598,16 +1598,18 @@ static void process_send_res(MmsEnvelope *e, MmsMsg *msg,
|
|
|
|
|
{
|
|
|
|
|
Octstr *rcpt = to->_x ? to->_x : to->rcpt; /* Might have a cleaned up recipient address */
|
|
|
|
|
time_t tnow = time(NULL);
|
|
|
|
|
Octstr *xfrom = octstr_duplicate(e->from); /* Because it might change below */
|
|
|
|
|
|
|
|
|
|
if (res == MMS_SEND_OK || res == MMS_SEND_QUEUED) {
|
|
|
|
|
to->process = 0;
|
|
|
|
|
|
|
|
|
|
if (e->msgtype == MMS_MSGTYPE_SEND_REQ ||
|
|
|
|
|
e->msgtype == MMS_MSGTYPE_RETRIEVE_CONF) /* queue dlr as needed. */
|
|
|
|
|
queue_dlr(mmc, e->from, rcpt, new_msgid, octstr_imm("Forwarded"), "MM7-Out", errl);
|
|
|
|
|
queue_dlr(mmc, xfrom, rcpt, new_msgid, octstr_imm("Forwarded"), "MM7-Out", errl);
|
|
|
|
|
} else if (res == MMS_SEND_ERROR_FATAL && mmc) {
|
|
|
|
|
if (e->msgtype == MMS_MSGTYPE_SEND_REQ ||
|
|
|
|
|
e->msgtype == MMS_MSGTYPE_RETRIEVE_CONF) /* queue dlr as needed. */
|
|
|
|
|
queue_dlr(mmc, e->from, rcpt, e->msgId,
|
|
|
|
|
queue_dlr(mmc, xfrom, rcpt, e->msgId,
|
|
|
|
|
(e->expiryt != 0 && e->expiryt < tnow) ?
|
|
|
|
|
octstr_imm("Expired") : octstr_imm("Rejected"),
|
|
|
|
|
"MM7-Out", errl);
|
|
|
|
@ -1636,7 +1638,7 @@ static void process_send_res(MmsEnvelope *e, MmsMsg *msg,
|
|
|
|
|
|
|
|
|
|
/* Do CDR */
|
|
|
|
|
cdrfs->logcdr(e->created,
|
|
|
|
|
octstr_get_cstr(e->from),
|
|
|
|
|
octstr_get_cstr(xfrom),
|
|
|
|
|
octstr_get_cstr(rcpt),
|
|
|
|
|
octstr_get_cstr(e->msgId),
|
|
|
|
|
mmc ? octstr_get_cstr(mmc->id) : NULL, /* Should we touch mmc here? XXX */
|
|
|
|
@ -1659,14 +1661,15 @@ static void process_send_res(MmsEnvelope *e, MmsMsg *msg,
|
|
|
|
|
if (err == NULL)
|
|
|
|
|
mms_info(0, "MM7", NULL, "%s MMSBox Outgoing Queue MMS Send: From %s, to %s, msgsize=%ld: msgid=[%s]",
|
|
|
|
|
SEND_ERROR_STR(res),
|
|
|
|
|
octstr_get_cstr(e->from), octstr_get_cstr(rcpt), e->msize,
|
|
|
|
|
octstr_get_cstr(xfrom), octstr_get_cstr(rcpt), e->msize,
|
|
|
|
|
new_msgid ? octstr_get_cstr(new_msgid) : "N/A");
|
|
|
|
|
else
|
|
|
|
|
mms_error_ex("MT", 0,
|
|
|
|
|
"MM7", NULL,
|
|
|
|
|
"%s MMSBox Outgoing Queue MMS Send: From %s, to %s, msgsize=%ld: %s",
|
|
|
|
|
SEND_ERROR_STR(res),
|
|
|
|
|
octstr_get_cstr(e->from), octstr_get_cstr(rcpt), e->msize, octstr_get_cstr(err));
|
|
|
|
|
octstr_get_cstr(xfrom), octstr_get_cstr(rcpt), e->msize, octstr_get_cstr(err));
|
|
|
|
|
octstr_destroy(xfrom);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Make a list of recpients up to max_rcpt */
|
|
|
|
|