Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
hp OpenCall SS7 platform Application Developer's Guide: For Release 3.1 on Linux > Appendix B TUP Addendum

Exchanging Messages

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

This section describes how to create, manipulate and exchange standard ITU-T messages. It also describes the various primitives provided for IsupSMProbe and IsupBPProbe objects.

The equivalent information for HP OpenCall SS7 ISUP is in Chapter 13 “Exchanging ISUP Messages ”

Introduction

This is as for HP OpenCall SS7 ISUP, see “Introduction”.

Exchanging Primitives

This is as for HP OpenCall SS7 ISUP, see “Exchanging Primitives”.

HP OpenCall SS7 TUP Primitives

This is as for HP OpenCall SS7 ISUP, see “HP OpenCall SS7 ISUP Primitives”, except that the list of TUP primitives for State Machine Mode is given in Table B-2 “State Machine Mode Primitives (CTUP Only) ” (for CTUP) and Table B-3 “State Machine Mode Primitives (ITUP Only) ” (for ITUP).

State Machine Mode Primitives

Table B-2 “State Machine Mode Primitives (CTUP Only) ” lists the CTUP primitives for State Machine Mode. Note that the equivalent primitives for ITUP are listed in Table B-3 “State Machine Mode Primitives (ITUP Only) ”.

Table B-2 State Machine Mode Primitives (CTUP Only)

Primitive

CTUP Message

Comments

SETUP_REQ

SETUP_IND

SETUP_RESP

SETUP_CONF

IAM or IAI

IAM or IAI

ANN or ANC

ANN or ANC

SETUP_IND_ACK

This is sent by the application to SETUP_IND primitive.

CONTINUITY_REPORT_REQ

CONTINUITY_REPORT_IND

COT or CCF

CONTINUITY_RECHECK_REQ

CONTINUITY_RECHECK_IND

CONTINUITY_RECHECK_CONF

CCR

CONNECT_LOOP_IND

CONNECT_LOOP_IND_ACK

This primitive is used to ask the application to connect its tone loop (Continuity-check procedures).

DISABLE_ECHO_IND

DISABLE_ECHO_IND_ACK

This primitive is used to ask the application to disable its echo suppressor (Continuity-check procedures).

REMOVE_LOOP_IND

REMOVE_LOOP_IND_ACK

This primitive is used to ask the application to remove its tone loop (Continuity-check procedures).

ENABLE_ECHO_IND

ENABLE_ECHO_IND_ACK

This primitive is used to ask the application to enable its echo suppressor (Continuity-check procedures).

BACKWARD_CHECK_TONE_ACK

This primitive is used by the application to signal that the backward tone has been checked (Continuity-check procedures).

CONNECT_TRANSCEIVER_IND

CONNECT_TRANSCEIVER_IND_ACK

This primitive is used to ask the application to connect its transceiver (Continuity-check procedures).

REMOVE_TRANSCEIVER_IND

REMOVE_TRANSCEIVER_IND_ACK

This primitive is used to ask the application to remove its transceiver (Continuity-check procedures).

START_CHECK_TONE_IND

START_CHECK_TONE_IND_ACK

This primitive is used to ask the application to start checking the backward tone (Continuity-check procedures).

STOP_CHECK_TONE_IND

STOP_CHECK_TONE_IND_ACK

This primitive is used to ask the application to stop checking the backward tone (Continuity-check procedures).

TONE_DISAPPEARS_ACK

This primitive is used by the application to signal the disappearance of the backward tone.

SOLICITED_INFO_REQ

SOLICITED_INFO_IND

SOLICITED_INFO_RESP

SOLICITED_INFO_CONF

GRQ

GRQ

GSM

GSM

ADDRESS_COMPLETE_REQ

ADDRESS_COMPLETE_IND

ACM

CIP_IND

CIP_REQ

ACC

This is used to indicate the TUP congestion level. It is equivalent to ISUP REL with ACL.

TUP_USR_MSG_REQ

TUP_USR_MSG_IND

User message or MAL.

This primitive is used for messages defined using the customizing facility.
Note that MAL is not supported in ITUP.

RELEASE_REQ

RELEASE_IND

RELEASE_RESP

RELEASE_CONF

CLF, CBK, CCL, or UBM*

RLG

RLG

* = where UBM is one of the following: ACB, ADI, CFL, CGC, DPN, EUM, LOS,
NNC, SEC, SLB,SSB, SST, STB, or UNN.

START_RELEASE_IND

START_RELEASE_IND_ACK

This primitive is used to inform the application that the current call is being released.

START_RESET_IND

START_RESET_IND_ACK

This primitive is used to inform the application that the associated circuit is being reset.

RESET_REQ

RESET_IND

RESET_RESP

RESET_CONF

