aboutsummaryrefslogtreecommitdiffstats
path: root/include/openbsc/abis_rsl.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-02-16 21:12:08 +0000
committerHarald Welte <laforge@gnumonks.org>2009-02-16 21:12:08 +0000
commit75099266149b78193854e84f73910074680191fa (patch)
tree7836b602f1edeb9a248072ba7d9ffa0874bf5e93 /include/openbsc/abis_rsl.h
parente021254b649e47370933d3344e6ef8439d1b8316 (diff)
* introduce TLV parser definitions for RSL IE's
* introduce functions for ip.access specific RSL commands
Diffstat (limited to 'include/openbsc/abis_rsl.h')
-rw-r--r--include/openbsc/abis_rsl.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/openbsc/abis_rsl.h b/include/openbsc/abis_rsl.h
index b3318d32f..160e2807d 100644
--- a/include/openbsc/abis_rsl.h
+++ b/include/openbsc/abis_rsl.h
@@ -54,6 +54,7 @@ struct abis_rsl_dchan_hdr {
#define ABIS_RSL_MDISC_COM_CHAN 0x0c
#define ABIS_RSL_MDISC_TRX 0x10
#define ABIS_RSL_MDISC_LOC 0x20
+#define ABIS_RSL_MDISC_IPACCESS 0x7e
#define ABIS_RSL_MDISC_IS_TRANSP(x) (x & 0x01)
@@ -121,6 +122,16 @@ enum abis_rsl_msgtype {
RSL_MT_MR_CODEC_MOD_PER,
RSL_MT_TFO_REP,
RSL_MT_TFO_MOD_REQ, /* 0x3f */
+
+ /* ip.access specific RSL message types */
+ RSL_MT_IPAC_BIND = 0x70, /* Bind to local BTS RTP port */
+ RSL_MT_IPAC_BIND_ACK,
+ RSL_MT_IPAC_BIND_NACK,
+ RSL_MT_IPAC_CONNECT = 0x73,
+ RSL_MT_IPAC_CONNECT_ACK,
+ RSL_MT_IPAC_CONNECT_NACK,
+ RSL_MT_IPAC_DISCONNECT_IND = 0x76,
+
};
/* Chapter 9.3 */
@@ -185,6 +196,11 @@ enum abis_rsl_ie {
RSL_IE_RTD,
RSL_IE_TFO_STATUS,
RSL_IE_LLP_APDU,
+
+ RSL_IE_IPAC_REMOTE_IP = 0xf0,
+ RSL_IE_IPAC_REMOTE_PORT = 0xf1,
+ RSL_IE_IPAC_LOCAL_PORT = 0xf3,
+ RSL_IE_IPAC_LOCAL_IP = 0xf5,
};
/* Chapter 9.3.1 */
@@ -371,6 +387,11 @@ int rsl_imm_assign_cmd(struct gsm_bts *bts, u_int8_t len, u_int8_t *val);
int rsl_data_request(struct msgb *msg, u_int8_t link_id);
+/* ip.access specfic RSL extensions */
+int rsl_ipacc_bind(struct gsm_lchan *lchan);
+int rsl_ipacc_connect(struct gsm_lchan *lchan, u_int32_t ip,
+ u_int16_t port, u_int16_t f8, u_int8_t fc);
+
int abis_rsl_rcvmsg(struct msgb *msg);
unsigned int get_paging_group(u_int64_t imsi, unsigned int bs_cc_chans,