Index: gw/smsc/smsc_emi.c
===================================================================
--- gw/smsc/smsc_emi.c	(revision 4895)
+++ gw/smsc/smsc_emi.c	(working copy)
@@ -1138,16 +1138,25 @@
                         if (emimsg->fields[2] != NULL)
                             octstr_append(reply, emimsg->fields[2]);
 
-			/* XXX Process error code here
+			/* XXX Process error code here*/
 			long errorcode;
 			octstr_parse_long(&errorcode, emimsg->fields[1], 0, 10);
-			... switch(errorcode) ...
+			/*... switch(errorcode) ...
 			}
 
 			else { */
-			    bb_smscconn_send_failed(conn,
-					PRIVDATA(conn)->slots[emimsg->trn].sendmsg,
-					SMSCCONN_FAILED_REJECTED, reply);
+			error(0,"DEBUG ERRORCODE: %d",errorcode);
+			if (errorcode == 4) {
+				error(0, "DEBUG NACK4 SMSCCONN_FAILED_TEMPORARILY:%s", octstr_get_cstr(emimsg->fields[2]));
+				bb_smscconn_send_failed(conn,
+						PRIVDATA(conn)->slots[emimsg->trn].sendmsg,
+						SMSCCONN_FAILED_TEMPORARILY, reply);
+			} else {
+				error(0, "DEBUG NACK4 SMSCCONN_FAILED_REJECTED:%s", octstr_get_cstr(emimsg->fields[2]));
+				bb_smscconn_send_failed(conn,
+						PRIVDATA(conn)->slots[emimsg->trn].sendmsg,
+						SMSCCONN_FAILED_REJECTED, reply);
+			}
 			/* } */
 		    }
 		} else if (emimsg->ot == 31) {
