h323annexg.h

Go to the documentation of this file.
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 

Generated on Mon Feb 1 00:25:43 2010 for OPAL by  doxygen 1.5.1