aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorHarald Welte <laforge@netfilter.org>2009-12-19 16:42:06 +0100
committerHarald Welte <laforge@netfilter.org>2009-12-19 18:35:56 +0100
commit5e3d91bff71a9c456069bbf4a459b66a32f9656e (patch)
tree5eec83d2ef737b6a8c7e2977a4701e4108f16a53 /openbsc/include
parentf314f6899b89cacae521daf12db85531a5e20dc5 (diff)
ip.access: Keep a full copy of local and remote IP/PORT in lchan
Keeping all parameters for each RTP connection in the abis_ip member of lchan will help us with actual TCH handover later on.
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/abis_rsl.h3
-rw-r--r--openbsc/include/openbsc/gsm_data.h5
-rw-r--r--openbsc/include/openbsc/signal.h1
-rw-r--r--openbsc/include/openbsc/tlv.h1
4 files changed, 7 insertions, 3 deletions
diff --git a/openbsc/include/openbsc/abis_rsl.h b/openbsc/include/openbsc/abis_rsl.h
index 6d0ab6182..f0a5619ad 100644
--- a/openbsc/include/openbsc/abis_rsl.h
+++ b/openbsc/include/openbsc/abis_rsl.h
@@ -537,8 +537,7 @@ int rsl_siemens_mrpci(struct gsm_lchan *lchan, struct rsl_mrpci *mrpci);
/* ip.access specfic RSL extensions */
int rsl_ipacc_crcx(struct gsm_lchan *lchan);
int rsl_ipacc_mdcx(struct gsm_lchan *lchan, u_int32_t ip,
- u_int16_t port, u_int16_t conn_id,
- u_int8_t rtp_payload2);
+ u_int16_t port, u_int8_t rtp_payload2);
int rsl_ipacc_pdch_activate(struct gsm_lchan *lchan);
int abis_rsl_rcvmsg(struct msgb *msg);
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index f9b0b6340..67465e460 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -200,9 +200,12 @@ struct gsm_lchan {
struct {
u_int32_t bound_ip;
+ u_int32_t connect_ip;
u_int16_t bound_port;
- u_int8_t rtp_payload2;
+ u_int16_t connect_port;
u_int16_t conn_id;
+ u_int8_t rtp_payload2;
+ u_int8_t speech_mode;
struct rtp_socket *rtp_socket;
} abis_ip;
};
diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h
index 10fcddda3..8c815f89e 100644
--- a/openbsc/include/openbsc/signal.h
+++ b/openbsc/include/openbsc/signal.h
@@ -59,6 +59,7 @@ enum signal_sms {
/* SS_ABISIP signals */
enum signal_abisip {
S_ABISIP_CRCX_ACK,
+ S_ABISIP_MDCX_ACK,
S_ABISIP_DLCX_IND,
};
diff --git a/openbsc/include/openbsc/tlv.h b/openbsc/include/openbsc/tlv.h
index 0cf4388d8..e970ce468 100644
--- a/openbsc/include/openbsc/tlv.h
+++ b/openbsc/include/openbsc/tlv.h
@@ -119,6 +119,7 @@ static inline u_int8_t *tv_put(u_int8_t *buf, u_int8_t tag,
return buf;
}
+/* 'val' is still in host byte order! */
static inline u_int8_t *tv16_put(u_int8_t *buf, u_int8_t tag,
u_int16_t val)
{