diff options
author | Oliver Smith <osmith@sysmocom.de> | 2018-11-28 10:42:39 +0100 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2018-11-28 11:23:48 +0100 |
commit | 31971e2f407a44f2d318a3a21a97a391d3da1b36 (patch) | |
tree | fb329e15c19bbce42b0e6d3edd8eac056646e7c4 /OsmoBTS/abis | |
parent | d707ffd51ec8133e9a8b2809953e0fe73474aa07 (diff) |
remove OsmoBTS files (now avail in osmo-bts.git)
Files were added in osmo-bts.git Change-Id
I728ebb56ade6dda079a0744c4e592284e1bea4f6
Depends: osmo-bts.git Change-Id I728ebb56ade6dda079a0744c4e592284e1bea4f6
Related: OS#3385
Change-Id: I34426309cb009229069e1472fac86efab38a2f6e
Diffstat (limited to 'OsmoBTS/abis')
-rw-r--r-- | OsmoBTS/abis/abis-startup.msc | 23 | ||||
-rw-r--r-- | OsmoBTS/abis/dyn_ts_ipa_style1.msc | 23 | ||||
-rw-r--r-- | OsmoBTS/abis/dyn_ts_ipa_style2.msc | 22 | ||||
-rw-r--r-- | OsmoBTS/abis/dyn_ts_osmocom_style1.msc | 34 | ||||
-rw-r--r-- | OsmoBTS/abis/dyn_ts_osmocom_style2.msc | 31 | ||||
-rw-r--r-- | OsmoBTS/abis/ipa.adoc | 106 | ||||
-rw-r--r-- | OsmoBTS/abis/oml-mo-bts.msc | 26 | ||||
-rw-r--r-- | OsmoBTS/abis/oml-mo-carrier.msc | 24 | ||||
-rw-r--r-- | OsmoBTS/abis/oml-mo-channel.msc | 20 | ||||
-rw-r--r-- | OsmoBTS/abis/oml-mo-sitemgr.msc | 17 | ||||
-rw-r--r-- | OsmoBTS/abis/oml-mo-transceiver.msc | 23 | ||||
-rw-r--r-- | OsmoBTS/abis/oml-startup.msc | 34 | ||||
-rw-r--r-- | OsmoBTS/abis/oml-startup2.msc | 50 | ||||
-rw-r--r-- | OsmoBTS/abis/oml-startup3.msc | 51 | ||||
-rw-r--r-- | OsmoBTS/abis/oml.adoc | 950 | ||||
-rw-r--r-- | OsmoBTS/abis/rsl-startup-pri.msc | 22 | ||||
-rw-r--r-- | OsmoBTS/abis/rsl-startup-sec.msc | 16 | ||||
-rw-r--r-- | OsmoBTS/abis/rsl-tch-rtp.msc | 56 | ||||
-rw-r--r-- | OsmoBTS/abis/rsl.adoc | 944 | ||||
-rw-r--r-- | OsmoBTS/abis/rtp.adoc | 33 |
20 files changed, 0 insertions, 2505 deletions
diff --git a/OsmoBTS/abis/abis-startup.msc b/OsmoBTS/abis/abis-startup.msc deleted file mode 100644 index d30fe41..0000000 --- a/OsmoBTS/abis/abis-startup.msc +++ /dev/null @@ -1,23 +0,0 @@ -msc { - bts [label="BTS"], bsc [label="BSC"]; - - bts => bsc [label="TCP Connect (Port 3002, OML)"]; - bts box bsc [label="IPA CCM Identification (Port 3002)"]; - bts <= bsc [label="OML Configuration of BTS via OML"]; - ...; - bts <= bsc [label="OML (TRX=0) IPA RSL CONNECT"]; - bts => bsc [label="TCP Connect (Port 3003, RSL, TRX 0)"]; - bts box bsc [label="IPA CCM Identification Port 3003"]; - bts <= bsc [label="RSL BCCH filling (System Information)"]; - bts <= bsc [label="RSL SACCH filling (SI 5/6)"]; - ...; - bts <= bsc [label="OML (TRX=1) IPA RSL CONNECT"]; - bts => bsc [label="TCP Connect (Port 3003, RSL, TRX 1)"]; - bts box bsc [label="IPA CCM Identification (Port 3003)"]; - bts <= bsc [label="RSL SACCH filling (SI 5/6)"]; - ...; - bts <= bsc [label="OML (TRX=N) IPA RSL CONNECT"]; - bts => bsc [label="TCP Connect (Port 3003, RSL, TRX N)"]; - bts box bsc [label="IPA CCM Identification (Port 3003)"]; - bts <= bsc [label="RSL SACCH filling (SI 5/6)"]; -} diff --git a/OsmoBTS/abis/dyn_ts_ipa_style1.msc b/OsmoBTS/abis/dyn_ts_ipa_style1.msc deleted file mode 100644 index ee91795..0000000 --- a/OsmoBTS/abis/dyn_ts_ipa_style1.msc +++ /dev/null @@ -1,23 +0,0 @@ -msc { - hscale = "1.2"; - phy,bts,pcu,bsc; - - phy box bsc [ label = "PDCH Deactivation" ]; - bsc => bts [ label = "IPAC PDCH DEACT" ]; - --- [ label = "Disconnect PDTCH" ]; - bts => pcu [ label = "info ind (Deactivate)" ]; - pcu => bts [ label = "chan Deactivate request" ]; - bts => phy [ label = "L1 chan Deactivate PDTCH SAPIs" ]; - phy -> bts [ label = "L1 chan Deactivate SAPIs confirm" ]; - bts => phy [ label = "L1 chan Disconnect PDTCH" ]; - phy -> bts [ label = "L1 chan Disconnect confirm" ]; - --- [ label = "Connect TCH" ]; - bts => phy [ label = "L1 chan Connect TCH" ]; - phy -> bts [ label = "L1 chan Connect confirm" ]; - bts => bsc [ label = "IPAC PDCH DEACT ACK" ]; - - phy box bsc [ label = "Now BSC may use TCH (example)" ]; - bsc => bts [ label = "Activate TCH/F" ]; - bts => phy [ label = "L1 chan Activate SAPIs" ]; - --- [ label = "Voice call..." ]; -} diff --git a/OsmoBTS/abis/dyn_ts_ipa_style2.msc b/OsmoBTS/abis/dyn_ts_ipa_style2.msc deleted file mode 100644 index c287789..0000000 --- a/OsmoBTS/abis/dyn_ts_ipa_style2.msc +++ /dev/null @@ -1,22 +0,0 @@ -msc { - hscale = "1.2"; - phy,bts,pcu,bsc; - - --- [ label = "...Voice call ends" ]; - bsc => bts [ label = "Deactivate TCH/F" ]; - bts => phy [ label = "L1 chan Deactivate SAPIs" ]; - - phy box bsc [ label = "PDCH Activation" ]; - bsc => bts [ label = "IPAC PDCH ACT" ]; - --- [ label = "Disconnect TCH" ]; - bts => phy [ label = "L1 chan Disconnect TCH" ]; - phy -> bts [ label = "L1 chan Disconnect confirm" ]; - --- [ label = "Connect PDTCH" ]; - bts => phy [ label = "L1 chan Connect PDTCH" ]; - phy -> bts [ label = "L1 chan Connect confirm" ]; - bts => pcu [ label = "info ind (Activate)" ]; - pcu => bts [ label = "chan Activate request" ]; - bts => phy [ label = "L1 chan Activate PDTCH SAPIs" ]; - phy -> bts [ label = "L1 chan Activate SAPIs confirm" ]; - bts => bsc [ label = "IPAC PDCH ACT ACK" ]; -} diff --git a/OsmoBTS/abis/dyn_ts_osmocom_style1.msc b/OsmoBTS/abis/dyn_ts_osmocom_style1.msc deleted file mode 100644 index f02f6f6..0000000 --- a/OsmoBTS/abis/dyn_ts_osmocom_style1.msc +++ /dev/null @@ -1,34 +0,0 @@ -msc { - hscale = "1.5"; - phy,bts,pcu,bsc; - - bts => bsc [ label = "RSL Chan Requested" ]; - phy box bsc [ label = "TS is in PDCH mode, deactivate" ]; - bsc => bts [ label = "RSL RF Channel Release (PDCH)" ]; - bts => pcu [ label = "Info Ind (Deactivate)" ]; - pcu => bts [ label = "Chan Deactivate request" ]; - bts => phy [ label = "L1 chan Deactivate PDTCH SAPIs" ]; - phy -> bts [ label = "L1 chan Deactivate SAPIs confirm" ]; - bts -> bsc [ label = "RSL RF Channel Release Ack (PDCH)" ]; - - phy box bsc [ label = "Activate TCH/H" ]; - bsc => bts [ label = "RSL Channel Activation (TCH/H)" ]; - --- [ label = "BTS notices: chan still connected as PDTCH, reconnect" ]; - bts => phy [ label = "L1 chan Disconnect PDTCH" ]; - phy -> bts [ label = "L1 chan Disconnect confirm" ]; - bts => phy [ label = "L1 chan Connect TCH/H" ]; - phy -> bts [ label = "L1 chan Connect confirm" ]; - --- [ label = "chan reconnect as TCH/H complete" ]; - bts => phy [ label = "L1 chan Activate SAPIs" ]; - bts -> bsc [ label = "RSL Channel Activation Ack (TCH/H)" ]; - --- [ label = "Voice call 1 commences..." ]; - - phy box bsc [ label = "A second voice call is requested" ]; - bts => bsc [ label = "RSL Chan Requested" ]; - phy box bsc [ label = "BSC finds second slot on dynamic TS in TCH/H mode" ]; - bsc => bts [ label = "RSL Channel Activation (TCH/H)" ]; - bts => phy [ label = "L1 chan Activate SAPIs" ]; - bts -> bsc [ label = "RSL Channel Activation Ack (TCH/H)" ]; - --- [ label = "Voice call 2 commences..." ]; - -} diff --git a/OsmoBTS/abis/dyn_ts_osmocom_style2.msc b/OsmoBTS/abis/dyn_ts_osmocom_style2.msc deleted file mode 100644 index 9ea65b6..0000000 --- a/OsmoBTS/abis/dyn_ts_osmocom_style2.msc +++ /dev/null @@ -1,31 +0,0 @@ -msc { - hscale = "1.5"; - phy,bts,pcu,bsc; - - --- [ label = "...Voice call 1 ends" ]; - bts => bsc [ label = "Release Ind" ]; - bsc => bts [ label = "RSL RF Channel Release (TCH/H)" ]; - bts => phy [ label = "L1 chan Deactivate SAPIs" ]; - bts -> bsc [ label = "RSL RF Channel Release Ack (TCH/H)" ]; - --- [ label = "BSC notices: one chan still in use"]; - - --- [ label = "...Voice call 2 ends" ]; - bts => bsc [ label = "Release Ind" ]; - bsc => bts [ label = "RSL RF Channel Release (TCH/H)" ]; - bts => phy [ label = "L1 chan Deactivate SAPIs" ]; - bts -> bsc [ label = "RSL RF Channel Release Ack (TCH/H)" ]; - - phy box bsc [ label = "If all channels on TS are released, PDCH Activation" ]; - bsc => bts [ label = "RSL Channel Activation (PDCH)" ]; - bts -> bsc [ label = "RSL Channel Activation Ack (PDCH) (unconditionally)" ]; - --- [ label = "BTS notices: chan still connected as TCH/H, reconnect" ]; - bts => phy [ label = "L1 chan Disconnect TCH/H" ]; - phy -> bts [ label = "L1 chan Disconnect confirm" ]; - bts => phy [ label = "L1 chan Connect PDTCH" ]; - phy -> bts [ label = "L1 chan Connect confirm" ]; - --- [ label = "chan reconnect as PDTCH complete" ]; - bts => pcu [ label = "Info Ind (Activate)" ]; - pcu => bts [ label = "chan Activate request" ]; - bts => phy [ label = "L1 chan Activate PDTCH SAPIs" ]; - phy -> bts [ label = "L1 chan Activate SAPIs confirm" ]; -} diff --git a/OsmoBTS/abis/ipa.adoc b/OsmoBTS/abis/ipa.adoc deleted file mode 100644 index 9768cdd..0000000 --- a/OsmoBTS/abis/ipa.adoc +++ /dev/null @@ -1,106 +0,0 @@ -== IPA Multiplex - -The ETSI/3GPP specifications for A-bis transport (ETSI/3GPP TS 08.56) -specify the transmission of RSL and OML messages over a LAPD based -framing on top of 64kBit/s signalling times slots (B-channels) on E1 -lines. - -OsmoBTS does not implement this LAPD based transport, but instead -implements A-bis over IP in a flavor first observed by ip.access nanoBTS -products. The OsmoBTS implementation is a clean-room re-implementation -based on the observation and dissection of protocol traces. - -LAPD as used in E1 signalling channels provides in-order transmission -and reliable delivery. This is why TCP was chosen as Layer 4 transport -protocol on top of IP. TCP however, is a stream based transport -protocol, which doesn't preserve the boundaries of messages. - -To work around this shortcoming, an additional framing layer called the -IPA multiplex was introduced between TCP and the RSL and OML messages. - -.Protocol Stacking -[width="30%"] -|=== -|RSL + OML (this document) -|IPA (this document) -|TCP (IETF RFC 793) -|IP (IETF RFC 791) -|Ethernet (IEEE 802.3) -|=== - -=== IPA Header - -Each higher-layer PDU is encapsulated by a three-byte IPA header with -the following structure: - -.IPA Header Structure -[options="header",cols="10%,15%,15%,60%"] -|=== -|Offset (Octets)|Length|Name|Description -|0|2|Length|Length of the variable-length payload section in network -byte order (excluding the length of the IPA Header) -|2|1|Stream Identifier|Identifies the stream of the payload -|3|Variable|Payload|higher-layer PDU (i.e. RSL or OML message) -|=== - -=== IPA Stream Identifiers - -The IPA Stream Identifier serves to differentiate different streams -within the multiplex. In the context of A-bis, it can be seen as -analogous to the LAPD TEI on classic A-bis over E1. - -The following IPA stream identifiers are being used in A-bis/IP: - -.IPA Stream Identifiers -[options="header",width="70%",cols="20%,20%,60%"] -|=== -|Value (Hex)|Name|Description -|0x00|RSL|A-bis RSL according to this document, TRX 0 -|0x01|RSL|A-bis RSL according to this document, TRX 1 -|0x0n|RSL|A-bis RSL according to this document, TRX n -|0xfe|CCM|IPA Connection Management -|0xff|OML|A-bis OML according to this document -|=== - - -=== IPA Connection Management (CCM) - -The IPA Connection Management is a sub-layer underneath the IPA -multiplex which is used to manage the connection itself. It supports -functions like Identity Management and Keep-Alive. - -==== Identity Management - -When a BTS connects to the BSC, the BSC must identify the connected BTS -somehow. In ETSI/3GPP A-bis, the E1 multiplex + signalling timeslot -number is used for this. In IP, there is no similar usable identity. -Hence, the Unit ID is used for this purpose. - -.Procedure for IPA peer identification is as follows -[options="header",cols="20%,80%"] -|=== -|Direction|Operation -|BTS -> BSC|BTS connects the TCP connection to be used with IPA -|BTS <- BSC|BSC requests BTS identity with ID_GET -|BTS -> BSC|BTS responds BTS Unit ID with ID_RESP -|BTS <- BSC|BSC responds with ID_ACK, if the Unit ID is known to the BSC -|=== - -Following the above peer identification procedure, transfer of -higher-level messages such as OML or RSL commences. - -==== IPA CCM Messages - -IPA CCM supports the following messages - -.IPA CCM Messages -[options="header"] -[cols="10%,15%,75%"] -|=== -|Value|Name|Purpose -|0x00|PING|Request a PONG from the peer -|0x01|PONG|Response to a PING -|0x04|ID_GET|Request Identity from peer -|0x05|ID_RESP|Response to ID_GET -|0x06|ID_ACK|Identity Acknowledged -|=== diff --git a/OsmoBTS/abis/oml-mo-bts.msc b/OsmoBTS/abis/oml-mo-bts.msc deleted file mode 100644 index 75c283f..0000000 --- a/OsmoBTS/abis/oml-mo-bts.msc +++ /dev/null @@ -1,26 +0,0 @@ -msc { - bts [label="BTS"], bsc [label="BSC"]; - # this is for the BTS Object - --- [label="Initial state after establishing OML"]; - bts => bsc [label="STATE CHG REP (Disabled/Notinstalled/Locked)"]; - --- [label="MO requests software activation"]; - bts => bsc [label="SW Activate Req"]; - bts <= bsc [label="SW Activate Req Ack"]; - --- [label="BTS instructs BTS to activate software"]; - bts <= bsc [label="Activate SW"]; - bts => bsc [label="Activate SW Ack"]; - --- [label="MO reports new state after SW activation"]; - bts => bsc [label="STATE CHG REP (Disabled/Dependency)"]; - bts => bsc [label="SW Activated Report"]; - --- [label="Configure the MO with its attributes"]; - bts <= bsc [label="Set BTS Attributes"]; - bts => bsc [label="Set BTS Attributes Ack"]; - bts <= bsc [label="OPSTART"]; - bts => bsc [label="OPSTART ACK"]; - --- [label="As this object is locked, we need to unlock it"]; - bts <= bsc [label="Change Adm State (Unlocked)"]; - bts => bsc [label="Change Adm State Ack (Unlocked)"]; - bts => bsc [label="STATE CHG REP (Disabled/Dependency/Unlocked)"]; - --- [label="Initialize Radio Transceiver, Radio Carrier, Channels"]; - bts => bsc [label="STATE CHG REP (Enabled/OK)"]; -} diff --git a/OsmoBTS/abis/oml-mo-carrier.msc b/OsmoBTS/abis/oml-mo-carrier.msc deleted file mode 100644 index fc5070f..0000000 --- a/OsmoBTS/abis/oml-mo-carrier.msc +++ /dev/null @@ -1,24 +0,0 @@ -msc { - bts [label="Radio Carrier"], bsc [label="BSC"]; - --- [label="Initial state after establishing OML"]; - bts => bsc [label="STATE CHG REP (Disabled/Notinstalled/Locked)"]; - --- [label="MO requests software activation"]; - bts => bsc [label="SW Activate Req"]; - bts <= bsc [label="SW Activate Req Ack"]; - --- [label="BTS instructs BTS to activate software"]; - bts <= bsc [label="Activate SW"]; - bts => bsc [label="Activate SW Ack"]; - --- [label="MO reports new state after SW activation"]; - bts => bsc [label="STATE CHG REP (Disabled/Offline)"]; - bts => bsc [label="SW Activated Report"]; - --- [label="Configure the MO with its attributes"]; - bts <= bsc [label="Set Radio Carrier Attributes"]; - bts => bsc [label="Set Radio Carrier Attributes Ack"]; - bts <= bsc [label="OPSTART"]; - bts => bsc [label="OPSTART ACK"]; - --- [label="As this object is locked, we need to unlock it"]; - bts <= bsc [label="Change Adm State (Unlocked)"]; - bts => bsc [label="Change Adm State Ack (Unlocked)"]; - bts => bsc [label="STATE CHG REP (Disabled/OK/Unlocked)"]; - bts => bsc [label="STATE CHG REP (Enabled)"]; -} diff --git a/OsmoBTS/abis/oml-mo-channel.msc b/OsmoBTS/abis/oml-mo-channel.msc deleted file mode 100644 index 624ae72..0000000 --- a/OsmoBTS/abis/oml-mo-channel.msc +++ /dev/null @@ -1,20 +0,0 @@ -msc { - bts [label="Channel"], bsc [label="BSC"]; - --- [label="Initial state after establishing OML"]; - bts => bsc [label="STATE CHG REP (Disabled/Notinstalled/Locked)"]; - --- [label="MO reports new state after SW activation of Baseband Transceiver"]; - bts => bsc [label="STATE CHG REP (Disabled/Dependency)"]; - bts => bsc [label="SW Activated Report"]; - --- [label="Configure the MO with its attributes"]; - bts <= bsc [label="Set Channel Attributes"]; - bts => bsc [label="Set Channel Attributes Ack"]; - bts <= bsc [label="OPSTART"]; - bts => bsc [label="OPSTART ACK"]; - --- [label="As this object is locked, we need to unlock it"]; - bts <= bsc [label="Change Adm State (Unlocked)"]; - bts => bsc [label="Change Adm State Ack (Unlocked)"]; - bts => bsc [label="STATE CHG REP (Disabled/Dependency/Unlocked)"]; - --- [label="Initialize Radio Carrier / Baseband Transceiver"]; - bts => bsc [label="STATE CHG REP (Disabled/Offline)"]; - bts => bsc [label="STATE CHG REP (Enabled/OK)"]; -} diff --git a/OsmoBTS/abis/oml-mo-sitemgr.msc b/OsmoBTS/abis/oml-mo-sitemgr.msc deleted file mode 100644 index 39e4d15..0000000 --- a/OsmoBTS/abis/oml-mo-sitemgr.msc +++ /dev/null @@ -1,17 +0,0 @@ -msc { - bts [label="Site Manager"], bsc [label="BSC"]; - # this is for the Site Manager Object - --- [label="Initial state after establishing OML"]; - bts => bsc [label="STATE CHG REP (Disabled/Notinstalled)"]; - --- [label="MO requests software activation"]; - bts => bsc [label="SW Activate Req"]; - bts <= bsc [label="SW Activate Req Ack"]; - --- [label="BTS instructs BTS to activate software"]; - bts <= bsc [label="Activate SW"]; - bts => bsc [label="Activate SW Ack"]; - --- [label="MO reports new state after SW activation"]; - bts => bsc [label="STATE CHG REP (Enabled)"]; - bts => bsc [label="SW Activated Report"]; - bts <= bsc [label="OPSTART"]; - bts => bsc [label="OPSTART ACK"]; -} diff --git a/OsmoBTS/abis/oml-mo-transceiver.msc b/OsmoBTS/abis/oml-mo-transceiver.msc deleted file mode 100644 index d40e7cc..0000000 --- a/OsmoBTS/abis/oml-mo-transceiver.msc +++ /dev/null @@ -1,23 +0,0 @@ -msc { - bts [label="Baseband Transceiver"], bsc [label="BSC"]; - --- [label="Initial state after establishing OML"]; - bts => bsc [label="STATE CHG REP (Disabled/Notinstalled/Locked)"]; - --- [label="MO requests software activation"]; - bts => bsc [label="SW Activate Req"]; - bts <= bsc [label="SW Activate Req Ack"]; - --- [label="BTS instructs BTS to activate software"]; - bts <= bsc [label="Activate SW"]; - bts => bsc [label="Activate SW Ack"]; - --- [label="MO reports new state after SW activation"]; - bts => bsc [label="STATE CHG REP (Disabled/Dependency)"]; - bts => bsc [label="SW Activated Report"]; - --- [label="BSC requests RSL establishment"]; - bts <= bsc [label="IPA RSL Connect"]; - bts => bsc [label="IPA RSL Connect ACK"]; - bts <= bsc [label="OPSTART"]; - bts => bsc [label="OPSTART ACK"]; - --- [label="As this object is locked, we need to unlock it"]; - bts <= bsc [label="Change Adm State (Unlocked)"]; - bts => bsc [label="Change Adm State Ack (Unlocked)"]; - bts => bsc [label="STATE CHG REP (Disabled/Dependency/Unlocked)"]; -} diff --git a/OsmoBTS/abis/oml-startup.msc b/OsmoBTS/abis/oml-startup.msc deleted file mode 100644 index de5d039..0000000 --- a/OsmoBTS/abis/oml-startup.msc +++ /dev/null @@ -1,34 +0,0 @@ -msc { - hscale = 2; - - chan [label="Channel"], rc [label="Radio Carrier"], smg [label="Site Manager"], bts [label="BTS"], bsc [label="BSC"]; - - bts => bsc [label="TCP Connect (Port 3003, OML)"]; - bts box bsc [label="IPA CCM Identification (Port 3003)"]; - |||; - smg => bsc [label="(Site Mgr) STATE CHG REP (Disabled/NotInstalled)"]; - bts => bsc [label="(BTS) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - rc => bsc [label="(TRANSC) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - chan => bsc [label="(Ch 0) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - chan => bsc [label="(Ch 1) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - chan => bsc [label="(Ch 2) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - chan => bsc [label="(Ch 3) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - chan => bsc [label="(Ch 4) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - chan => bsc [label="(Ch 5) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - chan => bsc [label="(Ch 6) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - chan => bsc [label="(Ch 7) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - rc => bsc [label="(RC) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - bts => bsc [label="(GPRS-NSE) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - bts => bsc [label="(GPRS-CELL) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - bts => bsc [label="(GPRS-NSVC0) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - bts => bsc [label="(GPRS-NSVC1) STATE CHG REP (Disabled/NotInstalled/Locked)"]; - |||; - smg => bsc [label="(Site Mgr) SW Activate Req"]; - smg <= bsc [label="(Site Mgr) SW Activate Req Ack"]; - smg <= bsc [label="(Site Mgr) Activate SW"]; - smg => bsc [label="(Site Mgr) Activate SW Ack"]; - smg => bsc [label="(Site Mgr) STATE CHG REP (Enabled)"]; - smg => bsc [label="(Site Mgr) SW Activated Report"]; - smg <= bsc [label="(Site Mgr) OPSTART"]; - smg => bsc [label="(Site Mgr) OPSTART ACK"]; -} diff --git a/OsmoBTS/abis/oml-startup2.msc b/OsmoBTS/abis/oml-startup2.msc deleted file mode 100644 index 8a97e12..0000000 --- a/OsmoBTS/abis/oml-startup2.msc +++ /dev/null @@ -1,50 +0,0 @@ -msc { - hscale = 2; - - chan [label="Channel"], rc [label="Radio Carrier"], bts [label="BTS"], bsc [label="BSC"]; - - bts box bsc [label="OML Connect + Site Manager Init"]; - ...; - bts => bsc [label="(BTS) SW Activate Req"]; - bts <= bsc [label="(BTS) SW Activate Req Ack"]; - bts <= bsc [label="(BTS) Activate SW"]; - bts => bsc [label="(BTS) Activate SW Ack"]; - bts => bsc [label="(BTS) STATE CHG REP (Disabled/Dependency)"]; - bts => bsc [label="(BTS) SW Activated Report"]; - |||; - rc => bsc [label="(TRANSC) SW Activate Req"]; - rc => bsc [label="(RC) SW Activated Req"]; - |||; - bts <= bsc [label="(BTS) Set BTS Attributes"]; - bts => bsc [label="(BTS) Set BTS Attributes Ack"]; - bts <= bsc [label="(BTS) OPSTART"]; - bts => bsc [label="(BTS) OPSTART Ack"]; - |||; - bts <= bsc [label="(BTS) Change Adm State (Unlocked)"]; - bts => bsc [label="(BTS) Change Adm State ACK (Unlocked)"]; - bts => bsc [label="(BTS) STATE CHG REP (Disabled/Dependency/Unlcoked)"]; - |||; - rc <= bsc [label="(TRANSC) SW Activate Req Ack"]; - rc <= bsc [label="(TRANSC) Activate SW"]; - rc => bsc [label="(TRANSC) Activate SW Ack"]; - rc => bsc [label="(TRANSC) STATE CHG REP (Disabled/Dependency)"]; - rc => bsc [label="(TRANSC) SW Activated Report"]; - - chan => bsc [label="(CHAN 0) STATE CHG REP (Disabled/Dependency)"]; - chan => bsc [label="(CHAN 1) STATE CHG REP (Disabled/Dependency)"]; - chan => bsc [label="(CHAN 2) STATE CHG REP (Disabled/Dependency)"]; - chan => bsc [label="(CHAN 3) STATE CHG REP (Disabled/Dependency)"]; - chan => bsc [label="(CHAN 4) STATE CHG REP (Disabled/Dependency)"]; - chan => bsc [label="(CHAN 5) STATE CHG REP (Disabled/Dependency)"]; - chan => bsc [label="(CHAN 6) STATE CHG REP (Disabled/Dependency)"]; - chan => bsc [label="(CHAN 7) STATE CHG REP (Disabled/Dependency)"]; - |||; - chan => bsc [label="(CHAN 0) SW Activated Report"]; - chan => bsc [label="(CHAN 1) SW Activated Report"]; - chan => bsc [label="(CHAN 2) SW Activated Report"]; - chan => bsc [label="(CHAN 3) SW Activated Report"]; - chan => bsc [label="(CHAN 4) SW Activated Report"]; - chan => bsc [label="(CHAN 5) SW Activated Report"]; - chan => bsc [label="(CHAN 6) SW Activated Report"]; - chan => bsc [label="(CHAN 7) SW Activated Report"]; -} diff --git a/OsmoBTS/abis/oml-startup3.msc b/OsmoBTS/abis/oml-startup3.msc deleted file mode 100644 index c1fffd2..0000000 --- a/OsmoBTS/abis/oml-startup3.msc +++ /dev/null @@ -1,51 +0,0 @@ -msc { - hscale = 2; - - chan [label="Channel"], rc [label="Radio Carrier"], bts [label="BTS"], bsc [label="BSC"]; - - ...; - rc <= bsc [label="(RC) SW Activate Req Ack"]; - rc <= bsc [label="(RC) Activate SW"]; - rc => bsc [label="(RC) Activate SW Ack"]; - rc => bsc [label="(RC) STATE CHG REP (Disabled/Offline)"]; - rc => bsc [label="(RC) SW Activated Report"]; - rc <= bsc [label="(TRANSC) IPA RSL Connect"]; - rc => bsc [label="(TRANSC) IPA RSL Connect Ack"]; - rc <= bsc [label="(TRANSC) OPSTART"]; - rc => bsc [label="(TRANSC) OPSTART Ack"]; - rc <= bsc [label="(TRANSC) Change Adm State (Unlocked)"]; - rc => bsc [label="(TRANSC) Change Adm State Ack (Unlocked)"]; - rc => bsc [label="(TRANSC) STATE CHG REP (Disabled/Dependency/Unlocked)"]; - |||; - chan <= bsc [label="(CHAN 0) Set Channel Attributes"]; - chan => bsc [label="(CHAN 0) Set Channel Attributes Ack"]; - chan <= bsc [label="(CHAN 0) OPSTART"]; - chan => bsc [label="(CHAN 0) OPSTART Ack"]; - chan <= bsc [label="(CHAN 0) Change Adm State (Unlocked)"]; - chan => bsc [label="(CHAN 0) Change Adm State Ack (Unlocked)"]; - chan => bsc [label="(CHAN 0) STATE CHG REP (Disabled/Dependency/Unlocked)"]; - ...; - chan <= bsc [label="(CHAN 7) Set Channel Attributes"]; - chan => bsc [label="(CHAN 7) Set Channel Attributes Ack"]; - chan <= bsc [label="(CHAN 7) OPSTART"]; - chan => bsc [label="(CHAN 7) OPSTART Ack"]; - chan <= bsc [label="(CHAN 7) Change Adm State (Unlocked)"]; - chan => bsc [label="(CHAN 7) Change Adm State Ack (Unlocked)"]; - chan => bsc [label="(CHAN 7) STATE CHG REP (Disabled/Dependency/Unlocked)"]; - |||; - rc <= bsc [label="(RC) Set Radio Carrier Attributes"]; - rc => bsc [label="(RC) Set Radio Carrier Attributes Ack"]; - rc <= bsc [label="(RC) OPSTART"]; - rc => bsc [label="(RC) OPSTART Ack"]; - rc <= bsc [label="(RC) Change Adm State (Unlocked)"]; - rc => bsc [label="(RC) Change Adm State Ack (Unlocked)"]; - rc => bsc [label="(RC) STATE CHG REP (Disabled/OK/Unlocked)"]; - rc => bsc [label="(RC) STATE CHG REP (Enabled)"]; - rc => bsc [label="(TRANSC) STATE CHG REP (Disabled/Offline)"]; - rc => bsc [label="(TRANSC) STATE CHG REP (Enabled/OK)"]; - |||; - chan => bsc [label="(CHAN 0) STATE CHG REP (Disabled/Offline)"]; - chan => bsc [label="(CHAN 0) STATE CHG REP (Enabled/OK)"]; - |||; - bts => bsc [label="(BTS) STATE CHG REP (Enabled/OK)"]; -} diff --git a/OsmoBTS/abis/oml.adoc b/OsmoBTS/abis/oml.adoc deleted file mode 100644 index 4afcec0..0000000 --- a/OsmoBTS/abis/oml.adoc +++ /dev/null @@ -1,950 +0,0 @@ -== Organization & Maintenance Link (OML) - -=== List of Messages - -The following tables list the OML messages used by OsmoBTS, grouped by their -level of compliance with 3GPP TS 12.21. - -==== Messages Compliant With TS 12.21 - -Specific limitations apply, see the linked sections. - -.Messages compliant with TS 12.21 -[options="header",cols="10%,10%,20%,35%,5%,20%"] -|=== -| TS 12.21 § | type code (hex) | This document § | Message | <-/-> | Received/Sent by OsmoBTS -6+<| *SW Download Management Messages:* -| 8.3.7 | 0x10 | <<sw_act_rep>> | SW Activated Report | -> | Sent -6+<| *Air Interface Management Messages:* -.3+.| 8.6.1 | 0x41 .3+.| <<set_bts_attr>> | Set BTS Attributes | <- | Received - | 0x42 | Set BTS Attributes Ack | -> | Sent - | 0x43 | Set BTS Attributes Nack | -> | Sent -.3+.| 8.6.2 | 0x44 .3+.| <<set_radio_attr>> | Set Radio Carrier Attributes | <- | Received - | 0x45 | Set Radio Carrier Attributes Ack | -> | Sent - | 0x46 | Set Radio Carrier Attributes Nack | -> | Sent -.3+.| 8.6.3 | 0x47 .3+.| <<set_chan_attr>> | Set Channel Attributes | <- | Received - | 0x48 | Set Channel Attributes Ack | -> | Sent - | 0x49 | Set Channel Attributes Nack | -> | Sent -6+<| *State Management and Event Report Messages:* - | 8.8.1 | 0x61 | <<state_changed_rep>> | State Changed Event Report | -> | Sent -.3+.| 8.8.5 | 0x69 .3+.| <<chg_adm_state>> | Change Administrative State | <- | Received - | 0x6A | Change Administrative State Ack | -> | Sent - | 0x6B | Change Administrative State Nack | -> | Sent -6+<| *Equipment Management Messages:* -.3+.| 8.9.2 | 0x74 .3+.| <<opstart>> | Opstart | <- | Received - | 0x75 | Opstart Ack | -> | Sent - | 0x76 | Opstart Nack | -> | Sent -|=== - - -==== Messages Specific to OsmoBTS - -.Messages specific to OsmoBTS, not found in 3GPP TS 12.21 -[options="header"] -[options="header",cols="20%,55%,5%,20%"] -|=== -| This document § | Message | <-/-> | Received/Sent by OsmoBTS -| <<ipacc_set_attr>> | Set Attribute | <- | Received -|=== - - -==== Messages Not Implemented by OsmoBTS -.3GPP TS 12.21 messages not implemented by OsmoBTS -[options="header",cols="10%,10%,80%"] -|=== -| TS 12.21 § | type code (hex) | Message -3+<| *SW Download Management Messages:* -.3+.| 8.3.1 | 0x01 | Load Data Initiate - | 0x02 | Load Data Initiate Ack - | 0x03 | Load Data Initiate Nack -.2+.| 8.3.2 | 0x04 | Load Data Segment - | 0x05 | Load Data Segment Ack - | 8.3.3 | 0x06 | Load Data Abort -.3+.| 8.3.4 | 0x07 | Load Data End - | 0x08 | Load Data End Ack - | 0x09 | Load Data End Nack -.3+.| 8.3.5 | 0x0A | SW Activate Request - | 0x0B | SW Activate Request Ack - | 0x0C | SW Activate Request Nack -.3+.| 8.3.6 | 0x0D | Activate SW - | 0x0E | Activate SW Ack - | 0x0F | Activate SW Nack -3+<| *A-bis Interface Management Messages:* -.3+.| 8.4.1 | 0x21 | Establish TEI - | 0x22 | Establish TEI Ack - | 0x23 | Establish TEI Nack -.3+.| 8.4.2 | 0x24 | Connect Terrestrial Signalling - | 0x25 | Connect Terrestrial Signalling Ack - | 0x26 | Connect Terrestrial Signalling Nack -.3+.| 8.4.3 | 0x27 | Disconnect Terrestrial Signalling - | 0x28 | Disconnect Terrestrial Signalling Ack - | 0x29 | Disconnect Terrestrial Signalling Nack -.3+.| 8.4.4 | 0x2A | Connect Terrestrial Traffic - | 0x2B | Connect Terrestrial Traffic Ack - | 0x2C | Connect Terrestrial Traffic Nack -.3+.| 8.4.5 | 0x2D | Disconnect Terrestrial Traffic - | 0x2E | Disconnect Terrestrial Traffic Ack - | 0x2F | Disconnect Terrestrial Traffic Nack -3+<| *Transmission Management Messages:* -.3+.| 8.5.1 | 0x31 | Connect Multi-Drop Link - | 0x32 | Connect Multi-Drop Link Ack - | 0x33 | Connect Multi-Drop Link Nack -.3+.| 8.5.2 | 0x34 | Disconnect Multi-Drop Link - | 0x35 | Disconnect Multi-Drop Link Ack - | 0x36 | Disconnect Multi-Drop Link Nack -3+<| *Test Management Messages:* -.3+.| 8.7.1 | 0x51 | Perform Test - | 0x52 | Perform Test Ack - | 0x53 | Perform Test Nack -.3+.| 8.7.2 | 0x54 | Test Report - | 0x55 | Send Test Report - | 0x56 | Send Test Report Ack - | 8.7.3 | 0x57 | Send Test Report Nack -.3+.| 8.7.4 | 0x58 | Stop Test - | 0x59 | Stop Test Ack - | 0x5A | Stop Test Nack -3+<| *State Management and Event Report Messages:* - | 8.8.2 | 0x62 | Failure Event Report -.3+.| 8.8.3 | 0x63 | Stop Sending Event Reports - | 0x64 | Stop Sending Event Reports Ack - | 0x65 | Stop Sending Event Reports Nack -.3+.| 8.8.4 | 0x66 | Restart Sending Event Reports - | 0x67 | Restart Sending Event Reports Ack - | 0x68 | Restart Sending Event Reports Nack -.3+.| 8.8.6 | 0x6C | Change Administrative State Request - | 0x6D | Change Administrative State Request Ack - | 0x6E | Change Administrative State Request Nack -.3+.| 8.8.7 | 0x93 | Report Outstanding Alarms - | 0x94 | Report Outstanding Alarms Ack - | 0x95 | Report Outstanding Alarms Nack -3+<| *Equipment Management Messages:* -.3+.| 8.9.1 | 0x71 | Changeover - | 0x72 | Changeover Ack - | 0x73 | Changeover Nack -.3+.| 8.9.3 | 0x87 | Reinitialize - | 0x88 | Reinitialize Ack - | 0x89 | Reinitialize Nack -.3+.| 8.9.4 | 0x77 | Set Site Outputs - | 0x78 | Set Site Outputs Ack - | 0x79 | Set Site Outputs Nack -.3+.| 8.9.5 | 0x90 | Change HW Configuration - | 0x91 | Change HW Configuration Ack - | 0x92 | Change HW Configuration Nack -3+<| *Measurement Management Messages:* - | 8.10.1 | 0x8A | Measurement Result Request - | 8.10.2 | 0x8B | Measurement Result Response - | 8.10.3 | 0x8C | Stop Measurement - | 8.10.4 | 0x8D | Start Measurement -3+<| *Other Messages:* - | 8.11.1 | 0x81 | Get Attributes - | 8.11.3 | 0x82 | Get Attribute(s) Response - | 8.11.1 | 0x83 | Get Attributes Nack -.3+.| 8.11.2 | 0x84 | Set Alarm Threshold - | 0x85 | Set Alarm Threshold Ack - | 0x86 | Set Alarm Threshold Nack -|=== - - -=== Details on Compliant OML Messages - -[[sw_act_rep]] -==== SW Activated Report - -OsmoBTS will send an _SW Activated Report_ when RF has been activated -successfully. The message is compliant with 3GPP TS 12.21 § 8.3.7. - -Upon RF activation, two _SW Activated Report_ messages will be sent, for the Object Classes - -- Radio Carrier (0x02) -- Baseband Transceiver (0x04) - -[[set_bts_attr]] -==== Set BTS Attributes - -OsmoBTS will receive a _Set BTS Attributes_ message and reply with a -corresponding ACK message on success. IE handling is fully compliant to TS -12.21, except that a change of BCCH ARFCN or BSIC while in operation is not -supported, and hence the _Starting Time_ IE is rejected. - -._Set BTS Attributes_ IEs not handled by OsmoBTS -[options="header",cols="10%,30%,60%"] -|=== -| TS 12.21 § | IE Name | Handling -| 9.4.52 | Starting Time | not supported (provokes NACK cause 0x10) -|=== - - -[[set_radio_attr]] -==== Set Radio Carrier Attributes - -This message conforms to 3GPP TS 12.21, with the following limitation, -as frequency hopping is not supported by OsmoBTS: - -._Set Radio Carrier Attributes_ IE limitations -[options="header",cols="10%,30%,60%"] -|=== -| TS 12.21 § | IE Name | Handling -| 9.4.5 | ARFCN List | ignored -|=== - - -[[set_chan_attr]] -==== Set Channel Attributes - -This message conforms to 3GPP TS 12.21, with the following limitation: the -following 3GPP TS 12.21 IEs provoke a NACK response when sent to OsmoBTS, as -frequency hopping is not supported: - -._Set Channel Attributes_ IE limitations -[options="header",cols="10%,30%,60%"] -|=== -| TS 12.21 § | IE Name | Handling -| 9.4.21 | HSN | not supported (provokes NACK cause 0x10) -| 9.4.27 | MAIO | not supported (provokes NACK cause 0x10) -| 9.4.52 | Starting Time | not supported (provokes NACK cause 0x10) -|=== - -[[state_changed_rep]] -==== State Changed Event Report - -This message is compliant with 3GPP TS 12.21. Exactly these IEs are sent by -OsmoBTS: - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message Type (0xf5) | 3GPP TS 12.21 9.1 | M | V | 1 -| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 -| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 -| Operational State | 3GPP TS 12.21 9.4.38 | O | TV | 2 -| Availability Status | 3GPP TS 12.21 9.4.7 | O | TL16V (with length of 1) | 3 -|=== - -[[chg_adm_state]] -==== Change Administrative State - -This message is compliant with 3GPP TS 12.21 § 8.8.5. It applies to all of the -Object Classes defined in 3GPP TS 12.21 § 9.2 as well as -<<addnl_obj_classes>>. - -[[opstart]] -==== Opstart - -This message is compliant with 3GPP TS 12.21 § 8.9.2. It applies to all of the -Object Classes defined in 3GPP TS 12.21 § 9.2 as well as -<<addnl_obj_classes>>. - - -=== Details on OsmoBTS Specific Messages - -[[ipacc_set_attr]] -==== Set Attribute - -The message type is 0xf5. This message is sent to OsmoBTS to set -attributes on instances of managed objects of the non-standard -additional Object Classes (see <<addnl_obj_classes>>). - -The message specifics depend on the Object Class and are detailed in -<<addnl_obj_classes>>. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message Type (0xf5) | 3GPP TS 12.21 9.1 | M | V | 1 -| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 -| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 -5+<| _Object Class specific IEs follow, see <<addnl_obj_classes>>..._ -|=== - - -[[addnl_obj_classes]] -=== Additional Object Classes - -In addition to 3GPP TS 12.21 Chapter 9.2, the following managed objects -are supported: - -.Additional Managed Object Classes -[options="header"] -[cols="20%,20%,60%"] -|=== -| Value | Name | Description -| 0xf0 | GPRS NSE | GPRS-NS Entity -| 0xf1 | GPRS CELL | GPRS Cell Entity -| 0xf2 | GPRS NSVC | GPRS NS Virtual Circuit -|=== - -==== GPRS-NSE Managed Object - -There is one NS Entity per BTS. It supports the *Set Attribute* message -with the following Information Elements: - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message Type | 3GPP TS 12.21 9.1 | M | V | 1 -| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 -| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 -| GPRS NSEI | <<NM_ATT_IPACC_NSEI>> | O | TL16V | >= 5 -| GPRS NS Configuration | <<NM_ATT_IPACC_NS_LINK_CFG>> | O | TL16V | >= 10 -| GPRS BSSGP Configuration | <<NM_ATT_IPACC_BSSGP_CFG>> | O | TL16V | >= 14 -|=== - -==== GPRS Cell Managed Object - -There is one GPRS Cell entity per BTS. It supports the *Set Attribute* -message with the following Information Elements: - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message Type | 3GPP TS 12.21 9.1 | M | V | 1 -| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 -| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 -| GPRS Routing Area Code | <<NM_ATT_IPACC_RAC>> | O | TL16V | >= 4 -| GPRS Paging Configuration | <<NM_ATT_IPACC_GPRS_PAGING_CFG>> | O | TL16V | >= 5 -| GPRS RLC Configuration | <<NM_ATT_IPACC_RLC_CFG>> | O | TL16V | >= 12 -| GPRS Coding Schemes | <<NM_ATT_IPACC_CODING_SCHEMES>> | O | TL16V | >= 5 -| GPRS RLC Configuration 2 | <<NM_ATT_IPACC_RLC_CFG_2>> | O | TL16V | >= 8 -| GPRS RLC Configuration 3 | <<NM_ATT_IPACC_RLC_CFG_3>> | O | TL16V | >= 4 -|=== - -==== GPRS NS-VC Managed Object - -There are two GPRS NS-VC instances per BTS. It supports the *Set -Attribute* message with the following Information Elements: - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message Type | 3GPP TS 12.21 9.1 | M | V | 1 -| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 -| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 -| GPRS NSVCI | <<NM_ATT_IPACC_NSVCI>> | O | TL16V | >= 5 -| GPRS NS Link Configuration | <<NM_ATT_IPACC_NS_LINK_CFG>> | O | TL16V | >= 11 -|=== - - -=== Information Elements Overview - -All of the IEs handled by OsmoBTS are listed below, with limitations and -additions to TS 12.21 specified in more detail. - -==== IEs Conforming to TS 12.21 - -The following Information Elements are accepted by OsmoBTS. - -IEs marked __ignored__ may be sent to OsmoBTS without causing error -conditions. These IEs are skipped during message parsing and are never -evaluated. - -IEs marked __ignored__ and additionally marked as being received by OsmoBTS -(<-) are in fact parsed and their values are stored by OsmoBTS, but these -stored items are currently not used in the OsmoBTS code base. - -.IEs conforming to TS 12.21 -[options="header",cols="5%,10%,40%,5%,40%"] -|=== -| tag (hex) | TS 12.21 § | IE name | <-/-> | Received/Sent by OsmoBTS -| 0x00 | 9.4.1 | Abis Channel | | _ignored_ -| 0x01 | 9.4.2 | Additional Info | | _ignored_ -| 0x02 | 9.4.3 | Additional Text | | _ignored_ -| 0x03 | 9.4.4 | Administrative State | <- -> | Received & Sent -| 0x04 | 9.4.5 | ARFCN List | <- | Received, with exactly 1 ARFCN: see <<NM_ATT_ARFCN_LIST>>; - ignored by _Set Radio Attribute_ message (<<set_radio_attr>>) -| 0x05 | 9.4.6 | Autonomously Report | | _ignored_ -| 0x06 | 9.4.7 | Availability Status | -> | Sent -| 0x07 | 9.4.8 | BCCH ARFCN | <- | Received -| 0x08 | 9.4.9 | BSIC | <- | Received -| 0x09 | 9.4.10 | BTS Air Timer | <- | Received -| 0x0a | 9.4.11 | CCCH Load Indication Period | <- | Received -| 0x0b | 9.4.12 | CCCH Load Threshold | <- | Received -| 0x0c | 9.4.13 | Channel Combination | <- | Received, with additional channel combinations: see <<ie_chan_comb>> -| 0x0d | 9.4.14 | Connection Failure Criterion | <- | Received, with limitations see <<ie_conn_fail_crit>> -| 0x0e | 9.4.15 | Destination | | _ignored_ -| 0x0f | 9.4.16 | Event Type | | _ignored_ -| 0x11 | 9.4.17 | File Data | | _ignored_ -| 0x12 | 9.4.18 | File Id | | _ignored_ -| 0x13 | 9.4.19 | File Version | | _ignored_ -| 0x14 | 9.4.20 | GSM Time | | _ignored_ -| 0x16 | 9.4.22 | HW Configuration | | _ignored_ -| 0x18 | 9.4.24 | Intave Parameter | <- | _ignored_ -| 0x19 | 9.4.25 | Interference level Boundaries | <- | _ignored_ -| 0x1a | 9.4.26 | List of Required Attributes | | _ignored_ -| 0x1c | 9.4.28 | Manufacturer Dependent State | | _ignored_ -| 0x1d | 9.4.29 | Manufacturer Dependent Thresholds | | _ignored_ -| 0x1e | 9.4.30 | Manufacturer Id | | _ignored_ -| 0x1f | 9.4.31 | Max Timing Advance | <- | Received -| 0x20 | 9.4.34 | Multi-drop BSC Link | | _ignored_ -| 0x21 | 9.4.35 | Multi-drop next BTS Link | | _ignored_ -| 0x22 | 9.4.36 | Nack Causes | -> | Sent -| 0x23 | 9.4.37 | Ny1 | <- | Received -| 0x24 | 9.4.38 | Operational State | -> | Sent -| 0x25 | 9.4.39 | Overload Period | <- | _ignored_ -| 0x26 | 9.4.40 | Physical Config | | _ignored_ -| 0x27 | 9.4.41 | Power Class | | _ignored_ -| 0x28 | 9.4.42 | Power Output Thresholds | | _ignored_ -| 0x29 | 9.4.43 | Probable Cause | | _ignored_ -| 0x2a | 9.4.44 | RACH Busy Threshold | <- | Received -| 0x2b | 9.4.45 | RACH Load Averaging Slots | <- | _ignored_ -| 0x2c | 9.4.46 | Radio Sub Channel | | _ignored_ -| 0x2d | 9.4.47 | RF Max Power Reduction | <- | Received -| 0x2e | 9.4.48 | Site Inputs | | _ignored_ -| 0x2f | 9.4.49 | Site Outputs | | _ignored_ -| 0x30 | 9.4.50 | Source | | _ignored_ -| 0x31 | 9.4.51 | Specific Problems | | _ignored_ -| 0x33 | 9.4.53 | T200 | <- | _ignored_ (1s on DCCH, 2s on ACCH) -| 0x34 | 9.4.54 | TEI | | _ignored_ -| 0x35 | 9.4.55 | Test Duration | | _ignored_ -| 0x36 | 9.4.56 | Test No | | _ignored_ -| 0x37 | 9.4.57 | Test Report Info | | _ignored_ -| 0x38 | 9.4.58 | VSWR Thresholds | | _ignored_ -| 0x39 | 9.4.59 | Window Size | | _ignored_ -| 0x40 | 9.4.60 | TSC | <- | Received, with limitations: see <<NM_ATT_TSC>> -| 0x41 | 9.4.61 | SW Configuration | | _ignored_ -| 0x43 | 9.4.63 | Perceived Severity | | _ignored_ -| 0x44 | 9.4.64 | Get Attribute Response Info | | _ignored_ -| 0x45 | 9.4.65 | Outstanding Alarm Sequence | | _ignored_ -| 0x46 | 9.4.66 | HW Conf Change Info | | _ignored_ -| 0x47 | 9.4.32 | Measurement Result | | _ignored_ -|=== - -==== IEs Not Conforming to TS 12.21 - -.IEs not conforming to TS 12.21 -[options="header",cols="5%,10%,30%,55%"] -|=== -| tag (hex) | TS 12.21 § | IE name | Description -| 0x15 | 9.4.21 | HSN | presence causes NACK response -| 0x17 | 9.4.23 | HW Description | _ignored_ by OsmoBTS, but coding may differ, see <<ie_hw_desc>> -| 0x1b | 9.4.27 | MAIO | presence causes NACK response -| 0x32 | 9.4.52 | Starting Time | presence causes NACK response -| 0x42 | 9.4.62 | SW Description | not supported -| 0x48 | 9.4.33 | Measurement Type | not supported -|=== - - -==== Additional Attributes and Parameters - -The following Information Elements are defined in addition to those -specified in 3GPP TS 12.21 Chapter 9.4. - -All of these additional IEs are _received_ by OsmoBTS. - -These attributes are not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - -.Additional IEs handled by OsmoBTS but not defined in TS 12.21 -[options="header",cols="5%,50%,45%"] -|=== -| tag (hex) | IE name | Description -| 0x80 | RSL Destination IP Address | <<NM_ATT_IPACC_DST_IP>> -| 0x81 | RSL Destination TCP Port | <<NM_ATT_IPACC_DST_IP_PORT>> -| 0x85 | RSL IPA Stream ID | <<NM_ATT_IPACC_STREAM_ID>> -| 0x9a | GPRS Routing Area Code | <<NM_ATT_IPACC_RAC>> -| 0x9c | GPRS Paging Configuration | <<NM_ATT_IPACC_GPRS_PAGING_CFG>> -| 0x9d | GPRS NSEI | <<NM_ATT_IPACC_NSEI>> -| 0x9e | GPRS BVCI | <<NM_ATT_IPACC_BVCI>> -| 0x9f | GPRS NSVCI | <<NM_ATT_IPACC_NSVCI>> -| 0xa0 | GPRS NS Configuration | <<NM_ATT_IPACC_NS_CFG>> -| 0xa1 | GPRS BSSGP Configuration | <<NM_ATT_IPACC_BSSGP_CFG>> -| 0xa2 | GPRS NS Link Configuration | <<NM_ATT_IPACC_NS_LINK_CFG>> -| 0xa3 | GPRS RLC Configuration | <<NM_ATT_IPACC_RLC_CFG>> -| 0xa8 | GPRS Coding Schemes | <<NM_ATT_IPACC_CODING_SCHEMES>> -| 0xa9 | GPRS RLC Configuration 2 | <<NM_ATT_IPACC_RLC_CFG_2>> -| 0xac | GPRS RLC Configuration 3 | <<NM_ATT_IPACC_RLC_CFG_3>> -|=== - - -=== Details on IEs - -[[ie_hw_desc]] -==== HW Description - -TS 12.21 suggests a series of 5 length-value pairs for the _HW Description_ IE. -Instead, OsmoBTS interprets it as a single TL16V. The value of this IE is -ignored by OsmoBTS, yet the coding may affect message parsing. - -[width="40%",cols="90%,10%"] -[grid="none"] -|=== -| Attribute Identifier (0x17) | 1 -| Length | 2-3 -| Ignored | N -|=== - - -[[NM_ATT_ARFCN_LIST]] -==== ARFCN List - -Since OsmoBTS does not support frequency hopping, the _ARFCN List_ must contain -exactly one ARFCN. - -[[ie_chan_comb]] -==== Additional Channel Combinations - -In addition to 3GPP TS 12.21 Chapter 9.4.13, the following channel -combinations are supported: - -.Additional Channel Combinations -[options="header"] -[cols="10%,90%"] -|=== -| Value | Description -| 0x0b | Reserved for PBCCH + PCCCH + PDTCH/F + PACCH/F + PTCCH/F -| 0x0c | Reserved for PBCCH + PDTCH/F + PACCH/F + PTCCH/F -| 0x0d | PDTCH/F + PACCH/F + PTCCH/F -| 0x80 | ip.access style Dynamic TCH/F / PDCH -| 0x81 | Reserved for Dynamic TCH/F / TCH/H -| 0x90 | Osmocom style Dynamic TCH/F / TCH/H / PDCH -|=== - -The _Reserved_ combinations are not actually supported/implemented -yet, but merely reserved for such functionality, if it is eventually -implemented. - -For more information on how the different dynamic channel combinations -work, please see the <<rsl-dynamic-channels>>. - -[[ie_conn_fail_crit]] -==== Connection Failure Criterion - -3GPP TS 12.21 Chapter 9.4.14 specifies two different options for the -_Connection Failure Criterion_. OsmoBTS only implements the option -coded as 0x01, i.e. based upon uplink SACCH error rate -(RADIO_LINK_TIMEOUT). - -[[NM_ATT_TSC]] -==== TSC - -Due to limitations in the currently supported PHY implementations, -OsmoBTS supports only one global TSC for all channels on one TRX, rather -than a separate TSC for each timeslot, as expected by 3GPP TS 12.21. - - -[[NM_ATT_IPACC_DST_IP]] -==== RSL Destination IP Address - -The value part of this attribute has a length of 4 octets and is encoded -as IPv4 address in network byte order. - -[width="40%",cols="90%,10%"] -[grid="none"] -|=== -| Attribute Identifier (0x80) | 1 -| IPv4 Address (MSB first) | 2-5 -|=== - - -[[NM_ATT_IPACC_DST_IP_PORT]] -==== RSL Destination TCP Port - -The value part of this attribute has a length of 2 octets and contains -the TCP destination port for the RSL connection, encoded in network byte -order. - -[width="40%",cols="90%,10%"] -[grid="none"] -|=== -| Attribute Identifier (0x81) | 1 -| Port number (MSB first) | 2-3 -|=== - - -[[NM_ATT_IPACC_STREAM_ID]] -==== RSL IPA Stream ID - -The value part of this attribute has a length of one octet and specifies -the IPA stream ID to be used for the RSL connection of this TRX. - -[width="40%",cols="90%,10%"] -[grid="none"] -|=== -| Attribute Identifier (0x85) | 1 -| Stream ID | 2 -|=== - - -[[NM_ATT_IPACC_RAC]] -==== GPRS Routing Area Code - -The value part of the GPRS Routing Area code consists of a single octet -encoding the GPRS Routing Area Code. - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_GPRS_PAGING_CFG]] -==== GPRS Paging Configuration - -The value part of this attribute consists of two octets encoded as -follows: - -[options="header"] -[cols="10%,90%"] -|=== -| Offset | Description -| 0 | GPRS Paging repeat time in units of 50ms intervals -| 1 | GPRS Paging repeat count -|=== - - -[[NM_ATT_IPACC_NSEI]] -==== GPRS NSEI - -The value part of the GPRS NSEI is encoded as 16bit integer value in -network byte order. - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_BVCI]] -==== GPRS BVCI - -The value part of this attribute consists of two octets encoding the -BSSGP Virtual Circuit Identifier (BVCI) as unsigned 16 bit integer in -network byte order. - - -[[NM_ATT_IPACC_NSVCI]] -==== GPRS NSVCI - -The value part of the GPRS NSVCI attribute is a 16bit unsigned integer -in network byte order, encoding the GPRS NSVCI as specified in 3GPP TS -08.16. - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_NS_CFG]] -==== GPRS NS Configuration - -The value part of the GPRS NS Configuration consists of an array of 7 octets, -each describing one GPRS NS related timer: - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_BSSGP_CFG]] -==== GPRS BSSGP Configuration - -The value part of the GPRS BSSGP configuration consists of an array of -11 octets, each describing one GPRS BSSGP related timer: - -[options="header"] -[cols="10%,90%"] -|=== -| Offset | Description -| 0 | Blocking Timer (T1) -| 1 | Blocking Retries -| 2 | Unblocking Retries -| 3 | Reset Timer (T2) -| 4 | Reset Retries -| 5 | Suspend Timer (T3) in units of 100ms -| 6 | Suspend Retries -| 7 | Resume Timer (T4) in units of 100ms -| 8 | Resume Retries -| 9 | Capability Update Timer (T5) -| 10 | Capability Update Retries -|=== - -The detailed description of the meaning of those timers is given in the -GPRS BSSGP specification 3GPP TS 08.18. - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_NS_LINK_CFG]] -==== GPRS NS Link Configuration - -This attribute is 8 octets long and encoded as follows: -[options="header"] -[cols="10%,10%,80%"] -|=== -| Offset | Length | Description -| 0 | 2 | GPRS-NS Remote UDP Port Number (SGSN side) -| 2 | 4 | GPRS-NS Remote IPv4 Address (SGSN side) -| 6 | 2 | GPRS-NS Local UDP Port Number (BTS side) -|=== - -All values are encoded in network byte order. - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_RLC_CFG]] -==== GPRS RLC Configuration - -The value part of the GPRS RLC Configuration consists of an array of 9 -octets, each describing a RLC timer: - -[options="header"] -[width="60%",cols="10%,80%,10%"] -|=== -| Offset | Description | Unit -| 0 | GPRS RLC Timer T3142 | s -| 1 | GPRS RLC Timer T3169 | s -| 2 | GPRS RLC Timer T3191 | s -| 3 | GPRS RLC Timer T3193 | 10ms -| 4 | GPRS RLC Timer T3195 | s -| 5 | GPRS RLC Timer T3101 | s -| 6 | GPRS RLC Timer T3103 | s -| 7 | GPRS RLC Timer T3105 | s -| 8 | GPRS RLC CV Countdown | - -|=== - -The meaning of the RLC timers are specified in 3GPP TS 04.60. - -The countdown value specifies the RLC CV value from which the countdown -procedure is started. - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_CODING_SCHEMES]] -==== GPRS Coding Schemes - -The value part of the GPRS Coding Schemes consists of two octets -encoding the available GPRS and EDGE coding schemes. - -[options="header"] -|=== -| *bit* | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 -| byte at offset 0 | MCS9 | x | x | x | CS4 | CS3 | CS2 | CS1 -| byte at offset 1 | MCS8 | MCS7| MCS6 | MCS5 | MCS4| MCS3 | MCS2 | MCS1 -|=== - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_RLC_CFG_2]] -==== GPRS RLC Configuration 2 - -The value part of this attribute is 8 octets long and encoded as -follows: -[options="header"] -[width="60%",cols="10%,10%,70%,10%"] -|=== -| Offset | Length | Description | Unit -| 0 | 2 | Downlink TBF Extension Timer | 10ms -| 2 | 2 | Uplink TBF Extension Timer | 10ms -| 4 | 2 | Initial GPRS Coding Scheme | - -|=== - -The Initial GPRS Coding Scheme is encoded as follows: -[options="header"] -[width="40%",cols="50%,50%"] -|=== -| Value | Description -| 1 | CS 1 -| 2 | CS 2 -| 3 | CS 3 -| 4 | CS 4 -|=== - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - - -[[NM_ATT_IPACC_RLC_CFG_3]] -==== GPRS RLC Configuration 3 - -This attribute contains information about the initial MCS used for new EDGE -TBFs. - -It is encoded as follows: -[options="header"] -[width="40%",cols="50%,50%"] -|=== -| Value | Description -| 1 | MCS 1 -| 2 | MCS 2 -| 3 | MCS 3 -| 4 | MCS 4 -| 5 | MCS 5 -| 6 | MCS 6 -| 7 | MCS 7 -| 8 | MCS 8 -| 9 | MCS 9 -|=== - -This attribute is not used by OsmoBTS, but -simply passed to OsmoPCU connected to the PCU socket. - -=== A-bis OML Initialization / BTS bring-up - -At the time an Abis/IP BTS connects to via OML to the BSC, it is -initialized according to the procedures described in 3GPP TS 12.21 as -amended by this document. - -Each Managed Object (MO) is separately initialized. The initialization -sequence and parameters differ slightly depending on the MO involved. - -Some parts of the sequences described below are optional, such as the -Software activation. In the OsmoBTS case, the software is not modular -and thus all MOs start with the software fully activated. In effect, no -__Software Activate Request__ is being sent by the MO to the BSC, nor -does the BSC need to initialize the __Activate Software__ procedure. - -Still, the full sequences are shown in order to explain the Abis/IP -protocol. - -Also, the initial state of the MOs at time of OML connection -initialization is not always guaranteed to be __Disabled/Notinstalled__. -Rather, the BSC implementation has to deal with the initial state as -reported by the MOs at time of re-connection. - -==== Site Manager MO Initialization - -.A-bis OML Initialization of Site Manager MO -["mscgen"] ----- -include::oml-mo-sitemgr.msc[] ----- - -The Site Manager MO does not depend on other MOs, nor does it have an -Administrative state (__Locked/Unlocked__), thus it immediately commences in -the __Enabled__ state. - -==== BTS MO Initialization - -.A-bis OML Initialization of BTS MO -["mscgen"] ----- -include::oml-mo-bts.msc[] ----- - -As shown in the BTS MO, its state is - -* Availability state __Dependency__, meaning it depends on other MOs to - be initialized before becoming enabled. -* Administrative state __Locked__, as the object is first waiting to - receive attributes in the __Locked__ state, before the __Change - Administrative State (Unlocked)__ procedure is used to request - transitioning into Unlocked state. - -==== Baseband Transceiver MO Initialization - -.A-bis OML Initialization of Baseband Transceiver MO -["mscgen"] ----- -include::oml-mo-transceiver.msc[] ----- - -There is one Baseband Transceiver MO per TRX in the BTS. For a -multi-TRX BTS, the above procedure must be repeated for each TRX. - - -==== Radio Carrier MO Initialization - -.A-bis OML Initialization of Radio Carrier MO -["mscgen"] ----- -include::oml-mo-carrier.msc[] ----- - -There is one Radio Carrier MO per TRX in the BTS. For a multi-TRX BTS, -the above procedure must be repeated for each TRX. - - -==== Channel MO Initialization - -.A-bis OML Initialization of Radio Carrier MO -["mscgen"] ----- -include::oml-mo-channel.msc[] ----- - -There are 8 timeslots in each TRX, and correspondingly 8 Channel MOs in -every TRX. The above procedure must thus be repeated for each timeslot -in each transceiver of the BTS. - - -==== Complete BTS Initialization Procedure - -Some of below steps are optional, as is their detailed ordering. In -practice, the procedures for different MOs may overlap. The message -sequence charts in this document have been hand-crafted to avoid such -overlap for the sake of clarity. - -[[oml-msc-1]] -.A-bis OML BTS bring-up (1/3) -["mscgen"] ----- -include::oml-startup.msc[] ----- - -As shown in <<oml-msc-1>>, after the OML TCP connection is established, - -. the identity is exchanged via IPA CCM, -. the BTS sends an 'OML EVENT STATE CHANGED REPORT' for every - Managed Object, and -. the BTS subsequently requests the activation of its 'Site Manager' Object - which the BSC performs by the 'Activate SW' command. -. After successful activation of the software in the Site Manager, -.. the state changes to 'Enabled', and an event report is generated - accordingly, and -.. the BSC is notified about the SW activation in an associated report. -. Finally, the BSC requests the start of the Site Manager -.. using the 'OPSTART' command, -.. which is subsequently acknowledged by the Site Manager. - -[[oml-msc-2]] -.A-bis OML BTS bring-up (2/3) -["mscgen"] ----- -include::oml-startup2.msc[] ----- - -[[oml-msc-3]] -.A-bis OML BTS bring-up (3/3) -["mscgen"] ----- -include::oml-startup3.msc[] ----- - -<<oml-msc-2>> shows: - -. Software Activation and associated state transitions of the BTS MO; -. Setting of the BTS Attributes followed by OPSTART; -. Software Activation and associated state transitions of the 'Baseband - Transceiver' MO; -. Software Activation and associated state transitions of the 'Radio - Carrier' MO; -. Once the 'Baseband Transceiver' MO has its software activated, the - 'Channel' MOs (one for each timeslot) indicate their state change as - well as software activation. - -<<oml-msc-3>> shows: - -. The 'Radio Carrier' MO Software Activation; -. The Request to the 'Baseband Transceiver' MO to establish the RSL - signalling connection to the BSC; -. Subsequent OPSTART and Change of Administrative State on the 'Baseband - Transceiver' MO; -. The following procedure takes place for each of the 'Channel' MOs: -.. Set the Channel Attributes (such as channel combination), -.. OPSTART, -.. change the Administrative State to Unlocked, -.. followed by a State Change Event Report with the new state. -. After all 'Channel' MOs are initialized, the Radio Carrier goes through - a similar procedure: -.. Set attributes, -.. OPSTART, -.. change Administrative State to Unlocked, -.. followed by a State Change Event Report with the new State (Enabled/OK) -. All 'Channel' MOs now also report their state as Enabled/OK. -. Finally, the BTS reports its state as Enabled/OK. - diff --git a/OsmoBTS/abis/rsl-startup-pri.msc b/OsmoBTS/abis/rsl-startup-pri.msc deleted file mode 100644 index a4798df..0000000 --- a/OsmoBTS/abis/rsl-startup-pri.msc +++ /dev/null @@ -1,22 +0,0 @@ -msc { - bts [label="TRX"], bsc [label="BSC"]; - - bts => bsc [label="TCP Connect (Port 3003, RSL)"]; - bts box bsc [label="IPA CCM Identification (Port 3003)"]; - |||; - - bts <= bsc [label="BCCH Information (SI1)"]; - bts <= bsc [label="BCCH Information (SI2)"]; - ...; - bts <= bsc [label="BCCH Information (SI3)"]; - bts <= bsc [label="BCCH Information (SI4)"]; - |||; - bts <= bsc [label="SACCH FILLING (SI5)"]; - ...; - bts <= bsc [label="SACCH FILLING (SI6)"]; - |||; - bts => bsc [label="RF Resource Indication"]; - ...; - bts => bsc [label="RF Resource Indication"]; - ...; -} diff --git a/OsmoBTS/abis/rsl-startup-sec.msc b/OsmoBTS/abis/rsl-startup-sec.msc deleted file mode 100644 index d961412..0000000 --- a/OsmoBTS/abis/rsl-startup-sec.msc +++ /dev/null @@ -1,16 +0,0 @@ -msc { - bts [label="TRX"], bsc [label="BSC"]; - - bts => bsc [label="TCP Connect (Port 3003, RSL)"]; - bts box bsc [label="IPA CCM Identification (Port 3003)"]; - |||; - - bts <= bsc [label="SACCH FILLING (SI5)"]; - ...; - bts <= bsc [label="SACCH FILLING (SI6)"]; - |||; - bts => bsc [label="RF Resource Indication"]; - ...; - bts => bsc [label="RF Resource Indication"]; - ...; -} diff --git a/OsmoBTS/abis/rsl-tch-rtp.msc b/OsmoBTS/abis/rsl-tch-rtp.msc deleted file mode 100644 index 55228b4..0000000 --- a/OsmoBTS/abis/rsl-tch-rtp.msc +++ /dev/null @@ -1,56 +0,0 @@ -msc { - hscale = 2; - - ms [label="MS"], bts [label="BTS"], bsc [label="BSC"], Msc [label="MSC"], mgw [label="MGW"]; - - ms => bts [label="L1 RACH burst"]; - bts => bsc [label="RSL CHAN RQD"]; - bts <= bsc [label="RSL CHAN ACT"]; - bts => bsc [label="RSL CHAN ACT ACK"]; - bts <= bsc [label="RSL IMM ASS CMD (RR IMM ASS)"]; - ms <= bts [label="RR IMMEDIATE ASSIGN"]; - ms => bts [label="LAPDm SABM (CM SERVICE REQ)"]; - ms <= bts [label="LAPDm FIXME"]; - bts => bsc [label="RSL ESTABLISH IND (CM SERVICE REQ)"]; - bsc => Msc [label="CR (BSSAP COMPLETE L3 (CM SERVICE REQ))"]; - ...; - ms box Msc [label="MM Common Procedures (INFO, ID, AUTH, CIPH)"]; - ...; - ms => bts [label="CC SETUP"]; - bts => bsc [label="RSL DATA IND (CC SETUP)"]; - bsc => Msc [label="DT1 (DTAP (CC SETUP))"]; - ...; - ms box Msc [label="CC Signalling"]; - ...; - bsc <= Msc [label="BSSAP ASSIGNMENT CMD (TCH)"]; - bts <= bsc [label="RSL IPA CRCX", id="1"]; - bts => bsc [label="RSL IPA CRCX ACK (IP/Port @ BTS)"]; - bsc => Msc [label="FIXME"]; - Msc => mgw [label="FIXME"]; - bts <- mgw [label="Start RTP + RTCP UDP Flows"]; - - bts <= bsc [label="RSL DATA REQ (RR CHAN MOD MODIFY)"]; - ms <= bts [label="RR CHAN MOD MODIFY"]; - ms => bts [label="RR CHAN MOD MODIFY ACK"]; - bts => bsc [label="RSL DATA IND (RR CHAN MOD MODIFY ACK)"]; - |||; - bts <= bsc [label="RSL MODE MODIFY REQ"]; - bts => bsc [label="RSL MODE MODIFY ACK"]; - - Msc <= mgw [label="FIXME"]; - bsc <= Msc [label="FIXME"]; - bts <= bsc [label="RSL IPA MDCX (IP/Port @ MGW)", id="2"]; - bts => bsc [label="RSL IPA MDCX ACK"]; - - bts -> mgw [label="Start RTP + RTCP UDP Flows"]; - ms box mgw [label="Active Voice Call"]; - bts => bsc [label="RSL MEAS RES"]; - ...; - - bts <= bsc [label="RSL IPA DLCX"]; - bts => bsc [label="RSL IPA DLCX ACK"]; - bts -x mgw [label="Stop RTP + RTCP UDP Flows"]; - - bts <= bsc [label="RSL RF CHAN REL"]; - bts => bsc [label="RSL RF CHAN REL ACK"]; -} diff --git a/OsmoBTS/abis/rsl.adoc b/OsmoBTS/abis/rsl.adoc deleted file mode 100644 index 33ae26d..0000000 --- a/OsmoBTS/abis/rsl.adoc +++ /dev/null @@ -1,944 +0,0 @@ -== Radio Signalling Link (RSL) - -=== List of Messages - -The following tables list the RSL messages used by OsmoBTS A-bis/IP, -grouped by their level of compliance with 3GPP TS 08.58. - -==== Messages Compliant With TS 08.58 - -Specific additions and limitations apply, see the linked sections. - -.Messages compliant with TS 08.58 -[options="header",cols="10%,20%,45%,5%,20%"] -|=== -| TS 08.58 § | This document § | Message | <-/-> | Received/Sent by OsmoBTS -5+<| *Radio link layer management messages* -| 8.3.1 | - | DATA REQUEST | <- | Received -| 8.3.2 | - | DATA INDICATION | -> | Sent -| 8.3.3 | - | ERROR INDICATION | -> | Sent -| 8.3.4 | - | ESTABLISH REQUEST | <- | Received -| 8.3.5 | - | ESTABLISH CONFIRM | -> | Sent -| 8.3.6 | - | ESTABLISH INDICATION | -> | Sent -| 8.3.7 | - | RELEASE REQUEST | <- | Received -| 8.3.8 | - | RELEASE CONFIRM | -> | Sent -| 8.3.9 | - | RELEASE INDICATION | -> | Sent -| 8.3.10 | - | UNIT DATA REQUEST | <- | Received -| 8.3.11 | - | UNIT DATA INDICATION | -> | Sent -5+<| *DEDICATED CHANNEL MANAGEMENT MESSAGES* -| 8.4.1 | <<CHANNEL_ACTIVATION>> | CHANNEL ACTIVATION | <- | Received -| 8.4.2 | <<CHANNEL_ACTIVATION>> | CHANNEL ACTIVATION ACKNOWLEDGE | -> | Sent -| 8.4.3 | <<CHANNEL_ACTIVATION>> | CHANNEL ACTIVATION NEGATIVE ACKNOWLEDGE | -> | Sent -| 8.4.4 | - | CONNECTION FAILURE INDICATION | -> | Sent -| 8.4.5 | - | DEACTIVATE SACCH | <- | Received -| 8.4.6 | - | ENCRYPTION COMMAND | <- | Received -| 8.4.7 | - | HANDOVER DETECTION | -> | Sent -| 8.4.8 | <<MEASUREMENT_RESULT>> | MEASUREMENT RESULT | -> | Sent -| 8.4.9 | <<MODE_MODIFY>> | MODE MODIFY | <- | Received -| 8.4.10 | - | MODE MODIFY ACKNOWLEDGE | -> | Sent -| 8.4.11 | - | MODE MODIFY NEGATIVE ACKNOWLEDGE | -> | Sent -| 8.4.14 | - | RF CHANNEL RELEASE | <- | Received -| 8.4.15 | <<MS_POWER_CONTROL>> | MS POWER CONTROL | <- | Received -| 8.4.19 | - | RF CHANNEL RELEASE ACKNOWLEDGE | -> | Sent -| 8.4.20 | <<SACCH_INFO_MODIFY>> | SACCH INFO MODIFY | <- | Received -5+<| *COMMON CHANNEL MANAGEMENT MESSAGES* -| 8.5.1 | <<BCCH_INFORMATION>> | BCCH INFORMATION | <- | Received -| 8.5.2 | - | CCCH LOAD INDICATION | -> | Sent -| 8.5.3 | <<CHANNEL_REQUIRED>> | CHANNEL REQUIRED | -> | Sent -| 8.5.5 | <<PAGING_COMMAND>> | PAGING COMMAND | <- | Received -| 8.5.6 | - | IMMEDIATE ASSIGN COMMAND | <- | Received -| 8.5.8 | <<SMS_BROADCAST_COMMAND>> | SMS BROADCAST COMMAND | <- | Received -5+<| *TRX MANAGEMENT MESSAGES* -| 8.6.1 | <<RF_RESOURCE_INDICATION>> | RF RESOURCE INDICATION | -> | Sent -| 8.6.2 | <<SACCH_FILLING>> | SACCH FILLING | <- | Received -| 8.6.4 | - | ERROR REPORT | -> | Sent -|=== - -==== Messages Specific to OsmoBTS - -.Messages specific to OsmoBTS, not found in 3GPP TS 08.58 -[options="header",cols="15%,15%,45%,5%,20%"] -|=== -2+| This document § | Message | <-/-> | Received/Sent by OsmoBTS -5+<| *User Plane Transport Management* (<<user_plane_txp_mgmt>>) -.3+.| <<rsl_crcx>> | <<rsl_crcx_msg>> | RSL Create Connection (CRCX) | <- | Received - | <<rsl_crcx_msg_ack>> | RSL Create Connection (CRCX) ACK | -> | Sent - | <<rsl_crcx_msg_nack>> | RSL Create Connection (CRCX) NACK | -> | Sent -.3+.| <<rsl_mdcx>> | <<rsl_mdcx_msg>> | RSL Modify Connection (MDCX) | <- | Received - | <<rsl_mdcx_msg_ack>> | RSL Modify Connection (MDCX) ACK | -> | Sent - | <<rsl_mdcx_msg_nack>> | RSL Modify Connection (MDCX) NACK | -> | Sent -.3+.| <<rsl_dlcx>> | <<rsl_dlcx_msg>> | RSL Delete Connection (DLCX) | <- | Received - | <<rsl_dlcx_msg_ack>> | RSL Delete Connection (DLCX) ACK | -> | Sent - | <<rsl_dlcx_msg_nack>> | RSL Delete Connection (DLCX) NACK | -> | Sent - | <<rsl_dlcx_ind>> | <<rsl_dlcx_ind_msg>> | RSL Delete Connection (DLCX) Indication | -> | Sent -5+<| *IPA style PDCH Management* (<<ipa_style_pdch_mgmt>>) -.3+.| <<pdch_act>> | <<rsl_pdch_act>> | RSL PDCH Activation | <- | Received - | <<rsl_pdch_act_ack>> | RSL PDCH Activation ACK | -> | Sent - | <<rsl_pdch_act_nack>> | RSL PDCH Activation NACK | -> | Sent -.3+.| <<pdch_deact>> | <<rsl_pdch_deact>> | RSL PDCH Deactivation | <- | Received - | <<rsl_pdch_deact_ack>> | RSL PDCH Deactivation ACK | -> | Sent - | <<rsl_pdch_deact_nack>> | RSL PDCH Deactivation NACK | -> | Sent -|=== - -==== Messages Not Implemented by OsmoBTS - -.3GPP TS 08.58 messages not implemented by OsmoBTS -[options="header",cols="10%,90%"] -|=== -| TS 08.58 § | Message -2+<| *DEDICATED CHANNEL MANAGEMENT MESSAGES* -| 8.4.12 | PHYSICAL CONTEXT REQUEST -| 8.4.13 | PHYSICAL CONTEXT CONFIRM -| 8.4.16 | BS POWER CONTROL -| 8.4.17 | PREPROCESS CONFIGURE -| 8.4.18 | PREPROCESSED MEASUREMENT RESULT -| 8.4.21 | TALKER DETECTION -| 8.4.22 | LISTENER DETECTION -| 8.4.23 | REMOTE CODEC CONFIGURATION REPORT -| 8.4.24 | ROUND TRIP DELAY REPORT -| 8.4.25 | PRE-HANDOVER NOTIFICATION -| 8.4.26 | MULTIRATE CODEC MODIFICATION REQUEST -| 8.4.27 | MULTIRATE CODEC MODIFICATION ACKNOWLEDGE -| 8.4.28 | MULTIRATE CODEC MODIFICATION NEGATIVE ACKNOWLEDGE -| 8.4.29 | MULTIRATE CODEC MODIFICATION PERFORMED -| 8.4.30 | TFO REPORT -| 8.4.31 | TFO MODIFICATION REQUEST -2+<| *COMMON CHANNEL MANAGEMENT MESSAGES* -| 8.5.4 | DELETE INDICATION -| 8.5.7 | SMS BROADCAST REQUEST -| 8.5.9 | CBCH LOAD INDICATION -| 8.5.10 | NOTIFICATION COMMAND -2+<| *TRX MANAGEMENT MESSAGES* -| 8.6.3 | OVERLOAD -2+<| *LOCATION SERVICES MESSAGES* -| 8.7.1 | LOCATION INFORMATION -|=== - - -=== Message Limitation Details - -[[CHANNEL_ACTIVATION]] -==== Channel Activation - -When used on a timeslot using the non-standard channel combination -'NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH' as configured by OML, the regular -RSL channel activation procedures can not only be used for activation -of circuit-switched channels, but also for activation of a PDCH. - -See <<OSMOCOM_DYN_TS>>. - -NOTE:: Do not confuse this with the IPA style _PDCH ACT_ type -dynamic PDCH protocol employed by nanoBTS devices (<<ipa_style_pdch_mgmt>>). - -[[MEASUREMENT_RESULT]] -==== Measurement Result - -Conforms to 3GPP TS 08.58 § 8.4.8 with this limitation: - -._Measurement Result_ IE limitations -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.37 | MS Timing Offset | never sent by OsmoBTS -|=== - -[[MODE_MODIFY]] -==== Mode Modify - -Conforms to 3GPP TS 08.58 § 8.4.9 with these limitations: - -._Mode Modify_ IE limitations -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.45 | Main channel reference | _ignored_ -| 9.3.53 | MultiRate Control | _ignored_ -| 9.3.54 | Supported Codec Types | _ignored_ -|=== - -[[MS_POWER_CONTROL]] -==== MS Power Control - -Conforms to 3GPP TS 08.58 § 8.4.15 with these limitations: - -._MS Power Control_ IE limitations -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.31 | MS Power Parameters | _ignored_ -|=== - - -[[SACCH_INFO_MODIFY]] -==== SACCH Info Modify - -Conforms to 3GPP TS 08.58 § 8.4.20, with these exceptions: - -._SACCH Info Modify_ IE limitations -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.30 | System Info Type | See below for available types -| 9.3.23 | Starting Time | not supported, provokes an _Error Report_ response -|=== - -._System Info Type_ values that can occur on the SACCH -[options="header",width="50%",cols="20%,80%"] -|=== -| Value | Name -| 0x05 | RSL_SYSTEM_INFO_5 -| 0x06 | RSL_SYSTEM_INFO_6 -| 0x0d | RSL_SYSTEM_INFO_5bis -| 0x0e | RSL_SYSTEM_INFO_5ter -| 0x47 | RSL_EXT_MEAS_ORDER -| 0x48 | RSL_MEAS_INFO -|=== - -[[BCCH_INFORMATION]] -==== BCCH Information - -Conforms to 3GPP TS 08.58 § 8.5.1, with these limitations and extensions: - -._BCCH Information_ IE details -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.30 | System Info Type | See <<SACCH_INFO_MODIFY>> for available types -| 9.3.11 | L3 Info | This IE may be included instead of a 9.3.39 _Full BCCH Info_ IE. - The _Full BCCH Info_ takes precedence over _L3 Info_. - To stop SI transmission, both of these IEs must be omitted. -|=== - - -[[CHANNEL_REQUIRED]] -==== Channel Required - -Conforms to 3GPP TS 08.58 § 8.5.3, with these limitations: - -._Channel Required_ message IE details -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.16 | Physical Context | never sent by OsmoBTS -|=== - - -[[PAGING_COMMAND]] -==== Paging Command - -Conforms to 3GPP TS 08.58 § 8.5.5, with these limitations: - -._Paging Command_ message IE details -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.49 | eMLPP Priority | _ignored_ -|=== - -NOTE: If adding the identity to the paging queue fails, the BSC is not notified -in any way. - -[[SMS_BROADCAST_COMMAND]] -=== SMS Broadcast Command - -Conforms to 3GPP TS 08.58 § 8.5.8, with these limitations: - -._Broadcast Command_ message IE details -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.44 | SMSCB Channel Indicator | _ignored_ -|=== - - -[[RF_RESOURCE_INDICATION]] -==== RF Resource Indication - -This message does not conform to 3GPP TS 08.58 § 8.6.1, in that it omits the -_Resource Information_ IE that would contain the actual payload data, which -renders this message void. - -._RF Resource Indication_ message IE exceptions -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.21 | Resource Information | OsmoBTS omits this IE, though TS 08.58 - specifies it as mandatory. -|=== - - -[[SACCH_FILLING]] -==== SACCH Filling - -Conforms to 3GPP TS 08.58 § 8.6.2, with these limitations: - -._SACCH Filling_ message IE limitations -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.3.30 | System Info Type | See <<SACCH_INFO_MODIFY>> for available types -| 9.3.23 | Starting Time | _ignored_ -|=== - - -[[user_plane_txp_mgmt]] -=== User Plane Transport Management - -This chapter defines the A-bis/IP specific RSL procedures that are -introduced in addition to the 3GPP TS 08.58 standard procedures. - -In classic A-bis over E1, user plane traffic is carried over 16kBps -sub-slots of 64kBps E1 time-slots according to ETSI/3GPP TS 08.60. As -the E1 line is a dedicated line between BTS and BSC, no further -addressing information is required. - -In A-bis/IP as described by the present document, new RSL procedures -have been introduced to deal with the different properties of -the underlying IP based transport medium. - -[[rsl_crcx]] -==== RSL Create Connection (CRCX) - -This procedure is used by the BSC to request the BTS to allocate + bind -to a BTS-local UDP port for the subsequent transmission of user-plane -data via RTP. - -To do so, the BSC sends the *Create Connection (CRCX)* message. In case of -successful outcome, the BTS responds with *Create Connection (CRCX) -ACK*. In case of any error, the BTS responds with *Create Connection -(CRCX) NACK*. - -See <<rsl_crcx_msg>>, <<rsl_crcx_msg_ack>>, <<rsl_crcx_msg_nack>> - -[[rsl_mdcx]] -==== RSL Modify Connection (MDCX) - -This procedure is used by the BSC to request the BTS to modify an -already-bound BTS-local UDP port for user-plane RTP. It is used in -particular to configure the remote IP address and UDP port to which the -BTS shall send user-plane RTP traffic. This remote address is normally -either a Media Gateway (MGW) of some sort, but could also be the RTP -socket of the corresponding other leg of a mobile-to-mobile call. - -To modify a user-plane connection, the BSC sends the *Modify Connection* -message. In case of successful outcome, the BTS responds with -*Modify Connection (MDCX) ACK*. In case of any error, the BTS responds -with *Modify Connection (MDCX) NACK*. - -See <<rsl_mdcx_msg>>, <<rsl_mdcx_msg_ack>>, <<rsl_mdcx_msg_nack>> - -[[rsl_dlcx]] -==== RSL Delete Connection (DLCX) - -This procedure is used by the BSC to request the BTS to delete an -already-existing BTS-local UDP port for user-plane RTP. - -To delete a user-plane connection, the BSC sends the *Delete Connection -(DLCX)* message. In case of successful outcome, the BTS responds with -*Delete Connection (DLCX) ACK*. In case of any error, the BTS responds -with *Delete Connection (DLCX) NACK*. - -See <<rsl_dlcx_msg>>, <<rsl_dlcx_msg_ack>>, <<rsl_dlcx_msg_nack>> - -[[rsl_dlcx_ind]] -==== RSL Delete Connection (DLCX) Indication - -When a BTS-local UDP connection for user-plane RTP is automatically -released at the time of RF CHANNEL RELEASE, the BTS sends a unilateral, -non-acknowledged *RSL Delete Connection (DLCX) Indication* to the BSC. - -See <<rsl_dlcx_ind_msg>> - - -[[rsl-dynamic-channels]] -=== Dynamic Channel Combinations - -In the classic data model established by ETSI/3GPP for A-bis, each -timeslot (channel) is configured using a static channel combination by -means of A-bis OML. Particularly in presence of GPRS services, this -is very unflexible and leads to inefficient use of air interface -resources. - -As such, several methods have been implemented to overcome this -limitation. The fundamental operation can be outlined like this: - -* Configuration of a particular _dynamic_ channel combination via OML -* activation of TCH works like on a classic TCH channel combination -* activation of PDCH requires some specific PDCH activation procedure - -There are two variants implemented in the OsmoBTS A-bis dialect: - -[[ipa_style_pdch_mgmt]] -==== IPA Style Dynamic Channels - -This method is used when OML uses 'NM_CHANC_IPAC_TCHFull_PDCH' (0x80) -as channel combination for the given time-slot. - -'IPA style' refers to 'ip.access' compatible PDCH activation and deactivation. - -When the IPA style dynamic channel combination _TCH/F or PDCH_ -is set, the non-standard 'PDCH ACTIVATE' (<<pdch_act>>) and 'PDCH -DEACTIVATE' (<<pdch_deact>>) procedures are used for switching an idle -channel into PDCH mode and back into idle mode. - -When the channel is used as TCH/F, regular circuit-switched activation -is performed, like on any traditional TCH/F. However, the BSC must -make sure to first disable the PDCH on the timeslot, before activating -it as TCH/F. Likewise, any circuit-switched TCH/F on the channel must -be deactivated using standard RSL signalling, before the specific PDCH -related procedures are used to enable the PDCH. - -[[pdch_act]] -===== PDCH Activate - -This procedure is used by the BSC to request the BTS to activate an -IPA style dynamic TCH/F+PDCH channel in PDCH mode. - -The operation is not supported on any other physical channel type. - -See <<rsl_pdch_act>>, <<rsl_pdch_act_ack>>, <<rsl_pdch_act_nack>> - -[[pdch_deact]] -===== PDCH Deactivate - -This procedure is used by the BSC to request the BTS to deactivate an -active PDCH on any an IPA style dynamic TCH/F+PDCH channel. - -The operation is not supported on any other physical channel type. - -See <<rsl_pdch_deact>>, <<rsl_pdch_deact_ack>>, <<rsl_pdch_deact_nack>> - -===== IPA Style Dynamic Switchover Example - -.Part 1: example for dynamic channel switchover, for IPA style dynamic timeslots -["mscgen"] ----- -include::dyn_ts_ipa_style1.msc[] ----- - -.Part 2: example for dynamic channel switchover, for IPA style dynamic timeslots -["mscgen"] ----- -include::dyn_ts_ipa_style2.msc[] ----- - - -[[OSMOCOM_DYN_TS]] -==== Osmocom Style Dynamic Channels - -This method is in use when OML uses -'NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH' (0x90) for the given time-slot. - -The activation of PDCH is performed by using the regular 'RSL CHANNEL ACTIVATE' -procedure according to <<CHANNEL_ACTIVATION>>, with these modifications: - -* The 'C-bits' part of the 'Channel Number' IE take the non-standard binary - value 11000 (C5 thru C1 as seen in 3GPP TS 08.58 § 9.3.1). -* The 'A-bits' part of the 'Activation Type' IE take the non-standard binary - value 1111, with an additional fourth bit (add A4 to A3 thru A1 as seen in - 3GPP TS 08.58 § 9.3.3; all remaining reserved bits as well as the 'R' bit are - coded as zero). -* The normally mandatory 'Channel Mode' IE is omitted; none of the optional IEs - are included. - -Hence the message consists of exactly these IEs: - -.PDCH type _Channel Activation_ message IEs -[options="header",cols="10%,30%,60%"] -|=== -| TS 08.58 § | IE Name | Handling -| 9.1 | Message discriminator | Dedicated Channel Management -| 9.2 | Message type | CHANnel ACTIVation -| 9.3.1 | Channel number | 'C-bits' 11000, plus TS bits as usual -| 9.3.3 | Activation type | 'A-bits' 1111 -|=== - -===== Osmocom Style Dynamic Switchover Example - -.Part 1: example for dynamic channel switchover, for Osmocom style dynamic timeslots -["mscgen"] ----- -include::dyn_ts_osmocom_style1.msc[] ----- - -.Part 2: example for dynamic channel switchover, for Osmocom style dynamic timeslots -["mscgen"] ----- -include::dyn_ts_osmocom_style2.msc[] ----- - -=== Message Formats and Contents - -[[rsl_crcx_msg]] -==== Create Connection (CRCX) - -This message is sent by the BSC to the BTS to request the -creation of a user-plane RTP connection for the specified *Channel -number*. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Destination IP Address | <<RSL_IE_IPAC_REMOTE_IP>> | O | TV | 5 -| Destination IP Port | <<RSL_IE_IPAC_REMOTE_PORT>> | O | TV | 3 -| IP Speech Mode | <<RSL_IE_IPAC_SPEECH_MODE>> | O | TV | 2 -| RTP Payload Type 2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> | O | TV | 2 -|=== - -[[rsl_crcx_msg_ack]] -==== Create Connection (CRCX) ACK - -This message is sent by the BTS to the BSC to acknowledge the -successful outcome of creating a user-plane RTP connection. It is sent -in response to the *Create Connection (CRCX)*. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | M | TV | 3 -| Source IP Address | <<RSL_IE_IPAC_LOCAL_IP>> | O | TV | 5 -| Source IP Port | <<RSL_IE_IPAC_LOCAL_PORT>> | O | TV | 3 -| RTP Payload Type 2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> | O | TV | 2 -|=== - -[[rsl_crcx_msg_nack]] -==== Create Connection (CRCX) NACK - -This message is sent by the BTS to the BSC to signal the -unsuccessful outcome of creating a user-plane RTP connection. It is -sent in response to the *Create Connection (CRCX)*. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Destination IP Address | <<RSL_IE_IPAC_REMOTE_IP>> | O | TV | 5 -| Destination IP Port | <<RSL_IE_IPAC_REMOTE_PORT>> | O | TV | 3 -| Cause | 08.58 9.3.26 | O | TLV | >= 3 -|=== - - -[[rsl_mdcx_msg]] -==== Modify Connection (MDCX) - -This message is sent by the BSC to the BTS to modify the -properties of a user-plane RTP connection. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 -| Destination IP Address | <<RSL_IE_IPAC_REMOTE_IP>> | O | TV | 5 -| Destination IP Port | <<RSL_IE_IPAC_REMOTE_PORT>> | O | TV | 3 -| IP Speech Mode | <<RSL_IE_IPAC_SPEECH_MODE>> | O | TV | 2 -| RTP Payload Type 2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> | O | TV | 2 -|=== - -[[rsl_mdcx_msg_ack]] -==== Modify Connection (MDCX) ACK - -This message is sent by the BTS to the BSC to acknowledge the -successful modification of a user-plane RTP connection. It is sent in -response to a *Modify Connection (MDCX)* - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 -| Source IP Address | <<RSL_IE_IPAC_LOCAL_IP>> | C | TV | 5 -| Source IP Port | <<RSL_IE_IPAC_LOCAL_PORT>> | C | TV | 3 -| RTP Payload Type 2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> | O | TV | 2 -|=== - -[[rsl_mdcx_msg_nack]] -==== Modify Connection (MDCX) NACK - -This message is sent by the BTS to the BSC to signal the -unsuccessful outcome of modifying the user-plane RTP connection for the -specified Channel number. It is sent in response to the *Modify -Connection (MDCX)*. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 -|=== - -[[rsl_dlcx_ind_msg]] -==== Delete Connection (DLCX) Indication - -This message is sent by the BTS to indicate the automatic -deletion of a BTS-local UDP connection for user-plane RTP traffic at the -time of RF Channel release. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | M | TV | 3 -| Connection Id | <<RSL_IE_IPAC_CONN_STAT>> | M | TV | 3 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 -|=== - -[[rsl_dlcx_msg]] -==== Delete Connection (DLCX) - -This message is sent by the BSC to the BTS to request the -disconnection of a user-plane RTP connection for the specified Channel -number. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 -|=== - -[[rsl_dlcx_msg_ack]] -==== Delete Connection (DLCX) ACK - -This message is sent by the BTS to signal the successful -outcome of deleting the user-plane RTP connection for the specified -Channel number. It is sent in response to the *Delete Connection -(DLCX)*. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 -| Connection Statistics | <<RSL_IE_IPAC_CONN_STAT>> | C | TV | 29 -|=== - -[[rsl_dlcx_msg_nack]] -==== Delete Connection (DLCX) NACK - -This message is sent by the BTS to signal the unsuccessful -outcome of deleting the user-plane RTP connection for the specified -Channel number. It is sent in response to the *Delete Connection -(DLCX)*. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 -|=== - -[[rsl_pdch_act]] -==== PDCH Activate - -This message is sent by the BSC to request the activation of a PDCH on -a IPA style dynamic TCH/F+PDCH channel. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -|=== - -NOTE:: This message is *not* used by Osmocom style dynamic channels - -[[rsl_pdch_act_ack]] -==== PDCH Activate ACK - -This message is sent by the BTS to confirm the successful activation -of a PDCH on a IPA style dynamic TCH/F+PDCH channel. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Frame Number | 08.58 9.3.8 | O | TV | 3 -|=== - -NOTE:: This message is *not* used by Osmocom style dynamic channels - -[[rsl_pdch_act_nack]] -==== PDCH Activate NACK - -This message is sent by the BTS to reject the successful activation -of a PDCH on a IPA style dynamic TCH/F+PDCH channel. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 -|=== - -NOTE:: This message is *not* used by Osmocom style dynamic channels - -[[rsl_pdch_deact]] -==== PDCH Deactivate - -This message is sent by the BSC to request the deactivation of a PDCH -on a IPA style dynamic TCH/F+PDCH channel. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -|=== - -NOTE:: This message is *not* used by Osmocom style dynamic channels - -[[rsl_pdch_deact_ack]] -==== PDCH Deactivate ACK - -This message is sent by the BTS to confirm the successful deactivation -of a PDCH on a IPA style dynamic TCH/F+PDCH channel. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -|=== - -NOTE:: This message is *not* used by Osmocom style dynamic channels - -[[rsl_pdch_deact_nack]] -==== PDCH Deactivate NACK - -This message is sent by the BTS to reject the deactivation of a PDCH -on a IPA style dynamic TCH/F+PDCH channel. - -[options="header"] -[cols="30%,25%,15%,15%,15%"] -|=== -| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH -| Message discriminator | 08.58 9.1 | M | V | 1 -| Message type | <<own_msg_types>> | M | V | 1 -| Channel number | 08.58 9.3.1 | M | TV | 2 -| Cause | 08.58 9.3.26 | M | TLV | >= 3 -|=== - -NOTE:: This message is *not* used by Osmocom style dynamic channels - -=== Information Element Codings - -[[own_msg_types]] -==== A-bis/IP specific RSL Message discriminators - -The following message discriminators are used in addition to those -indicated in 3GPP TS 08.58 Section 9.1: - -.OsmoBTS specific new message discriminators -[options="header",cols="10%,50%,40%"] -|=== -| Message Type | Message | This document § -| 0x70 | Create Connection (CRCX) | <<rsl_crcx_msg>> -| 0x71 | Create Connection (CRCX) ACK | <<rsl_crcx_msg_ack>> -| 0x72 | Create Connection (CRCX) NACK | <<rsl_crcx_msg_nack>> -| 0x73 | Modify Connection (MDCX) | <<rsl_mdcx_msg>> -| 0x74 | Modify Connection (MDCX) ACK | <<rsl_mdcx_msg_ack>> -| 0x75 | Modify Connection (MDCX) NACK | <<rsl_mdcx_msg_nack>> -| 0x76 | Delete Connection (DLCX) Indication | <<rsl_dlcx_ind_msg>> -| 0x77 | Delete Connection (DLCX) | <<rsl_dlcx_msg>> -| 0x78 | Delete Connection (DLCX) ACK | <<rsl_dlcx_msg_ack>> -| 0x79 | Delete Connection (DLCX) NACK | <<rsl_dlcx_msg_nack>> -| 0x48 | PDCH Activate | <<rsl_pdch_act>> -| 0x49 | PDCH Activate ACK | <<rsl_pdch_act_ack>> -| 0x4a | PDCH Activate NACK | <<rsl_pdch_act_nack>> -| 0x4b | PDCH Deactivate | <<rsl_pdch_deact>> -| 0x4c | PDCH Deactivate ACK | <<rsl_pdch_deact_ack>> -| 0x4d | PDCH Deactivate NACK | <<rsl_pdch_deact_nack>> -|=== - -==== A-bis/IP specific RSL IEIs - -The following Information Element Identifiers (IEIs) are used in -addition to those indicated in 3GPP TS 08.58 Section 9.3: - -.A-bis/IP specific information elements -[options="header",cols="10%,50%,40%"] -|=== -| IEI | Name | This document § -| 0x01 | RSL_IE_CHAN_NR | <<RSL_IE_CHAN_NR>> -| 0xf0 | RSL_IE_IPAC_REMOTE_IP | <<RSL_IE_IPAC_REMOTE_IP>> -| 0xf1 | RSL_IE_IPAC_REMOTE_PORT | <<RSL_IE_IPAC_REMOTE_PORT>> -| 0xf3 | RSL_IE_IPAC_LOCAL_PORT | <<RSL_IE_IPAC_LOCAL_PORT>> -| 0xf4 | RSL_IE_IPAC_SPEECH_MODE | <<RSL_IE_IPAC_SPEECH_MODE>> -| 0xf5 | RSL_IE_IPAC_LOCAL_IP | <<RSL_IE_IPAC_LOCAL_IP>> -| 0xf6 | RSL_IE_IPAC_CONN_STAT | <<RSL_IE_IPAC_CONN_STAT>> -| 0xf8 | RSL_IE_IPAC_CONN_ID | <<RSL_IE_IPAC_CONN_ID>> -| 0xfc | RSL_IE_IPAC_RTP_PAYLOAD2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> -|=== - -[[RSL_IE_CHAN_NR]] -==== RSL_IE_CHAN_NR - -This information element is coded like 3GPP TS 08.58 Section 9.3.1, -but in addition supports the following extended coding: - -* C5..C1 bits 0b11000 for PDCH type channels - -The TN-Bits are not re-defined in this case but use the same encoding -as specified in TS 08.58 Section 9.3.1. - -NOTE:: The above extension is only valid on an Osmocom-style dynamic -channel, having configured the 'NM_CHANC_IPAC_TCHFull_PDCH' channel -combination by OML. - -[[RSL_IE_IPAC_REMOTE_IP]] -==== RSL_IE_IPAC_REMOTE_IP - -This information element contains the remote (MGW side) IPv4 address in -network byte order. It is encoded as fixed-size element with one byte -IEI followed by four bytes IPv4 address. - -[[RSL_IE_IPAC_REMOTE_PORT]] -==== RSL_IE_IPAC_REMOTE_PORT - -This information element contains the remote (MGW side) UDP port in -network byte order. It is encoded as fixed-size element with one byte -IEI followed by two bytes UDP port number. - -[[RSL_IE_IPAC_LOCAL_PORT]] -==== RSL_IE_IPAC_LOCAL_PORT - -This information element contains the local (BTS side) IPv4 address in -network byte order. It is encoded as fixed-size element with one byte -IEI followed by two bytes UDP port number. - -[[RSL_IE_IPAC_SPEECH_MODE]] -==== RSL_IE_IPAC_SPEECH_MODE - -This information element encodes the speech mode. It is set according -to the voice codec used on the connection. It is encoded as a fixed-size -element of two bytes, with one byte IEI followed by one byte Speech mode -indicator. - -.A-bis/IP Speech Mode Indicator Values -[options="header",width="40%",cols="20%,80%"] -|=== -| Value | Description -| 0x00 | TCH/F with FR codec -| 0x01 | TCH/F with EFR codec -| 0x02 | TCH/F with AMR codec -| 0x03 | TCH/H with HR codec -| 0x05 | TCH/H with AMR codec -|=== - -[[RSL_IE_IPAC_LOCAL_IP]] -==== RSL_IE_IPAC_LOCAL_IP - -This information element contains the local (BTS side) IPv4 address in -network byte order. It is encoded as fixed-size element with one byte -IEI followed by four bytes IPv4 address. - -[[RSL_IE_IPAC_CONN_STAT]] -==== RSL_IE_IPAC_CONN_STAT - -This information element contains statistics about the RTP connection. - -It is encoded as 29 bytes, with the first byte as IEI and 28 bytes -fixed-length payload encoded as follows: - -.A-bis/IP Connection Statistics -[options="header",width="60%",cols="15%,15%,70%"] -|=== -| Offset | Size | Description -| 0 | 4 | Total number of RTP packets sent -| 4 | 4 | Total number of octets sent -| 8 | 4 | Total number of RTP packets received -| 12 | 4 | Total number of octets received -| 16 | 4 | Total number of lost packets in Rx direction -| 20 | 4 | Inter-arrival Jitter -| 24 | 4 | Average transmission delay -|=== - -All the above values are encoded in network byte order. - -A detailed definition of the individual values is given in RFC 1889. - -[[RSL_IE_IPAC_CONN_ID]] -==== RSL_IE_IPAC_CONN_ID - -This IE is a TV with a value length of two bytes. The value is a 16 bit -connection ID in network byte order. - - -[[RSL_IE_IPAC_RTP_PAYLOAD2]] -==== RSL_IE_IPAC_RTP_PAYLOAD2 - -This information element contains the RTP payload identifier, which is -used in the PT (Payload Type) field of the RTP header in subsequent -transmissions of the RTP flow. - -=== A-bis RSL Initialization / BTS bring-up - -Upon receiving the 'IPA RSL CONNECT' OML message by the respective -'Baseband Transceiver' MO, the BTS proceeds with establishing a separate -TCP connection for the given TRX. - -[[rsl-msc-pri]] -.A-bis RSL BTS bring-up for primary TRX -["mscgen"] ----- -include::rsl-startup-pri.msc[] ----- - -[[rsl-msc-sec]] -.A-bis RSL BTS bring-up for secondary TRXs -["mscgen"] ----- -include::rsl-startup-sec.msc[] ----- - -The initialization of the primary and secondary TRX slightly differ, as -illustrated by the differences of <<rsl-msc-pri>> and <<rsl-msc-sec>>. -Since the secondary TRX has no BCCH, it does not (need to) receive any 'RSL -BCCH INFORMATION' messages from the BSC. - diff --git a/OsmoBTS/abis/rtp.adoc b/OsmoBTS/abis/rtp.adoc deleted file mode 100644 index dde5651..0000000 --- a/OsmoBTS/abis/rtp.adoc +++ /dev/null @@ -1,33 +0,0 @@ -== User-Plane Traffic via RTP - -RTP (Realtime Transfer Protocol) is a protocol for streaming audio -and video data. It is specified by IETF RFC 1889. - -OsmoBTS A-bis/IP implements RTP as transport medium for circuit-switched -user-plane traffic, contrary to the E1 sub-slot based transport -specified in 3GPP TS 08.60. - -The RTP transport endpoint parameters are configured using the RSL User -Plane Transport Management procedures described in <<user_plane_txp_mgmt>>. - -RTCP is implemented in addition to RTP, on a UDP port number of the RTP -port incremented by one. - -=== RTP Payload Formats - -The RTP payload format depends on the voice codec used on the radio -channel. The OsmoBTS is simply passing the GSM speech frames between -the Um radio interface channels and the RTP payload (and vice-versa). - -No transcoding function is implemented in the BTS! - -.RTP Payload formats -[options="header",width="60%",cols="15%,15%,70%"] -|=== -| TCH | Codec | RTP payload format specification -| TCH/F | FR | IETF RFC 3551 Section 4.5.8 -| TCH/F | EFR | IETF RFC 3551 Section 4.5.9 -| TCH/F | AMR | IETF RFC 4867 -| TCH/H | HR | IETF RFC 5993 -| TCH/H | AMR | IETF RFC 4867 -|=== |