OPAL  Version 3.18.8
h501pdu.h
Go to the documentation of this file.
1 /*
2  * h501pdu.h
3  *
4  * H.501 protocol handler
5  *
6  * Open H323 Library
7  *
8  * Copyright (c) 2003 Equivalence Pty. Ltd.
9  *
10  * The contents of this file are subject to the Mozilla Public License
11  * Version 1.0 (the "License"); you may not use this file except in
12  * compliance with the License. You may obtain a copy of the License at
13  * http://www.mozilla.org/MPL/
14  *
15  * Software distributed under the License is distributed on an "AS IS"
16  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17  * the License for the specific language governing rights and limitations
18  * under the License.
19  *
20  * The Original Code is Open H323 Library.
21  *
22  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
23  *
24  * Contributor(s): ______________________________________.
25  */
26 
27 #ifndef OPAL_H323_H501PDU_H
28 #define OPAL_H323_H501PDU_H
29 
30 #ifdef P_USE_PRAGMA
31 #pragma interface
32 #endif
33 
34 #include <opal_config.h>
35 
36 #if OPAL_H501
37 
38 #include <ptlib/sockets.h>
39 
40 #include <h323/transaddr.h>
41 #include <h323/h323trans.h>
42 #include <asn/h501.h>
43 
44 
45 class H323_AnnexG;
46 
47 
50 class H501PDU : public H501_Message, public H323TransactionPDU
51 {
52  PCLASSINFO(H501PDU, H501_Message);
53 
54  public:
55  H501PDU();
56 
57  // overrides from PObject
58  virtual PObject * Clone() const;
59 
60  // overrides from H323TransactionPDU
61  virtual PASN_Object & GetPDU();
62  virtual PASN_Choice & GetChoice();
63  virtual const PASN_Object & GetPDU() const;
64  virtual const PASN_Choice & GetChoice() const;
65  virtual unsigned GetSequenceNumber() const;
66  virtual unsigned GetRequestInProgressDelay() const;
67 #if PTRACING
68  virtual const char * GetProtocolName() const;
69 #endif
70  virtual H323TransactionPDU * ClonePDU() const;
71  virtual void DeletePDU();
72 
73  // new functions
74  H501_ServiceRequest & BuildServiceRequest (unsigned seqnum, const H323TransportAddressArray & reply);
75  H501_ServiceConfirmation & BuildServiceConfirmation (unsigned seqnum);
76  H501_ServiceRejection & BuildServiceRejection (unsigned seqnum, unsigned reason);
77  H501_ServiceRelease & BuildServiceRelease (unsigned seqnum);
78  H501_DescriptorRequest & BuildDescriptorRequest (unsigned seqnum, const H323TransportAddressArray & reply);
79  H501_DescriptorConfirmation & BuildDescriptorConfirmation (unsigned seqnum);
80  H501_DescriptorRejection & BuildDescriptorRejection (unsigned seqnum, unsigned reason);
81  H501_DescriptorIDRequest & BuildDescriptorIDRequest (unsigned seqnum, const H323TransportAddressArray & reply);
82  H501_DescriptorIDConfirmation & BuildDescriptorIDConfirmation (unsigned seqnum);
83  H501_DescriptorIDRejection & BuildDescriptorIDRejection (unsigned seqnum, unsigned reason);
84  H501_DescriptorUpdate & BuildDescriptorUpdate (unsigned seqnum, const H323TransportAddressArray & reply);
85  H501_DescriptorUpdateAck & BuildDescriptorUpdateAck (unsigned seqnum);
86  H501_AccessRequest & BuildAccessRequest (unsigned seqnum, const H323TransportAddressArray & reply);
87  H501_AccessConfirmation & BuildAccessConfirmation (unsigned seqnum);
88  H501_AccessRejection & BuildAccessRejection (unsigned seqnum, int reason);
89  H501_RequestInProgress & BuildRequestInProgress (unsigned seqnum, unsigned delay);
90  H501_NonStandardRequest & BuildNonStandardRequest (unsigned seqnum, const H323TransportAddressArray & reply);
91  H501_NonStandardConfirmation & BuildNonStandardConfirmation (unsigned seqnum);
92  H501_NonStandardRejection & BuildNonStandardRejection (unsigned seqnum, unsigned reason);
93  H501_UnknownMessageResponse & BuildUnknownMessageResponse (unsigned seqnum);
94  H501_UsageRequest & BuildUsageRequest (unsigned seqnum, const H323TransportAddressArray & reply);
95  H501_UsageConfirmation & BuildUsageConfirmation (unsigned seqnum);
96  H501_UsageIndicationConfirmation & BuildUsageIndicationConfirmation (unsigned seqnum);
97  H501_UsageIndicationRejection & BuildUsageIndicationRejection (unsigned seqnum, unsigned reason);
98  H501_UsageRejection & BuildUsageRejection (unsigned seqnum);
99  H501_ValidationRequest & BuildValidationRequest (unsigned seqnum, const H323TransportAddressArray & reply);
100  H501_ValidationConfirmation & BuildValidationConfirmation (unsigned seqnum);
101  H501_ValidationRejection & BuildValidationRejection (unsigned seqnum, unsigned reason);
102  H501_AuthenticationRequest & BuildAuthenticationRequest (unsigned seqnum, const H323TransportAddressArray & reply);
103  H501_AuthenticationConfirmation & BuildAuthenticationConfirmation (unsigned seqnum);
104  H501_AuthenticationRejection & BuildAuthenticationRejection (unsigned seqnum, unsigned reason);
105 
106  protected:
107  void BuildRequest(unsigned tag, unsigned seqnum, const H323TransportAddressArray & replyAddr);
108  void BuildPDU(unsigned tag, unsigned seqnum);
109 };
110 
111 
112 #endif // OPAL_H501
113 
114 #endif // OPAL_H323_H501PDU_H
115 
116 
H501_UsageRequest & BuildUsageRequest(unsigned seqnum, const H323TransportAddressArray &reply)
virtual PObject * Clone() const
H501_AuthenticationRejection & BuildAuthenticationRejection(unsigned seqnum, unsigned reason)
H501_RequestInProgress & BuildRequestInProgress(unsigned seqnum, unsigned delay)
H501_NonStandardRejection & BuildNonStandardRejection(unsigned seqnum, unsigned reason)
Definition: h323annexg.h:52
H501_AccessRequest & BuildAccessRequest(unsigned seqnum, const H323TransportAddressArray &reply)
H501_AccessConfirmation & BuildAccessConfirmation(unsigned seqnum)
H501_DescriptorUpdate & BuildDescriptorUpdate(unsigned seqnum, const H323TransportAddressArray &reply)
virtual unsigned GetSequenceNumber() const
H501_DescriptorIDConfirmation & BuildDescriptorIDConfirmation(unsigned seqnum)
H501_UsageIndicationRejection & BuildUsageIndicationRejection(unsigned seqnum, unsigned reason)
H501_ValidationRejection & BuildValidationRejection(unsigned seqnum, unsigned reason)
H501_NonStandardConfirmation & BuildNonStandardConfirmation(unsigned seqnum)
virtual unsigned GetRequestInProgressDelay() const
H501_ValidationConfirmation & BuildValidationConfirmation(unsigned seqnum)
H501_DescriptorIDRejection & BuildDescriptorIDRejection(unsigned seqnum, unsigned reason)
Definition: transaddr.h:91
H501_ServiceConfirmation & BuildServiceConfirmation(unsigned seqnum)
H501_ServiceRequest & BuildServiceRequest(unsigned seqnum, const H323TransportAddressArray &reply)
virtual H323TransactionPDU * ClonePDU() const
H501_AuthenticationRequest & BuildAuthenticationRequest(unsigned seqnum, const H323TransportAddressArray &reply)
H501_UnknownMessageResponse & BuildUnknownMessageResponse(unsigned seqnum)
H501_DescriptorUpdateAck & BuildDescriptorUpdateAck(unsigned seqnum)
virtual PASN_Object & GetPDU()
H501_NonStandardRequest & BuildNonStandardRequest(unsigned seqnum, const H323TransportAddressArray &reply)
H501_UsageConfirmation & BuildUsageConfirmation(unsigned seqnum)
virtual void DeletePDU()
H501_DescriptorRejection & BuildDescriptorRejection(unsigned seqnum, unsigned reason)
H501_UsageRejection & BuildUsageRejection(unsigned seqnum)
H501_UsageIndicationConfirmation & BuildUsageIndicationConfirmation(unsigned seqnum)
Definition: h323trans.h:47
Definition: h501pdu.h:50
H501_AuthenticationConfirmation & BuildAuthenticationConfirmation(unsigned seqnum)
H501_AccessRejection & BuildAccessRejection(unsigned seqnum, int reason)
H501_DescriptorIDRequest & BuildDescriptorIDRequest(unsigned seqnum, const H323TransportAddressArray &reply)
H501_ValidationRequest & BuildValidationRequest(unsigned seqnum, const H323TransportAddressArray &reply)
void BuildPDU(unsigned tag, unsigned seqnum)
H501_ServiceRejection & BuildServiceRejection(unsigned seqnum, unsigned reason)
H501_DescriptorConfirmation & BuildDescriptorConfirmation(unsigned seqnum)
H501_DescriptorRequest & BuildDescriptorRequest(unsigned seqnum, const H323TransportAddressArray &reply)
void BuildRequest(unsigned tag, unsigned seqnum, const H323TransportAddressArray &replyAddr)
H501_ServiceRelease & BuildServiceRelease(unsigned seqnum)
virtual PASN_Choice & GetChoice()