RSC or CLF

RSC or CLF

RLG

RLG

GROUP_RESET_REQ

GROUP_RESET_IND

GROUP_RESET_RESP

GROUP_RESET_CONF

GRS

GRS

GRA

GRA

BLOCKING_REQ

BLOCKING_IND

BLOCKING_RESP

BLOCKING_CONF

BLO

BLO

BLA

BLA

UNBLOCKING_REQ

UNBLOCKING_IND

UNBLOCKING_RESP

UNBLOCKING_CONF

UBL

UBL

UBA

UBA

GROUP_BLOCKING_REQ

GROUP_BLOCKING_IND

GROUP_BLOCKING_RESP

GROUP_BLOCKING_CONF

MGB

MGB

MGA

MGA

 

GROUP_UNBLOCKING_REQ

GROUP_UNBLOCKING_IND

GROUP_UNBLOCKING_RESP

GROUP_UNBLOCKING_CONF

MGU

MGU

MUA

MUA

 

HW_GROUP_BLOCKING_REQ

HW_GROUP_BLOCKING_IND

HW_GROUP_BLOCKING_RESP

HW_GROUP_BLOCKING_CONF

HGB

HGB

HBA

HBA

 

HW_GROUP_UNBLOCKING_REQ

HW_GROUP_UNBLOCKING_IND

HW_GROUP_UNBLOCKING_RESP

HW_GROUP_UNBLOCKING_CONF

HGU

HGU

HUA

HUA

 

SW_GROUP_BLOCKING_REQ

SW_GROUP_BLOCKING_IND

SW_GROUP_BLOCKING_RESP

SW_GROUP_BLOCKING_CONF

SGB

SGB

SBA

SBA

 

SW_GROUP_UNBLOCKING_REQ

SW_GROUP_UNBLOCKING_IND

SW_GROUP_UNBLOCKING_RESP

SW_GROUP_UNBLOCKING_CONF

SGU

SGU

SUA

SUA

 

INFORMATION_IND

INFORMATION_REQ

SAM or SAO

SAM or SAO

 

MAINTENANCE_SYSTEM_IND

This primitive is used to inform the maintenance system of a particular event.

FORWARD_TRANSFER_REQ

FORWARD_TRANSFER_IND

FOT

FOT

 

OPERATOR_SIGNAL_REQ

OPERATOR_SIGNAL_IND

OPR

OPR

Note that OPR is not supported in ITUP.

REANSWER_REQ

REANSWER_IND

RAN

RAN

 

METERING_PULSE_REQ

METERING_PULSE_IND

MPM

MPM

This primitive is used to issue a metering pulse message (MPM) to the application or to the network.
Note that MPM is not supported in ITUP.

STOP_REQ

STOP_CONF

This primitive is used by the application to ask the TUP library to stop re-transmitting CFL/CLF/RSC messages concerning a circuit to the SS7 network.

GROUP_STOP_REQ

GROUP_STOP_CONF

This primitive is used by the application to ask the TUP library to stop re-transmitting CFL/CLF/RSC/GRS/MGB/HGB/SGB messages concerning a circuit group to the SS7 network.

 

Table B-3 “State Machine Mode Primitives (ITUP Only) ” lists the ITUP primitives for State Machine Mode. Note that the equivalent primitives for CTUP are listed in Table B-3 “State Machine Mode Primitives (ITUP Only) ”.

Table B-3 State Machine Mode Primitives (ITUP Only)

PrimitiveITUP MessageComments

SETUP_REQ
SETUP_IND
SETUP_RESP
SETUP_CONF

IAM or IAI
IAM or IAI
ANN, ANC, or ANU
ANN, ANC, or ANU



Note that ANU is not supported in CTUP.

SETUP_IND_ACK

 

This is sent by the application to acknowledge a SETUP_IND primitive.

CONTINUITY_REPORT_REQ
CONTINUITY_REPORT_IND

COT or CCF

 

CONTINUITY_RECHECK_REQ
CONTINUITY_RECHECK_IND
CONTINUITY_RECHECK_CONF

CCR 

CONNECT_LOOP_IND
CONNECT_LOOP_IND_ACK

 

This primitive is used to ask the application to connect its tone loop (Continuity-check procedures).

DISABLE_ECHO_IND
DISABLE_ECHO_IND_ACK

 

This primitive is used to ask the application to disable its echo suppressor (Continuity-check procedures).

REMOVE_LOOP_IND
REMOVE_LOOP_IND_ACK

 

This primitive is used to ask the application to remove its tone loop (Continuity-check procedures).

ENABLE_ECHO_IND
ENABLE_ECHO_IND_ACK

 

This primitive is used to ask the application to enable its echo suppressor (Continuity-check procedures).

