All drawings appearing in this Fascicle have been done in Autocad. Recommendation Q.703 SIGNALLING LINK 1 General 1.1 Introduction 1.1.1 This Recommendation describes the functions and procedures for and relating to the transfer of signalling messages over one signalling data link. The signalling link functions, together with a signalling data link as bearer, provide a signalling link for reliable transfer of signalling messages between two directly connected signalling points. Signalling messages delivered by superior hierarchical levels are transferred over the signalling link in variable length signal units. The signal units include transfer control information for proper operation of the signalling link in addition to the signalling information. 1.1.2 The signalling link functions comprise: a) signal unit delimitation, b) signal unit alignment, c) error detection, d) error correction, e) initial alignment, f) signalling link error monitoring, g) flow control. All these functions are coordinated by the link state control (see Figure 1/Q.703). Figure 1/Q.703 - CCITT 35002 Fascicle VI.7 - Rec. Q.703 PAGE1 1.2 Signal unit delimitation and alignment The beginning and end of a signal unit are indicated by a unique 8-bit pattern, called the flag. Measures are taken to ensure that the pattern cannot be imitated elsewhere in the unit. Loss of alignment occurs when a bit pattern disallowed by the delimitation procedure (more than six consecutive 1s) is received, or when a certain maximum length of signal unit is exceeded. Loss of alignment will cause a change in the mode of operation of the signal unit error rate monitor. 1.3 Error detection The error detection function is performed by means of 16 check bits provided at the end of each signal unit. The check bits are generated by the transmitting signalling link terminal by operating on the preceding bits of the signal unit following a specified algorithm. At the receiving signalling link terminal1), the received check bits are operated on using specified rules which correspond to that algorithm. If consistency is not found between the received check bits and the preceding bits of the signal unit, according to the algorithm, then the presence of errors is indicated and the signal unit is discarded. 1.4 Error correction 1.4.1 Two forms of error correction are provided, the basic method and the preventive cyclic retransmission method. The following criteria should be used for determining the international fields of application for the two methods: a) the basic method applies for signalling links using non-intercontinental terrestrial transmission means and for intercontinental signalling links where the one-way propagation delay is less than 15 ms; b) the preventive cyclic retransmission method applies for intercontinental signalling links where the one-way propagation delay is greater than or equal to 15 ms and for all signalling links established via satellite. In cases where one signalling link within an international link set is established via satellite, the preventive cyclic retransmission method should be used for all signalling links of that link set. 1.4.2 The basic method is a non-compelled, positive/negative acknowledgement, retransmission error correction system. A signal unit which has been transmitted is retained at the transmitting signalling link terminal until a positive acknowledgement for that signal unit is received. If a negative acknowledgement is received, then the transmission of new signal units is interrupted and those signal units which have been transmitted but not yet positively acknowledged starting with that indicated by the negative acknowledgement will be retransmitted once, in the order in which they were first transmitted. 1.4.3 The preventive cyclic retransmission method is a non-compelled, positive acknowledgement, cyclic retransmission, forward error correction system. A signal unit which has been transmitted is retained at the transmitting signalling link terminal until a positive acknowledgement for that signal unit is received. During the period when there are no new signal units to be transmitted all the signal units which have not yet been positively acknowledged are retransmitted cyclically. The forced retransmission procedure is defined to ensure that forward error correction occurs in adverse conditions (e.g. high error rate and/or high traffic loading). When a predetermined number of retained, unacknowledged signal units exists, the transmission of new signal units is interrupted and the retained signal units are retransmitted cyclically until the number of unacknowledged signal units is reduced. 1) A signalling link terminal refers to the means of performing all of the functions defined at level 2 regardless of their implementation. PAGE18 Fascicle VI.7 - Rec. Q.703 1.5 Initial alignment The initial alignment procedure is appropriate to both first time initialization (e.g., after "switch-on") and alignment in association with restoration after a link failure. The procedure is based on the compelled exchange of status information between the two signalling points concerned and the provision of a proving period. No other signalling link is involved in the initial alignment of any particular link, the exchange occurs only on the link to be aligned. 1.6 Signalling link error monitoring Two signalling link error rate monitor functions are provided; one which is employed whilst a signalling link is in service and which provides one of the criteria for taking the link out of service, and one which is employed whilst a link is in the proving state of the initial alignment procedure. These are called the signal unit error rate monitor and the alignment error rate monitor respectively. The characteristics of the signal unit error rate monitor are based on a signal unit error count, incremented and decremented using the "leaky bucket" principle whilst the alignment error rate monitor is a linear count of signal unit errors. During loss of alignment, the signal unit error rate monitor error count is incremented in proportion to the period of the loss of alignment. 1.7 Link state control functions Link state control is a function of the signalling link which provides directives to the other signalling link functions. The interfaces with link state control are shown in Figure 1/Q.703 and Figure 7/Q.703. The split into the functional blocks shown in the figures is made to facilitate description of the signalling link procedures and should not be taken to imply any particular implementation. The link state control function is shown in the overview diagram, Figure 2/Q.703, and the detailed state transition diagram, Figure 8/Q.703. 1.8 Flow control Flow control is initiated when congestion is detected at the receiving end of the signalling link. The congested receiving end of the link notifies the remote transmitting end of the condition by means of an appropriate link status signal unit and it withholds acknowledgements of all incoming message signal units. When congestion abates acknowledgements of all incoming message signal units is resumed. While congestion exists, the remote transmitting end is periodically notified of this condition. The remote transmitting end will indicate the link as failed if the congestion continues too long. 2 Basic signal unit format 2.1 General Signalling and other information originating from a User Part is transferred over the signalling link by means of signal units. A signal unit is constituted of a variable length signalling information field which carries the information generated by a User Part and a number of fixed length fields which carry information required for message transfer control. In the case of link status signal units, the signalling information field and the service information octet is replaced by a status field which is generated by the signalling link terminal. 2.2 Signal unit format Three types of signal unit are differentiated by means of the length indicator contained in all signal units, i.e., message signal units, link status signal units and fill-in signal units. Message signal units are retransmitted in case of error, link status signal unit and fill-in signal units are not. The basic formats of the signal units are shown in Figure 3/Q.703. Fascicle VI.7 - Rec. Q.703 PAGE1 2.3 Function and codes of the signal unit fields 2.3.1 General The message transfer control information encompasses 8 fixed length fields in the signal unit which contain information required for error control and message alignment. Figure 2/Q.703 - CCITT 40321 Figure 3/Q.703 - CCITT 35611 2.3.2 Flag The opening flag indicates the start of a signal unit. The opening flag of one signal unit is normally the closing flag of the preceding signal unit. The closing flag indicates the end of a signal unit. The bit pattern for the flag is 01111110. 2.3.3 Length indicator The length indicator is used to indicate the number of octets following the length indicator octet and preceding the check bits and is a number in binary code in the range 0-63. The length indicator differentiates between the three types of signal units as follows: Length indicator = 0: fill in signal unit Length indicator = 1 or 2: link status signal unit Length indicator > 2: message signal unit In the case that the signalling information field of a message signal unit is spanning 62 octets or more, the length indicator is set to 63. It is mandatory that LI is set by the transmitting end to its correct value as specified above. 2.3.4 Service information octet The service information octet is divided into the service indicator and the subservice field. The service indicator is used to associate signalling information with a particular user part and is present only in message signal units. The content of the subservice field is described in Recommendation Q.704, S 14.2.2. Note - The Message Transfer Part may handle messages for different users (i.e., messages with different service indicators) with different priorities. These priorities are for further study. 2.3.5 Sequence numbering The forward sequence number is the sequence number of the signal unit in which it is carried. The backward sequence number is the sequence number of a signal unit being acknowledged. The forward sequence number and backward sequence number are numbers in binary code from a cyclic sequence ranging from 0 to 127 (see SS 5 and 6). 2.3.6 Indicator bits The forward indicator bit and backward indicator bit together with the forward sequence number and backward sequence number are used in the basic error control method to perform the signal unit sequence control and acknowledgement functions. (See SS 5.2 and 6.) 2.3.7 Check bits Every signal unit has 16 check bits for error detection. (See S 4.) 2.3.8 Signalling information field The signalling information field consists of an integral number of octets, greater than or equal to 2 and less than or equal to 272. The value 272 allows a single message signal unit to accommodate information blocks of up to 268 octets in length accompanied by a routing label. The format and codes of the signalling information field are defined for each user part. 2.3.9 Status field The formats and codes of the status field are described in S 11. 2.3.10 Spare fields Spare fields are coded 0, unless otherwise indicated (see Figures 3/Q.703 and 6/Q.703). 2.4 Order of bit transmission Each of the fields mentioned in S 2.3 will be transmitted in the order indicated in Figure 3/Q.703. PAGE18 Fascicle VI.7 - Rec. Q.703 Within each field or subfield the bits will be transmitted with the least significant bit first. The 16 check bits are transmitted in the order generated (see S 4). 3 Signal unit delimitation 3.1 Flags A signal unit includes an opening flag (see S 2.2). The opening flag of a signal unit is normally considered to be the closing flag of the preceding signal unit (however, see Note to S 5). In certain conditions (e.g., signalling link overload) a limited number of flags may be generated between two consecutive signal units. However, a signalling link terminal always should be able to receive consecutive signal units with one or more multiple flags inserted between them. 3.2 Zero insertion and deletion To ensure that the flag code is not imitated by any other part of the signal unit the transmitting signalling link terminal inserts a 0 after every sequence of five consecutive 1s before the flags are attached and the signal unit is transmitted. At the receiving signalling link terminal, after flag detection and removal, each 0 which directly follows a sequence of five consecutive 1s is deleted. Fascicle VI.7 - Rec. Q.703 PAGE1 4 Acceptance procedure 4.1 Acceptance of alignment 4.1.1 A flag which is not followed immediately by another flag is considered an opening flag. Whenever an opening flag is received, the beginning of a signal unit is assumed. When the next flag (a closing flag) is received it is assumed to be the termination of the signal unit. 4.1.2 If seven or more consecutive 1s are received, the signal unit error rate monitor or alignment error rate monitor enters the "octet counting" mode (see S 4.1.4) and the next valid flag is searched for. 4.1.3 After deletion of the 0s inserted for transparency, the received signal unit length is checked for being a multiple of 8 bits and at least 6 octets, including opening flag. If it is not, then the signal unit is discarded and the signal unit error rate monitor or alignment error rate monitor is incremented. If more than m + 7 octets are received before a closing flag, the "octet counting" mode is entered (see Figure 11/Q.703) and the signal unit is discarded. m is the maximum length of the signalling information field (in octets) allowed on a signalling link. m takes the value 272. In the case of the basic error control method a negative acknowledgement will be sent, if required, according to the rules set out in S 5.2. 4.1.4 When the "octet counting" mode is entered all the bits received after the last flag and before the next flag are discarded. The "octet counting" mode is left when the next correctly-checking signal unit is received, and this signal unit is accepted. 4.2 Error detection The error detection function is performed by means of 16 check bits provided at the end of each signal unit. The check bits are generated by the transmitting signalling link terminal. They are the ones complement of the sum (modulo 2) of: i) the remainder of xk (x15 + x14 + x13 + x12 . . . + x2 + x + 1) divide (modulo 2) by the generator polynomial x16 + x12 + x5 + 1, where k is the number of bits in the signal unit existing between, but not including, the final bit of the opening flag and the first bit of the check bits, excluding bits inserted for transparency; and ii) the remainder after multiplication by x16 and then division (modulo 2) by the generator polynomial x16 + x12 + x5 + 1 of the content of the signal unit existing between, but not including, the final bit of the opening flag and the first bit of the check bits, excluding bits inserted for transparency. As a typical implementation, at the transmitting signalling link terminal, the initial remainder of the division is preset to all 1s and is then modified by division by the generator polynomial (as described above) on all the fields of the signal unit; the 1s complement of the resulting remainder is transmitted as the 16 check bits. At the receiving signalling link terminal, the correspondence between the check bits and the remaining part of the signal unit is checked; if a complete correspondence is not found the signal unit is discarded. As a typical implementation at the receiving signalling link terminal, the initial remainder is preset to all 1s, and the serial incoming protected bits including the check bits (after the bits inserted for transparency are removed) when divided by the generator polynomial will result in a remainder of 0001110100001111 (x15 through x0, respectively) in t e absence of transmission errors. 5 Basic error correction method 5.1 General The basic error correction method is a noncompelled method in which correction is performed by retransmission. In normal operation, the method ensures correct transfer of message signal units over the signalling link, in sequence and with no double delivery. As a consequence, no resequencing or eliminating of the received information is required within the user parts. PAGE18 Fascicle VI.7 - Rec. Q.703 Positive acknowledgements are used to indicate correct transfer of message signal units. Negative acknowledgements are used as explicit requests for retransmission of signal units received in a corrupt form. To minimize the number of retransmissions and the resulting message signal unit delay, a request for retransmission is made only when a message signal unit (not another signal unit) has been lost because of, for example, transmission errors or disturbances. The method requires that transmitted but not yet positively acknowledged message signal units remain available for retransmission. To maintain the correct message signal unit sequence when a retransmission is made, the message signal unit, the retransmission of which has been requested, and any subsequently transmitted message signal units are retransmitted in the order in which they were originally transmitted. As part of the error correction method, each signal unit carries a forward sequence number, a forward indicator bit, a backward sequence number and a backward indicator bit. The error correction procedure operates independently in the two transmission directions. The forward sequence number and forward indicator bit in one direction together with the backward sequence number and backward indicator bit in the other direction are associated with the message signal unit flow in the first direction. They function independently of the message signal unit flow in the other direction and its associated forward sequence number, forward indicator bit, backward sequence number and backward indicator bit. The transmission of new message signal units is temporarily stopped during retransmissions or when no forward sequence number values are available to be assigned to new message signal units (due to a high momentary load or corruption of positive acknowledgements) (see S 5.2.2). Under normal conditions, when no message signal units are to be transmitted or retransmitted, fill-in signal units are sent continuously. In some particular cases link status signal units, continuous fill-in signal units or flags may be sent as described in SS 7, 8 and 11. 5.2 Acknowledgements (positive acknowledgement and negative acknowledgement) 5.2.1 Sequence numbering For the purposes of acknowledgement and signal unit sequence control, each signal unit carries two sequence numbers. The signal unit sequence control is performed by means of the forward sequence number. The acknowledgement function is performed by means of the backward sequence number. The value of the forward sequence number of a message signal unit is obtained by incrementing (modulo 128, see S 2.3.5) the last assigned value by 1. This forward sequence number value uniquely identifies the message signal unit until its delivery is accepted without errors, and in correct sequence, by the receiving terminal. The forward sequence number of a signal unit other than a message signal unit assumes the value of the forward sequence number of the last transmitted message signal unit. 5.2.2 Signal unit sequence control Information regarding the service information octet, signalling information field, forward sequence number and the length of each message signal unit is retained at the transmitting signalling link terminal until a positive acknowledgement for that signal unit is received (see S 5.2.3). In the meantime the same forward sequence number cannot be used for another message signal unit (see S 5.2.3). A forward sequence number value can be assigned to a new message signal unit when a positive acknowledgement concerning that value incremented by at least 1 (modulo 128) is received (see S 5.2.3). This means that not more than 127 message signal units may be available for retransmission. The action to be taken at the receiving signalling link terminal upon receipt of a correctly checking signal unit is determined by comparison of the received forward sequence number with the forward sequence number of the last previously accepted signal unit, and on comparison of the received forward indicator bit with the latest sent backward indicator bit. In addition, as the appropriate action differs for a message signal unit and another signal unit, the length indicator of the received signal unit must be examined. Fascicle VI.7 - Rec. Q.703 PAGE1 a) If the signal unit is a fill-in signal unit then: i) if the forward sequence number value equals the forward sequence number value of the last accepted message signal unit, the signal unit is processed within the message transfer part; ii) if the forward sequence number value is different from the forward sequence number of the last accepted message signal unit, the signal unit is processed within the message transfer part. If the received forward indicator bit is in the same state as the last sent backward indicator bit, a negative acknowledgement is sent. b) If the signal unit is a link status signal unit then it is processed within the message transfer part. c) If the signal unit is a message signal unit then: i) if the forward sequence number value is the same as that of the last accepted signal unit, the signal unit is discarded, regardless of the state of the indicator bits; ii) if the forward sequence number value is one more (modulo 128, see S 2.3.5) than that of the last accepted signal unit and if the received forward indicator bit is in the same state as the last sent backward indicator bit, the signal unit is accepted and delivered to level 3. Explicit positive acknowledgements to the accepted signal units are sent as specified in S 5.2.3. If the forward sequence number is one more than that of the last accepted signal unit and if the received forward indicator bit is not in the same state as the last sent backward indicator bit, then the signal unit is discarded; iii) if the forward sequence number value is different from those values mentioned in (i) and (ii) above, the signal unit is discarded. If the received forward indicator bit is in the same state as the last sent backward indicator bit, a negative acknowledgement is sent. Processing of the backward sequence number value and backward indicator bit value as described in S 5.3 is performed for message signal units and fill in signal units except when unreasonable backward sequence number value or unreasonable forward indicator bit value is received. Discarding a signal unit means that if it is a message signal unit, it is not delivered to level 3. 5.2.3 Positive acknowledgement The receiving signalling link terminal acknowledges the acceptance of one or more message signal units by assigning the forward sequence number value of the latest accepted message signal unit to the backward sequence number of the next signal unit sent in the opposite direction. The backward sequence numbers of subsequent signal units retain this value until a further message signal unit is acknowledged, which will cause a change of the backward sequence number sent. The acknowledgement to an accepted message signal unit also represents an acknowledgement to all, if any, previously accepted, though not yet acknowledged, message signal units. 5.2.4 Negative acknowledgement If a negative acknowledgement is to be sent (see S 5.2.2), then the backward indicator bit value of the signal units transmitted is inverted. The new backward indicator bit value is maintained in subsequently sent signal units until a new negative acknowledgement is to be sent. The backward sequence number assumes the value of the forward sequence number of the last accepted message signal unit. PAGE18 Fascicle VI.7 - Rec. Q.703 5.3 Retransmission 5.3.1 Response to a positive acknowledgement The transmitting signalling link terminal examines the backward sequence number value of the received message signal units and fill-in signal units that have satisfied the polynomial error check. The previously sent message signal unit, which has a forward sequence number value identical to the received backward sequence number value, will no longer be available for transmission. When an acknowledgement of a message signal unit having a given forward sequence number value is received, all other message signal units which preceded that message signal unit are considered to be acknowledged even though the corresponding backward sequence numbers have not been received. In the case that the same positive acknowledgement is consecutively received a number of times, no further action is taken. In the case that a message signal unit or fill-in signal unit is received having a backward sequence number value which is not the same as the previous one or one of the forward sequence number values of the signal units available for retransmission, the signal unit is discarded. The following message signal unit or fill-in signal unit is discarded. If any two backward sequence number values in three consecutively received message signal units or fill-in signal units are not the same as the previous one or any of the forward sequence number values of the signal units in the retransmission buffer at the time that they are received, then level 3 is informed that the link is faulty. A timing mechanism, timer T72), shall be provided which generates an indication of excessive delay of acknowledgement if, assuming that there are at least one outstanding MSU in the retransmission buffer, no new-acknowledgement has been received within a time-out T7 (see S 12.3). In the case of excessive delay in the reception of acknowledgements a link failure indication is given to level 3. 5.3.2 Response to a negative acknowledgement When the received backward indicator bit is not in the same state as the last sent forward indicator bit, all the message signal units available for retransmission are transmitted in correct sequence starting with the signal unit which has a forward sequence number value of one more (modulo 128, see S 2.3.5) than the backward sequence number associated with the received backward indicator bit. New message signal units can only be sent when the last message signal unit available for retransmission has been transmitted. At the start of a retransmission the forward indicator bit is inverted, it thus becomes equal to the backward indicator bit value of the received signal units. The new forward indicator bit value is maintained in subsequently transmitted signal units until a new retransmission is started. Thus, under normal conditions the forward indicator bit included in the transmitted signal units is equal to the backward indicator bit value of the received signal units. If a retransmitted message signal unit is lost, then this is detected by a check on the forward sequence number and forward indicator bit (see S 5.2.2) and a new retransmission request is made. In the case that a message signal unit or a fill-in signal unit is received having a forward indicator bit value indicating the start of a retransmission when no negative acknowledgement has been sent, then that signal unit is discarded. The following message signal unit or fill-in signal unit is discarded. If any two forward indicator bit values in three consecutively received message signal units or fill-in signal units indicate the start of a retransmission when no negative acknowledgement has been sent at the time that they are received, then level 3 is informed that the link is faulty. 2) Timers defined in Recommendation Q.703 are absolute time values; this means that, due to the possibility to insert multiple flags between signal units (see S 3.1), there may be no fixed relation between the time-out values and the number of signal units transmitted/received during the time-out periods. Fascicle VI.7 - Rec. Q.703 PAGE1 5.3.3 Repetition of message signal units The signal unit sequence control makes it possible to repeat a message signal unit which has not yet been acknowledged without affecting the basic error correction procedure. Thus a form of forward error correction by means of repetition of message signal units is possible as a national option (e.g., to reduce the effective signalling link speed in special national applications, and in long loop delay applications to lower the retransmission rate and thus reduce the average message delay). In the case of repetition, each signal unit should be defined by its own opening and closing flags (i.e., there should be at least two flags between signal units) to ensure that the repeated signal unit is not lost by the corruption of only a single flag. 6 Error correction by preventive cyclic retransmission 6.1 General The preventive cyclic retransmission method is essentially a noncompelled forward error correction method, whereby positive acknowledgements are needed to support the forward error correction. Each message signal unit must be retained at the transmitting signalling link terminal until a positive acknowledgement arrives from the receiving signalling link terminal. Error correction is effected by preventive cyclic retransmission of the message signal units already sent, though not yet acknowledged. Preventive cyclic retransmission takes place whenever there are no new message signal units or link status signal units available to be sent. To complement preventive cyclic retransmission, the message signal units available for retransmission are retransmitted with priority when a limit of the number of message signal units or a limit of the number of message signal unit octets available for retransmission has been reached. Under normal conditions, when no message signal units are to be transmitted or cyclically retransmitted, fill-in signal units are sent. In some particular cases link status signal units, continuous fill-in signal units or flags may be sent as described in SS 7, 8 and 11. 6.2 Acknowledgements 6.2.1 Sequence numbering For the purposes of acknowledgement and signal unit sequence control, each signal unit carries 2 sequence numbers. The signal unit sequence control is performed by means of the forward sequence number. The acknowledgement function is performed by means of the backward sequence number. The value of the forward sequence number of a message signal unit is obtained by incrementing (modulo 128, see S 2.3.5) the last assigned value by 1. This forward sequence number value uniquely identifies the message signal unit until its delivery is accepted without errors and in correct sequence, by the receiving signalling link terminal. The forward sequence number of a signal unit other than a message signal unit assumes the value of the forward sequence number of the last transmitted message signal unit. 6.2.2 Signal unit sequence control Information regarding the service information octet, signalling information field, forward sequence number and the length of each message signal unit is retained at the transmitting signal link terminal until the related acknowledgement for that signal unit is received (see S 6.2.3). In the meantime the same forward sequence number value cannot be used for another message signal unit (see S 6.2.3). A forward sequence number value can be assigned to a new message signal unit to be sent when a positive acknowledgement concerning that value incremented by at least 1 (modulo 128) is received (see S 6.2.3). The action to be taken at the receiving signalling link terminal upon receipt of a correctly checking signal unit is determined by comparison of the received forward sequence number with the forward sequence number of the last previously accepted signal unit. PAGE18 Fascicle VI.7 - Rec. Q.703 In addition, as the appropriate action differs for a message signal unit and another signal unit, the length indicator of the received signal unit must be examined. The forward indicator bit and the backward indicator bit are not used and are set to 1. a) If the signal unit is not a message signal unit, then the signal unit is processed within the message transfer part. b) If the signal unit is a message signal unit then: i) if the forward sequence number value is the same as that of the last accepted signal unit, the signal unit is discarded; ii) if the forward sequence number value is one more (modulo 128, see S 2.3.5) than that of the last accepted signal unit, the signal unit is accepted and delivered to level 3. Explicit positive acknowledgements for the accepted signal units are sent as specified in S 6.2.3; iii) if the forward sequence number value is different from the values mentioned in i) and ii) above, the signal unit is discarded. Processing of the backward sequence number value as described in Section 6.3 is performed for message signal units and fill-in signal units except when unreasonable backward sequence number value is received. Discarding a signal unit means that if it is a message signal unit, it is not delivered to level 3. 6.2.3 Positive acknowledgement The receiving signalling link terminal acknowledges the acceptance of one or more message signal units by assigning the forward sequence number value of the latest accepted message signal unit to the backward sequence number of the next signal unit sent. The backward sequence numbers of subsequent signal units retain this value until a further message signal unit is acknowledged, which will cause a change of the backward sequence number sent. The acknowledgement to an accepted message signal unit also represents an acknowledgement to all, if any, previously accepted though not yet acknowledged signal units. 6.3 Preventive cyclic retransmission 6.3.1 Response to a positive acknowledgement All message signal units sent for the first time are retained until they have been positively acknowledged. The transmitting signalling link terminal examines the backward sequence number value of the received message signal units and fill-in signal units that have satisfied the polynomial error check. The previously sent message signal unit, the forward sequence number value of which is the same as the backward sequence number value, will no longer be available for retransmission. When an acknowledgement for a message signal unit having a given forward sequence number value is received, all other message signal units, if any, having forward sequence number values preceding that value (modulo 128) are considered to be acknowledged, even though the corresponding backward sequence number has not been received. In the case that the same positive acknowledgement is consecutively received a number of times, no further action is taken. In the case that a message signal unit or fill-in signal unit is received having a backward sequence number value which is not the same as the previous one or one of the forward sequence number values of the signal units in the retransmission buffer, the signal unit is discarded. The following message signal unit or fill-in signal unit is discarded. If any two backward sequence number values in three consecutively received message signal units or fill-in signal units are not the same as the previous one or any of the forward sequence number values of the signal units in the retransmission buffer at the time that they are received, then level 3 is informed that the link is faulty. A timing mechanism, timer T7, shall be provided which generates an indication of excessive delay of acknowledgement if, assuming that there is at least one outstanding MSU in the retransmission buffer, no new acknowledgement has been received within a time-out T7 (see S 12.3). In the case of excessive delay in the reception of acknowledgements a link failure indications is given to level 3. 6.3.2 Preventive cyclic retransmission procedure i) If no new signal units are available to be sent, the message signal units available for retransmission are retransmitted cyclically. Fascicle VI.7 - Rec. Q.703 PAGE1 ii) If new signal units are available, the retransmission cycle, if any, must be interrupted and the signal units be sent with priority. iii) Under normal conditions, when no message signal units are to be transmitted or cyclically retransmitted, fill-in signal units are sent continuously. In some particular cases link status signal units, continuous fill-in signal units or flags may be sent as described in SS 7, 8 and 10. 6.4 Forced retransmission To maintain the efficiency of error correction in those cases where automatic error correction by preventive cyclic retransmission alone is made impossible (by, for example, high signalling load), the preventive cyclic retransmission procedures must be complemented by the forced retransmission procedure. 6.4.1 Forced retransmission procedure Both the number of message signal units available for retransmission (N1) and the number of message signal unit octets available for retransmission (N2) are monitored continuously. If one of them reaches its set limit, no new message signal units or fill-in signal units are sent and the retransmission cycle is continued up to the last message signal unit entered into retransmission buffer with priority, in the order in which they were originally transmitted. If all those message signal units have been sent once and neither N1 nor N2 is at its limit value, the normal preventive cyclic retransmission procedure can be resumed. If not, all the message signal units available for retransmission are sent again with priority. 6.4.2 Limitation of the values N1 and N2 N1 is limited by the maximum numbering capacity of the forward sequence number range which dictates that not more than 127 message signal units can be available for retransmission. In the absence of errors, N2 is limited by the signalling link loop delay TL. It must be ensured that not more than TL/Teb + 1 message signal unit octets are available for retransmission, where TL is the signalling link loop delay, i.e., the time between the sending of a message signal unit and the reception of the acknowledgement for this message signal unit in undisturbed operation; and Teb is the emission time of one octet. When some signalling data links of different loop delays are alternated for application to that signalling link, the longest possible signalling link delay may be used to calculate the value of TL. 7 Initial alignment procedure 7.1 General The procedure is applicable to activation and to restoration of the link. The procedure provides a "normal" proving period for "normal" initial alignment and an "emergency" proving period for "emergency" initial alignment. The decision to apply either the "normal" or the "emergency" procedures is made unilaterally at level 3 (see Recommendation Q.704). Only the signalling link to be aligned is involved in the initial alignment procedure (i.e., no transfer of alignment information over other signalling links is required). 7.2 Initial alignment status indications The initial alignment procedure employs four different alignment status indications: - status indication "O": out of alignment; - status indication "N": "normal" alignment status; - status indication "E": "emergency" alignment status; - status indication "OS": out of service. These indications are carried in the status field of the link status signal units (see S 2.2). Status indication "O" is transmitted when initial alignment has been started and none of the status indications "O", "N" or "E" are received from the link. Status indication "N" is transmitted when, after having started initial alignment, status indication "O", "N" or "E" is received and the terminal is in the "normal" alignment status. Status indication "E" is transmitted when, after having started initial alignment, status indication "O", "N" or "E" is received and the terminal is in the "emergency" alignment status, i.e., it must employ the short "emergency" proving period. PAGE18 Fascicle VI.7 - Rec. Q.703 Status indications "N" and "E" indicate the status of the transmitting signalling link terminal; this is not changed by reception of status indications indicating a different status at the remote signalling link terminal. Hence, if a signalling link terminal with a "normal" alignment status receives a status indication "E" it continues to send status indication "N" but initiates the short "emergency" proving period. Status indication "OS" informs the remote signalling link terminal that for reasons other than processor outage (e.g., link failure) the signalling link terminal can neither receive nor transmit message signal units. Status indication OS is sent on completion of "power on" (see Figures 2/Q.703 and 8/Q.703) until initial alignment is started. 7.3 Initial alignment procedure The alignment procedure passes through a number of states during the initial alignment: - State Idle: the procedure is suspended. - State "not aligned": the signalling link is not aligned and the terminal is sending status indication "O". Time-out T2 is started on 3) Timers defined in Recommendation Q.703 are absolute time values; this means that, due to the possibility to insert multiple flags between signal units (see S 3.1), there may be no fixed relation between the time-out values and the number of signal units transmitted/received during the time-out periods. 4) "If automatic allocation of signalling terminals or signalling data links is applied at both ends of a signalling link, it must be ensured that the values of this time-out are different at each end of a signalling link (see Recommendation Q.704, S 12). In this case T2 los (see S 12.3) is allocated to the signalling point with the lower point code and T2 high to the signalling point with the higher point code. In all other cases, the value of time-out T2 can be the same at both ends of the link. Fascicle VI.7 - Rec. Q.703 PAGE1 entry to State and stopped when State is left4 ). - State "aligned": the signalling link is aligned and the terminal is sending status indication "N" or "E", status indications "N", "E" or SOS" are not received. Time-out T33) is started on entry to State and stopped when State is left. - State 03, "proving"; the signalling link terminal is sending status indication "N" or "E", status indication "O" or "OS" are not received, proving has been started. Proving is the means by which the signalling link terminal validates the link's ability to carry signal units correctly by inspecting the signal units. «Proving» must last for a period of T4 before the link can enter the «aligned ready» link state. Expiry of timer T4 (see S 12.3) indicates a successful proving period unless the proving period has been previously aborted up to four times. - Following successful alignment and proving procedure, the signalling terminal enters Aligned Ready state and the aligned ready time-out T1 is stopped on entry in the In service state and the duration of time-out T1 should be chosen such that the remote end can perform four additional proving attempts. The procedure itself is described in the overview diagram, Figure 4/Q.703, and in state transition diagram, Figure 9/Q.703. 7.4 Proving periods The nominal values of the proving periods are: Pn = 216 octets transmission time Pe = 212 octets transmission time for both 64 kbit/s and lower bit rates. For the corresponding timer T4 values (proving periods), see S 12.3. Figure 4/Q.703 - CCITT 40332 PAGE18 Fascicle VI.7 - Rec. Q.703 8 Processor outage The procedure for dealing with local and/or remote processor outage is described in Figure 10/Q.703. A processor outage situation occurs when, due to factors at a functional level higher than level 2, use of the link is precluded. In this context, processor outage refers to a situation when signalling messages cannot be transferred to functional levels 3 and/or 4. This may be because of, for example, a central processor failure. A processor outage condition may not necessarily affect all signalling links in a signalling point, nor does it exclude the possibility that level 3 is able to control the operation of the signalling link. When level 2 identifies a local processor outage condition, either by receiving an explicit indication from level 3, (i.e., local signalling link blocking, see Recommendation Q.704, S 3.2.6), or by recognizing a failure of level 3, it transmits link status signal units indicating processor outage and discards message signal units received. Provided that the level 2 function at the far end of the signalling link is in its normal operating stage (i.e., transmitting message signal units or fill-in signal units), upon receiving link status signal units indicating processor outage, it notifies level 3 and begins to continuously transmit fill-in signal units. When the local processor outage condition ceases, normal transmission of message signal units and fill-in signal units is resumed (provided that no local processor outage condition has arisen also at the remote end); as soon as the level 2 function at the remote end correctly receives a message signal unit or fill-in signal unit, it notifies level 3 and returns to normal operation. Format and code of link status signal units indicating processor outage (status indication "PO") appear in S 11. 9 Level 2 flow control 9.1 General The procedure is used to handle a level 2 congestion situation. After the congestion is detected at the receiving end of the signalling link, both positive and negative acknowledgements to message units are withheld and a status indication "B" (Busy) is sent from the receiving end of the link to the remote end in order to enable the remote transmitting end to distinguish between congestion and failure situations. This indication is carried in the status field of a link status signal unit. Note - The receiving end continues to process BSN and BIB carried in signal units received in order to avoid, as far as possible, disturbance of the message flow in the opposite direction and in addition may continue to accept message signal units. 9.2 Detection of congestion The mechanism for detecting congestion at the receiving end of a signalling link is implementation dependent and not to be specified. 9.3 Procedure in the congestion situation The receiving end of a signalling link which detected a congestion situation, periodically returns a link status signal unit containing a status indication "B" to the remote transmitting end of the link at interval T5 (see S 12.3). The receiving level 2 also withholds acknowledgement of the message signal unit, which triggered off the congestion detection, and of message signal units received during the congestion situation; that is fill-in signal units or message signal units are sent as usual, but with the backward sequence number and backward indicator bit assigned the values which are contained in the last transmitted signal unit before the congestion is recognized. At the remote end of the signalling link, every reception of a link status signal unit containing indication "B" causes the excessive delay of acknowledgement timer T7 to be restarted. In addition first reception of the link status signal unit containing a status indication "B" starts a longer supervision timer T6 (see S 12.3). Should timer T6 expire, link failure indication is generated. Fascicle VI.7 - Rec. Q.703 PAGE1 9.4 Congestion abatement procedure When congestion abates at the receiving end of the signalling link, transmission of link status signal unit containing a status indication "B" is stopped and normal operation resumed. At the remote end, the supervision timer T6 is stopped when a negative or positive acknowledgement whose backward sequence number acknowledges a message signal unit in the retransmission buffer is received in case of the basic error correction method, or a positive acknowledgement in case of the PCR method. Note - Congestion onset and abatement detection is an implementation dependent function. Sufficient hysteresis should be provided in the implementation to prevent excessive oscillation between congested and non-congested states. 10 Signalling link error monitoring 10.1 General Two link error rate monitor functions are provided; one which is employed whilst a signalling link is in service and which provides one of the criteria for taking the link out of service, and one which is employed whilst a link is in the proving state of the initial alignment procedure (see S 7.3). These are called the signal unit error rate monitor and the alignment error rate monitor respectively. 10.2 Signal unit error rate monitor 10.2.1 The signal unit error rate monitor has as its function the estimation of the signal unit error rate in order to decide about the signalling link fault condition. The signal units in error are those rejected by the acceptance procedure (see S 4). The three parameters which determine the signal unit error rate monitor are: the number T (signal units), of consecutive signal units received in error that will cause an error rate high indication to level 3, the lowest signal unit error rate 1/D (signal unit errors/signal unit) which will ultimately cause an error rate high indication to level 3, and the number N (octets) of octets that causes an increment of the counter while in the "octet counting" mode. See Figure 5/Q.703. 10.2.2 The signal unit error rate monitor may be implemented in the form of an up/down counter decremented at a fixed rate (for every D received signal units or signal unit errors indicated by the acceptance procedure), but not below zero, and incremented every time a signal unit error is detected by the signal unit acceptance procedure (see S 4), but not above the threshold [T (signal units)]. An excessive error rate will be indicated whenever the threshold T is reached. Figure 5/Q.703 - T1114950-88 PAGE18 Fascicle VI.7 - Rec. Q.703 10.2.3 In the "octet counting" mode (see S 4.1) the counter is incremented for every N octets received until a correctly-checking signal unit is detected (causing the "octet counting" mode to be left). 10.2.4 When the link is brought into service the monitor count should start from zero. 10.2.5 The values of the three parameters are: T = 64 signal units  D = 256 signal units/signal unit error For 64 kbit/s N = 16 octets č T = 32 signal units  D = 256 signal units/signal unit error For lower bit rates N = 16 octets č In the case of loss of alignment, these figures will give times of approximately 128 ms and 854 ms to initiate changeover for 64 kbit/s and 4.8 kbit/s respectively. 10.2.6 In the case where only random signal unit errors occur over the signalling link, the relationship between the expected number of signal units until threshold of T (signal units) is reached and the signal unit errors rate (signal unit errors/signal units) can be established. This relationship may be expressed by an orthogonal hyperbola which has parameters (T, 1/D). See Figure 5/Q.703. 10.3 Alignment error rate monitor 10.3.1 The alignment error rate monitor is a linear counter which is operated during normal and emergency proving periods. 10.3.2 The counter is started from zero whenever the proving state (Figure 9/Q.703) of the alignment procedure is entered and is then incremented for every signal unit error detected, if not in the octet counting mode. It is also incremented for every N octets received while in the octet counting mode, as described in S 9.2.3. 10.3.3 When the counter reaches a threshold Ti, that particular proving period is aborted; on receipt of a correct signal unit or the expiry of the aborted proving period the proving state is reentered. If proving is aborted M times, the link is returned to the out-of-service state. A threshold is defined for each of the two types of proving period (normal and emergency, see S 7). These are Tin and Tie and apply to the normal proving period and the emergency proving period respectively. Proving is successfully completed when a proving period expires without an excessive error rate being detected and without the receipt of status indication "O" or "OS". 10.3.4 The values of the four parameters for both 64 kbit/s and lower bit rates are: Tin = 4 Tie = 1 M = 5 N = 16 Note - It is noted that the emergency proving period may be successfully completed with some probability with a marginal and degraded bit error rate, i.e., around one error in 104 bits - subsequently, the SUERM will quickly indicate an excessive error rate. However, short term operation on a degraded link may be acceptable (e.g., to send management messages). 11 Level 2 codes and priorities 11.1 Link status signal unit 11.1.1 The link status signal unit is identified by a length indicator value equal to 1 or 2. If the length indicator has a value of 1 then the status field consists of one octet; if the length indicator has a value of 2 then the status field consists of two octets. Fascicle VI.7 - Rec. Q.703 PAGE1 11.1.2 The format of the one octet status field is shown in Figure 6/Q.703. Figure 6/Q.703 - CCITT 35621 When a terminal, which is able to process only a one octet status field, receives a link status signal unit with a two octet status field, the terminal shall ignore the second octet for compatibility reasons but process the first octet as specified. 11.1.3 The use of the link status indications is described in S 7; they are coded as follows: C B A 0 0 0 - Status indication "O" 0 0 1 - Status indication "N" 0 1 0 - Status indication "E" 0 1 1 - Status indication "OS" 1 0 0 - Status indication "PO" 1 0 1 - Status indication "B" The spare bits should be ignored at the receiving side. Note - For the use of spare bit D in the national option for a SIF compatibility mechanism, see Recommendation Q.701, S 7.2.6. 11.2 Transmission priorities within level 2 11.2.1 Five different items can be transmitted: i) new message signal units; ii) message signal units which have not yet been acknowledged; iii) link status signal units; iv) fill-in signal units; v) flags. In certain failure conditions, it may only be possible to send flags or nothing at all. 11.2.2 For the basic error control method the priorities are: Highest 1. Link status signal units. 2. Message signal units which have not yet been acknowledged and for which a negative acknowledgement has been received. 3. New message signal units. 4. Fill-in signal units. Lowest 5. Flags. PAGE18 Fascicle VI.7 - Rec. Q.703 11.2.3 For the preventive cyclic retransmission method, the priorities are: Highest 1. Link status signal units. 2. Message signal units which have not yet been acknowledged and which are stored in a retransmission buffer and exceed one of the parameters N1 and N2. 3. New message signal units. 4. Message signal units which have not yet been acknowledged. 5. Fill-in signal units. Lowest 6. Flags. Note - In the basic error control method, where the repetition of message signal units is employed as a national option, the repeated message signal unit will have a priority immediately below that of link status signal units. 12 State transition diagrams and timers 12.1 Section 12 contains the description of the signalling link control functions, described in this Recommendation, in the form of state transition diagrams according to the CCITT Specification and Description Language (SDL). The following list summarizes these diagrams: - 2 - Functional block diagram: Figure 7/Q.703. - Link state control: Figure 8/Q.703. - Initial alignment control: Figure 9/Q.703. - Processor outage control: Figure 10/Q.703. - Delimitation, alignment and error detection (receiving): Figure 11/Q.703. - Delimitation, alignment and error detection (transmitting): Figure 12/Q.703. - Basic transmission control: Figure 13/Q.703. - Basic reception control: Figure 14/Q.703. - Preventive cyclic retransmission transmission control: Figure 15/Q.703. - Preventive cyclic retransmission reception control: Figure 16/Q.703. - Alignment error rate monitor: Figure 17/Q.703. - Signal unit error rate monitor: Figure 18/Q.703. - Congestion control part: Figure 19/Q.703. The detailed functional breakdown shown in the following diagrams is intended to illustrate a reference model and to assist interpretation of the text in the earlier sections. The state transition diagrams are intended to show precisely the behaviour of the signalling system under normal and abnormal conditions as viewed from a remote location. It must be emphasized that the functional partitioning shown in the following diagrams is used only to facilitate understanding of the system behaviour and is not intended to specify the functional partitioning to be adopted in a practical implementation of the signalling system. In the following figures the term signal unit refers to units which do not contain all error control information. 12.2 Abbreviations AERM Alignment error rate monitor BIB Backward indicator bit BIBR BIB received BIBT BIB to be transmitted Fascicle VI.7 - Rec. Q.703 PAGE1 BIBX BIB expected BSN Backward sequence number BSNR BSN received BSNT BSN to be transmitted Cp Count of aborted proving attempts [Figure 9/Q.703 (sheets 2 of 3 and 3 of 3)] Cm Counter of MSU in TD [Figure 13/Q.703 (sheet 1 of 2) and Figure 15/Q.703 (sheet 1 of 3)] Ca AERM count (Figure 17/Q.703) Cs SUERM count (Figure 18/Q.703) CC Congestion control DAEDR Delimitation, alignment and error detection (receiving) DAEDT Delimitation, alignment and error detection (transmitting) FIB Forward indicator bit FIBR FIB received FIBT FIB transmitted FIBX FIB expected FISU Fill-in signal unit FSN PAGE18 Fascicle VI.7 - Rec. Q.703 Forward sequence number FSNC Forward sequence number of last message signal unit accepted by remote level 2 FSNF FSN of the oldest MSU in the RTB FSNL FSN of the last MSU in the RTB FSNR FSN received FSNT FSN of the last MSU transmitted FSNX FSN expected IAC Initial alignment control L2 Level 2 L3 Level 3 LSC Link state control LSSU Link status signal unit MGMT Management system - Unspecified implementation dependent management function MSU Message signal unit M Maximum length of the SiF in the MSU NSU Correct SU count NACK Negative acknowledgement Fascicle VI.7 - Rec. Q.703 PAGE1 N1 Maximum number of MSU which are available for retransmission (fixed by the numbering capacity of the FSN) N2 Maximum number of MSU octets which are available for retransmission (fixed by the common channel loop delay time) POC Processor outage control RC Reception control RTB Retransmission buffer RTR If = 1 means retransmission expected SIB Status indication "B" ("Busy") SIE Status indication "E" ("emergency alignment") SIN Status indication "N" ("normal alignment") SIO Status indication "O" ("out of alignment") SIOS Status indication "OS" ("out of service") SIPO Status indication "PO" ("processor outage") SU Signal unit SUERM Signal unit error rate monitor T SUERM threshold TB Transmission buffer TXC PAGE18 Fascicle VI.7 - Rec. Q.703 Transmission control UNB Counter of unreasonable BSN UNF Counter of unreasonable FIB Ti AERM threshold Tie Emergency AERM threshold Tin Normal AERM threshold Z Pointer to sequence number of next MSU to be retransmitted in transmission code 12.3 Timers T1 Timer "alignment ready" T1 (64) = 40-50 s bit rate of 64 kbit/s T1 (4.8) = 500-600 bit rate of 4.8 kbit/s s T2 = 5-150 s Timer "not aligned" T2 low = 5-50 s only for automatic allocation of T2 high = 70-150 s signalling data links and terminals T3 = 1-1.5 s Timer "aligned" T4 Proving period timer = 216 or 212 octet T4n (64) = 7.5-9.5 transmission time s normal proving period at 64 kbit/s nominal value 8.2 s (corresponding to Pn = 216) T4n (4.8) = 100-120 nominal proving period at 4.8 kbit/s s (corresponding to Pn = 216) Nominal value 110 s emergency proving period at 64 kbit/s T4e (64) = 400-600 (corresponding to Pe = 1212) ms emergency proving period at 4.8 kbit/s Nominal value 500 (corresponding to Pe = 212) ms T4e (4.8) = 6-8 s Nominal value 7 s T5 = 80-120 ms Timer "sending SIB" T6 Timer "remote congestion" T6 (64) = 3-6 s bit rate of 64 kbit/s T6 (4.8) = 8-12 s bit rate of 4.8 kbit/s T7 Timer "excessive delay of acknowledgement" T7 (64) = 0.5-2 s bit rate of 64 kbit/s For PCR method, values less than 0.8s should not be used T7 (4.8) = 4-6 s bit rate of 4.8 kbit/s Pe Emergency proving period Pn Normal proving period Fascicle VI.7 - Rec. Q.703 PAGE1