libmsc: Map SMPP command status to GSM 04.11 cause

Send SMS RP ERROR with a failure cause that relates to
the status returned by the ESME in the deliver_sm_resp.

Actual mapping array is limited as most phones I tested
don't seem to care about the failure cause anyway,
although some will display a different notification for
GSM411_RP_CAUSE_MO_NUM_UNASSIGNED

Change-Id: I61fb2d9ef4f2d2eabdc49b53d9966ad328d15e51
diff --git a/openbsc/src/libmsc/smpp_smsc.c b/openbsc/src/libmsc/smpp_smsc.c
index bd25918..48a1192 100644
--- a/openbsc/src/libmsc/smpp_smsc.c
+++ b/openbsc/src/libmsc/smpp_smsc.c
@@ -681,11 +681,10 @@
 		return -1;
 	}
 
-	/* Map SMPP command status to GSM 04.11 cause? */
 	if (deliver_r.command_status == ESME_ROK)
 		smpp_cmd_ack(cmd);
 	else
-		smpp_cmd_err(cmd);
+		smpp_cmd_err(cmd, deliver_r.command_status);
 
 	LOGP(DSMPP, LOGL_INFO, "[%s] Rx DELIVER-SM RESP (%s)\n",
 		esme->system_id, get_value_string(smpp_status_strs,