H323SignalPDU Class Reference

`#include <h323pdu.h>`

Inheritance diagram for H323SignalPDU:

## 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)

## Operations

Q931 | q931pdu
void | PrintOn (ostream &strm) const
PBoolean | Read (H323Transport &transport)
PBoolean | Write (H323Transport &transport)
const Q931 & | GetQ931 () const
Q931 & | GetQ931 ()
void | SetQ931 (const Q931 &_q931pdu)
void | BuildQ931 ()
PString | GetSourceAliases (const H323Transport *transport=NULL) const
PString | GetDestinationAlias (PBoolean firstAliasOnly=false) 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)

## 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 | ) |

Build a CONNECT 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_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 = `false` | ) | 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 false 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.

const Q931& H323SignalPDU::GetQ931 | ( |  | ) | const

inline

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

References q931pdu.

Q931& H323SignalPDU::GetQ931 | ( |  | ) |

inline

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

References q931pdu.

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 false 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

References q931pdu.

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

Referenced by GetQ931(), and SetQ931().

The documentation for this class was generated from the following file:

- h323pdu.h