OPAL
Version 3.10.4
|
00001 /* 00002 * h323annexg.h 00003 * 00004 * Implementation of H.323 Annex G using H.501 00005 * 00006 * Open H323 Library 00007 * 00008 * Copyright (c) 2003 Equivalence Pty. Ltd. 00009 * 00010 * The contents of this file are subject to the Mozilla Public License 00011 * Version 1.0 (the "License"); you may not use this file except in 00012 * compliance with the License. You may obtain a copy of the License at 00013 * http://www.mozilla.org/MPL/ 00014 * 00015 * Software distributed under the License is distributed on an "AS IS" 00016 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 00017 * the License for the specific language governing rights and limitations 00018 * under the License. 00019 * 00020 * The Original Code is Open H323 Library. 00021 * 00022 * The Initial Developer of the Original Code is Equivalence Pty. Ltd. 00023 * 00024 * Contributor(s): ______________________________________. 00025 */ 00026 00027 #ifndef OPAL_H323_H323ANNEXG_H 00028 #define OPAL_H323_H323ANNEXG_H 00029 00030 #ifdef P_USE_PRAGMA 00031 #pragma interface 00032 #endif 00033 00034 #include <opal/buildopts.h> 00035 00036 #if OPAL_H501 00037 00038 #include <h323/h323trans.h> 00039 #include <h323/h501pdu.h> 00040 00041 00042 class PASN_Sequence; 00043 class PASN_Choice; 00044 00045 class H323EndPoint; 00046 00047 00049 00052 class H323_AnnexG : public H323Transactor 00053 { 00054 PCLASSINFO(H323_AnnexG, H323Transactor); 00055 public: 00058 enum { 00059 DefaultUdpPort = 2099, 00060 DefaultTcpPort = 2099 00061 }; 00062 00065 H323_AnnexG( 00066 H323EndPoint & endpoint, 00067 H323Transport * transport 00068 ); 00069 H323_AnnexG( 00070 H323EndPoint & endpoint, 00071 const H323TransportAddress & addr 00072 ); 00073 00076 ~H323_AnnexG(); 00078 00083 void PrintOn( 00084 ostream & strm 00085 ) const; 00087 00092 virtual H323TransactionPDU * CreateTransactionPDU() const; 00093 00096 virtual PBoolean HandleTransaction( 00097 const PASN_Object & rawPDU 00098 ); 00099 00102 virtual void OnSendingPDU( 00103 PASN_Object & rawPDU 00104 ); 00106 00109 virtual PBoolean OnReceiveServiceRequest (const H501PDU & pdu, const H501_ServiceRequest & pduBody); 00110 virtual PBoolean OnReceiveServiceConfirmation (const H501PDU & pdu, const H501_ServiceConfirmation & pduBody); 00111 virtual PBoolean OnReceiveServiceRejection (const H501PDU & pdu, const H501_ServiceRejection & pduBody); 00112 virtual PBoolean OnReceiveServiceRelease (const H501PDU & pdu, const H501_ServiceRelease & pduBody); 00113 virtual PBoolean OnReceiveDescriptorRequest (const H501PDU & pdu, const H501_DescriptorRequest & pduBody); 00114 virtual PBoolean OnReceiveDescriptorConfirmation (const H501PDU & pdu, const H501_DescriptorConfirmation & pduBody); 00115 virtual PBoolean OnReceiveDescriptorRejection (const H501PDU & pdu, const H501_DescriptorRejection & pduBody); 00116 virtual PBoolean OnReceiveDescriptorIDRequest (const H501PDU & pdu, const H501_DescriptorIDRequest & pduBody); 00117 virtual PBoolean OnReceiveDescriptorIDConfirmation (const H501PDU & pdu, const H501_DescriptorIDConfirmation & pduBody); 00118 virtual PBoolean OnReceiveDescriptorIDRejection (const H501PDU & pdu, const H501_DescriptorIDRejection & pduBody); 00119 virtual PBoolean OnReceiveDescriptorUpdate (const H501PDU & pdu, const H501_DescriptorUpdate & pduBody); 00120 virtual PBoolean OnReceiveDescriptorUpdateACK (const H501PDU & pdu, const H501_DescriptorUpdateAck & pduBody); 00121 virtual PBoolean OnReceiveAccessRequest (const H501PDU & pdu, const H501_AccessRequest & pduBody); 00122 virtual PBoolean OnReceiveAccessConfirmation (const H501PDU & pdu, const H501_AccessConfirmation & pduBody); 00123 virtual PBoolean OnReceiveAccessRejection (const H501PDU & pdu, const H501_AccessRejection & pduBody); 00124 virtual PBoolean OnReceiveRequestInProgress (const H501PDU & pdu, const H501_RequestInProgress & pduBody); 00125 virtual PBoolean OnReceiveNonStandardRequest (const H501PDU & pdu, const H501_NonStandardRequest & pduBody); 00126 virtual PBoolean OnReceiveNonStandardConfirmation (const H501PDU & pdu, const H501_NonStandardConfirmation & pduBody); 00127 virtual PBoolean OnReceiveNonStandardRejection (const H501PDU & pdu, const H501_NonStandardRejection & pduBody); 00128 virtual PBoolean OnReceiveUnknownMessageResponse (const H501PDU & pdu, const H501_UnknownMessageResponse & pduBody); 00129 virtual PBoolean OnReceiveUsageRequest (const H501PDU & pdu, const H501_UsageRequest & pduBody); 00130 virtual PBoolean OnReceiveUsageConfirmation (const H501PDU & pdu, const H501_UsageConfirmation & pduBody); 00131 virtual PBoolean OnReceiveUsageIndicationConfirmation (const H501PDU & pdu, const H501_UsageIndicationConfirmation & pduBody); 00132 virtual PBoolean OnReceiveUsageIndicationRejection (const H501PDU & pdu, const H501_UsageIndicationRejection & pduBody); 00133 virtual PBoolean OnReceiveUsageRejection (const H501PDU & pdu, const H501_UsageRejection & pduBody); 00134 virtual PBoolean OnReceiveValidationRequest (const H501PDU & pdu, const H501_ValidationRequest & pduBody); 00135 virtual PBoolean OnReceiveValidationConfirmation (const H501PDU & pdu, const H501_ValidationConfirmation & pduBody); 00136 virtual PBoolean OnReceiveValidationRejection (const H501PDU & pdu, const H501_ValidationRejection & pduBody); 00137 virtual PBoolean OnReceiveAuthenticationRequest (const H501PDU & pdu, const H501_AuthenticationRequest & pduBody); 00138 virtual PBoolean OnReceiveAuthenticationConfirmation (const H501PDU & pdu, const H501_AuthenticationConfirmation & pduBody); 00139 virtual PBoolean OnReceiveAuthenticationRejection (const H501PDU & pdu, const H501_AuthenticationRejection & pduBody); 00140 virtual PBoolean OnReceiveUnknown(const H501PDU &); 00141 00142 protected: 00143 void Construct(); 00144 }; 00145 00146 00147 #endif // OPAL_H501 00148 00149 #endif // OPAL_H323_H323ANNEXG_H 00150 00151