BACKWARD_CHECK_TONE_ACK

 

This primitive is used by the application to signal that the backward tone has been checked (Continuity-check procedures).

CONNECT_TRANSCEIVER_IND
CONNECT_TRANSCEIVER_IND_ACK

 

This primitive is used to ask the application to connect its transceiver (Continuity-check procedures).

REMOVE_TRANSCEIVER_IND
REMOVE_TRANSCEIVER_IND_ACK

 

This primitive is used to ask the application to remove its transceiver (Continuity-check procedures).

START_CHECK_TONE_IND
START_CHECK_TONE_IND_ACK

 

This primitive is used to ask the application to start checking the backward tone (Continuity-check procedures).

STOP_CHECK_TONE_IND
STOP_CHECK_TONE_IND_ACK

 

This primitive is used to ask the application to stop checking the backward tone (Continuity-check procedures).

TONE_DISAPPEARS_ACK

 

Primitive used by the application to signal the disappearance of the backward tone.

SOLICITED_INFO_REQ
SOLICITED_INFO_IND
SOLICITED_INFO_RESP
SOLICITED_INFO_CONF

GRQ
GRQ
GSM
GSM

 

ADDRESS_COMPLETE_REQ
ADDRESS_COMPLETE_IND

ACM

 

CIP_IND
CIP_REQ

ACC

This primitive is used to indicate the TUP congestion level (equivalent to the ISUP REL with ACL).

TUP_USR_MSG_REQ
TUP_USR_MSG_IND

User message

A message defined via the TUP message customizing facility.

RELEASE_REQ
RELEASE_IND
RELEASE_RESP
RELEASE_CONF

CLF, CBK, CCL or UBM*
CLF, CBK, CCL or UBM*
RLG
RLG

* = where UBM is one of the following: ACB, ADI, CFL, CGC, DPN, EUM, LOS, NNC, SEC, SSB, SST, or UNN.

START_RELEASE_IND
START_RELEASE_IND_ACK

 

This primitive is used to inform the application that the current call is being released.

START_RESET_IND
START_RESET_IND_ACK

 

This primitive is used to inform the application that the associated circuit is being reset.

RESET_REQ
RESET_IND
RESET_RESP
RESET_CONF

RSC or CLF
RSC or CLF
RLG
RLG

 

GROUP_RESET_REQ
GROUP_RESET_IND
GROUP_RESET_RESP
GROUP_RESET_CONF

GRS
GRS
GRA
GRA

 

BLOCKING_REQ
BLOCKING_IND
BLOCKING_RESP
BLOCKING_CONF

BLO
BLO
BLA
BLA

 

UNBLOCKING_REQ
UNBLOCKING_IND
UNBLOCKING_RESP
UNBLOCKING_CONF

UBL
UBL
UBA
UBA

 

GROUP_BLOCKING_REQ
GROUP_BLOCKING_IND
GROUP_BLOCKING_RESP
GROUP_BLOCKING_CONF

MGB
MGB
MBA
MBA

 

GROUP_UNBLOCKING_REQ
GROUP_UNBLOCKING_IND
GROUP_UNBLOCKING_RESP
GROUP_UNBLOCKING_CONF

MGU
MGU
MUA
MUA

 

HW_GROUP_BLOCKING_REQ
HW_GROUP_BLOCKING_IND
HW_GROUP_BLOCKING_RESP
HW_GROUP_BLOCKING_CONF

HGB
HGB
HBA
HBA

 

HW_GROUP_UNBLOCKING_REQ
HW_GROUP_UNBLOCKING_IND
HW_GROUP_UNBLOCKING_RESP
HW_GROUP_UNBLOCKING_CONF

HGU
HGU
HUA
HUA

 

SW_GROUP_BLOCKING_REQ
SW_GROUP_BLOCKING_IND
SW_GROUP_BLOCKING_RESP
SW_GROUP_BLOCKING_CONF

SGB
SGB
SBA
SBA

 

SW_GROUP_UNBLOCKING_REQ
SW_GROUP_UNBLOCKING_IND
SW_GROUP_UNBLOCKING_RESP
SW_GROUP_UNBLOCKING_CONF

SGU
SGU
SUA
SUA

 

INFORMATION_REQ
INFORMATION_IND

SAM or SAO
SAM or SAO

 

MAINTENANCE_SYSTEM_IND

 

This primitive is used to inform the maintenance system of a particular event.

FORWARD_TRANSFER_REQ
FORWARD_TRANSFER_IND

FOT
FOT

 

REANSWER_REQ
REANSWER_IND

RAN
RAN

 

STOP_REQ
STOP_CONF

 

This primitive is used by the application to ask the TUP library to stop re-transmitting CFL/CLF/RSC messages concerning a circuit to the SS7 network.

