H323SignalPDU Class Reference

#include <h323pdu.h>


Operations

void PrintOn (ostream &strm) const
PBoolean Read (H323Transport &transport)
PBoolean Write (H323Transport &transport)
const Q931GetQ931 () const
Q931GetQ931 ()
void SetQ931 (const Q931 &_q931pdu)
void BuildQ931 ()
PString GetSourceAliases (const H323Transport *transport=NULL) const
PString GetDestinationAlias (PBoolean firstAliasOnly=PFalse) const
PBoolean GetSourceE164 (PString &number) const
PBoolean GetDestinationE164 (PString &number) const
unsigned GetDistinctiveRing () const
void SetQ931Fields (const H323Connection &connection, bool insertPartyNumbers=false)
void InsertH460Setup (const H323Connection &connection, H225_Setup_UUIE &setup)
Q931 q931pdu

Public Member Functions

Construction
 H323SignalPDU ()
H225_Setup_UUIE & BuildSetup (const H323Connection &connection, const H323TransportAddress &destAddr)
H225_CallProceeding_UUIE & BuildCallProceeding (const H323Connection &connection)
H225_Connect_UUIE & BuildConnect (const H323Connection &connection)
H225_Connect_UUIE & BuildConnect (const H323Connection &connection, const PIPSocket::Address &h245Address, WORD port)
H225_Alerting_UUIE & BuildAlerting (const H323Connection &connection)
H225_Information_UUIE & BuildInformation (const H323Connection &connection)
H225_ReleaseComplete_UUIE & BuildReleaseComplete (const H323Connection &connection)
H225_Facility_UUIE * BuildFacility (const H323Connection &connection, bool empty, unsigned reason=H225_FacilityReason::e_undefinedReason)
H225_Progress_UUIE & BuildProgress (const H323Connection &connection)
H225_Status_UUIE & BuildStatus (const H323Connection &connection)
H225_StatusInquiry_UUIE & BuildStatusInquiry (const H323Connection &connection)
H225_SetupAcknowledge_UUIE & BuildSetupAcknowledge (const H323Connection &connection)
H225_Notify_UUIE & BuildNotify (const H323Connection &connection)


Detailed Description

Wrapper class for the H323 signalling channel.


Constructor & Destructor Documentation

H323SignalPDU::H323SignalPDU (  ) 

Create a new H.323 signalling channel (H.225/Q.931) PDU.


Member Function Documentation

H225_Alerting_UUIE& H323SignalPDU::BuildAlerting ( const H323Connection connection  ) 

Build an ALERTING message.

Parameters:
connection  Connection PDU is generated for

H225_CallProceeding_UUIE& H323SignalPDU::BuildCallProceeding ( const H323Connection connection  ) 

Build a CALL-PROCEEDING message.

Parameters:
connection  Connection PDU is generated for

H225_Connect_UUIE& H323SignalPDU::BuildConnect ( const H323Connection connection,
const PIPSocket::Address &  h245Address,
WORD  port 
)

Build a CONNECT message with H.245 address.

Parameters:
connection  Connection PDU is generated for
h245Address  H.245 IP address
port  H.245 TCP port

H225_Connect_UUIE& H323SignalPDU::BuildConnect ( const H323Connection connection  ) 

Build a CONNECT message.

Parameters:
connection  Connection PDU is generated for

H225_Facility_UUIE* H323SignalPDU::BuildFacility ( const H323Connection connection,
bool  empty,
unsigned  reason = H225_FacilityReason::e_undefinedReason 
)

Build a FACILITY message.

Parameters:
connection  Connection PDU is generated for
empty  Flag for empty facility message
reason  Reason for Facility

H225_Information_UUIE& H323SignalPDU::BuildInformation ( const H323Connection connection  ) 

Build a INFORMATION message.

Parameters:
connection  Connection PDU is generated for

H225_Notify_UUIE& H323SignalPDU::BuildNotify ( const H323Connection connection  ) 

Build a NOTIFY message.

Parameters:
connection  Connection PDU is generated for

H225_Progress_UUIE& H323SignalPDU::BuildProgress ( const H323Connection connection  ) 

Build a PROGRESS message.

