The following rules apply to the receipt and reassembly of segmented Q.931 messages:
a) A reassembly function, on receiving a message segment containing the Segmented message information element with the first segment indicator indicating "first message", and containing the call reference and message type (coded as "segment message") shall enter the Receiving Segmented Message state and accumulate message segments.
b) Timer T314 shall be initialized or re-initialized upon receipt of a message segment containing the Segmented message information element with a non-zero number of segments remaining field. Timer T314 shall be stopped upon receipt of the last segment, i.e. a message segment containing the Segmented message information element with the number of segments remaining field coded zero. Timer T314 shall not be initialized or re-initialized if error procedures as identified in rules below are initiated.
c) A reassembly function receiving a message segment with a Segmented message information element should wait for receipt of the last message segment pertaining to the same message, i.e. containing the Segmented message information element with the number of segments remaining field coded zero before delivering the message for furtherQ.931 processing as specified in 5.8. The reassembly function shall enter the Null state.
d) Upon expiry of timer T314, the reassembly function shall discard all segments of this message so far received;notify the layer 3 management entity for the data link connection that message segments have been lost and enter the Null state.
Note 1 - Subsequent message segments relating to the same message shall be discarded according to rule f).
e) A reassembly function, upon receiving eight message segments of the same segmented message without receiving a message segment with a number of segments remaining field of the Segmented message information element coded zero, shall discard all message segments so far received; notify the layer 3 management entity for the data link connection that messages have been discarded, and enter the Null state.
Note 2 - Subsequent message segments relating to the same message shall be discarded according to rule f).
f) A reassembly function, on receiving a message segment containing a Segmented message information element, but with no call reference or Message type information element, while in the Null state shall discard that message segment and remain in the Null state.
g) A reassembly function, on receiving a message segment containing a Segmented message information element, while in the Receiving Segmented Message state with the number of segments remaining field that is not decremented from the number of segments remaining field in the Segmented message information element of the previous message segment,shall discard all segments of this message so far received, and enter the Null state.
Note 3 - Subsequent message segments relating to the same message shall be discarded according to rule f).
h) If there is a DL-RELEASE indication primitive or DL-ESTABLISH indication primitive received while in the Receiving Segmented Message state, the reassembly function shall discard all received message segments so far received; forward the DL-RELEASE indication primitive or DL-ESTABLISH indication primitive for further Q.931 processing, and enter the Null state.
i) A reassembly function, upon receiving a message segment with the first segment indicator of the Segmented message information element indicating "subsequent", while in the Null state,shall discard that message segment, and remain in the Null state.
j) A receiving entity, on receiving a message with a different call reference while in the Receiving Segmented Message state, shall discard all segments of the segmented message so far received and enter the Null state. The message received with the new call reference shall receive normal processing.
NOTE 4 – Subsequent message segments relating to the same message shall be discarded according to rule f).
Figure H.3/Q.931 – Segmentation functional interaction diagram
Figure H.4/Q.931 – Message segmenter SDL
Figure H.5/Q.931 – Message reassembler SDL (sheet 1 of 3)
Figure H.5/Q.931 – Message reassembler SDL (sheet 2 of 3)
Figure H.5/Q.931 – Message reassembler SDL (sheet 3 of 3)