GROUP_STOP_REQ
GROUP_STOP_CONF

 

This primitive is used by the application to ask the TUP library to stop re-transmitting CFL/CLF/RSC/GRS/MGB/HGB/SGB messages concerning a circuit group to the SS7 network.

CHARGING_REQ
CHARGING_IND
CHARGING_RESP
CHARGING_CONF

CHG or CCG or TRG
CHG or CCG or TRG
CHA or CCC or PCC
CHA or CCC or PCC

Note that these primitives and messages are not supported in CTUP.

 

Bypass Mode

This is as for HP OpenCall SS7 ISUP, see “Bypass Mode”.

MTP Related Primitives

This is as for HP OpenCall SS7 ISUP, see “MTP Related Primitives”.

Additional Information

This is as for HP OpenCall SS7 ISUP, see “Additional Information”, except that the list of TUP primitives requiring Additional Information is given in Table B-4 “HP OpenCall SS7 TUP Primitives Requiring Additional Information ”.

Table B-4 HP OpenCall SS7 TUP Primitives Requiring Additional Information

Primitives

Additional Information

Field

Used for:

SETUP_FAILURE_IND

SetupFailure

setupFailureCause

determining the reason for failure.Possible values are:DUAL_SEIZURE
FLOW_CONTROL
BLOCKING
COT_FAILURE
RELEASE
TWCCR_TIMEOUT
CPC_BUSY
CRCR_RESET

START_RELEASE_IND

StartRelease

releaseCause

determining the reason for the release.Possible values are:BLOCKING
CONTINUITY_SUCCESS
T2_TIMEOUT
T1_TIMEOUT
TWCLR_TIMEOUT
TWRAN_TIMEOUT
TWANN_TIMEOUT

START_RESET_IND

StartReset

resetCause

determining the reason for the reset.Possible values are:

NO_REASON
UNEXPECTED_MESSAGE
T5_TIMEOUT
T7_TIMEOUT
COT_CC_NOT_REQUIRED
GRS_RANGE0
TIMER_SHORTAGE

RESET_INDRESET_RESP

Reset

resetEvent

determining whether or not it is part of a Group Reset operation.Possible values are:

GROUP_RESET

STOP_CONF

GROUP_STOP_CONF

START_RESET_IND

LocalReset

LocalresetCause

determining the reason for the reset.Possible values are:

MTP_UNAVAILABLE
DPC_UNAVAILABLE
BLS_STOPPED
CRS_STOPPED
CRCR_STOPPED
CGRS_STOPPED
MGBS_STOPPED
HGBS_STOPPED
SGBS_STOPPED
CRCS_STOPPED

MAINTENANCE_SYSTEM_IND

MaintenanceSystem

maintenance
SystemEvent

defining the event.Possible values are:

RECV_ON_UNEQUIPPED_CIRCUITMN_BLOCKING
HW_BLOCKING
SW_BLOCKING
MN_UNBLOCKING
HW_UNBLOCKING
SW_UNBLOCKING
MN_GROUP_BLOCKING
HW_GROUP_BLOCKING
SW_GROUP_BLOCKING
MN_GROUP_UNBLOCKING
HW_GROUP_UNBLOCKING
SW_GROUP_UNBLOCKING
T5_TIMEOUT
T7_TIMEOUT
T8_TIMEOUT
T13_TIMEOUT
T16_TIMEOUT
T19_TIMEOUT
T22_TIMEOUT
T27_TIMEOUT
T29_TIMEOUT
T33_TIMEOUT
T35_TIMEOUT
T39_TIMEOUT
T41_TIMEOUT
T12_NOT_RUNNING
T15_NOT_RUNNING
T21_NOT_RUNNING
T26_NOT_RUNNING
T28_NOT_RUNNING
T32_NOT_RUNNING
T34_NOT_RUNNING
T38_NOT_RUNNING
T40_NOT_RUNNING
PRIORITY_TO_GROUP_RESET
COT_RECEIVED
CLF_RECEIVED
BACKWARD_CHECK_TONE_ACK
TIMER_SHORTAGE

 

HP OpenCall SS7 TUP Message Management

Overview

The rules and hypothesis for the TUP message management are:

  • The encoder/decoder functions are flavor dependent (for example, CTUP). The source code is not generated by software.

  • The new local representation mechanism is generic for TUP. It gives fast access to each message parameter.

  • Specific message parameter accessors are available to:

    • Get a parameter value.

    • Set a parameter value.

    • Mark an optional parameter as not present.

    • Check optional parameter presence.

  • No method is provided to install new message parameters.

  • Supports non-standard TUP messages (User messages).

  • Segmented messages are not supported.

  • Multiple instances of a message parameter are not possible in the TUP protocol and therefore it is not necessarily supported.