Parameters:
connection  Connection PDU is generated for

void H323SignalPDU::BuildQ931 (  ) 

Build the Q.931 wrapper PDU for H.225 signalling PDU. This must be called after altering fields in the H.225 part of the PDU. If it has never been done, then the Write() functions will do so.

H225_ReleaseComplete_UUIE& H323SignalPDU::BuildReleaseComplete ( const H323Connection connection  ) 

Build a RELEASE-COMPLETE message.

Parameters:
connection  Connection PDU is generated for

H225_Setup_UUIE& H323SignalPDU::BuildSetup ( const H323Connection connection,
const H323TransportAddress destAddr 
)

Build a SETUP message.

Parameters:
connection  Connection PDU is generated for
destAddr  Destination address for packet

H225_SetupAcknowledge_UUIE& H323SignalPDU::BuildSetupAcknowledge ( const H323Connection connection  ) 

Build a SETUP-ACKNOWLEDGE message.

Parameters:
connection  Connection PDU is generated for

H225_Status_UUIE& H323SignalPDU::BuildStatus ( const H323Connection connection  ) 

Build a STATUS message.

Parameters:
connection  Connection PDU is generated for

H225_StatusInquiry_UUIE& H323SignalPDU::BuildStatusInquiry ( const H323Connection connection  ) 

Build a STATUS-INQUIRY message.

Parameters:
connection  Connection PDU is generated for

PString H323SignalPDU::GetDestinationAlias ( PBoolean  firstAliasOnly = PFalse  )  const

Get the destination alias name(s) for the local endpoint. The alias returned here can be used to determine the routing of an incoming connection.

Parameters:
firstAliasOnly  Only return the first possible alias

PBoolean H323SignalPDU::GetDestinationE164 ( PString &  number  )  const

Get the destiation phone number. This returns PFalse if the remote never provided any alias or Q.931 field that indicated a valid e.164 telephone number.

Parameters:
number  String to receive number

unsigned H323SignalPDU::GetDistinctiveRing (  )  const

Get the distinctive ring code if present. This returns zero if no distinctive ring information is provided.

Q931& H323SignalPDU::GetQ931 (  )  [inline]

Get the Q.931 wrapper PDU for H.225 signalling PDU.

const Q931& H323SignalPDU::GetQ931 (  )  const [inline]

Get the Q.931 wrapper PDU for H.225 signalling PDU.

PString H323SignalPDU::GetSourceAliases ( const H323Transport transport = NULL  )  const

Get the source alias names for the remote endpoint. This returns a human readable set of names that was provided by the remote endpoint to identify it, eg phone number, display name etc etc

Parameters:
transport  Transport PDU was read from.

PBoolean H323SignalPDU::GetSourceE164 ( PString &  number  )  const

Get the source endpoints identification as a phone number. This returns PFalse if the remote never provided any alias or Q.931 field that indicated a valid e.164 telephone number.

Parameters:
number  String to receive number

void H323SignalPDU::InsertH460Setup ( const H323Connection connection,
H225_Setup_UUIE &  setup 
)

When sending the H460 message in the Setup PDU you have to ensure the ARQ is received first then add the Fields to the Setup PDU so we require a call back

void H323SignalPDU::PrintOn ( ostream &  strm  )  const

Print PDU to stream.

PBoolean H323SignalPDU::Read ( H323Transport transport  ) 

Read PDU from the specified transport.

Parameters:
transport  Transport to read from

void H323SignalPDU::SetQ931 ( const Q931 _q931pdu  )  [inline]

Set the Q.931 wrapper PDU for H.225 signalling PDU

void H323SignalPDU::SetQ931Fields ( const H323Connection connection,
bool  insertPartyNumbers = false 
)

Set the Q.931 fields in the PDU. This sets the default values for various fields, eg caller party number into the Q.931 from the supplied connection.

PBoolean H323SignalPDU::Write ( H323Transport transport  ) 

Write the PDU to the transport.

Parameters:
transport  Transport to write to


Field Documentation

Q931 H323SignalPDU::q931pdu [protected]


The documentation for this class was generated from the following file:
Generated on Mon Feb 21 20:19:22 2011 for OPAL by  doxygen 1.4.7