laforge submitted this change.
E1 BTS: direct MGW to 8k subslots for TCH/H
If the design of an E1 BTS allocates a 16 kbit/s subslot on Abis
for each GSM timeslot, then if that GSM ts is configured to operate
as two TCH/H lchans instead of a single TCH/F lchan, that BTS has
to use the 8 kbit/s TRAU frame format of GSM 08.61 and not the
16 kbit/s format for each TCH/H lchan. Nokia E1 BTS and their
associated BSC and TCSM (TRAU) equipment are known to use this
arrangement; the present author does not know of any GSM BSS vendor
who used the 16 kbit/s format of GSM 08.61 - it might be a paper-only
spec.
Prior to the present change OsmoBSC always selected a 16k subslot
endpoint at the MGW, thus precluding possibility of working TCH/H
on otherwise supported E1 BTS. Change it to select 8k subslot
endpoints when operating on TCH/H lchans.
It may seem that this change breaks support for those E1 BTS that
do use 16 kbit/s TRAU frame format for TCH/H, whatever they may be -
but in reality, said support was already broken. Prior to the
present change OsmoBSC would smoosh both TCH/H lchans of a given
GSM ts onto the same MGW endpoint - which cannot work because they
are two different lchans carrying unrelated traffic.
Change-Id: If6141a55434ce08f8fdd1c69b6fc9a97d6c726a7
---
M src/osmo-bsc/bsc_subscr_conn_fsm.c
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c
index f1f48bc..a2a1eb7 100644
--- a/src/osmo-bsc/bsc_subscr_conn_fsm.c
+++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c
@@ -746,15 +746,20 @@
/* use dynamic RTPBRIDGE endpoint allocation in MGW */
epname = mgcp_client_rtpbridge_wildcard(mgcp_client);
else {
- uint8_t i460_bit_offs;
+ uint8_t i460_bit_offs, i460_rate = 16;
if (for_lchan->ts->e1_link.e1_ts_ss == E1_SUBSLOT_FULL)
i460_bit_offs = 0;
else
i460_bit_offs = for_lchan->ts->e1_link.e1_ts_ss * 2;
+ if (for_lchan->type == GSM_LCHAN_TCH_H) {
+ i460_rate = 8;
+ i460_bit_offs += for_lchan->nr;
+ }
+
epname = mgcp_client_e1_epname(conn, mgcp_client, for_lchan->ts->e1_link.e1_nr,
- for_lchan->ts->e1_link.e1_ts, 16,
- i460_bit_offs);
+ for_lchan->ts->e1_link.e1_ts,
+ i460_rate, i460_bit_offs);
}
conn->user_plane.mgw_endpoint =
To view, visit change 39752. To unsubscribe, or for help writing mail filters, visit settings.