diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-07-23 17:29:44 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-07-23 17:29:44 +0800 |
commit | 83f46278dd423d9efa04e33a525e5edd961c26b3 (patch) | |
tree | 3727ddcead641a8b9e875a6b6fc4b51b8a666bb1 | |
parent | e1c37bc4fea88d5b2112ea2905d6888ee08bb059 (diff) |
bssap: Use libosmocore GSM0808 generation routines.
-rw-r--r-- | openbsc/src/bssap.c | 55 |
1 files changed, 2 insertions, 53 deletions
diff --git a/openbsc/src/bssap.c b/openbsc/src/bssap.c index 4f8efd817..f63c7c96c 100644 --- a/openbsc/src/bssap.c +++ b/openbsc/src/bssap.c @@ -271,7 +271,7 @@ reject: if (msg->lchan && msg->lchan->msc_data) msg->lchan->msc_data->block_gsm = 0; - resp = bssmap_create_cipher_reject(reject_cause); + resp = gsm0808_create_cipher_reject(reject_cause); if (!resp) { LOGP(DMSC, LOGL_ERROR, "Sending the cipher reject failed.\n"); return -1; @@ -812,57 +812,6 @@ struct msgb *bssmap_create_cipher_complete(struct msgb *layer3) return msg; } -struct msgb *bssmap_create_cipher_reject(u_int8_t cause) -{ - struct msgb *msg = msgb_alloc(30, "bssmap: clear complete"); - if (!msg) - return NULL; - - msg->l3h = msgb_put(msg, 3); - msg->l3h[0] = BSSAP_MSG_BSS_MANAGEMENT; - msg->l3h[1] = 2; - msg->l3h[2] = BSS_MAP_MSG_CIPHER_MODE_REJECT; - msg->l3h[3] = cause; - - return msg; -} - -struct msgb *bssmap_create_classmark_update(const u_int8_t *classmark_data, u_int8_t length) -{ - struct msgb *msg = msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM, - "classmark-update"); - if (!msg) - return NULL; - - msg->l3h = msgb_put(msg, 3); - msg->l3h[0] = BSSAP_MSG_BSS_MANAGEMENT; - msg->l3h[1] = 0xff; - msg->l3h[2] = BSS_MAP_MSG_CLASSMARK_UPDATE; - - msg->l4h = msgb_put(msg, length); - memcpy(msg->l4h, classmark_data, length); - - /* update the size */ - msg->l3h[1] = msgb_l3len(msg) - 2; - return msg; -} - -struct msgb *bssmap_create_sapi_reject(u_int8_t link_id) -{ - struct msgb *msg = msgb_alloc(30, "bssmap: sapi 'n' reject"); - if (!msg) - return NULL; - - msg->l3h = msgb_put(msg, 5); - msg->l3h[0] = BSSAP_MSG_BSS_MANAGEMENT; - msg->l3h[1] = 3; - msg->l3h[2] = BSS_MAP_MSG_SAPI_N_REJECT; - msg->l3h[3] = link_id; - msg->l3h[4] = GSM0808_CAUSE_BSS_NOT_EQUIPPED; - - return msg; -} - static u_int8_t chan_mode_to_speech(struct gsm_lchan *lchan) { int mode = 0; @@ -1181,7 +1130,7 @@ static void rll_ind_cb(struct gsm_lchan *lchan, u_int8_t link_id, struct msgb *sapi_reject; bts_free_queued(data); - sapi_reject = bssmap_create_sapi_reject(link_id); + sapi_reject = gsm0808_create_sapi_reject(link_id); if (!sapi_reject){ LOGP(DMSC, LOGL_ERROR, "Failed to create SAPI reject\n"); return; |