Table B-5 “Adaptation of HP OpenCall SS7 ISUP Message Classes ” lists the classes from the ISUP message module that have been adapted for TUP.

Table B-5 Adaptation of HP OpenCall SS7 ISUP Message Classes

ISUP ClassTUP ClassPurpose

IsupInfoMgr

IsupInfoMgr

Used by the message module to manage its internal global data.

IsupMsg

IsupMsg

Pure virtual class defining a generic interface to all TUP messages. It is intended to be specialized to define instances of specific TUP messages with a specific accessor interface.

IsupIam, IsupAcm,
...

TupXXX (examples: IsupIam, TupIAI, TupAcm, ...)

Specialization of the IsupMsg. Instances of specific TUP messages with a specific accessor interface.

IsupUserMsg

TupUserMsg

Specialization of the IsupMsg. This class is used to support non-standard TUP messages.

 

Encoding/Decoding TUP Messages

The decoding operation of a TUP message is done just once. After the decoding operation, a local representation (LR) mechanism is implemented to store all the parameters in memory. The parameter values can then be accessed directly without having to do any more decoding. Each message supported by the TUP library has its own local representation (LR) in memory.

Operations Performed by the decode() Function

The decode() function performs the following operations:

  1. Decode the message type (H0/H1).

  2. Initialize the LR data corresponding to the current message type.

  3. Set the message LR description area to zero.

  4. Decode each parameter:

    • Read the PDU message.

    • Update the LR description area.

    • Fill the LR data area.

Operations Performed by the encode() Function

The encode() function performs the following operations:

  1. Initialize the PDU data.

  2. Read the current message LR description area for each parameter (from index 0 to the maximum number of parameters):

    • if the parameter is present, fill the PDU message with the data in LR data area.

    • go to the next parameter.

Parameter Checking

The TUP encoder/decoder only checks that the message format is compatible with the TUP format specification as regards parameter lengths and the presence of mandatory parameters. However, the actual parameter values are not verified (for example, reserved values are not verified).

Encoding/decoding operations stop as soon as an error is detected. In this case, an ENCODING_ERROR/DECODING_ERROR error is returned.

Accessors for TUP Messages

The TupXXX classes (for example: TupAcm) offer specific accessors to message parameters. Two kinds of parameters are defined: mandatory and optional.

The mandatory parameter accessors are used to get and set a parameter value.

For optional parameters, two accessors are added. One accessor is to test the presence of the parameter, and the other is to mark it as not being present.

Parameters values are contained in ISUP::ParmValue class objects. The access result is returned in ISUP::MsgStatus class objects. These object are identical to those used in the ISUP library.

The specific accessors prototypes are shown below.

Set Value Accessor

To set the paramName parameter value in a TupXXX message:

TupXXX * TupXXX::paramName(ISUP::ParmValue& P_sVal, ISUP::MsgStatus& P_status)
Get Value Accessor

To get the paramName parameter value from a TupXXX message:

ISUP::ParmValue* TupXXX::paramName(ISUP::MsgStatus& P_status) const
Check Value Accessor

To check for the presence of the paramName parameter in a TupXXX message:

PAIN::Boolean TupXXX::paramNameIsPresent(ISUP::MsgStatus& P_status) const
Mark as Absent Accessor

To mark the paramName parameter as not present in a TupXXX message:

void TupXXX::paramNameSetAbsent(ISUP::MsgStatus& P_status)
Parameter With an Invalid Length

If a parameter value is given an invalid length, the API behaves as follows:

  • If a parameter is given a value of length less than the minimum parameter length, then the parameter value is extended with 0s to the minimum parameter length. No error is returned.

  • If a parameter is given a value of length greater than the minimum parameter length, then the error INVALID_LENGTH is returned.

TUP User Message

This is implemented as a TUP standard message with only two parameters: UserParamMsgType and UserParam. These parameters, supplied by the application, represent respectively the message type (H0/H1) and the parameter area of the message the user wants to send to the provider. No check is performed by the TUP encoder.

The userParam parameter can contain any kind of TUP parameter. Its maximum size is the maximum size of the parameter area in a TUP message.

TUP Message Class Naming Convention

The TUP message class general naming convention is as follows:

  • All classes that correspond to messages that exist in both the ISUP and the TUP protocols keep the name used in the ISUP library. For example: IsupIam, IsupAcm, etc.

  • TUP messages that do not exist in ISUP have their corresponding class named TupXXX. For example: TupIai, TupCcf, ...

TUP Message Module Classes

Table B-6 “TUP Message Module Classes ” lists the TUP message module classes.

Table B-6 TUP Message Module Classes

Item

Comment

TUP class: IsupInfoMgr

Corresponding ISUP class

IsupInfoMgr

