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 > Chapter 13 Exchanging ISUP Messages

Accessors

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

The parameter values of a message class instance, such as an instance of IsupIam, are accessible via special message methods called accessors. There are two groups of accessor: generic and specific.

Specific Accessors

All the parameter values contained in HP OpenCall SS7 ISUP Supported Messages are accessible through parameter specific accessors. Each parameter has two accessors, a read and a write accessor.

Optional parameters have two additional accessors:

  • the presence accessor, to indicate the presence of a specified optional parameter,

  • the absence accessor, to force an optional parameter to be treated as absent (whether it is in fact present or not).

When you write a value into an optional parameter, its presence indicator is automatically set. Before applying a read accessor to an optional parameter, you must examine the presence indicator to ascertain if the parameter is present in the message.

The absence accessor forces an optional parameter to be treated as absent (whether it is in fact present or not). This lets you reuse part of a message without creating a new one and copying the parameters required by the application.

Accessor Behavior

The behavior of an accessor depends on the message or parameter that you want to access and on the metadata.

Table 13-8 Specific Accessors

Type

Accessor

Arguments

ISUP::ParmValue

accessorName(read accessor)

(ISUP::MsgStatus& status) const;

IsupXXX*

where IsupXXX denotes a specific message class as listed in “Supported Parameters List”

accessorName
(write accessor)

where, accessorName denotes the parameter name as listed in “Supported Parameters List”.

(ISUP::ParmValue& val,
ISUP::MsgStatus& status);

void

<parameterShortName>SetAbsent
(absence accessor)

(ISUP::MsgStatus& P_status);

HPAIN::Boolean

accessorNameIsPresent
(presence accessor)

where, accessorName denotes the parameter name as listed in “Supported Parameters List”

(ISUP::MsgStatus& status) const;

 

Accessing Data Part of an IsupMsg Object

Two methods are available to access the transfer representation (data part) of an IsupMsg object:

  • IsupMsg::getPDU()

  • IsupMsg::setPDU()

These two methods are in the public area of the IsupMsg class.

IsupMsg::getPDU()

This method has the following signature:

IsupMsg::getPDU(void *PDU,HPAIN::Unit32
*P_length,ISUP::MsgStatus& P_status)

It returns the data read in the transfer representation of the message in the *PDU buffer, and updates the P_length parameter accordingly.

The status returned is one of the following:

ISUP::MsgStatus::NO_ERROR is returned in case of correct behavior.

ISUP::MsgStatus::READ_ERROR is returned if:

  • the transfer representation does not exist.

  • an error occurred when reading the transfer representation.

ISUP::MsgStatus::INVALID_LENGTH, if the given length parameter is not large enough to allow copy of the transfer representation.

IsupMsg::setPDU()

This method has the following signature:

IsupMsg::setPDU(const void *P_PDU, HPAIN::Uint32 P_length,
ISUP::MsgStatus& P_status)

It sets the transfer representation of the IsupMsg object with the data found in the buffer pointed to by the P_PDU parameter. The write operation is done starting from the message type to the last parameter of the ISUP message.

Errors that are returned when using this method are the following:

ISUP::MsgStatus::NO_MORE_MEMORY, if the network representation cannot be created.

ISUP::MsgStatus::WRITE_ERROR, if the write operation cannot be performed:

  • *P_length is null,

  • *P_PDU is null,

  • *the transfer representation already exists.

ISUP::MsgStatus::INVALID_TAG, if the type of the IsupMsg object used is different from the message type read in the first byte of the PDU.

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