# H323SignalPDU Class Reference

`#include <h323pdu.h>`

Collaboration diagram for H323SignalPDU:

[legend]

## Operations

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)
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 = `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.

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

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:

- h323pdu.h