aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2014-01-23 15:32:22 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-03-10 13:38:07 +0100
commit3058854535f08e12f6d8dd4f35490ecef40b3040 (patch)
tree110905e776a9d31b026034c8c729adc747b98053 /src/common
parenta37e239961010db751eb698971d57e22c0a12485 (diff)
handover: Implement generating HANDOVER DETECTION in rsl_tx_hando_det
Diffstat (limited to 'src/common')
-rw-r--r--src/common/rsl.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index 6c1af2ec..c97dd8a3 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -545,6 +545,28 @@ int rsl_tx_chan_act_ack(struct gsm_lchan *lchan, struct gsm_time *gtime)
return abis_bts_rsl_sendmsg(msg);
}
+/* 8.4.7 sending HANDOver DETection */
+int rsl_tx_hando_det(struct gsm_lchan *lchan, uint8_t *ho_delay)
+{
+ struct msgb *msg;
+ uint8_t chan_nr = gsm_lchan2chan_nr(lchan);
+
+ LOGP(DRSL, LOGL_INFO, "Sending HANDOver DETect\n");
+
+ msg = rsl_msgb_alloc(sizeof(struct abis_rsl_dchan_hdr));
+ if (!msg)
+ return -ENOMEM;
+
+ /* 9.3.17 Access Delay */
+ if (ho_delay)
+ msgb_tv_put(msg, RSL_IE_ACCESS_DELAY, *ho_delay);
+
+ rsl_dch_push_hdr(msg, RSL_MT_HANDO_DET, chan_nr);
+ msg->trx = lchan->ts->trx;
+
+ return abis_bts_rsl_sendmsg(msg);
+}
+
/* 8.4.3 sending CHANnel ACTIVation Negative ACK */
int rsl_tx_chan_act_nack(struct gsm_lchan *lchan, uint8_t cause)
{