Purpose

Class used by message module to manage its internal global data.

Main Changes

All methods related to message setting are deleted.
All methods related to ASN.1+ tags are deleted.

Main Methods

init(): initialize LR memory, call to the init() methods of IsupMsg

end(): end with the IsupMsg class.

setTraceOn/Off(): start/stop decoding / encoding tracing; call to the setTraceOn/Off() methods of IsupMsg.

TUP class: IsupMsg

Corresponding ISUP class

IsupMsg

Purpose

Pure virtual class defining a generic interface to all TUP messages. It is intended to be specialized to define instances of specific TUP messages with a specific accessor interface.

Main Changes

TUP LR management: encoding / decoding, accessors.
All methods related to ASN.1+ tags are deleted.
IsupMsg is not an inherited class (from the BF class).
PDU data management: this is managed by the class itself.

Main Methods

init(): initialize LR memory for all message type supported (call to init() methods of TupXXX).

end(): end with TupXXX classes.

encode(): encode PDU from message LR representation (virtual method).

decode(): decode PDU and get message LR representation.

getPDU(): copy associate PDU into given buffer.

freePDU(): free the associated PDU memory.

setPDU(): associate given PDU to the message.

getMsgType(): get the type of the current message (IAM, ...).

setMsgType(): set the message type.

setTraceOn/Off(): start/stop tracing in encode() and decode() methods.

TUP class: TupXXX

