diff options
author | Benoit Bolsee <benoit.bolsee@wtl.be> | 2017-07-05 11:46:55 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2017-08-27 02:33:47 +0200 |
commit | d34ed5768cccab57e879bd32f38872d290c9ae89 (patch) | |
tree | 3c9f06ce8ee1931727442ea7094d67953bad01f4 /src/libmsc/smpp_openbsc.c | |
parent | 95606647ef4805537a28355f1489f32f1f1f16d1 (diff) |
smpp: fix return cause
Return cause 38 when default SMPP route is unavailable. This
is better than cause 1.
Change-Id: If3241d50a78fa611981e55fef6ae4c72b0a2a167
Diffstat (limited to 'src/libmsc/smpp_openbsc.c')
-rw-r--r-- | src/libmsc/smpp_openbsc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/libmsc/smpp_openbsc.c b/src/libmsc/smpp_openbsc.c index 24a465373..b3f9bbb4d 100644 --- a/src/libmsc/smpp_openbsc.c +++ b/src/libmsc/smpp_openbsc.c @@ -709,17 +709,18 @@ int smpp_try_deliver(struct gsm_sms *sms, { struct osmo_esme *esme; struct osmo_smpp_addr dst; + int rc; memset(&dst, 0, sizeof(dst)); dst.ton = sms->dst.ton; dst.npi = sms->dst.npi; memcpy(dst.addr, sms->dst.addr, sizeof(dst.addr)); - esme = smpp_route(g_smsc, &dst); - if (!esme) - return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; + rc = smpp_route(g_smsc, &dst, &esme); + if (!rc) + rc = deliver_to_esme(esme, sms, conn, deferred); - return deliver_to_esme(esme, sms, conn, deferred); + return rc; } struct smsc *smsc_from_vty(struct vty *v) |