QSIG/PSS1 Message Segmentation and Reassembly

Purpose

Message Segmentation and Reassembly procedures are required to support QSIG ISDN messaging. These procedures are implemented on the ISDN Series 3 card.

Message Byte Limits

The existing ISDN software supports messages in length of not greater than 260 bytes. The length of the ISDN messages supporting QSIG exceeds the 260 byte limit. These messages need to be segmented to fit into the 260 byte limit and later reassembled for use.

Since there is a limitation to the size of the messages which are routed between the layers (for example L3, L4, L5) the reassembled QSIG message cannot be sent directly to L5 (host). It must be divided again in parts of less than 250 bytes and sent to the L5 as one call processing API message, Request for Service with Data (containing the SEGMENT ICB), and the L4 CH PPL Event Indication API message.

From L5 to L4 the messages are sent in a similar way, one call processing API message, Outseize Control (containing the SEGMENT ICB), and the L4 CH PPL Event Request API message.

Message Segmentation and Reassembly Procedures

The processes of segmentation and reassembly can take place at the same time. The message segmentation and reassembly procedures are supported by the following:

The ISDN message (SEGMENT MESSAGE) and ISDN IE (Segmented IE) is supported.

The T14 timer is available for a reassembly procedures.

The following PPL event indications report segmentation procedure failures to L5 (host):

Unexpected Segmented Message (0x0002)

Segmentation Failure - Wrong or Unexpected Segmented Message (0x0003)

The following configuration bytes are available to enable or disable each of the above PPL event indications:

Send Unexpected Segmented Message to host (0x23)

Send Segmentation Failure - Timer Expired to host (0x24)

Send Segmentation Failure - Wrong or Unexpected Segmented Message to host (0x25)

Important! Failures in reassembly procedures will not be reported to L5 (host).

QSIG Protocol

The QSIG Protocol, supported on the ISDN Series 3 card, provides the functions required to implement the Message Segmentation and Reassembly procedures which route messages to the L3 Call Reference (0x08) component which interfaces with L2.

For the segmentation procedures, the call processing message and the segmented messages are received from L3 Call Reference (0x08) component.

During reassembly, the call processing message and the segmented messages are sent to the L3 Call Reference (0x08) component.

Segment messages are routed to/from the L3 Call Reference (0x08) component, then to the L3P Call Control (0x05) component and then to the L4 Call Control Management (0x61) component. Segment messages sent to the L4 Call Control Management (0x61) component are in the Universal Protocol message format.

The L4 Call Control Management (0x61) component also supports the L4 CH SEGMENT PPL Event Indication/Request API messages.

 

Figure 12-2 Message Segmentation and Reassembly Routing

 

Reassembly

Reassembly procedures are initiated when the SEGMENT message is received from L2. The reassembly procedure cannot start on more than one B channel.

The SEGMENT messages will be buffered until receiving the last SEGMENT message for a given sequence (with "segment message to follow" parameter = 0).

When the last SEGMENT message arrives, the call processing message and all mandatory and optional parameters for this message will be extracted from the buffer (which contains all received SEGMENT Messages). At the end of the call processing message, the Segmented IE will be added. The message will then be sent to the L3 Call Reference (0x08) component. All the others IEs, which are not recognized, as well as the Facility IE will be sent to the L3 Call Reference (0x08) component as an L3 Segment Message.

The extracted call processing message will be processed in the same manner as a normal call processing message. When it arrives at L5, the host application detects (from the segmented IE attached to the message), that there are SEGMENT messages coming after the call processing message. The SEGMENT messages will reach the host as L4 PPL Event Indication "SEGMENT message".

If a failure condition or timeout occurs, the segmented messages buffered, so far will be discarded. A report for these events will not be sent to the host.

Segmentation

When received, a call processing message (containing a segmented IE) will be buffered in the segmentation buffer while waiting for all the remaining segmented messages to be sent by L5 as an L4 CH PPL Event Request API message.

The call processing message and segmented messages routed from the upper layers will be buffered and sent to L2 as N SEGMENTED Messages (N<=8).

If a failure condition or timeout occurs, the segmentation buffer will be emptied. A message from the L3 Call Reference (0x08) component indicating the failure, will invoke a PPL event indication. The PPL event indication will be sent from the L3 Call Reference (0x08) component because it must contain an AIB with a B channel identification. The following failures will be reported:

When the Segmented Message comes from the upper layer not proceeding by a call processing message containing segmented IE: "Unexpected SEGMENT message".

When the timer expires: "Segmentation Failure - Timer Expired"

When invalid SEGMENT Message comes or SEGMENT Message with a different Call Reference: "Segmentation Failure - Wrong or Unexpected SEGMENT Message"

SEGMENT Message Flow from L3 to L5 (Host)

When L3 receives all the SEGMENT messages, the messages are processed and sent to the L3 Call Reference (0x08) component as one call processing message and the rest as SEGMENT messages. All call processing messages (except the SETUP message) are routed to L5 (host) as L3P PPL Event indications (CONNECT, ALERTING, FACILITY, etc.). All call processing messages are routed to L5 (host) as follows:

From L3 Call Reference (0x08) to L3P Call Control (0x05) and to L5 (host)

The SETUP message is routed to L5 (host) as an RFS with Data API message. The SETUP message is routed as follows:

From L3 Call Reference (0x08) to L3P Call Control (0x05) to L4 Call Control Management (0x61) and to L5 (host)

The DISCONNECT message can be sent to L5 (host) in two ways: As a L3P PPL Event indication and/or as a Channel Release Request API message.

The following conditions must exist for sending the SEGMENT messages to L5 (host):

The call processing message (SETUP, CONNECT, etc.) must reach the host first.

All SEGMENT messages belonging to the call processing message must come in the same order as they were sent.

The SEGMENT messages belonging to a certain call processing message must be sent to the host only if this call processing message is sent to the host. In other words, if the call processing message is not sent to the host due to a failure or configuration byte setting, then the SEGMENT messages belonging to it must be dropped out.

The Segmented IE is replaced by the Segment ICB, so that the host application knows whether the API message is segmented or not.

All the SEGMENT messages and the SETUP message are routed to L5 the same way:

From L3 Call Reference (0x08) to L3P CAll Control (0x05) to L4 Call Control Management (0x61) and to L5 (host)

This ensures that call processing messages will be the first to reach the host. SEGMENT messages will be sent as L4 CH PPL Event Indications.

Segment Message Call Flows L3 to L5

Below are examples of SEGMENT Message call flows from L3 to L5:

 

Three SEGMENT Messages which contain SETUP Message Inside

 

Two SEGMENT Messages which contain CONNECT Message Inside

 

L3 Receives other normal Call Processing Messages (for example, SETUP) from User

 

SEGMENT Message Call Flows from L5 (Host) to L3

When the host application sends a message longer than 260 bytes, it will send the call processing message (Outseize Control, Release Channel with Data, etc.) containing the Segmented Message ICB or send the PPL Event Request message containing the Segmented Message ICB (in all other cases, CONNECT, ALERTING, FACILITY, etc.). The segmented messages are sent from L5 (host) as a L4 CH PPL Event Request message containing the Segmented Message ICB.

Below are examples of SEGMENT Message call flows from L5 to L3:

L5 Sends OUTSZ Messages followed by Two SEGMENT Messages

 

L5 Sends CONNECT PPL Event Request followed by One SEGMENT Message

 

L4 Sends Call Processing Message (for example, SETUP) without Segmented Message IE, with Message Length Less than 260 Bytes