diff -NaurbB ./cvs/gw/smsbox.c ./patch/gw/smsbox.c
--- ./cvs/gw/smsbox.c	Mon Dec 31 17:46:00 2001
+++ ./patch/gw/smsbox.c	Wed Jan  9 17:06:56 2002
@@ -1057,8 +1057,7 @@
     } else if (global_sender != NULL) {
 	newfrom = octstr_duplicate(global_sender);
     } else {
-	returnerror = octstr_create("Sender missing and no global set, rejected");
-	goto fielderror2;
+	newfrom = octstr_create("");
     }
 
     info(0, "sendsms sender:<%s:%s> (%s) to:<%s> msg:<%s>",
@@ -1496,8 +1495,7 @@
     } else if (global_sender != NULL) {
 	from = octstr_duplicate(global_sender);
     } else {
-	*status = HTTP_BAD_REQUEST;
-	return octstr_create("Sender missing and no global set, rejected");
+	from = octstr_duplicate("");
     }
 
     /* check if a otaconfig id has been given and decide which OTA
diff -NaurbB ./cvs/gw/smscconn.c ./patch/gw/smscconn.c
--- ./cvs/gw/smscconn.c	Wed Sep  5 13:34:08 2001
+++ ./patch/gw/smscconn.c	Wed Jan  9 16:51:35 2002
@@ -54,6 +54,7 @@
     GET_OPTIONAL_VAL(conn->allowed_prefix, "allowed-prefix");
     GET_OPTIONAL_VAL(conn->denied_prefix, "denied-prefix");
     GET_OPTIONAL_VAL(conn->preferred_prefix, "preferred-prefix");
+    GET_OPTIONAL_VAL(conn->default_sender, "default-sender");
 
     if (conn->allowed_smsc_id && conn->denied_smsc_id)
 	warning(0, "Both 'allowed-smsc-id' and 'denied-smsc-id' set, deny-list "
@@ -290,10 +291,19 @@
     int ret;
     
     gw_assert(conn != NULL);
+    gw_assert(msg != NULL);
     mutex_lock(conn->flow_mutex);
     if (conn->status == SMSCCONN_DEAD || conn->why_killed != SMSCCONN_ALIVE) {
 	mutex_unlock(conn->flow_mutex);
 	return -1;
+    }
+    if (octstr_len(msg->sms.sender) == 0) {
+        if (conn->default_sender == NULL) {
+            msg->sms.sender = octstr_create("");
+        }
+        else {
+            msg->sms.sender = octstr_duplicate(conn->default_sender);
+        }
     }
     ret = conn->send_msg(conn, msg);
 	mutex_unlock(conn->flow_mutex);
diff -NaurbB ./cvs/gw/smscconn_p.h ./patch/gw/smscconn_p.h
--- ./cvs/gw/smscconn_p.h	Wed Sep  5 13:34:08 2001
+++ ./patch/gw/smscconn_p.h	Wed Jan  9 14:34:27 2002
@@ -118,6 +118,8 @@
     Octstr *allowed_prefix;
     Octstr *denied_prefix;
     Octstr *preferred_prefix;
+    
+    Octstr *default_sender;
 
 
     /* XXX: move rest global data from Smsc here
diff -NaurbB ./cvs/gwlib/cfg.def ./patch/gwlib/cfg.def
--- ./cvs/gwlib/cfg.def	Mon Dec 31 17:45:18 2001
+++ ./patch/gwlib/cfg.def	Wed Jan  9 14:22:20 2002
@@ -181,6 +181,7 @@
     OCTSTR(throughput)
     OCTSTR(window)
     OCTSTR(idle-timeout)
+    OCTSTR(default-sender)
 )
 
 
