diff options
Diffstat (limited to 'doc/manuals/gb')
-rw-r--r-- | doc/manuals/gb/bssgp.adoc | 501 | ||||
-rw-r--r-- | doc/manuals/gb/gb-startup.msc | 27 | ||||
-rw-r--r-- | doc/manuals/gb/ns.adoc | 227 |
3 files changed, 755 insertions, 0 deletions
diff --git a/doc/manuals/gb/bssgp.adoc b/doc/manuals/gb/bssgp.adoc new file mode 100644 index 00000000..18f1842d --- /dev/null +++ b/doc/manuals/gb/bssgp.adoc @@ -0,0 +1,501 @@ +[[bssgp]] +== BSS GPRS Protocol (BSSGP) + +=== List of Messages + +The following tables list the BSSGP messages used by OsmoPCU, grouped +by their level of compliance with 3GPP TS 08.18. + +==== Messages Compliant With TS 08.18 + +.Messages compliant with TS 08.18 +[options="header",cols="10%,10%,20%,35%,5%,20%"] +|=== +| TS 08.18 § | type code (hex) | This document § | Message | <-/-> | Received/Sent by OsmoPCU +6+<| *RL and BSSGP SAP Messages:* +| 10.2.1 | 0x00 | <<dl_unit_data>> | DL-UNITDATA | <- | Received +| 10.2.2 | 0x01 | <<ul_unit_data>> | UL-UNITDATA | -> | Sent +| 10.2.3 | 0x02 | <<ra_capab>> | RA-CAPABILITY | <- | Received +6+<| *GMM SAP Messages:* +| 10.3.1 | 0x06 | <<paging_ps>> | PAGING PS | <- | Received +| 10.3.2 | 0x07 | <<paging_cs>> | PAGING CS | <- | Received +| 10.3.7 | 0x0c | <<susp_ack>> | SUSPEND-ACK | <- | Received +| 10.3.8 | 0x0d | <<susp_nack>> | SUSPEND-NACK | <- | Received +| 10.3.10 | 0x0f | <<res_ack>> | RESUME-ACK | <- | Received +| 10.3.11 | 0x10 | <<res_nack>> | RESUME-NACK | <- | Received +6+<| *NM SAP Messages:* +| 10.4.9 | 0x21 | <<block_ack>> | BVC-BLOCK-ACK | <- | Received +| 10.4.12 | 0x22 | <<bvc_reset>> | BVC-RESET | <-/-> | Received/Sent +| 10.4.13 | 0x23 | <<reset_ack>> | BVC-RESET-ACK | <- | Received +| 10.4.10 | 0x24 | <<bvc_unblock>> | BVC-UNBLOCK | -> | Sent +| 10.4.11 | 0x25 | <<unblock_ack>> | BVC-UNBLOCK-ACK | <- | Received +| 10.4.4 | 0x26 | <<flow_bvc>> | FLOW-CONTROL-BVC | -> | Sent +| 10.4.5 | 0x27 | <<flow_bvc_ack>> | FLOW-CONTROL-BVC-ACK | <- | Received +| 10.4.7 | 0x29 | <<flow_ms_ack>> | FLOW-CONTROL-MS-ACK | <- | Received +| 10.4.1 | 0x2a | <<flush_ll>> | FLUSH-LL | <- | Received +| 10.4.15 | 0x40 | <<invoke_trace>> | SGSN-INVOKE-TRACE | <- | Received +| 10.4.14 | 0x41 | <<bssgp_status>> | STATUS | <-/-> | Received/Sent +|=== + +==== Messages Specific to OsmoPCU + +There are no OsmoPCU specific BSSGP messages. + +[[not_impl]] +==== Messages Not Implemented by OsmoPCU + +.3GPP TS 08.18 messages not implemented by OsmoPCU +[options="header",cols="10%,10%,80%"] +|=== +| TS 08.18 § | type code (hex) | Message +3+<| *RL (relay) and BSSGP SAP Messages:* +| 10.2.4 | 0x03 | PTM-UNITDATA +3+<| *GMM (GPRS mobility management) SAP Messages:* +| 10.3.3 | 0x08 | RA-CAPABILITY-UPDATE +| 10.3.4 | 0x09 | RA-CAPABILITY-UPDATE-ACK +| 10.3.5 | 0x0a | RADIO-STATUS +| 10.3.6 | 0x0b | SUSPEND +| 10.3.9 | 0x0e | RESUME +3+<| *NM (network management) SAP Messages:* +| 10.4.8 | 0x20 | BVC-BLOCK +| 10.4.6 | 0x28 | FLOW-CONTROL-MS +| 10.4.2 | 0x2b | FLUSH-LL-ACK +| 10.4.3 | 0x2c | LLC-DISCARDED +3+<| *PFM (packet flow management) SAP Messages:* +| 10.4.16 | 0x50 | DOWNLOAD-BSS-PFC +| 10.4.17 | 0x51 | CREATE-BSS-PFC +| 10.4.18 | 0x52 | CREATE-BSS-PFC-ACK +| 10.4.19 | 0x53 | CREATE-BSS-PFC-NACK +| 10.4.20 | 0x54 | MODIFY-BSS-PFC +| 10.4.21 | 0x55 | MODIFY-BSS-PFC-ACK +| 10.4.22 | 0x56 | DELETE-BSS-PFC +| 10.4.23 | 0x57 | DELETE-BSS-PFC-ACK +|=== + + +=== Details on Compliant BSSGP Messages + +[[dl_unit_data]] +==== DL-UNITDATA + +This message conforms to 3GPP TS 08.18 § 10.2.1, with the following +limitations: + +* OsmoPCU does not support QoS +* all optional IEs except for IMSI and old TLLI are ignored. + +._DL-UNITDATA_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.18 § | IE Name | Handling +| 11.3.28 | QoS Profile | _ignored_ +| 11.3.22 | MS Radio Access Capability | _ignored_ +| 11.3.27 | Priority | _ignored_ +| 11.3.11 | DRX Parameters | _ignored_ +| 1.3.42 | PFI | _ignored_ +| 11.3.19 | LSA Information | _ignored_ +| 11.3.47 | Service UTRAN CCO | _ignored_ +|=== + +[[ul_unit_data]] +==== UL-UNITDATA + +This message conforms to 3GPP TS 08.18 § 10.2.2, with the following limitations: + +* OsmoPCU does not send optional IEs - PFI (§ 12.3.42) and LSA + Identifier List (§ 11.3.18). +* QoS Profile (§ 11.3.28) IE is always set to 0x04. + +[[ra_capab]] +==== RA-CAPABILITY + +This message is received and logged but ignored by OsmoPCU at the moment. + +[[paging_ps]] +==== PAGING PS + +This message conforms to 3GPP TS 08.18 § 10.3.1, with the following +limitations: + +* only IMSI and P-TMSI are parsed by OsmoPCU. + +._DL-UNITDATA_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.18 § | IE Name | Handling +| 11.3.11 | DRX Parameters | _ignored_ +| 11.3.6 | BVCI | _ignored_ +| 11.3.17 | Location Are | _ignored_ +| 11.3.31 | Routeing Area | _ignored_ +| 11.3.3 | BSS Area Indication | _ignored_ +| 11.3.42 | PFI | _ignored_ +| 11.3.43 | ABQP | _ignored_ +| 11.3.28 | QoS Profile | _ignored_ +| 11.3.36 | P-TMSI | treated as mandatory (in case of absence paging with 0-length P-TMSI will be sent) +|=== + + +[[paging_cs]] +==== PAGING CS + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[susp_ack]] +==== SUSPEND-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[susp_nack]] +==== SUSPEND-NACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[res_ack]] +==== RESUME-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[res_nack]] +==== RESUME-NACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[block_ack]] +==== BVC-BLOCK-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[bvc_reset]] +==== BVC-RESET + +OsmoPCU never transmits optional Feature bitmap (3GPP TS 08.18 § +11.3.40) IE. + +Receiving BVC RESET will cause OsmoPCU to respond with "Unknown BVCI" +status message. + +[[reset_ack]] +==== BVC-RESET-ACK + +This message conforms to 3GPP TS 08.18 § 10.4.13. + +After receiving it OsmoPCU completes the RESET procedure for BVC +according to 3GPP TS 08.18 § 8.4. + +[[unblock_ack]] +==== BVC-UNBLOCK-ACK + +This message conforms to 3GPP TS 08.18 § 10.4.11. + +After receiving it OsmoPCU completes the RESET procedure for BVC +according to 3GPP TS 08.18 § 8.3. + +[[bvc_unblock]] +==== BVC-UNBLOCK + +This message conforms to 3GPP TS 08.18 § 10.4.10 and is send by +OsmoPCU as part of UNBLOCK procedure described in 3GPP TS 08.18 § 8.3. + +[[flow_ms_ack]] +==== FLOW-CONTROL-MS-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[flow_bvc_ack]] +==== FLOW-CONTROL-BVC-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[flow_bvc]] +==== FLOW-CONTROL-BVC + +This message conforms to 3GPP TS 08.18 § 10.4.4, with the following +limitations: + +* OsmoPCU does not support Current Bucket Level (CBL) feature so + Bucket_Full Ratio (TS 08.18 § 11.3.46) IE is not transmitted as part + of this message. + +[[flush_ll]] +==== FLUSH-LL + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[invoke_trace]] +==== SGSN-INVOKE-TRACE + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[bssgp_status]] +==== STATUS + +This message conforms to 3GPP TS 08.18 § 10.4.14. + +=== Information Elements Overview + +All of the IEs handled by OsmoPCU are listed below, with limitations +and additions to 3GPP TS 08.18 specified in more detail. + +==== IEs Conforming to 3GPP TS 08.18 + +The following Information Elements are accepted by OsmoPCU. Not all +IEs are actually evaluated. + +.IEs conforming to 3GPP TS 08.18 +[options="header",cols="5%,10%,40%,5%,40%"] +|=== +| tag (hex) | TS 08.18 § | IE name | <-/-> | Received/Sent by OsmoPCU +| 0x00 | 11.3.1 | Alignment Octets | <-/-> | Received/Sent +| 0x01 | 11.3.2 | Bmax default MS | -> | Sent +| 0x02 | 11.3.3 | BSS Area Indication | <- | Received +| 0x03 | 11.3.4 | Bucket Leak Rate | -> | Sent +| 0x04 | 11.3.6 | BVCI | <-/-> | Received/Sent +| 0x05 | 11.3.5 | BVC Bucket Size | -> | Sent +| 0x06 | 11.3.7 | BVC Measurement | -> | Sent +| 0x07 | 11.3.8 | Cause | <-/-> | Received/Sent +| 0x08 | 11.3.9 | Cell Identifier | -> | Sent +| 0x09 | 11.3.10 | Channel needed | <- | Received +| 0x0a | 11.3.11 | DRX Parameters | <- | Received +| 0x0b | 11.3.12 | eMLPP-Priority | <- | Received +| 0x0c | 11.3.13 | Flush Action | <- | Received +| 0x0d | 11.3.14 | IMSI | <-/-> | Received/Sent +| 0x0e | 11.3.15 | LLC-PDU | <-/-> | Received/Sent +| 0x0f | 11.3.16 | LLC Frames Discarded | -> | Sent +| 0x10 | 11.3.17 | Location Area | <- | Received +| 0x11 | 11.3.20 | Mobile Id | <- | Received +| 0x12 | 11.3.21 | MS Bucket Size | -> | Sent +| 0x13 | 11.3.22 | MS Radio Access Capability | <- | Received +| 0x14 | 11.3.23 | OMC Id | <- | Received +| 0x15 | 11.3.24 | PDU In Error | <-/-> | Received/Sent +| 0x16 | 11.3.25 | PDU Lifetime | <- | Received +| 0x17 | 11.3.27 | Priority | <- | Received +| 0x19 | 11.3.29 | Radio Cause | -> | Sent +| 0x1a | 11.3.30 | RA-Cap-UPD-Cause | -> | Sent +| 0x1b | 11.3.31 | Routeing Area | <-/-> | Received/Sent +| 0x1c | 11.3.32 | R_default_MS | -> | Sent +| 0x1d | 11.3.33 | Suspend Reference Number | <-/-> | Received/Sent +| 0x1e | 11.3.34 | Tag | <-/-> | Received/Sent +| 0x1f | 11.3.35 | TLLI | <-/-> | Received/Sent +| 0x20 | 11.3.36 | TMSI | <-/-> | Received/Sent +| 0x21 | 11.3.37 | Trace Reference | <- | Received +| 0x22 | 11.3.38 | Trace Type | <- | Received +| 0x23 | 11.3.39 | TransactionId | <- | Received +| 0x24 | 11.3.40 | Trigger Id | <- | Received +| 0x25 | 11.3.41 | Number of octets affected | -> | Sent +| 0x26 | 11.3.18 | LSA Identifier List | -> | Sent +| 0x27 | 11.3.19 | LSA Information | <- | Received +| 0x28 | 11.3.42 | Packet Flow Identifier | <-/-> | Received/Sent +| 0x3a | 11.3.43 | Aggregate BSS QoS Profile (ABQP) | <-/-> | Received/Sent +| 0x3b | 11.3.45 | Feature Bitmap | <-/-> | Received/Sent +| 0x3c | 11.3.46 | Bucket_Full Ratio | -> | Sent +| 0x3d | 11.3.47 | Service UTRAN CCO (Cell Change Order) | <- | Received +|=== + +==== IEs Not Conforming to 3GPP TS 08.18 + +.IEs not conforming to 3GPP TS 08.18 +[options="header",cols="5%,10%,30%,55%"] +|=== +| tag (hex) | TS 08.18 § | IE name | Description +| 0x18 | 11.3.28 | QoS Profile | Received value is ignored. Sent value is hard-coded to 0x4 (3 octets). +|=== + +==== Additional Attributes and Parameters + +There are no OsmoPCU specific additional Attributes and Parameters. + +=== Details on IEs + +==== BSS Area Indication + +This IE is ignored by OsmoPCU. + +==== Bucket Leak Rate + +The value used by OsmoPCU for this IE can be set through configuration +file or vty via "flow-control force-ms-leak-rate <1-6553500>" command. + +==== BVC Bucket Size + +The value used by OsmoPCU for this IE can be set through configuration file or vty via +"flow-control force-bvc-bucket-size <1-6553500>" command. + +==== Channel needed + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<paging_cs>> for details. + +==== DRX Parameters + +This IE is ignored by OsmoPCU. + +==== eMLPP-Priority + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<paging_cs>> for details. + +==== Flush Action + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<flush_ll>> for details. + +==== LLC Frames Discarded + +This IE is not available because entire message which contains it +(LLC-DISCARDED) is not implemented by OsmoPCU - see for <<not_impl>> +details. + +==== Location Area + +This IE is ignored by OsmoPCU. + +==== Mobile Id + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== MS Bucket Size + +The value used by OsmoPCU for this IE can be set through configuration +file or vty via "flow-control force-ms-bucket-size <1-6553500>" +command. + +==== MS Radio Access Capability + +This IE is ignored by OsmoPCU. + +==== OMC Id + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== Priority + +This IE is ignored by OsmoPCU. + +==== QoS Profile + +No QoS is supported by OsmoPCU so this IE is ignored or safe default +used when mandatory. + +==== Radio Cause + +This IE is not available because entire message which contains it +(RADIO-STATUS) is not implemented by OsmoPCU - see for <<not_impl>> +details. + +==== RA-Cap-UPD-Cause + +This IE is not available because entire message which contains it +(RA-CAPABILITY-UPDATE-ACK) is not implemented by OsmoPCU - see for +<<not_impl>> details. + +==== Routeing Area + +This IE is ignored by OsmoPCU upon receiving. + +The messages which might require this IE to be send are not +implemented by OsmoPCU - see for <<not_impl>> details. + +==== Suspend Reference Number + +This IE is ignored by OsmoPCU upon receiving. + +The messages which might require this IE to be send are not +implemented by OsmoPCU - see for <<not_impl>> details. + +==== Tag + +This IE currently only used by OsmoPCU for Flow Control procedure (TS +08.18 § 8.2). In other cases it's either ignored or unavailable. + +==== Trace Reference + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== Trace Type + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== TransactionId + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== Trigger Id + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== Number of octets affected + +This IE is not available because the messages which contains it +(FLUSH-LL-ACK and LLC-DISCARDE) are not implemented by OsmoPCU - see +for <<not_impl>> details. + +==== LSA Information + +This IE is ignored by OsmoPCU. + +==== LSA Identifier List + +This IE is not implemented by OsmoPCU. + +==== Packet Flow Identifier + +This IE is ignored by OsmoPCU upon receiving. + +The messages which might require this IE to be send are not +implemented by OsmoPCU - see for <<not_impl>> details. + +==== Aggregate BSS QoS Profile (ABQP) + +This IE is ignored by OsmoPCU upon receiving. + +The messages which might require this IE to be send are not +implemented by OsmoPCU - see for <<not_impl>> details. + +==== Feature Bitmap + +This IE is not implemented by OsmoPCU. + +This IE is ignored by OsmoPCU when received. + +Absence of Feature Bitmap automatically disables optional features for +Network Service Entity (NSE) communicating with OsmoPCU. + +==== Bucket_Full Ratio + +This IE is not implemented by OsmoPCU. + +==== Service UTRAN CCO (Cell Change Order) + +This IE is ignored by OsmoPCU. + +=== Gb BSSGP Initialization / PCU bring-up + +The BSSGP initialization directly follows NS connection establishment +described in <<ns_init>>. + +OsmoPCU allocates a BVC context for the BVCI given by OsmoBTS, which +in turn receives it from OsmoBSC or OsmoNITB via OML procedures. + +In addition to the BVCI identifying the OsmoPCU side of BSSGP +connection, there is also special BVCI which is accepted by OsmoPCU in +accordance with 3GPP TS 08.18 § 5.4.1: BVCI = 0 represents signaling data +between SGSN and PCU in contrast to PTP (Peer-To-Peer) user's data. + +The mapping between BSSGP PDUs and signaling or PTP BVCIs is available +in 3GPP TS 08.18 Table 5.4. diff --git a/doc/manuals/gb/gb-startup.msc b/doc/manuals/gb/gb-startup.msc new file mode 100644 index 00000000..d76022a9 --- /dev/null +++ b/doc/manuals/gb/gb-startup.msc @@ -0,0 +1,27 @@ +msc { + hscale="1.2"; + bsc [label="BSC"], bts [label="BTS"], pcu [label="PCU"], sgsn [label="SGSN"]; + + |||; + bts box bsc [label="A-bis OML connection"]; + bsc => bts [label="Set OML Attrbibutes (NSVC,CELL)"]; + bts rbox pcu [label="PCU Unix Domain Socket"]; + pcu => bts [label="connect to PCU socket"]; + pcu <: bts [label="Config. parameters"]; + pcu rbox pcu [label="bind/connect UDP socket"]; + pcu note sgsn [label="NS-over-IP (UDP port 23000)"]; + pcu => sgsn [label="NS RESET"]; + pcu <= sgsn [label="NS RESET ACK"]; + ...; + pcu => sgsn [label="NS UNBLOCK"]; + pcu <= sgsn [label="NS UNBLOCK ACK"]; + pcu box sgsn [label="NS link established"]; + ...; + pcu => sgsn [label="BVC RESET"]; + pcu <= sgsn [label="BVC RESET ACK"]; + ...; + pcu => sgsn [label="BVC UNBLOCK"]; + pcu <= sgsn [label="BVC UNBLOCK ACK"]; + pcu box sgsn [label="BSSGP link established"]; + |||; +} diff --git a/doc/manuals/gb/ns.adoc b/doc/manuals/gb/ns.adoc new file mode 100644 index 00000000..c94e0184 --- /dev/null +++ b/doc/manuals/gb/ns.adoc @@ -0,0 +1,227 @@ +== Network Service (NS) + +=== List of Messages + +The following tables list the NS messages used by OsmoPCU, grouped by their +level of compliance with 3GPP TS 08.16. + +==== Messages Compliant With 3GPP 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 3GPP 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 + +There are no OsmoPCU specific NS messages. + +==== Messages Not Implemented by OsmoPCU + +All the NS protocol messages from 3GPP TS 08.16 are implemented in OsmoPCU. + +=== Details on Compliant NS Messages + +[[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 +implementation 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 + +All of the IEs handled by OsmoPCU are listed below, with limitations and +additions to 3GPP TS 08.16 specified in more detail. + +==== IEs Conforming to 3GPP TS 08.16 + +The following Information Elements are accepted by OsmoPCU. + +.IEs conforming to 3GPP 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 3GPP TS 08.16 + +All IEs defined in 3GPP TS 08.16 § 10.3 are supported by OsmoPCU. + +==== Additional Attributes and Parameters + +There are no OsmoPCU specific additional Attributes and Parameters. + +=== Details on IEs + +[[ie_cause]] +==== Cause + +This IE contains reason for a procedure or error as described in 3GPP TS 08.16 § 10.3.2. + +[[ie_nsvci]] +==== NSVCI + +This IE represents NSVCI identity described in <<ident>> and 3GPP 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 3GPP 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 3GPP TS 08.16 +§ 10.3.1. + +[[ie_nsei]] +==== NSEI + +This IE represents NSEI identity described in <<ident>> and 3GPP TS 08.16 § +10.3.6. + +[[ns_init]] +=== Gb NS Initialization / PCU bring-up + +OsmoPCU binds and connects an UDP socket for NS using port numbers and IP +information given by OsmoBTS via the PCU socket. OsmoBTS in turn +receives this information from the BSC vi A-bis OML. + +Following successful initialization of the UDP socket, the reset +procedure is initiated as described in <<ns_reset>>. |