aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openbsc/include/openbsc/abis_rsl.h3
-rw-r--r--openbsc/include/openbsc/gsm_data.h4
-rw-r--r--openbsc/src/abis_rsl.c15
-rw-r--r--openbsc/src/gsm_04_08.c12
-rw-r--r--openbsc/src/vty_interface.c4
5 files changed, 22 insertions, 16 deletions
diff --git a/openbsc/include/openbsc/abis_rsl.h b/openbsc/include/openbsc/abis_rsl.h
index 22a6a00b1..e0c835abd 100644
--- a/openbsc/include/openbsc/abis_rsl.h
+++ b/openbsc/include/openbsc/abis_rsl.h
@@ -406,7 +406,8 @@ 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);
+ u_int16_t port, u_int16_t conn_id,
+ u_int8_t rtp_payload2);
int abis_rsl_rcvmsg(struct msgb *msg);
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index af2e22c5a..de3f1f578 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -205,8 +205,8 @@ struct gsm_bts_trx_ts {
struct {
u_int32_t bound_ip;
u_int16_t bound_port;
- u_int8_t attr_fc;
- u_int16_t attr_f8;
+ u_int8_t rtp_payload2;
+ u_int16_t conn_id;
} abis_ip;
struct gsm_lchan lchan[TS_MAX_LCHAN];
diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/abis_rsl.c
index 6f14c60bf..63e99b144 100644
--- a/openbsc/src/abis_rsl.c
+++ b/openbsc/src/abis_rsl.c
@@ -1183,7 +1183,8 @@ int rsl_ipacc_bind(struct gsm_lchan *lchan)
return abis_rsl_sendmsg(msg);
}
-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 rsl_ipacc_connect(struct gsm_lchan *lchan, u_int32_t ip, u_int16_t port,
+ u_int16_t conn_id, u_int8_t rtp_payload2)
{
struct msgb *msg = rsl_msgb_alloc();
struct abis_rsl_dchan_hdr *dh;
@@ -1194,10 +1195,10 @@ int rsl_ipacc_connect(struct gsm_lchan *lchan, u_int32_t ip, u_int16_t port, u_i
dh->c.msg_discr = ABIS_RSL_MDISC_IPACCESS;
dh->chan_nr = lchan2chan_nr(lchan);
- att_f8 = msgb_put(msg, sizeof(f8)+1);
+ att_f8 = msgb_put(msg, sizeof(conn_id)+1);
att_f8[0] = RSL_IE_IPAC_CONN_ID;
- att_f8[1] = f8 >> 8;
- att_f8[2] = f8 & 0xff;
+ att_f8[1] = conn_id >> 8;
+ att_f8[2] = conn_id & 0xff;
att_ip = msgb_put(msg, sizeof(ip)+1);
att_ip[0] = RSL_IE_IPAC_REMOTE_IP;
@@ -1213,7 +1214,7 @@ int rsl_ipacc_connect(struct gsm_lchan *lchan, u_int32_t ip, u_int16_t port, u_i
att_port[2] = port & 0xff;
msgb_tv_put(msg, RSL_IE_IPAC_SPEECH_MODE, 1); /* F4 01 */
- msgb_tv_put(msg, RSL_IE_IPAC_RTP_PAYLOAD2, fc); /* FC 7F */
+ msgb_tv_put(msg, RSL_IE_IPAC_RTP_PAYLOAD2, rtp_payload2); /* FC 7F */
msg->trx = lchan->ts->trx;
return abis_rsl_sendmsg(msg);
@@ -1250,8 +1251,8 @@ static int abis_rsl_rx_ipacc_bindack(struct msgb *msg)
/* update our local information about this TS */
ts->abis_ip.bound_ip = ntohl(ip.s_addr);
ts->abis_ip.bound_port = ntohs(port);
- ts->abis_ip.attr_f8 = ntohs(attr_f8);
- ts->abis_ip.attr_fc = *TLVP_VAL(&tv, RSL_IE_IPAC_RTP_PAYLOAD2);
+ ts->abis_ip.conn_id = ntohs(attr_f8);
+ ts->abis_ip.rtp_payload2 = *TLVP_VAL(&tv, RSL_IE_IPAC_RTP_PAYLOAD2);
dispatch_signal(SS_ABISIP, S_ABISIP_BIND_ACK, msg->lchan);
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c
index 3e2d171ea..9e0427e05 100644
--- a/openbsc/src/gsm_04_08.c
+++ b/openbsc/src/gsm_04_08.c
@@ -2001,12 +2001,16 @@ static int tch_map(struct gsm_lchan *lchan, struct gsm_lchan *remote_lchan)
case GSM_BTS_TYPE_NANOBTS_900:
case GSM_BTS_TYPE_NANOBTS_1800:
ts = remote_lchan->ts;
- rsl_ipacc_connect(lchan, ts->abis_ip.bound_ip, ts->abis_ip.bound_port,
- lchan->ts->abis_ip.attr_f8, ts->abis_ip.attr_fc);
+ rsl_ipacc_connect(lchan, ts->abis_ip.bound_ip,
+ ts->abis_ip.bound_port,
+ lchan->ts->abis_ip.conn_id,
+ ts->abis_ip.rtp_payload2);
ts = lchan->ts;
- rsl_ipacc_connect(remote_lchan, ts->abis_ip.bound_ip, ts->abis_ip.bound_port,
- remote_lchan->ts->abis_ip.attr_f8, ts->abis_ip.attr_fc);
+ rsl_ipacc_connect(remote_lchan, ts->abis_ip.bound_ip,
+ ts->abis_ip.bound_port,
+ remote_lchan->ts->abis_ip.conn_id,
+ ts->abis_ip.rtp_payload2);
break;
case GSM_BTS_TYPE_BS11:
trau_mux_map_lchan(lchan, remote_lchan);
diff --git a/openbsc/src/vty_interface.c b/openbsc/src/vty_interface.c
index 12d5ae94a..462689098 100644
--- a/openbsc/src/vty_interface.c
+++ b/openbsc/src/vty_interface.c
@@ -235,9 +235,9 @@ static void ts_dump_vty(struct vty *vty, struct gsm_bts_trx_ts *ts)
net_dump_nmstate(vty, &ts->nm_state);
if (is_ipaccess_bts(ts->trx->bts)) {
ia.s_addr = ts->abis_ip.bound_ip;
- vty_out(vty, " Bound IP: %s Port %u FC=%u F8=%u%s",
+ vty_out(vty, " Bound IP: %s Port %u RTP_TYPE2=%u CONN_ID=%u%s",
inet_ntoa(ia), ts->abis_ip.bound_port,
- ts->abis_ip.attr_fc, ts->abis_ip.attr_f8,
+ ts->abis_ip.rtp_payload2, ts->abis_ip.conn_id,
VTY_NEWLINE);
} else {
vty_out(vty, " E1 Line %u, Timeslot %u, Subslot %u%s",