aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/smpp_openbsc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmsc/smpp_openbsc.c')
-rw-r--r--src/libmsc/smpp_openbsc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libmsc/smpp_openbsc.c b/src/libmsc/smpp_openbsc.c
index 01c39f906..25d649bd0 100644
--- a/src/libmsc/smpp_openbsc.c
+++ b/src/libmsc/smpp_openbsc.c
@@ -151,7 +151,6 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net,
sms->msg_ref = msg_ref;
/* fill in the destination address */
- sms->receiver = dest;
sms->dst.ton = submit->dest_addr_ton;
sms->dst.npi = submit->dest_addr_npi;
if (dest)
@@ -159,6 +158,11 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net,
else
OSMO_STRLCPY_ARRAY(sms->dst.addr,
(const char *)submit->destination_addr);
+ if (dest) {
+ sms->receiver = dest;
+ vlr_subscr_get(sms->receiver, VSUB_USE_SMS_RECEIVER);
+ vlr_subscr_put(dest, VSUB_USE_SMPP);
+ }
/* fill in the source address */
sms->src.ton = submit->source_addr_ton;