diff --git a/doc/manuals/gb/bssgp.adoc b/doc/manuals/gb/bssgp.adoc
index 6afd820..bb9da43 100644
--- a/doc/manuals/gb/bssgp.adoc
+++ b/doc/manuals/gb/bssgp.adoc
@@ -3,8 +3,8 @@
 
 === List of Messages
 
-The following tables list the BSSGP messages used by OsmoPCU, grouped by their
-level of compliance with 3GPP TS 08.18.
+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
 
@@ -78,8 +78,11 @@
 [[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.
+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%"]
@@ -98,8 +101,10 @@
 ==== 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.
+
+* 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
@@ -109,8 +114,10 @@
 [[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.
+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%"]
@@ -121,7 +128,7 @@
 | 11.3.17 | Location Are | _ignored_
 | 11.3.31 | Routeing Area | _ignored_
 | 11.3.3 | BSS Area Indication | _ignored_
-| 1.3.42 | PFI | _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)
@@ -131,83 +138,103 @@
 [[paging_cs]]
 ==== PAGING CS
 
-This message is received and logged but ignored by OsmoPCU at the moment.
+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.
+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.
+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.
+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.
+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.
+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.
+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.
+
+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.
+
+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.
+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.
+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.
+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.
+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.
+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.
+This message is received and logged but ignored by OsmoPCU at the
+moment.
 
 [[bssgp_status]]
 ==== STATUS
@@ -216,13 +243,13 @@
 
 === Information Elements Overview
 
-All of the IEs handled by OsmoPCU are listed below, with limitations and
-additions to TS 08.18 specified in more detail.
+All of the IEs handled by OsmoPCU are listed below, with limitations
+and additions to TS 08.18 specified in more detail.
 
 ==== IEs Conforming to TS 08.18
 
-The following Information Elements are accepted by OsmoPCU. Not all IEs are
-actually evaluated.
+The following Information Elements are accepted by OsmoPCU. Not all
+IEs are actually evaluated.
 
 .IEs conforming to TS 08.18
 [options="header",cols="5%,10%,40%,5%,40%"]
@@ -295,8 +322,8 @@
 
 ==== 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.
+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
 
@@ -305,7 +332,8 @@
 
 ==== Channel needed
 
-This IE is ignored because entire message which contains it is ignored by OsmoPCU - see <<paging_cs>> for details.
+This IE is ignored because entire message which contains it is ignored
+by OsmoPCU - see <<paging_cs>> for details.
 
 ==== DRX Parameters
 
@@ -313,16 +341,19 @@
 
 ==== eMLPP-Priority
 
-This IE is ignored because entire message which contains it is ignored by OsmoPCU - see <<paging_cs>> for details.
+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.
+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.
+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
 
@@ -330,12 +361,14 @@
 
 ==== Mobile Id
 
-This IE is ignored because entire message which contains it is ignored by OsmoPCU - see <<invoke_trace>> for details.
+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.
+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
 
@@ -343,7 +376,8 @@
 
 ==== OMC Id
 
-This IE is ignored because entire message which contains it is ignored by OsmoPCU - see <<invoke_trace>> for details.
+This IE is ignored because entire message which contains it is ignored
+by OsmoPCU - see <<invoke_trace>> for details.
 
 ==== Priority
 
@@ -351,52 +385,65 @@
 
 ==== QoS Profile
 
-No QoS is supported by OsmoPCU so this IE is ignored or safe default used when mandatory.
+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.
+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.
+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.
+
+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.
+
+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.
+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.
+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.
+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.
+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.
+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.
+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
 
@@ -409,18 +456,25 @@
 ==== 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.
+
+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.
+
+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.
+
+Absence of Feature Bitmap automatically disables optional features for
+Network Service Entity (NSE) communicating with OsmoPCU.
 
 ==== Bucket_Full Ratio
 
@@ -432,9 +486,16 @@
 
 === Gb BSSGP Initialization / PCU bring-up
 
-The BSSGP initialization directly follows NS connection establishment described in <<ns_init>>.
-OsmoPCU allocates BVC context for BVCI given by OsmoBTS which in turn gets it from OpenBSC.
-In addition to BVCI identifying OsmoPCU side of BSSGP connection there is also special BVCI which is accepted by OsmoPCU
-in accordance with 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 TS 08.18 Table 5.4.
+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 OpenBSC 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 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 TS 08.18 Table 5.4.
diff --git a/doc/manuals/gb/ns.adoc b/doc/manuals/gb/ns.adoc
index c1bbcb7..a63b567 100644
--- a/doc/manuals/gb/ns.adoc
+++ b/doc/manuals/gb/ns.adoc
@@ -40,84 +40,116 @@
 [[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.
+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>>).
+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.
+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.
+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.
+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.
+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.
+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.
+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.
+
+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.
+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.
+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
@@ -163,7 +195,9 @@
 [[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.
+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
@@ -173,16 +207,20 @@
 [[ie_bvci]]
 ==== BVCI
 
-This IE represents BSSGP identity described in <<ident>> and TS 08.16 § 10.3.1.
+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.
+This IE represents NSEI identity described in <<ident>> and TS 08.16 §
+10.3.6.
 
 [[ns_init]]
 === Gb NS Initialization / PCU bring-up
 
-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>>.
+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>>.
