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_H323ANNEXG_H
00028 #define __OPAL_H323ANNEXG_H
00029 
00030 #ifdef P_USE_PRAGMA
00031 #pragma interface
00032 #endif
00033 
00034 
00035 #include <h323/h323trans.h>
00036 #include <h323/h501pdu.h>
00037 
00038 
00039 class PASN_Sequence;
00040 class PASN_Choice;
00041 
00042 class H323EndPoint;
00043 
00044 
00046 
00049 class H323_AnnexG : public H323Transactor
00050 {
00051   PCLASSINFO(H323_AnnexG, H323Transactor);
00052   public:
00055     enum {
00056       DefaultUdpPort = 2099,
00057       DefaultTcpPort = 2099
00058     };
00059 
00062     H323_AnnexG(
00063       H323EndPoint & endpoint,  
00064       H323Transport * transport 
00065     );
00066     H323_AnnexG(
00067       H323EndPoint & endpoint,           
00068       const H323TransportAddress & addr 
00069     );
00070 
00073     ~H323_AnnexG();
00075 
00080     void PrintOn(
00081       ostream & strm    
00082     ) const;
00084 
00089     virtual H323TransactionPDU * CreateTransactionPDU() const;
00090 
00093     virtual BOOL HandleTransaction(
00094       const PASN_Object & rawPDU
00095     );
00096 
00099     virtual void OnSendingPDU(
00100       PASN_Object & rawPDU
00101     );
00103 
00106     virtual BOOL OnReceiveServiceRequest              (const H501PDU & pdu, const H501_ServiceRequest & pduBody);
00107     virtual BOOL OnReceiveServiceConfirmation         (const H501PDU & pdu, const H501_ServiceConfirmation & pduBody);
00108     virtual BOOL OnReceiveServiceRejection            (const H501PDU & pdu, const H501_ServiceRejection & pduBody);
00109     virtual BOOL OnReceiveServiceRelease              (const H501PDU & pdu, const H501_ServiceRelease & pduBody);
00110     virtual BOOL OnReceiveDescriptorRequest           (const H501PDU & pdu, const H501_DescriptorRequest & pduBody);
00111     virtual BOOL OnReceiveDescriptorConfirmation      (const H501PDU & pdu, const H501_DescriptorConfirmation & pduBody);
00112     virtual BOOL OnReceiveDescriptorRejection         (const H501PDU & pdu, const H501_DescriptorRejection & pduBody);
00113     virtual BOOL OnReceiveDescriptorIDRequest         (const H501PDU & pdu, const H501_DescriptorIDRequest & pduBody);
00114     virtual BOOL OnReceiveDescriptorIDConfirmation    (const H501PDU & pdu, const H501_DescriptorIDConfirmation & pduBody);
00115     virtual BOOL OnReceiveDescriptorIDRejection       (const H501PDU & pdu, const H501_DescriptorIDRejection & pduBody);
00116     virtual BOOL OnReceiveDescriptorUpdate            (const H501PDU & pdu, const H501_DescriptorUpdate & pduBody);
00117     virtual BOOL OnReceiveDescriptorUpdateACK         (const H501PDU & pdu, const H501_DescriptorUpdateAck & pduBody);
00118     virtual BOOL OnReceiveAccessRequest               (const H501PDU & pdu, const H501_AccessRequest & pduBody);
00119     virtual BOOL OnReceiveAccessConfirmation          (const H501PDU & pdu, const H501_AccessConfirmation & pduBody);
00120     virtual BOOL OnReceiveAccessRejection             (const H501PDU & pdu, const H501_AccessRejection & pduBody);
00121     virtual BOOL OnReceiveRequestInProgress           (const H501PDU & pdu, const H501_RequestInProgress & pduBody);
00122     virtual BOOL OnReceiveNonStandardRequest          (const H501PDU & pdu, const H501_NonStandardRequest & pduBody);
00123     virtual BOOL OnReceiveNonStandardConfirmation     (const H501PDU & pdu, const H501_NonStandardConfirmation & pduBody);
00124     virtual BOOL OnReceiveNonStandardRejection        (const H501PDU & pdu, const H501_NonStandardRejection & pduBody);
00125     virtual BOOL OnReceiveUnknownMessageResponse      (const H501PDU & pdu, const H501_UnknownMessageResponse & pduBody);
00126     virtual BOOL OnReceiveUsageRequest                (const H501PDU & pdu, const H501_UsageRequest & pduBody);
00127     virtual BOOL OnReceiveUsageConfirmation           (const H501PDU & pdu, const H501_UsageConfirmation & pduBody);
00128     virtual BOOL OnReceiveUsageIndicationConfirmation (const H501PDU & pdu, const H501_UsageIndicationConfirmation & pduBody);
00129     virtual BOOL OnReceiveUsageIndicationRejection    (const H501PDU & pdu, const H501_UsageIndicationRejection & pduBody);
00130     virtual BOOL OnReceiveUsageRejection              (const H501PDU & pdu, const H501_UsageRejection & pduBody);
00131     virtual BOOL OnReceiveValidationRequest           (const H501PDU & pdu, const H501_ValidationRequest & pduBody);
00132     virtual BOOL OnReceiveValidationConfirmation      (const H501PDU & pdu, const H501_ValidationConfirmation & pduBody);
00133     virtual BOOL OnReceiveValidationRejection         (const H501PDU & pdu, const H501_ValidationRejection & pduBody);
00134     virtual BOOL OnReceiveAuthenticationRequest       (const H501PDU & pdu, const H501_AuthenticationRequest & pduBody);
00135     virtual BOOL OnReceiveAuthenticationConfirmation  (const H501PDU & pdu, const H501_AuthenticationConfirmation & pduBody);
00136     virtual BOOL OnReceiveAuthenticationRejection     (const H501PDU & pdu, const H501_AuthenticationRejection & pduBody);
00137     virtual BOOL OnReceiveUnknown(const H501PDU &);
00138 
00139   protected:
00140     void Construct();
00141 };
00142 
00143 
00144 #endif // __OPAL_H323ANNEXG_H
00145 
00146 

Generated on Fri Mar 7 06:33:31 2008 for OPAL by  doxygen 1.5.1