At 03:41 PM 11/16/01 +0800, ml wrote:
>hi, all,
>
>i wonder what kannel do after receive submit_sm_response msg
>(command_status!=0) from smsc(smpp protocol).
>
>i found the source code at handle_pdu() in smsc_smpp.c , and not sure if
>kannel will retry to send the message , or just log the error.
Message with errors from submit_sm, i.e. in submit_sm_resp will not get
resent by Kannel/
Nisan
>any comment would be appreciated.
>
>
>thanks & best regards
>ml
>
>
> case submit_sm_resp:
> os = octstr_format("%ld", pdu->u.submit_sm.sequence_number);
> msg = dict_remove(smpp->sent_msgs, os);
> octstr_destroy(os);
> if (msg == NULL) {
> warning(0, "SMPP: SMSC sent submit_sm_resp "
> "with wrong sequence number 0x%08lx",
> pdu->u.submit_sm.sequence_number);
>------------ when pdu->u.submit_sm_resp.command_status != 0 -----------
> } else if (pdu->u.submit_sm_resp.command_status != 0) {
> error(0, "SMPP: SMSC returned error code 0x%08lu "
> "in response to submit_sm.",
> pdu->u.submit_sm_resp.command_status);
> reason = smpp_status_to_smscconn_failure_reason(
> pdu->u.submit_sm.command_status);
> bb_smscconn_send_failed(smpp->conn, msg, reason);
> --(*pending_submits);
>------------------------------------------------------------
> } else {
> bb_smscconn_sent(smpp->conn, msg);
> --(*pending_submits);
> }
> break;