(where XXX represents the message type, and the TUP message class general naming convention (see “TUP Message Class Naming Convention”) applies.

Corresponding ISUP class

IsupIam,...

Purpose

Specialization of the IsupMsg class. Instances of specific TUP messages with a specific accessor interface.

Main Methods

castMsg(): casts a generic IsupMsg object into a TupXXX object.

Specific accessors: get, set, check / set presence of a parameter.

encode(): encode PDU from message LR representation.

init(): initialize the LR data pointers and areas.

end(): free associated LR memory.

TUP class: TupUserMsg

Corresponding ISUP class

IsupUserMsg

Purpose

Specialization of the IsupMsg class. This class is used to support non-TUP standard messages.

Main Changes

This class is defined in exactly the same way as the TupXXX classes.

Main Methods

These are the same as for the TupXXX classes.

 

TUP Message Description (API)

When a parameter exists in both the ISUP and the TUP protocols, then its name is the ISUP one. In this case, if the TUP parameter name is different from the ISUP one, then the TUP name is given in the Parameter Type column.

The parameter formats are those defined in Q783. However, in order to facilitate decoding and encoding, the format used for calledPartyNumber and subsequentNumber parameters in the IAI, IAM and SAM messages is as shown in Table B-7 “Format for calledPartyNumber and subsequentNumber Parameters ”.

Table B-7 Format for calledPartyNumber and subsequentNumber Parameters

ByteBitsMeaning

first byte

bits HGFE
bits DCBA

number of address signals sub-field.
Not significant.

subsequent bytes  address digits

 

All mandatory parameters of a message must be set before sending the message to the TUP library. Otherwise, an ENCODING_ERROR error is returned.

Table B-8 “Message Classes and Accessors (CTUP Only) ” lists all the CTUP messages classes and their associated accessors provided by the HP OpenCall SS7 TUP API. The equivalent information for ITUP is given in Table B-9 “Message Classes and Accessors (ITUP Only) ”.

Table B-8 Message Classes and Accessors (CTUP Only)

Message ClassParameter NameParameter Type

TupAcb

--
TupAccautomCongestionLevelMandatory,
Fixed length, "Message Indicators"
IsupAcmbackwardCallIndicatorsMandatory,
Fixed length, "Message Indicators"
TupAdi--
TupAnc--
TupAnn--
IsupBla--
IsupBlo--
TupCbk--
TupCcf--
TupCcl--
IsupCcr--
TupCfl--
TupCgc--
TupClf--
IsupCot--
TupDpn--
TupEumoctetIndicator
signallingPointCode
Mandatory, Fixed length
Mandatory, Fixed length
IsupFot--
IsupGrarangeAndStatusMandatory, Variable length
TupGrqrequestTypeIndicatorsMandatory, Fixed length
IsupGrsrangeAndStatusMandatory, Fixed length
TupGsmresponseTypeIndicator
callingPartysCategory
callingPartyNumber

transitExchangeIdentity


incomingTrunkIdentity


originalCalledNumber
Mandatory, Fixed length
Optional, Fixed length
Optional, Variable length,
"Calling Line Identity"
Optional, Variable length,
subfield of "Incoming Trunk and Transit Exchange Identity"
Optional, Variable length,
subfield of "Incoming Trunk and Transit Exchange Identity"
Optional, Variable length, "Original Called Address"
TupHbarangeAndStatusMandatory, Variable length
TupHgbrangeAndStatusMandatory, Variable length
TupHgurangeAndStatusMandatory, Variable length
TupHuarangeAndStatusMandatory, Variable length
TupIaicallingPartysCategory
messageIndicators
calledPartyNumber

callingPartyNumber

originalCalledNumber
Mandatory, Fixed length
Mandatory, Fixed length
Mandatory, Variable length, "Number Of Address Signals" + "Address Signals"
Optional, Variable length, "Calling Line Identity"
Optional, Variable length, "Original Called Address"
IsupIamcallingPartysCategory
messageIndicators
calledPartyNumber
Mandatory, Fixed length
Mandatory, Fixed length
Mandatory, Variable length
TupLos--
TupMal--
TupMbarangeAndStatusMandatory, Variable length
TupMgbrangeAndStatusMandatory, Variable length
TupMgurangeAndStatusMandatory, Variable length
TupMpmchargingInformationMandatory, Fixed length
TupMuarangeAndStatusMandatory, Variable length
TupNnc--
TupOpr--
TupRan--
TupRlg--
IsupRsc--
IsupSamsubsequentNumberMandatory, Variable length, "Address Signals"
TupSaosubsequentNumberMandatory, Fixed length, "Address Signals"
TupSbarangeAndStatusMandatory, Variable length
TupSec--
TupSgbrangeAndStatusMandatory, Variable length
TupSgurangeAndStatusMandatory, Variable length
TupSlb--
TupSsb--
TupSst--
TupStb--
TupSuarangeAndStatusMandatory, Variable length
IsupUba--
IsupUbl--
TupUnn--
IsupUserMsgmessageType
userParam
Mandatory, Fixed length (H0/H1)
Optional, Variable length

 

Table B-9 “Message Classes and Accessors (ITUP Only) ” lists all the ITUP messages classes and their associated accessors provided by the HP OpenCall SS7 TUP API. The equivalent information for CTUP is given in Table B-8 “Message Classes and Accessors (CTUP Only) ”.

Table B-9 Message Classes and Accessors (ITUP Only)

Message ClassParameter NameParameter Type

TupAcb

--
TupAccautomCongestionLevelMandatory, Fixed length, "Message Indicators"
IsupAcmbackwardCallIndicatorsMandatory, Fixed length, "Message Indicators"
TupAdi--
TupAnc--
TupAnn--
TupAnu--
IsupBla--
IsupBlo--
TupCbk--
TupCcf--
TupCccchargingUnitIndicatorsMandatory, Fixed length, "Charging Unit field"
TupCcgcollectionIndicatorsMandatory, Fixed length, "Collection field"
TupCcl--
IsupCcr--
TupCfl--
TupCgc--
TupCha--
TupChgpacketChargingA
tariffIndicatorsA
tariffFactorA
timeIndicator
(*see the Note following this table)
packetChargingB
tariffIndicatorsB
tariffFactorB
Optional, Fixed length, "Packet charging A"
Optional, Fixed length, "Tariff Indicators A"
Optional, Fixed length, "Tariff Factor A"
Optional, Fixed length, "Time indicator"

Optional, Fixed length, "Packet charging B"
Optional, Fixed length, "Tariff Indicators B"
Optional, Fixed length, "Tariff Factor B"
TupClf--
IsupCot--
TupDpn--
TupEumoctetIndicator
signallingPointCode
Mandatory, Fixed length
Mandatory, Fixed length
IsupFot--
IsupGrarangeAndStatusMandatory, Variable length
TupGrqrequestTypeIndicatorsMandatory, Fixed length
IsupGrsrangeAndStatusMandatory, Fixed length
TupGsmresponseTypeIndicator
callingPartysCategory
callingPartyNumber

transitExchangeIdentity


incomingTrunkIdentity


originalCalledNumber
Mandatory, Fixed length
Optional, Fixed length
Optional, Variable length, "Calling Line Identity"
Optional, Variable length, subfield of "Incoming Trunk and Transit Exchange Identity"
Optional, Variable length, subfield of "Incoming Trunk and Transit Exchange Identity"
Optional, Variable length, "Original Called Address"
TupHbarangeAndStatusMandatory, Variable length
TupHgbrangeAndStatusMandatory, Variable length
TupHgurangeAndStatusMandatory, Variable length
TupHuarangeAndStatusMandatory, Variable length
TupIaicallingPartysCategory
messageIndicators
calledPartyNumber

CUGinterlockCode

callingPartyNumber

originalCalledNumber
Mandatory, Fixed length
Mandatory, Fixed length
Mandatory, Variable length, "Number Of Address Signals" + "Address Signals"
Optional, Fixed length, "Closed User Group Information "
Optional, Variable length, "Calling Line Identity"
Optional, Variable length, "Original Called Address"
IsupIamcallingPartysCategory
messageIndicators
calledPartyNumber
Mandatory, Fixed length
Mandatory, Fixed length
Mandatory, Variable length
TupLos--
TupMbarangeAndStatusMandatory, Variable length
TupMgbrangeAndStatusMandatory, Variable length
TupMgurangeAndStatusMandatory, Variable length
TupMuarangeAndStatusMandatory, Variable length
TupNnc--
TupPccchargingUnitIndicatorsMandatory, Variable length, "Charging unit field"
TupRan--
TupRlg--
IsupRsc--
IsupSamsubsequentNumberMandatory, Variable length, "Address Signals"
TupSaosubsequentNumberMandatory, Fixed length, "Address Signals"
TupSbarangeAndStatusMandatory, Variable length
TupSec--
TupSgbrangeAndStatusMandatory, Variable length
TupSgurangeAndStatusMandatory, Variable length
TupSsb--
TupSst--
TupSuarangeAndStatusMandatory, Variable length
TupTrgtariffIndicators
tariffFactor
timeIndicator
(*see the Note following this table)
Mandatory, Fixed length, "Tariff indicators"
Optional, Fixed length, "Tariff factor"
Mandatory, Fixed length, "Time indicator"
IsupUba--
IsupUbl--
TupUnn--
IsupUserMsgmessageType
userParam
Mandatory, Fixed length (H0/H1)
Optional, Variable length

 

NOTE: (*) The timeIndicator parameter is coded on one byte. The shift of 2 bits is done by the encode() and decode() methods.

Rounding a Parameter Length

If a parameter length does not correspond to an exact number of bytes, the length is rounded to the upper number of bytes.

In this case, the significant bits are placed starting from the least significant bit of the parameter.

For example, in an IAI message the callingPartysCategory parameter is 6 bits long. You set the callingPartysCategory parameter to 000001 in an IAI as follows:

TupIaiObject->callingPartysCategory(ParmValueObject->assign("\x01",1),
MsgStatusObject);

If the callingPartysCategory parameter is 000001 in a received IAI message, the ParmValue returned by the get accessor will be one byte long: 0x01:

ParmValueObject = TupIaiObject->callingPartysCategory (MsgStatusObject);

Automated Call Release

HP OpenCall SS7 TUP provides a means of automatically releasing a call on request from the application. This helps the programmer by reducing the number of exchanges with the TUP API.

The decision to release a circuit is the responsibility of the application. HP OpenCall SS7 TUP handles all new message exchanges on this circuit by implementing an Automated Call Release (ACR) State Machine. This state machine processes all the incoming messages related to the circuit being released.

Figure B-1 Successful Automated Call Release

Successful Automated Call Release call release (TUP)automatedautomatedcall release (TUP)release (TUP)successful call releasesuccessfulcall release (TUP)
NOTE: In Figure B-1 “Successful Automated Call Release ”, the asterisk (*) after CFL means that this message type can be configured using the ACRReleaseMessage field in the Tup_Global section of the tup.conf file. The allowed message types are: ACB, CBK, CFL, CGC, LOS, NNC, and SEC . The default message type is CFL.

Figure B-2 Unsuccessful Automated Call Release

Unsuccessful Automated Call Release automatedunsuccessful call release (TUP)call release (TUP)automated unsuccessfulunsuccessfulcall release (TUP)
NOTE: In Figure B-2 “Unsuccessful Automated Call Release ”, the asterisk (*) after ACB means that this message type can be configured using the ACRReleaseMessage field in the Tup_Global section of the tup.conf file. The allowed message types are: ACB, CBK, CFL, CGC, LOS, NNC, and SEC. The default message type is CFL.
The double asterisk (**) after T3 started means that if the message type CFL is used, the timers started are T4 and T5 and not T3.

ACR State Machine

When started, the ACR State Machine initiates a release by sending an ACB message as shown in Figure B-2 “Unsuccessful Automated Call Release ”.

If no RLG arrives before T3 expires, HP OpenCall SS7 TUP sends a CFL. If no RLG arrives before T4 expires, HP OpenCall SS7 TUP sends another CFL. This is repeated for n attempts until T5 expires. If no RLG arrives before T5 expires, HP OpenCall SS7 TUP sends an RSC. If no RLG arrives before T18 expires, HP OpenCall SS7 TUP sends another RSC. This is repeated for n attempts until T19 expires. If no RLG is received before T19 expires, HP OpenCall SS7 TUP just locally resets the circuit (same as a STOP_REQ procedure) and returns to idle. The circuit is now available for future call attempts.

Return Status Values

This is as for HP OpenCall SS7 ISUP, see in “Return Status Values”.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.