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 17:40:55 +0200 |
commit | 20366613c4e8bc3b655437f00905d3a692e1a1bc (patch) | |
tree | 95f493d0926479323b4fd1428c7f33c082b8327a | |
parent | 423c0f8c442c0b31799ae3eba5c238edbad29a64 (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
-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; |