OsmoPCU: expand NS documentation
Add table with NS messages. Add corresponding sections. Clarify spec numbers.
This commit is contained in:
parent
c182b98998
commit
4e2a1e3e98
|
@ -7,10 +7,24 @@ level of compliance with 3GPP TS 08.16.
|
|||
|
||||
==== Messages Compliant With TS 08.16
|
||||
|
||||
The NS protocol is implemented inside libosmocore so none of the messages below are sent by OsmoPCU explicitly.
|
||||
Instead corresponding functions from libosmocore are called which send and receive messages as necessary. See <<ns_init>> for details
|
||||
on establishing NS connection.
|
||||
|
||||
.Messages compliant with TS 08.16
|
||||
[options="header",cols="10%,10%,20%,35%,5%,20%"]
|
||||
|===
|
||||
| TS 08.16 § | type code (hex) | This document § | Message | <-/-> | Received/Sent by OsmoPCU
|
||||
| 9.2.10 | 0x00 | <<ns_unit_data>> | NS-UNITDATA | <-/-> | Received/Sent
|
||||
| 9.2.5 | 0x02 | <<ns_reset>> | NS-RESET | <-/-> | Received/Sent
|
||||
| 9.2.6 | 0x03 | <<ns_reset_ack>> | NS-RESET-ACK | <-/-> | Received/Sent
|
||||
| 9.2.3 | 0x04 | <<ns_block>> | NS-BLOCK | <-/-> | Received/Sent
|
||||
| 9.2.4 | 0x05 | <<ns_block_ack>> | NS-BLOCK-ACK | <-/-> | Received/Sent
|
||||
| 9.2.8 | 0x06 | <<ns_unblock>> | NS-UNBLOCK | <-/-> | Received/Sent
|
||||
| 9.2.9 | 0x07 | <<ns_unblock_ack>> | NS-UNBLOCK-ACK | <-/-> | Received/Sent
|
||||
| 9.2.7 | 0x08 | <<ns_status>> | NS-STATUS | <-/-> | Received/Sent
|
||||
| 9.2.1 | 0x0a | <<ns_alive>> | NS-ALIVE | <-/-> | Received/Sent
|
||||
| 9.2.2 | 0x0b | <<ns_alive_ack>> | NS-ALIVE-ACK | <-/-> | Received/Sent
|
||||
|===
|
||||
|
||||
==== Messages Specific to OsmoPCU
|
||||
|
@ -19,16 +33,92 @@ There are no OsmoPCU specific NS messages.
|
|||
|
||||
==== Messages Not Implemented by OsmoPCU
|
||||
|
||||
.3GPP TS 08.16 messages not implemented by OsmoPCU
|
||||
[options="header",cols="10%,10%,80%"]
|
||||
|===
|
||||
| TS 08.16 § | type code (hex) | Message
|
||||
|===
|
||||
|
||||
All the NS protocol messages from 3GPP TS 08.16 are implemented in OsmoPCU.
|
||||
|
||||
=== Details on Compliant NS Messages
|
||||
|
||||
FIXME
|
||||
[[ns_unit_data]]
|
||||
==== NS-UNITDATA
|
||||
|
||||
This PDU transfers one NS SDU (specified in 3GPP TS 08.18) between OsmoPCU and SGSN. Upon receiving it OsmoPCU passes it to BSSGP
|
||||
implementaton to handle. It is also sent by BSSGP as necessary - see <<bssgp>> for details.
|
||||
It contains BVCI (<<ie_bvci>>) and NS SDU (<<ie_nssdu>>) IEs.
|
||||
|
||||
[[ns_reset]]
|
||||
==== NS-RESET
|
||||
|
||||
This message is send by OsmoPCU in order to initiate reset procedure described in 3GPP TS 08.16 § 7.3. The expected reply is
|
||||
NS-RESET-ACK (<<ns_reset_ack>>) message. If no expected reply is received in 3 seconds than the sending is retried up to 3 times.
|
||||
When this message is received it is replied with NS-RESET-ACK (<<ns_reset_ack>>).
|
||||
It might be ignored under conditions described in 3GPP TS 08.16 § 7.3.1.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.5 specification.
|
||||
It contains Cause (<<ie_cause>>), NSVCI (<<ie_nsvci>>) and NSEI (<<ie_nsei>>) IEs.
|
||||
|
||||
[[ns_reset_ack]]
|
||||
==== NS-RESET-ACK
|
||||
|
||||
This message is sent as a response to proper NS-RESET (<<ns_reset>>) message initiating reset procedure.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.6 specification.
|
||||
It contains NSVCI (<<ie_nsvci>>) and NSEI (<<ie_nsei>>) IEs.
|
||||
|
||||
[[ns_block]]
|
||||
==== NS-BLOCK
|
||||
|
||||
Upon receiving this message corresponding NS-VC is marked as blocked by OsmoPCU and NS-BLOCK-ACK (<<ns_block_ack>>) reply is
|
||||
transmitted.
|
||||
When this message is sent by OsmoPCU corresponding NS-BLOCK-ACK (<<ns_block_ack>>) reply is expected before NS-VC is actually marked
|
||||
as blocked.
|
||||
This behavior follows the blocking procedure described in 3GPP TS 08.16 § 7.2.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.3 specification.
|
||||
It contains Cause (<<ie_cause>>) and NSVCI (<<ie_nsvci>>) IEs.
|
||||
|
||||
[[ns_block_ack]]
|
||||
==== NS-BLOCK-ACK
|
||||
|
||||
This message is sent by OsmoPCU automatically upon reception of correct NS-BLOCK (<<ns_block>>) message.
|
||||
It is expected as a reply for NS-BLOCK (<<ns_block>>) message sent by OsmoPCU.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.4 specification.
|
||||
It contains NSVCI (<<ie_nsvci>>) IE.
|
||||
|
||||
[[ns_unblock]]
|
||||
==== NS-UNBLOCK
|
||||
|
||||
Upon receiving this message corresponding NS-VC is unblocked by OsmoPCU and NS-UNBLOCK-ACK (<<ns_unblock_ack>>) reply is sent.
|
||||
When this message is sent by OsmoPCU corresponding NS-UNBLOCK-ACK (<<ns_unblock_ack>>) reply is expected before NS-VC is actually
|
||||
marked as unblocked.
|
||||
This behavior follows the blocking procedure described in 3GPP TS 08.16 § 7.2.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.8 specification.
|
||||
|
||||
[[ns_unblock_ack]]
|
||||
==== NS-UNBLOCK-ACK
|
||||
|
||||
Receiving this message notifies OsmoPCU that NS-VC unblocking request is confirmed and thus NS-VC is marked as unblocked.
|
||||
This message is also sent as a reply to NS-UNBLOCK (<<ns_unblock>>) message.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.9 specification.
|
||||
|
||||
[[ns_status]]
|
||||
==== NS-STATUS
|
||||
|
||||
This message is sent to inform other party about error conditions as a response to various unexpected PDUs or PDUs with
|
||||
unexpected/missing data. If this message is received for unknown NS-VC it is ignored in accordance with 3GPP TS
|
||||
08.16 § 7.5.1, otherwise the error cause is logged if present in NS-STATUS.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.7 specification.
|
||||
It contains Cause (<<ie_cause>>) and might (depending on actual error) contain NSVCI (<<ie_nsvci>>), NS PDU (<<ie_nspdu>>) and BVCI (<<ie_bvci>>) IEs.
|
||||
|
||||
[[ns_alive]]
|
||||
==== NS-ALIVE
|
||||
|
||||
This message is sent periodically to test connectivity according to 3GPP TS 08.16 § 4.5.3. The expected response is
|
||||
NS-ALIVE-ACK (<<ns_alive_ack>>). If no such response arrives within given amount of time (3 seconds) than another
|
||||
NS-ALIVE message is sent and failed test attempt is recorded.
|
||||
After 10 failed attempts NS connection is considered dead and OsmoPCU tries to reconnect.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.1 specification.
|
||||
|
||||
[[ns_alive_ack]]
|
||||
==== NS-ALIVE-ACK
|
||||
|
||||
This message is sent automatically in reply to NS-ALIVE (<<ns_alive>>) message.
|
||||
The message conforms to 3GPP TS 08.16 § 9.2.2 specification.
|
||||
|
||||
=== Information Elements Overview
|
||||
|
||||
|
@ -37,22 +127,22 @@ additions to TS 08.16 specified in more detail.
|
|||
|
||||
==== IEs Conforming to TS 08.16
|
||||
|
||||
The following Information Elements are accepted by OsmoPCU. Not all IEs are
|
||||
actually evaluated.
|
||||
The following Information Elements are accepted by OsmoPCU.
|
||||
|
||||
.IEs conforming to TS 08.16
|
||||
[options="header",cols="5%,10%,40%,5%,40%"]
|
||||
|===
|
||||
| tag (hex) | TS 08.16 § | IE name | <-/-> | Received/Sent by OsmoPCU
|
||||
| 0x00 | 10.3.2 | Cause | <-/-> | Received/Sent
|
||||
| 0x01 | 10.3.5 | NSVCI | <-/-> | Received/Sent
|
||||
| 0x02 | 10.3.3 | NS PDU | <-/-> | Received/Sent
|
||||
| 0x03 | 10.3.1 | BVCI | <-/-> | Received/Sent
|
||||
| 0x04 | 10.3.6 | NSEI | <-/-> | Received/Sent
|
||||
|===
|
||||
|
||||
==== IEs Not Conforming to TS 08.16
|
||||
|
||||
.IEs not conforming to TS 08.16
|
||||
[options="header",cols="5%,10%,30%,55%"]
|
||||
|===
|
||||
| tag (hex) | TS 08.16 § | IE name | Description
|
||||
|===
|
||||
All IEs defined in TS 08.16 § 10.3 are supported by OsmoPCU.
|
||||
|
||||
==== Additional Attributes and Parameters
|
||||
|
||||
|
@ -60,8 +150,39 @@ There are no OsmoPCU specific additional Attributes and Parameters.
|
|||
|
||||
=== Details on IEs
|
||||
|
||||
FIXME
|
||||
[[ie_cause]]
|
||||
==== Cause
|
||||
|
||||
This IE contains reason for a procedure or error as described in TS 08.16 § 10.3.2.
|
||||
|
||||
[[ie_nsvci]]
|
||||
==== NSVCI
|
||||
|
||||
This IE represents NSVCI identity described in <<ident>> and TS 08.16 § 10.3.5.
|
||||
|
||||
[[ie_nspdu]]
|
||||
==== NS PDU
|
||||
|
||||
This IE contains PDU (possibly truncated) which cause error described in NS-STATUS message (<<ns_status>>) as described in TS 08.16 § 10.3.3.
|
||||
|
||||
[[ie_nssdu]]
|
||||
==== NS SDU
|
||||
|
||||
This IE contains BSSGP data - see <<bssgp>> for details.
|
||||
|
||||
[[ie_bvci]]
|
||||
==== BVCI
|
||||
|
||||
This IE represents BSSGP identity described in <<ident>> and TS 08.16 § 10.3.1.
|
||||
|
||||
[[ie_nsei]]
|
||||
==== NSEI
|
||||
|
||||
This IE represents NSEI identity described in <<ident>> and TS 08.16 § 10.3.6.
|
||||
|
||||
[[ns_init]]
|
||||
=== Gb NS Initialization / PCU bring-up
|
||||
|
||||
FIXME
|
||||
OsmoPCU create NS listening socket using UDP port given by OsmoBTS via PCU socket. OsmoBTS in turn receive it from BSC.
|
||||
After that OsmoPCU tried to connect to remote NS ip:port over UDP using parameters received from BTS.
|
||||
Following successful connection the reset procedure is initiated as described in <<ns_reset>>.
|
||||
|
|
|
@ -37,6 +37,7 @@ document. For details on the messages and IEs that comply with abovementioned
|
|||
The OsmoPCU Gb interface consists of the NS (Network Services) and
|
||||
BSSGP (Base Station Subsystem Gateway Protocol), encapsulated in UDP
|
||||
(User Datagram Protocol) and IP (Internet Protocol) version 4.
|
||||
Use of other underlying protocols (e. g. FrameRelay) is not supported.
|
||||
|
||||
.UDP port numbers used by OsmoPCU Gb/IP
|
||||
[options="header",width="50%",cols="35%,65%"]
|
||||
|
@ -60,6 +61,7 @@ OsmoBSC or the BSC component inside OsmoNITB.
|
|||
include::gb/gb-startup.msc[]
|
||||
----
|
||||
|
||||
[[ident]]
|
||||
=== Identities
|
||||
|
||||
The Gb interface identities of the PCU are configured via BSC ->
|
||||
|
@ -70,8 +72,8 @@ NSVCI:: NS Virtual Connection Identifier
|
|||
BVCI:: BSSGP Virtual Connection Identifier
|
||||
|
||||
For an explanation of those identifiers and their use in the NS and
|
||||
BSSGP protocols, please see the reelvant 3GPP specifications for NS
|
||||
and BSSGP.
|
||||
BSSGP protocols, please see the reelvant 3GPP specifications for NS (TS 08.16)
|
||||
and BSSGP (TS 08.18).
|
||||
|
||||
In most cases, all above identities belong to different namespaces and
|
||||
must be unique within their respective namespace and within the SGSN
|
||||
|
|
Loading…
Reference in New Issue