Do not queue message requests that we do not respond to.

If we receive a MESSAGE request that we cannot send a response
to, we should not send the incoming MESSAGE to the dialplan.

This commit should help the bouncing message_retrans test to
pass consistently.
........

Merged revisions 434218 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/42/42/1
Mark Michelson 10 years ago
parent c2f50ba6f4
commit 1eba6abae5

@ -673,9 +673,16 @@ static pj_bool_t module_on_rx_request(pjsip_rx_data *rdata)
return PJ_TRUE;
}
/* send it to the messaging core */
ast_msg_queue(msg);
send_response(rdata, PJSIP_SC_ACCEPTED, NULL, NULL);
/* Send it to the messaging core.
*
* If we are unable to send a response, the most likely reason is that we
* are handling a retransmission of an incoming MESSAGE and were unable to
* create a transaction due to a duplicate key. If we are unable to send
* a response, we should not queue the message to the dialplan
*/
if (!send_response(rdata, PJSIP_SC_ACCEPTED, NULL, NULL)) {
ast_msg_queue(msg);
}
return PJ_TRUE;
}

Loading…
Cancel
Save