diff options
author | Pablo Neira Ayuso <pablo@gnumonks.org> | 2017-08-07 14:01:35 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2017-08-27 03:52:46 +0200 |
commit | 7617ea2db73efc37e036ae04e078fa790b040989 (patch) | |
tree | 85ec44a8249b259601b584cf32c5cc516bdcdd3b /src/utils | |
parent | a644ee92be7e64aa4b1f74d973a9a6632706df0e (diff) |
utils: smpp_mirror: bounce Delivery Receipts as Delivery Acknowledgments
Simple patch to test the new status-report support code, remove previous
code before Delivery Acknowledgement support was in place. Use
LOGL_DEBUG for logging messages here as suggested by Neels and Harald.
Change-Id: I877e228d8e174430f700631edbf9955972da7892
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/smpp_mirror.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/utils/smpp_mirror.c b/src/utils/smpp_mirror.c index 88545de61..c5705059b 100644 --- a/src/utils/smpp_mirror.c +++ b/src/utils/smpp_mirror.c @@ -123,14 +123,6 @@ static int smpp_handle_deliver(struct esme *esme, struct msgb *msg) PACK_AND_SEND(esme, &deliver_r); - /* This is a delivery receipt, temporarily munch it until we teach - * openbsc what to do with this. - */ - if (deliver.esm_class == 0x04) { - LOGP(DSMPP, LOGL_NOTICE, "%s\n", deliver.short_message); - return 0; - } - memset(&submit, 0, sizeof(submit)); submit.command_id = SUBMIT_SM; submit.command_status = ESME_ROK; @@ -148,7 +140,14 @@ static int smpp_handle_deliver(struct esme *esme, struct msgb *msg) OSMO_MIN(sizeof(submit.source_addr), sizeof(deliver.destination_addr))); - submit.esm_class = deliver.esm_class; + /* Mirror delivery receipts as a delivery acknowledgements. */ + if (deliver.esm_class == 0x04) { + LOGP(DSMPP, LOGL_DEBUG, "%s\n", deliver.short_message); + submit.esm_class = 0x08; + } else { + submit.esm_class = deliver.esm_class; + } + submit.registered_delivery = deliver.registered_delivery; submit.protocol_id = deliver.protocol_id; submit.priority_flag = deliver.priority_flag; |