[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