diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2020-05-29 03:53:59 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-06-16 14:56:57 +0200 |
commit | a87646cd8449a0658d1f6af681aa3773a587ca6b (patch) | |
tree | 4f41b6ee5085c54d65d009e8eb8ec683088f171d /src/osmo-bsc/abis_rsl.c | |
parent | 2c61245935ed997ad64a9a50a5b76e9a026e2a28 (diff) |
use osmo_mobile_identity API everywhere
Depends: If4f7be606e54cfa1c59084cf169785b1cbda5cf5 (libosmocore)
Change-Id: I71c3b4c65dbfdfa51409e09d4868aea83225338a
Diffstat (limited to 'src/osmo-bsc/abis_rsl.c')
-rw-r--r-- | src/osmo-bsc/abis_rsl.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 705e75904..2fb1a22ef 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -664,18 +664,29 @@ int rsl_tx_rf_chan_release(struct gsm_lchan *lchan) return abis_rsl_sendmsg(msg); } -int rsl_paging_cmd(struct gsm_bts *bts, uint8_t paging_group, uint8_t len, - uint8_t *ms_ident, uint8_t chan_needed, bool is_gprs) +int rsl_paging_cmd(struct gsm_bts *bts, uint8_t paging_group, + const struct osmo_mobile_identity *mi, + uint8_t chan_needed, bool is_gprs) { struct abis_rsl_dchan_hdr *dh; struct msgb *msg = rsl_msgb_alloc(); + uint8_t *l; + int rc; dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_PAGING_CMD); dh->chan_nr = RSL_CHAN_PCH_AGCH; msgb_tv_put(msg, RSL_IE_PAGING_GROUP, paging_group); - msgb_tlv_put(msg, RSL_IE_MS_IDENTITY, len-2, ms_ident+2); + + l = msgb_tl_put(msg, RSL_IE_MS_IDENTITY); + rc = osmo_mobile_identity_encode_msgb(msg, mi, false); + if (rc < 0) { + msgb_free(msg); + return -EINVAL; + } + *l = rc; + msgb_tv_put(msg, RSL_IE_CHAN_NEEDED, chan_needed); /* Ericsson wants to have this IE in case a paging message |