#include <h323pdu.h>
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=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) |
H323SignalPDU::H323SignalPDU | ( | ) |
Create a new H.323 signalling channel (H.225/Q.931) PDU.
H225_Alerting_UUIE& H323SignalPDU::BuildAlerting | ( | const H323Connection & | connection | ) |
Build an ALERTING message.
connection | Connection PDU is generated for |
H225_CallProceeding_UUIE& H323SignalPDU::BuildCallProceeding | ( | const H323Connection & | connection | ) |
Build a CALL-PROCEEDING message.
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.
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.
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.
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.
connection | Connection PDU is generated for |
H225_Notify_UUIE& H323SignalPDU::BuildNotify | ( | const H323Connection & | connection | ) |
Build a NOTIFY message.
connection | Connection PDU is generated for |
H225_Progress_UUIE& H323SignalPDU::BuildProgress | ( | const H323Connection & | connection | ) |
Build a PROGRESS message.
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.
connection | Connection PDU is generated for |
H225_Setup_UUIE& H323SignalPDU::BuildSetup | ( | const H323Connection & | connection, | |
const H323TransportAddress & | destAddr | |||
) |
Build a SETUP message.
connection | Connection PDU is generated for |
destAddr | Destination address for packet |
H225_SetupAcknowledge_UUIE& H323SignalPDU::BuildSetupAcknowledge | ( | const H323Connection & | connection | ) |
Build a SETUP-ACKNOWLEDGE message.
connection | Connection PDU is generated for |
H225_Status_UUIE& H323SignalPDU::BuildStatus | ( | const H323Connection & | connection | ) |
Build a STATUS message.
connection | Connection PDU is generated for |
H225_StatusInquiry_UUIE& H323SignalPDU::BuildStatusInquiry | ( | const H323Connection & | connection | ) |
Build a STATUS-INQUIRY message.
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.
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.
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
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.
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.
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.
transport | Transport to write to |
Q931 H323SignalPDU::q931pdu [protected] |