[PATCH] smpp suspend fix

Alexander Malysh <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Organization Centrium GmbH
Message-ID <[email protected]>
Hi all,

attached patch will fix non working suspend/isolate for smpp.

-- 
Mit besten Grüßen aus Köln

Dipl.-Ing.
Alexander Malysh
___________________________________________

Centrium GmbH
Ehrenstraße 2
50672 Köln

Fon: +49 (0221) 277 49 150
Fax: +49 (0221) 277 49 109

email: [email protected]
web: www.centrium.de
smpp_suspend.patch (text/x-diff, 1.3 KB)
? test/wapproxy
Index: gw/smsc/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_smpp.c,v
retrieving revision 1.19
diff -a -u -r1.19 smsc_smpp.c
--- gw/smsc/smsc_smpp.c	7 Dec 2002 14:53:40 -0000	1.19
+++ gw/smsc/smsc_smpp.c	11 Dec 2002 11:03:40 -0000
@@ -63,7 +63,8 @@
 
 enum {
     SMPP_ESME_RMSGQFUL   = 0x00000014,
-    SMPP_ESME_RTHROTTLED = 0x00000058
+    SMPP_ESME_RTHROTTLED = 0x00000058,
+    SMPP_ESME_RX_T_APPN = 0x00000064
 } SMPP_ERROR_MESSAGES;
  
  
@@ -683,6 +684,19 @@
     switch (pdu->type) { 
         case deliver_sm: 
 	        /* XXX UDH */ 
+	    /*
+             * If SMSCConn stopped then send temp. error code
+	     */
+	     mutex_lock(smpp->conn->flow_mutex);
+	     if (smpp->conn->is_stopped) {
+                 mutex_unlock(smpp->conn->flow_mutex);
+                 resp = smpp_pdu_create(deliver_sm_resp,
+                               pdu->u.deliver_sm.sequence_number);
+                 resp->u.deliver_sm.command_status = SMPP_ESME_RX_T_APPN;
+	         break;
+             }
+             mutex_unlock(smpp->conn->flow_mutex);
+
             /* 
              * bb_smscconn_receive can fail, but we ignore that since we 
              * have no way to usefull tell the SMS center about this
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.