Feature #4748
Indicate TRX number in RSL messages of multi-TRX BTS
0%
Description
In BTSs with multiple TRX (and we are working with 8TRX now!) it can be relatively difficult to analyze Abis protocol traces. There are many RSL-over-IPA connections in parallel, and there is nothing in the IPA or RSL message indicating which TRX the message relates to.
In E1 based BTSs this is easier, as there is one LAPD datalink for each TRX, and typically the TEI of that data link (present in every LAPD header) corresponds to the TRX.
How do we solve this in Abis/IP?
We could in theory extend the IPA protocol by either- using a new IPA_OSMO_EXT sub-multiplex which then adds a 1-byte header that we can use to indicate the TRX number
- use 0..7 in the 'protocol' field of the IPA header as RSL, not just '0x00'
- use a fixed source port number on the BTS side, like, 4000+trx_number
- The TCP port number based method is a hack but remains 100% compatible to Abis/IP as we know it
- Using a new Osmocom sub-multiplex completely deviates from Abis/IP as we know it (and enlarges all messages)
- Using stream identifiers 1..n instead of the fixed 0x00 seems like the best compromise to me:
- OsmoBSC can support both the old RSL dialect and the new one in parallel. We simply treat 0..7 the same as 0.
- OsmoBTS could have a vty config option (enabled by default) if somebody needs backwards compatibility with the old version. Most existing OsmoBTS users have single-TRX setups so they wouldn't even see any difference.
What do you guys think?
History
#1 Updated by fixeria 4 months ago
Hi Harald,
there is nothing in the IPA or RSL message indicating which TRX the message relates to.
actually, the RSL TEI is reflected in the IPA header ("Protocol" field). You just need to make sure that all transceivers in osmo-bsc.cfg have unique 'rsl e1 tei NUM' values assigned. Note that we do not require all transceivers to use unique values, so they all can use 0x00 by default, because all per-TRX RSL connections are separate TCP/IP connections.
See https://git.osmocom.org/docker-playground/tree/ttcn3-bts-test/osmo-bsc.cfg, and e.g. https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/1014/artifact/logs/bts-tester-generic/BTS_Tests_SMSCB.TC_cbc_sdcch8_load_idle.pcap.gz (filter 'gsm_ipa.protocol > 0').
#3 Updated by laforge 4 months ago
On Fri, Sep 04, 2020 at 09:00:38PM +0000, fixeria [REDMINE] wrote:
actually, the RSL TEI is reflected in the IPA header ("Protocol" field). You just need to make sure that all transceivers in osmo-bsc.cfg have unique 'rsl e1 tei NUM' values assigned. Note that we do not require all transceivers to use unique values, so they all can use 0x00 by default, because all per-TRX RSL connections are separate TCP/IP connections.
Oh, great. I must have forgotten about that. We should change all our multi-trx example configs
accordingly.