 |
» |
|
|
 |
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 ” 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 PrimitivesTable 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)
| Primitive | ITUP Message | Comments |
|---|
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. |
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 |  |
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: 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 Class | TUP Class | Purpose |
|---|
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 MessagesThe 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: Decode the message type (H0/H1). Initialize the LR data corresponding to the current
message type. Set the message LR description area to zero. Decode each parameter: Update the LR description area.
Operations
Performed by the encode() Function The encode() function performs the following operations: Initialize the PDU data. 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.
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.
To set the paramName parameter value in a TupXXX message: TupXXX * TupXXX::paramName(ISUP::ParmValue& P_sVal, ISUP::MsgStatus& P_status) |
To get the paramName parameter value from a TupXXX message: ISUP::ParmValue* TupXXX::paramName(ISUP::MsgStatus& P_status) const |
To check for the presence of the paramName parameter in a TupXXX message: PAIN::Boolean TupXXX::paramNameIsPresent(ISUP::MsgStatus& P_status) const |
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.
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 ConventionThe 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 ClassesTable 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 | Byte | Bits | Meaning |
|---|
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 Class | Parameter Name | Parameter Type |
|---|
TupAcb | - | - | | TupAcc | automCongestionLevel | Mandatory, Fixed length, "Message
Indicators" | | IsupAcm | backwardCallIndicators | Mandatory, Fixed length, "Message
Indicators" | | TupAdi | - | - | | TupAnc | - | - | | TupAnn | - | - | | IsupBla | - | - | | IsupBlo | - | - | | TupCbk | - | - | | TupCcf | - | - | | TupCcl | - | - | | IsupCcr | - | - | | TupCfl | - | - | | TupCgc | - | - | | TupClf | - | - | | IsupCot | - | - | | TupDpn | - | - | | TupEum | octetIndicator signallingPointCode | Mandatory, Fixed length Mandatory,
Fixed length | | IsupFot | - | - | | IsupGra | rangeAndStatus | Mandatory, Variable length | | TupGrq | requestTypeIndicators | Mandatory, Fixed length | | IsupGrs | rangeAndStatus | Mandatory, Fixed length | | TupGsm | responseTypeIndicator 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" | | TupHba | rangeAndStatus | Mandatory, Variable length | | TupHgb | rangeAndStatus | Mandatory, Variable length | | TupHgu | rangeAndStatus | Mandatory, Variable length | | TupHua | rangeAndStatus | Mandatory, Variable length | | TupIai | callingPartysCategory 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" | | IsupIam | callingPartysCategory messageIndicators calledPartyNumber | Mandatory, Fixed length Mandatory,
Fixed length Mandatory, Variable length | | TupLos | - | - | | TupMal | - | - | | TupMba | rangeAndStatus | Mandatory, Variable length | | TupMgb | rangeAndStatus | Mandatory, Variable length | | TupMgu | rangeAndStatus | Mandatory, Variable length | | TupMpm | chargingInformation | Mandatory, Fixed length | | TupMua | rangeAndStatus | Mandatory, Variable length | | TupNnc | - | - | | TupOpr | - | - | | TupRan | - | - | | TupRlg | - | - | | IsupRsc | - | - | | IsupSam | subsequentNumber | Mandatory, Variable length, "Address Signals" | | TupSao | subsequentNumber | Mandatory, Fixed length, "Address Signals" | | TupSba | rangeAndStatus | Mandatory, Variable length | | TupSec | - | - | | TupSgb | rangeAndStatus | Mandatory, Variable length | | TupSgu | rangeAndStatus | Mandatory, Variable length | | TupSlb | - | - | | TupSsb | - | - | | TupSst | - | - | | TupStb | - | - | | TupSua | rangeAndStatus | Mandatory, Variable length | | IsupUba | - | - | | IsupUbl | - | - | | TupUnn | - | - | | IsupUserMsg | messageType 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 Class | Parameter Name | Parameter Type |
|---|
TupAcb | - | - | | TupAcc | automCongestionLevel | Mandatory, Fixed length, "Message Indicators" | | IsupAcm | backwardCallIndicators | Mandatory, Fixed length, "Message Indicators" | | TupAdi | - | - | | TupAnc | - | - | | TupAnn | - | - | | TupAnu | - | - | | IsupBla | - | - | | IsupBlo | - | - | | TupCbk | - | - | | TupCcf | - | - | | TupCcc | chargingUnitIndicators | Mandatory, Fixed length, "Charging Unit field" | | TupCcg | collectionIndicators | Mandatory, Fixed length, "Collection field" | | TupCcl | - | - | | IsupCcr | - | - | | TupCfl | - | - | | TupCgc | - | - | | TupCha | - | - | | TupChg | packetChargingA 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 | - | - | | TupEum | octetIndicator signallingPointCode | Mandatory, Fixed length Mandatory,
Fixed length | | IsupFot | - | - | | IsupGra | rangeAndStatus | Mandatory, Variable length | | TupGrq | requestTypeIndicators | Mandatory, Fixed length | | IsupGrs | rangeAndStatus | Mandatory, Fixed length | | TupGsm | responseTypeIndicator 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" | | TupHba | rangeAndStatus | Mandatory, Variable length | | TupHgb | rangeAndStatus | Mandatory, Variable length | | TupHgu | rangeAndStatus | Mandatory, Variable length | | TupHua | rangeAndStatus | Mandatory, Variable length | | TupIai | callingPartysCategory 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" | | IsupIam | callingPartysCategory messageIndicators calledPartyNumber | Mandatory, Fixed length Mandatory,
Fixed length Mandatory, Variable length | | TupLos | - | - | | TupMba | rangeAndStatus | Mandatory, Variable length | | TupMgb | rangeAndStatus | Mandatory, Variable length | | TupMgu | rangeAndStatus | Mandatory, Variable length | | TupMua | rangeAndStatus | Mandatory, Variable length | | TupNnc | - | - | | TupPcc | chargingUnitIndicators | Mandatory, Variable length, "Charging unit
field" | | TupRan | - | - | | TupRlg | - | - | | IsupRsc | - | - | | IsupSam | subsequentNumber | Mandatory, Variable length, "Address Signals" | | TupSao | subsequentNumber | Mandatory, Fixed length, "Address Signals" | | TupSba | rangeAndStatus | Mandatory, Variable length | | TupSec | - | - | | TupSgb | rangeAndStatus | Mandatory, Variable length | | TupSgu | rangeAndStatus | Mandatory, Variable length | | TupSsb | - | - | | TupSst | - | - | | TupSua | rangeAndStatus | Mandatory, Variable length | | TupTrg | tariffIndicators 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 | - | - | | IsupUserMsg | messageType 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.  |  |  |  |  | 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. |  |  |  |  |
 |  |  |  |  | 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.
|