# 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