# h225.h

Go to the documentation of this file.

    00001 //
    00002 // h225.h
    00003 //
    00004 // Code automatically generated by asnparse.
    00005 //
    00006
    00007 #if ! H323_DISABLE_H225
    00008
    00009 #ifndef __H225_H
    00010 #define __H225_H
    00011
    00012 #ifdef P_USE_PRAGMA
    00013 #pragma interface
    00014 #endif
    00015
    00016 #include <ptclib/asner.h>
    00017
    00018 #include "h235.h"
    00019 #include "h245.h"
    00020
    00021
    00022 //
    00023 // ReleaseCompleteReason
    00024 //
    00025
    00026 class H225_NonStandardParameter;
    00027 class H225_ConferenceIdentifier;
    00028 class H225_SecurityErrors;
    00029
    00030 class H225_ReleaseCompleteReason : public PASN_Choice
    00031 {
    00032 #ifndef PASN_LEANANDMEAN
    00033     PCLASSINFO(H225_ReleaseCompleteReason, PASN_Choice);
    00034 #endif
    00035   public:
    00036     H225_ReleaseCompleteReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00037
    00038     enum Choices {
    00039       e_noBandwidth,
    00040       e_gatekeeperResources,
    00041       e_unreachableDestination,
    00042       e_destinationRejection,
    00043       e_invalidRevision,
    00044       e_noPermission,
    00045       e_unreachableGatekeeper,
    00046       e_gatewayResources,
    00047       e_badFormatAddress,
    00048       e_adaptiveBusy,
    00049       e_inConf,
    00050       e_undefinedReason,
    00051       e_facilityCallDeflection,
    00052       e_securityDenied,
    00053       e_calledPartyNotRegistered,
    00054       e_callerNotRegistered,
    00055       e_newConnectionNeeded,
    00056       e_nonStandardReason,
    00057       e_replaceWithConferenceInvite,
    00058       e_genericDataReason,
    00059       e_neededFeatureNotSupported,
    00060       e_tunnelledSignallingRejected,
    00061       e_invalidCID,
    00062       e_securityError,
    00063       e_hopCountExceeded
    00064     };
    00065
    00066 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00067     operator H225_NonStandardParameter &() const;
    00068 #else
    00069     operator H225_NonStandardParameter &();
    00070     operator const H225_NonStandardParameter &() const;
    00071 #endif
    00072 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00073     operator H225_ConferenceIdentifier &() const;
    00074 #else
    00075     operator H225_ConferenceIdentifier &();
    00076     operator const H225_ConferenceIdentifier &() const;
    00077 #endif
    00078 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00079     operator H225_SecurityErrors &() const;
    00080 #else
    00081     operator H225_SecurityErrors &();
    00082     operator const H225_SecurityErrors &() const;
    00083 #endif
    00084
    00085     PBoolean CreateObject();
    00086     PObject * Clone() const;
    00087 };
    00088
    00089
    00090 //
    00091 // ScnConnectionType
    00092 //
    00093
    00094 class H225_ScnConnectionType : public PASN_Choice
    00095 {
    00096 #ifndef PASN_LEANANDMEAN
    00097     PCLASSINFO(H225_ScnConnectionType, PASN_Choice);
    00098 #endif
    00099   public:
    00100     H225_ScnConnectionType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00101
    00102     enum Choices {
    00103       e_unknown,
    00104       e_bChannel,
    00105       e_hybrid2x64,
    00106       e_hybrid384,
    00107       e_hybrid1536,
    00108       e_hybrid1920,
    00109       e_multirate
    00110     };
    00111
    00112     PBoolean CreateObject();
    00113     PObject * Clone() const;
    00114 };
    00115
    00116
    00117 //
    00118 // ScnConnectionAggregation
    00119 //
    00120
    00121 class H225_ScnConnectionAggregation : public PASN_Choice
    00122 {
    00123 #ifndef PASN_LEANANDMEAN
    00124     PCLASSINFO(H225_ScnConnectionAggregation, PASN_Choice);
    00125 #endif
    00126   public:
    00127     H225_ScnConnectionAggregation(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00128
    00129     enum Choices {
    00130       e_auto,
    00131       e_none,
    00132       e_h221,
    00133       e_bonded_mode1,
    00134       e_bonded_mode2,
    00135       e_bonded_mode3
    00136     };
    00137
    00138     PBoolean CreateObject();
    00139     PObject * Clone() const;
    00140 };
    00141
    00142
    00143 //
    00144 // PresentationIndicator
    00145 //
    00146
    00147 class H225_PresentationIndicator : public PASN_Choice
    00148 {
    00149 #ifndef PASN_LEANANDMEAN
    00150     PCLASSINFO(H225_PresentationIndicator, PASN_Choice);
    00151 #endif
    00152   public:
    00153     H225_PresentationIndicator(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00154
    00155     enum Choices {
    00156       e_presentationAllowed,
    00157       e_presentationRestricted,
    00158       e_addressNotAvailable
    00159     };
    00160
    00161     PBoolean CreateObject();
    00162     PObject * Clone() const;
    00163 };
    00164
    00165
    00166 //
    00167 // ScreeningIndicator
    00168 //
    00169
    00170 class H225_ScreeningIndicator : public PASN_Enumeration
    00171 {
    00172 #ifndef PASN_LEANANDMEAN
    00173     PCLASSINFO(H225_ScreeningIndicator, PASN_Enumeration);
    00174 #endif
    00175   public:
    00176     H225_ScreeningIndicator(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    00177
    00178     enum Enumerations {
    00179       e_userProvidedNotScreened,
    00180       e_userProvidedVerifiedAndPassed,
    00181       e_userProvidedVerifiedAndFailed,
    00182       e_networkProvided
    00183     };
    00184
    00185     H225_ScreeningIndicator & operator=(unsigned v);
    00186     PObject * Clone() const;
    00187 };
    00188
    00189
    00190 //
    00191 // FacilityReason
    00192 //
    00193
    00194 class H225_FacilityReason : public PASN_Choice
    00195 {
    00196 #ifndef PASN_LEANANDMEAN
    00197     PCLASSINFO(H225_FacilityReason, PASN_Choice);
    00198 #endif
    00199   public:
    00200     H225_FacilityReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00201
    00202     enum Choices {
    00203       e_routeCallToGatekeeper,
    00204       e_callForwarded,
    00205       e_routeCallToMC,
    00206       e_undefinedReason,
    00207       e_conferenceListChoice,
    00208       e_startH245,
    00209       e_noH245,
    00210       e_newTokens,
    00211       e_featureSetUpdate,
    00212       e_forwardedElements,
    00213       e_transportedInformation
    00214     };
    00215
    00216     PBoolean CreateObject();
    00217     PObject * Clone() const;
    00218 };
    00219
    00220
    00221 //
    00222 // TransportAddress
    00223 //
    00224
    00225 class H225_TransportAddress_ipAddress;
    00226 class H225_TransportAddress_ipSourceRoute;
    00227 class H225_TransportAddress_ipxAddress;
    00228 class H225_TransportAddress_ip6Address;
    00229 class H225_NonStandardParameter;
    00230
    00231 class H225_TransportAddress : public PASN_Choice
    00232 {
    00233 #ifndef PASN_LEANANDMEAN
    00234     PCLASSINFO(H225_TransportAddress, PASN_Choice);
    00235 #endif
    00236   public:
    00237     H225_TransportAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00238
    00239     enum Choices {
    00240       e_ipAddress,
    00241       e_ipSourceRoute,
    00242       e_ipxAddress,
    00243       e_ip6Address,
    00244       e_netBios,
    00245       e_nsap,
    00246       e_nonStandardAddress
    00247     };
    00248
    00249 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00250     operator H225_TransportAddress_ipAddress &() const;
    00251 #else
    00252     operator H225_TransportAddress_ipAddress &();
    00253     operator const H225_TransportAddress_ipAddress &() const;
    00254 #endif
    00255 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00256     operator H225_TransportAddress_ipSourceRoute &() const;
    00257 #else
    00258     operator H225_TransportAddress_ipSourceRoute &();
    00259     operator const H225_TransportAddress_ipSourceRoute &() const;
    00260 #endif
    00261 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00262     operator H225_TransportAddress_ipxAddress &() const;
    00263 #else
    00264     operator H225_TransportAddress_ipxAddress &();
    00265     operator const H225_TransportAddress_ipxAddress &() const;
    00266 #endif
    00267 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00268     operator H225_TransportAddress_ip6Address &() const;
    00269 #else
    00270     operator H225_TransportAddress_ip6Address &();
    00271     operator const H225_TransportAddress_ip6Address &() const;
    00272 #endif
    00273 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00274     operator H225_NonStandardParameter &() const;
    00275 #else
    00276     operator H225_NonStandardParameter &();
    00277     operator const H225_NonStandardParameter &() const;
    00278 #endif
    00279
    00280     PBoolean CreateObject();
    00281     PObject * Clone() const;
    00282 };
    00283
    00284
    00285 //
    00286 // SupportedProtocols
    00287 //
    00288
    00289 class H225_NonStandardParameter;
    00290 class H225_H310Caps;
    00291 class H225_H320Caps;
    00292 class H225_H321Caps;
    00293 class H225_H322Caps;
    00294 class H225_H323Caps;
    00295 class H225_H324Caps;
    00296 class H225_VoiceCaps;
    00297 class H225_T120OnlyCaps;
    00298 class H225_NonStandardProtocol;
    00299 class H225_T38FaxAnnexbOnlyCaps;
    00300 class H225_SIPCaps;
    00301
    00302 class H225_SupportedProtocols : public PASN_Choice
    00303 {
    00304 #ifndef PASN_LEANANDMEAN
    00305     PCLASSINFO(H225_SupportedProtocols, PASN_Choice);
    00306 #endif
    00307   public:
    00308     H225_SupportedProtocols(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00309
    00310     enum Choices {
    00311       e_nonStandardData,
    00312       e_h310,
    00313       e_h320,
    00314       e_h321,
    00315       e_h322,
    00316       e_h323,
    00317       e_h324,
    00318       e_voice,
    00319       e_t120_only,
    00320       e_nonStandardProtocol,
    00321       e_t38FaxAnnexbOnly,
    00322       e_sip
    00323     };
    00324
    00325 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00326     operator H225_NonStandardParameter &() const;
    00327 #else
    00328     operator H225_NonStandardParameter &();
    00329     operator const H225_NonStandardParameter &() const;
    00330 #endif
    00331 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00332     operator H225_H310Caps &() const;
    00333 #else
    00334     operator H225_H310Caps &();
    00335     operator const H225_H310Caps &() const;
    00336 #endif
    00337 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00338     operator H225_H320Caps &() const;
    00339 #else
    00340     operator H225_H320Caps &();
    00341     operator const H225_H320Caps &() const;
    00342 #endif
    00343 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00344     operator H225_H321Caps &() const;
    00345 #else
    00346     operator H225_H321Caps &();
    00347     operator const H225_H321Caps &() const;
    00348 #endif
    00349 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00350     operator H225_H322Caps &() const;
    00351 #else
    00352     operator H225_H322Caps &();
    00353     operator const H225_H322Caps &() const;
    00354 #endif
    00355 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00356     operator H225_H323Caps &() const;
    00357 #else
    00358     operator H225_H323Caps &();
    00359     operator const H225_H323Caps &() const;
    00360 #endif
    00361 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00362     operator H225_H324Caps &() const;
    00363 #else
    00364     operator H225_H324Caps &();
    00365     operator const H225_H324Caps &() const;
    00366 #endif
    00367 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00368     operator H225_VoiceCaps &() const;
    00369 #else
    00370     operator H225_VoiceCaps &();
    00371     operator const H225_VoiceCaps &() const;
    00372 #endif
    00373 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00374     operator H225_T120OnlyCaps &() const;
    00375 #else
    00376     operator H225_T120OnlyCaps &();
    00377     operator const H225_T120OnlyCaps &() const;
    00378 #endif
    00379 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00380     operator H225_NonStandardProtocol &() const;
    00381 #else
    00382     operator H225_NonStandardProtocol &();
    00383     operator const H225_NonStandardProtocol &() const;
    00384 #endif
    00385 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00386     operator H225_T38FaxAnnexbOnlyCaps &() const;
    00387 #else
    00388     operator H225_T38FaxAnnexbOnlyCaps &();
    00389     operator const H225_T38FaxAnnexbOnlyCaps &() const;
    00390 #endif
    00391 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00392     operator H225_SIPCaps &() const;
    00393 #else
    00394     operator H225_SIPCaps &();
    00395     operator const H225_SIPCaps &() const;
    00396 #endif
    00397
    00398     PBoolean CreateObject();
    00399     PObject * Clone() const;
    00400 };
    00401
    00402
    00403 //
    00404 // H221NonStandard
    00405 //
    00406
    00407 class H225_H221NonStandard : public PASN_Sequence
    00408 {
    00409 #ifndef PASN_LEANANDMEAN
    00410     PCLASSINFO(H225_H221NonStandard, PASN_Sequence);
    00411 #endif
    00412   public:
    00413     H225_H221NonStandard(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00414
    00415     PASN_Integer m_t35CountryCode;
    00416     PASN_Integer m_t35Extension;
    00417     PASN_Integer m_manufacturerCode;
    00418
    00419     PINDEX GetDataLength() const;
    00420     PBoolean Decode(PASN_Stream & strm);
    00421     void Encode(PASN_Stream & strm) const;
    00422 #ifndef PASN_NOPRINTON
    00423     void PrintOn(ostream & strm) const;
    00424 #endif
    00425     Comparison Compare(const PObject & obj) const;
    00426     PObject * Clone() const;
    00427 };
    00428
    00429
    00430 //
    00431 // TunnelledProtocolAlternateIdentifier
    00432 //
    00433
    00434 class H225_TunnelledProtocolAlternateIdentifier : public PASN_Sequence
    00435 {
    00436 #ifndef PASN_LEANANDMEAN
    00437     PCLASSINFO(H225_TunnelledProtocolAlternateIdentifier, PASN_Sequence);
    00438 #endif
    00439   public:
    00440     H225_TunnelledProtocolAlternateIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00441
    00442     enum OptionalFields {
    00443       e_protocolVariant
    00444     };
    00445
    00446     PASN_IA5String m_protocolType;
    00447     PASN_IA5String m_protocolVariant;
    00448
    00449     PINDEX GetDataLength() const;
    00450     PBoolean Decode(PASN_Stream & strm);
    00451     void Encode(PASN_Stream & strm) const;
    00452 #ifndef PASN_NOPRINTON
    00453     void PrintOn(ostream & strm) const;
    00454 #endif
    00455     Comparison Compare(const PObject & obj) const;
    00456     PObject * Clone() const;
    00457 };
    00458
    00459
    00460 //
    00461 // NonStandardIdentifier
    00462 //
    00463
    00464 class H225_H221NonStandard;
    00465
    00466 class H225_NonStandardIdentifier : public PASN_Choice
    00467 {
    00468 #ifndef PASN_LEANANDMEAN
    00469     PCLASSINFO(H225_NonStandardIdentifier, PASN_Choice);
    00470 #endif
    00471   public:
    00472     H225_NonStandardIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00473
    00474     enum Choices {
    00475       e_object,
    00476       e_h221NonStandard
    00477     };
    00478
    00479 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00480     operator H225_H221NonStandard &() const;
    00481 #else
    00482     operator H225_H221NonStandard &();
    00483     operator const H225_H221NonStandard &() const;
    00484 #endif
    00485
    00486     PBoolean CreateObject();
    00487     PObject * Clone() const;
    00488 };
    00489
    00490
    00491 //
    00492 // AliasAddress
    00493 //
    00494
    00495 class H225_TransportAddress;
    00496 class H225_PartyNumber;
    00497 class H225_MobileUIM;
    00498 class H225_IsupNumber;
    00499
    00500 class H225_AliasAddress : public PASN_Choice
    00501 {
    00502 #ifndef PASN_LEANANDMEAN
    00503     PCLASSINFO(H225_AliasAddress, PASN_Choice);
    00504 #endif
    00505   public:
    00506     H225_AliasAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00507
    00508     enum Choices {
    00509       e_dialedDigits,
    00510       e_h323_ID,
    00511       e_url_ID,
    00512       e_transportID,
    00513       e_email_ID,
    00514       e_partyNumber,
    00515       e_mobileUIM,
    00516       e_isupNumber
    00517     };
    00518
    00519 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00520     operator H225_TransportAddress &() const;
    00521 #else
    00522     operator H225_TransportAddress &();
    00523     operator const H225_TransportAddress &() const;
    00524 #endif
    00525 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00526     operator H225_PartyNumber &() const;
    00527 #else
    00528     operator H225_PartyNumber &();
    00529     operator const H225_PartyNumber &() const;
    00530 #endif
    00531 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00532     operator H225_MobileUIM &() const;
    00533 #else
    00534     operator H225_MobileUIM &();
    00535     operator const H225_MobileUIM &() const;
    00536 #endif
    00537 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00538     operator H225_IsupNumber &() const;
    00539 #else
    00540     operator H225_IsupNumber &();
    00541     operator const H225_IsupNumber &() const;
    00542 #endif
    00543
    00544     PBoolean CreateObject();
    00545     PObject * Clone() const;
    00546 };
    00547
    00548
    00549 //
    00550 // AddressPattern
    00551 //
    00552
    00553 class H225_AliasAddress;
    00554 class H225_AddressPattern_range;
    00555
    00556 class H225_AddressPattern : public PASN_Choice
    00557 {
    00558 #ifndef PASN_LEANANDMEAN
    00559     PCLASSINFO(H225_AddressPattern, PASN_Choice);
    00560 #endif
    00561   public:
    00562     H225_AddressPattern(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00563
    00564     enum Choices {
    00565       e_wildcard,
    00566       e_range
    00567     };
    00568
    00569 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00570     operator H225_AliasAddress &() const;
    00571 #else
    00572     operator H225_AliasAddress &();
    00573     operator const H225_AliasAddress &() const;
    00574 #endif
    00575 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00576     operator H225_AddressPattern_range &() const;
    00577 #else
    00578     operator H225_AddressPattern_range &();
    00579     operator const H225_AddressPattern_range &() const;
    00580 #endif
    00581
    00582     PBoolean CreateObject();
    00583     PObject * Clone() const;
    00584 };
    00585
    00586
    00587 //
    00588 // PartyNumber
    00589 //
    00590
    00591 class H225_PublicPartyNumber;
    00592 class H225_NumberDigits;
    00593 class H225_PrivatePartyNumber;
    00594
    00595 class H225_PartyNumber : public PASN_Choice
    00596 {
    00597 #ifndef PASN_LEANANDMEAN
    00598     PCLASSINFO(H225_PartyNumber, PASN_Choice);
    00599 #endif
    00600   public:
    00601     H225_PartyNumber(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00602
    00603     enum Choices {
    00604       e_e164Number,
    00605       e_dataPartyNumber,
    00606       e_telexPartyNumber,
    00607       e_privateNumber,
    00608       e_nationalStandardPartyNumber
    00609     };
    00610
    00611 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00612     operator H225_PublicPartyNumber &() const;
    00613 #else
    00614     operator H225_PublicPartyNumber &();
    00615     operator const H225_PublicPartyNumber &() const;
    00616 #endif
    00617 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00618     operator H225_NumberDigits &() const;
    00619 #else
    00620     operator H225_NumberDigits &();
    00621     operator const H225_NumberDigits &() const;
    00622 #endif
    00623 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00624     operator H225_PrivatePartyNumber &() const;
    00625 #else
    00626     operator H225_PrivatePartyNumber &();
    00627     operator const H225_PrivatePartyNumber &() const;
    00628 #endif
    00629
    00630     PBoolean CreateObject();
    00631     PObject * Clone() const;
    00632 };
    00633
    00634
    00635 //
    00636 // NumberDigits
    00637 //
    00638
    00639 class H225_NumberDigits : public PASN_IA5String
    00640 {
    00641 #ifndef PASN_LEANANDMEAN
    00642     PCLASSINFO(H225_NumberDigits, PASN_IA5String);
    00643 #endif
    00644   public:
    00645     H225_NumberDigits(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
    00646
    00647     H225_NumberDigits & operator=(const char * v);
    00648     H225_NumberDigits & operator=(const PString & v);
    00649     PObject * Clone() const;
    00650 };
    00651
    00652
    00653 //
    00654 // PublicTypeOfNumber
    00655 //
    00656
    00657 class H225_PublicTypeOfNumber : public PASN_Choice
    00658 {
    00659 #ifndef PASN_LEANANDMEAN
    00660     PCLASSINFO(H225_PublicTypeOfNumber, PASN_Choice);
    00661 #endif
    00662   public:
    00663     H225_PublicTypeOfNumber(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00664
    00665     enum Choices {
    00666       e_unknown,
    00667       e_internationalNumber,
    00668       e_nationalNumber,
    00669       e_networkSpecificNumber,
    00670       e_subscriberNumber,
    00671       e_abbreviatedNumber
    00672     };
    00673
    00674     PBoolean CreateObject();
    00675     PObject * Clone() const;
    00676 };
    00677
    00678
    00679 //
    00680 // PrivateTypeOfNumber
    00681 //
    00682
    00683 class H225_PrivateTypeOfNumber : public PASN_Choice
    00684 {
    00685 #ifndef PASN_LEANANDMEAN
    00686     PCLASSINFO(H225_PrivateTypeOfNumber, PASN_Choice);
    00687 #endif
    00688   public:
    00689     H225_PrivateTypeOfNumber(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00690
    00691     enum Choices {
    00692       e_unknown,
    00693       e_level2RegionalNumber,
    00694       e_level1RegionalNumber,
    00695       e_pISNSpecificNumber,
    00696       e_localNumber,
    00697       e_abbreviatedNumber
    00698     };
    00699
    00700     PBoolean CreateObject();
    00701     PObject * Clone() const;
    00702 };
    00703
    00704
    00705 //
    00706 // MobileUIM
    00707 //
    00708
    00709 class H225_ANSI_41_UIM;
    00710 class H225_GSM_UIM;
    00711
    00712 class H225_MobileUIM : public PASN_Choice
    00713 {
    00714 #ifndef PASN_LEANANDMEAN
    00715     PCLASSINFO(H225_MobileUIM, PASN_Choice);
    00716 #endif
    00717   public:
    00718     H225_MobileUIM(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00719
    00720     enum Choices {
    00721       e_ansi_41_uim,
    00722       e_gsm_uim
    00723     };
    00724
    00725 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00726     operator H225_ANSI_41_UIM &() const;
    00727 #else
    00728     operator H225_ANSI_41_UIM &();
    00729     operator const H225_ANSI_41_UIM &() const;
    00730 #endif
    00731 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00732     operator H225_GSM_UIM &() const;
    00733 #else
    00734     operator H225_GSM_UIM &();
    00735     operator const H225_GSM_UIM &() const;
    00736 #endif
    00737
    00738     PBoolean CreateObject();
    00739     PObject * Clone() const;
    00740 };
    00741
    00742
    00743 //
    00744 // TBCD-STRING
    00745 //
    00746
    00747 class H225_TBCD_STRING : public PASN_IA5String
    00748 {
    00749 #ifndef PASN_LEANANDMEAN
    00750     PCLASSINFO(H225_TBCD_STRING, PASN_IA5String);
    00751 #endif
    00752   public:
    00753     H225_TBCD_STRING(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
    00754
    00755     H225_TBCD_STRING & operator=(const char * v);
    00756     H225_TBCD_STRING & operator=(const PString & v);
    00757     PObject * Clone() const;
    00758 };
    00759
    00760
    00761 //
    00762 // GSM-UIM
    00763 //
    00764
    00765 class H225_GSM_UIM : public PASN_Sequence
    00766 {
    00767 #ifndef PASN_LEANANDMEAN
    00768     PCLASSINFO(H225_GSM_UIM, PASN_Sequence);
    00769 #endif
    00770   public:
    00771     H225_GSM_UIM(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00772
    00773     enum OptionalFields {
    00774       e_imsi,
    00775       e_tmsi,
    00776       e_msisdn,
    00777       e_imei,
    00778       e_hplmn,
    00779       e_vplmn
    00780     };
    00781
    00782     PASN_IA5String m_imsi;
    00783     PASN_OctetString m_tmsi;
    00784     PASN_IA5String m_msisdn;
    00785     PASN_IA5String m_imei;
    00786     PASN_IA5String m_hplmn;
    00787     PASN_IA5String m_vplmn;
    00788
    00789     PINDEX GetDataLength() const;
    00790     PBoolean Decode(PASN_Stream & strm);
    00791     void Encode(PASN_Stream & strm) const;
    00792 #ifndef PASN_NOPRINTON
    00793     void PrintOn(ostream & strm) const;
    00794 #endif
    00795     Comparison Compare(const PObject & obj) const;
    00796     PObject * Clone() const;
    00797 };
    00798
    00799
    00800 //
    00801 // IsupNumber
    00802 //
    00803
    00804 class H225_IsupPublicPartyNumber;
    00805 class H225_IsupDigits;
    00806 class H225_IsupPrivatePartyNumber;
    00807
    00808 class H225_IsupNumber : public PASN_Choice
    00809 {
    00810 #ifndef PASN_LEANANDMEAN
    00811     PCLASSINFO(H225_IsupNumber, PASN_Choice);
    00812 #endif
    00813   public:
    00814     H225_IsupNumber(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00815
    00816     enum Choices {
    00817       e_e164Number,
    00818       e_dataPartyNumber,
    00819       e_telexPartyNumber,
    00820       e_privateNumber,
    00821       e_nationalStandardPartyNumber
    00822     };
    00823
    00824 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00825     operator H225_IsupPublicPartyNumber &() const;
    00826 #else
    00827     operator H225_IsupPublicPartyNumber &();
    00828     operator const H225_IsupPublicPartyNumber &() const;
    00829 #endif
    00830 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00831     operator H225_IsupDigits &() const;
    00832 #else
    00833     operator H225_IsupDigits &();
    00834     operator const H225_IsupDigits &() const;
    00835 #endif
    00836 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00837     operator H225_IsupPrivatePartyNumber &() const;
    00838 #else
    00839     operator H225_IsupPrivatePartyNumber &();
    00840     operator const H225_IsupPrivatePartyNumber &() const;
    00841 #endif
    00842
    00843     PBoolean CreateObject();
    00844     PObject * Clone() const;
    00845 };
    00846
    00847
    00848 //
    00849 // NatureOfAddress
    00850 //
    00851
    00852 class H225_NatureOfAddress : public PASN_Choice
    00853 {
    00854 #ifndef PASN_LEANANDMEAN
    00855     PCLASSINFO(H225_NatureOfAddress, PASN_Choice);
    00856 #endif
    00857   public:
    00858     H225_NatureOfAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00859
    00860     enum Choices {
    00861       e_unknown,
    00862       e_subscriberNumber,
    00863       e_nationalNumber,
    00864       e_internationalNumber,
    00865       e_networkSpecificNumber,
    00866       e_routingNumberNationalFormat,
    00867       e_routingNumberNetworkSpecificFormat,
    00868       e_routingNumberWithCalledDirectoryNumber
    00869     };
    00870
    00871     PBoolean CreateObject();
    00872     PObject * Clone() const;
    00873 };
    00874
    00875
    00876 //
    00877 // IsupDigits
    00878 //
    00879
    00880 class H225_IsupDigits : public PASN_IA5String
    00881 {
    00882 #ifndef PASN_LEANANDMEAN
    00883     PCLASSINFO(H225_IsupDigits, PASN_IA5String);
    00884 #endif
    00885   public:
    00886     H225_IsupDigits(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
    00887
    00888     H225_IsupDigits & operator=(const char * v);
    00889     H225_IsupDigits & operator=(const PString & v);
    00890     PObject * Clone() const;
    00891 };
    00892
    00893
    00894 //
    00895 // ExtendedAliasAddress
    00896 //
    00897
    00898 class H225_ExtendedAliasAddress : public PASN_Sequence
    00899 {
    00900 #ifndef PASN_LEANANDMEAN
    00901     PCLASSINFO(H225_ExtendedAliasAddress, PASN_Sequence);
    00902 #endif
    00903   public:
    00904     H225_ExtendedAliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00905
    00906     enum OptionalFields {
    00907       e_presentationIndicator,
    00908       e_screeningIndicator
    00909     };
    00910
    00911     H225_AliasAddress m_address;
    00912     H225_PresentationIndicator m_presentationIndicator;
    00913     H225_ScreeningIndicator m_screeningIndicator;
    00914
    00915     PINDEX GetDataLength() const;
    00916     PBoolean Decode(PASN_Stream & strm);
    00917     void Encode(PASN_Stream & strm) const;
    00918 #ifndef PASN_NOPRINTON
    00919     void PrintOn(ostream & strm) const;
    00920 #endif
    00921     Comparison Compare(const PObject & obj) const;
    00922     PObject * Clone() const;
    00923 };
    00924
    00925
    00926 //
    00927 // UseSpecifiedTransport
    00928 //
    00929
    00930 class H225_UseSpecifiedTransport : public PASN_Choice
    00931 {
    00932 #ifndef PASN_LEANANDMEAN
    00933     PCLASSINFO(H225_UseSpecifiedTransport, PASN_Choice);
    00934 #endif
    00935   public:
    00936     H225_UseSpecifiedTransport(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00937
    00938     enum Choices {
    00939       e_tcp,
    00940       e_annexE,
    00941       e_sctp
    00942     };
    00943
    00944     PBoolean CreateObject();
    00945     PObject * Clone() const;
    00946 };
    00947
    00948
    00949 //
    00950 // SecurityServiceMode
    00951 //
    00952
    00953 class H225_NonStandardParameter;
    00954
    00955 class H225_SecurityServiceMode : public PASN_Choice
    00956 {
    00957 #ifndef PASN_LEANANDMEAN
    00958     PCLASSINFO(H225_SecurityServiceMode, PASN_Choice);
    00959 #endif
    00960   public:
    00961     H225_SecurityServiceMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00962
    00963     enum Choices {
    00964       e_nonStandard,
    00965       e_none,
    00966       e_default
    00967     };
    00968
    00969 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00970     operator H225_NonStandardParameter &() const;
    00971 #else
    00972     operator H225_NonStandardParameter &();
    00973     operator const H225_NonStandardParameter &() const;
    00974 #endif
    00975
    00976     PBoolean CreateObject();
    00977     PObject * Clone() const;
    00978 };
    00979
    00980
    00981 //
    00982 // SecurityErrors
    00983 //
    00984
    00985 class H225_SecurityErrors : public PASN_Choice
    00986 {
    00987 #ifndef PASN_LEANANDMEAN
    00988     PCLASSINFO(H225_SecurityErrors, PASN_Choice);
    00989 #endif
    00990   public:
    00991     H225_SecurityErrors(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00992
    00993     enum Choices {
    00994       e_securityWrongSyncTime,
    00995       e_securityReplay,
    00996       e_securityWrongGeneralID,
    00997       e_securityWrongSendersID,
    00998       e_securityIntegrityFailed,
    00999       e_securityWrongOID,
    01000       e_securityDHmismatch,
    01001       e_securityCertificateExpired,
    01002       e_securityCertificateDateInvalid,
    01003       e_securityCertificateRevoked,
    01004       e_securityCertificateNotReadable,
    01005       e_securityCertificateSignatureInvalid,
    01006       e_securityCertificateMissing,
    01007       e_securityCertificateIncomplete,
    01008       e_securityUnsupportedCertificateAlgOID,
    01009       e_securityUnknownCA
    01010     };
    01011
    01012     PBoolean CreateObject();
    01013     PObject * Clone() const;
    01014 };
    01015
    01016
    01017 //
    01018 // SecurityErrors2
    01019 //
    01020
    01021 class H225_SecurityErrors2 : public PASN_Choice
    01022 {
    01023 #ifndef PASN_LEANANDMEAN
    01024     PCLASSINFO(H225_SecurityErrors2, PASN_Choice);
    01025 #endif
    01026   public:
    01027     H225_SecurityErrors2(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01028
    01029     enum Choices {
    01030       e_securityWrongSyncTime,
    01031       e_securityReplay,
    01032       e_securityWrongGeneralID,
    01033       e_securityWrongSendersID,
    01034       e_securityIntegrityFailed,
    01035       e_securityWrongOID
    01036     };
    01037
    01038     PBoolean CreateObject();
    01039     PObject * Clone() const;
    01040 };
    01041
    01042
    01043 //
    01044 // H245Security
    01045 //
    01046
    01047 class H225_NonStandardParameter;
    01048 class H225_SecurityCapabilities;
    01049
    01050 class H225_H245Security : public PASN_Choice
    01051 {
    01052 #ifndef PASN_LEANANDMEAN
    01053     PCLASSINFO(H225_H245Security, PASN_Choice);
    01054 #endif
    01055   public:
    01056     H225_H245Security(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01057
    01058     enum Choices {
    01059       e_nonStandard,
    01060       e_noSecurity,
    01061       e_tls,
    01062       e_ipsec
    01063     };
    01064
    01065 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01066     operator H225_NonStandardParameter &() const;
    01067 #else
    01068     operator H225_NonStandardParameter &();
    01069     operator const H225_NonStandardParameter &() const;
    01070 #endif
    01071 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01072     operator H225_SecurityCapabilities &() const;
    01073 #else
    01074     operator H225_SecurityCapabilities &();
    01075     operator const H225_SecurityCapabilities &() const;
    01076 #endif
    01077
    01078     PBoolean CreateObject();
    01079     PObject * Clone() const;
    01080 };
    01081
    01082
    01083 //
    01084 // Q954Details
    01085 //
    01086
    01087 class H225_Q954Details : public PASN_Sequence
    01088 {
    01089 #ifndef PASN_LEANANDMEAN
    01090     PCLASSINFO(H225_Q954Details, PASN_Sequence);
    01091 #endif
    01092   public:
    01093     H225_Q954Details(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01094
    01095     PASN_Boolean m_conferenceCalling;
    01096     PASN_Boolean m_threePartyService;
    01097
    01098     PINDEX GetDataLength() const;
    01099     PBoolean Decode(PASN_Stream & strm);
    01100     void Encode(PASN_Stream & strm) const;
    01101 #ifndef PASN_NOPRINTON
    01102     void PrintOn(ostream & strm) const;
    01103 #endif
    01104     Comparison Compare(const PObject & obj) const;
    01105     PObject * Clone() const;
    01106 };
    01107
    01108
    01109 //
    01110 // GloballyUniqueID
    01111 //
    01112
    01113 class H225_GloballyUniqueID : public PASN_OctetString
    01114 {
    01115 #ifndef PASN_LEANANDMEAN
    01116     PCLASSINFO(H225_GloballyUniqueID, PASN_OctetString);
    01117 #endif
    01118   public:
    01119     H225_GloballyUniqueID(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01120
    01121     H225_GloballyUniqueID(const char * v);
    01122     H225_GloballyUniqueID(const PString & v);
    01123     H225_GloballyUniqueID(const PBYTEArray & v);
    01124
    01125     H225_GloballyUniqueID & operator=(const char * v);
    01126     H225_GloballyUniqueID & operator=(const PString & v);
    01127     H225_GloballyUniqueID & operator=(const PBYTEArray & v);
    01128     PObject * Clone() const;
    01129 };
    01130
    01131
    01132 //
    01133 // ConferenceIdentifier
    01134 //
    01135
    01136 class H225_ConferenceIdentifier : public H225_GloballyUniqueID
    01137 {
    01138 #ifndef PASN_LEANANDMEAN
    01139     PCLASSINFO(H225_ConferenceIdentifier, H225_GloballyUniqueID);
    01140 #endif
    01141   public:
    01142     H225_ConferenceIdentifier(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01143
    01144     H225_ConferenceIdentifier(const char * v);
    01145     H225_ConferenceIdentifier(const PString & v);
    01146     H225_ConferenceIdentifier(const PBYTEArray & v);
    01147
    01148     H225_ConferenceIdentifier & operator=(const char * v);
    01149     H225_ConferenceIdentifier & operator=(const PString & v);
    01150     H225_ConferenceIdentifier & operator=(const PBYTEArray & v);
    01151     PObject * Clone() const;
    01152 };
    01153
    01154
    01155 //
    01156 // RequestSeqNum
    01157 //
    01158
    01159 class H225_RequestSeqNum : public PASN_Integer
    01160 {
    01161 #ifndef PASN_LEANANDMEAN
    01162     PCLASSINFO(H225_RequestSeqNum, PASN_Integer);
    01163 #endif
    01164   public:
    01165     H225_RequestSeqNum(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    01166
    01167     H225_RequestSeqNum & operator=(int v);
    01168     H225_RequestSeqNum & operator=(unsigned v);
    01169     PObject * Clone() const;
    01170 };
    01171
    01172
    01173 //
    01174 // GatekeeperIdentifier
    01175 //
    01176
    01177 class H225_GatekeeperIdentifier : public PASN_BMPString
    01178 {
    01179 #ifndef PASN_LEANANDMEAN
    01180     PCLASSINFO(H225_GatekeeperIdentifier, PASN_BMPString);
    01181 #endif
    01182   public:
    01183     H225_GatekeeperIdentifier(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
    01184
    01185     H225_GatekeeperIdentifier & operator=(const char * v);
    01186     H225_GatekeeperIdentifier & operator=(const PString & v);
    01187     H225_GatekeeperIdentifier & operator=(const PWCharArray & v);
    01188     H225_GatekeeperIdentifier & operator=(const PASN_BMPString & v);
    01189     PObject * Clone() const;
    01190 };
    01191
    01192
    01193 //
    01194 // BandWidth
    01195 //
    01196
    01197 class H225_BandWidth : public PASN_Integer
    01198 {
    01199 #ifndef PASN_LEANANDMEAN
    01200     PCLASSINFO(H225_BandWidth, PASN_Integer);
    01201 #endif
    01202   public:
    01203     H225_BandWidth(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    01204
    01205     H225_BandWidth & operator=(int v);
    01206     H225_BandWidth & operator=(unsigned v);
    01207     PObject * Clone() const;
    01208 };
    01209
    01210
    01211 //
    01212 // CallReferenceValue
    01213 //
    01214
    01215 class H225_CallReferenceValue : public PASN_Integer
    01216 {
    01217 #ifndef PASN_LEANANDMEAN
    01218     PCLASSINFO(H225_CallReferenceValue, PASN_Integer);
    01219 #endif
    01220   public:
    01221     H225_CallReferenceValue(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    01222
    01223     H225_CallReferenceValue & operator=(int v);
    01224     H225_CallReferenceValue & operator=(unsigned v);
    01225     PObject * Clone() const;
    01226 };
    01227
    01228
    01229 //
    01230 // EndpointIdentifier
    01231 //
    01232
    01233 class H225_EndpointIdentifier : public PASN_BMPString
    01234 {
    01235 #ifndef PASN_LEANANDMEAN
    01236     PCLASSINFO(H225_EndpointIdentifier, PASN_BMPString);
    01237 #endif
    01238   public:
    01239     H225_EndpointIdentifier(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
    01240
    01241     H225_EndpointIdentifier & operator=(const char * v);
    01242     H225_EndpointIdentifier & operator=(const PString & v);
    01243     H225_EndpointIdentifier & operator=(const PWCharArray & v);
    01244     H225_EndpointIdentifier & operator=(const PASN_BMPString & v);
    01245     PObject * Clone() const;
    01246 };
    01247
    01248
    01249 //
    01250 // ProtocolIdentifier
    01251 //
    01252
    01253 class H225_ProtocolIdentifier : public PASN_ObjectId
    01254 {
    01255 #ifndef PASN_LEANANDMEAN
    01256     PCLASSINFO(H225_ProtocolIdentifier, PASN_ObjectId);
    01257 #endif
    01258   public:
    01259     H225_ProtocolIdentifier(unsigned tag = UniversalObjectId, TagClass tagClass = UniversalTagClass);
    01260
    01261     PObject * Clone() const;
    01262 };
    01263
    01264
    01265 //
    01266 // TimeToLive
    01267 //
    01268
    01269 class H225_TimeToLive : public PASN_Integer
    01270 {
    01271 #ifndef PASN_LEANANDMEAN
    01272     PCLASSINFO(H225_TimeToLive, PASN_Integer);
    01273 #endif
    01274   public:
    01275     H225_TimeToLive(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    01276
    01277     H225_TimeToLive & operator=(int v);
    01278     H225_TimeToLive & operator=(unsigned v);
    01279     PObject * Clone() const;
    01280 };
    01281
    01282
    01283 //
    01284 // H248PackagesDescriptor
    01285 //
    01286
    01287 class H225_H248PackagesDescriptor : public PASN_OctetString
    01288 {
    01289 #ifndef PASN_LEANANDMEAN
    01290     PCLASSINFO(H225_H248PackagesDescriptor, PASN_OctetString);
    01291 #endif
    01292   public:
    01293     H225_H248PackagesDescriptor(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01294
    01295     H225_H248PackagesDescriptor(const char * v);
    01296     H225_H248PackagesDescriptor(const PString & v);
    01297     H225_H248PackagesDescriptor(const PBYTEArray & v);
    01298
    01299     H225_H248PackagesDescriptor & operator=(const char * v);
    01300     H225_H248PackagesDescriptor & operator=(const PString & v);
    01301     H225_H248PackagesDescriptor & operator=(const PBYTEArray & v);
    01302     PObject * Clone() const;
    01303 };
    01304
    01305
    01306 //
    01307 // H248SignalsDescriptor
    01308 //
    01309
    01310 class H225_H248SignalsDescriptor : public PASN_OctetString
    01311 {
    01312 #ifndef PASN_LEANANDMEAN
    01313     PCLASSINFO(H225_H248SignalsDescriptor, PASN_OctetString);
    01314 #endif
    01315   public:
    01316     H225_H248SignalsDescriptor(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01317
    01318     H225_H248SignalsDescriptor(const char * v);
    01319     H225_H248SignalsDescriptor(const PString & v);
    01320     H225_H248SignalsDescriptor(const PBYTEArray & v);
    01321
    01322     H225_H248SignalsDescriptor & operator=(const char * v);
    01323     H225_H248SignalsDescriptor & operator=(const PString & v);
    01324     H225_H248SignalsDescriptor & operator=(const PBYTEArray & v);
    01325     PObject * Clone() const;
    01326 };
    01327
    01328
    01329 //
    01330 // CallIdentifier
    01331 //
    01332
    01333 class H225_CallIdentifier : public PASN_Sequence
    01334 {
    01335 #ifndef PASN_LEANANDMEAN
    01336     PCLASSINFO(H225_CallIdentifier, PASN_Sequence);
    01337 #endif
    01338   public:
    01339     H225_CallIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01340
    01341     H225_GloballyUniqueID m_guid;
    01342
    01343     PINDEX GetDataLength() const;
    01344     PBoolean Decode(PASN_Stream & strm);
    01345     void Encode(PASN_Stream & strm) const;
    01346 #ifndef PASN_NOPRINTON
    01347     void PrintOn(ostream & strm) const;
    01348 #endif
    01349     Comparison Compare(const PObject & obj) const;
    01350     PObject * Clone() const;
    01351 };
    01352
    01353
    01354 //
    01355 // EncryptIntAlg
    01356 //
    01357
    01358 class H225_NonStandardParameter;
    01359
    01360 class H225_EncryptIntAlg : public PASN_Choice
    01361 {
    01362 #ifndef PASN_LEANANDMEAN
    01363     PCLASSINFO(H225_EncryptIntAlg, PASN_Choice);
    01364 #endif
    01365   public:
    01366     H225_EncryptIntAlg(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01367
    01368     enum Choices {
    01369       e_nonStandard,
    01370       e_isoAlgorithm
    01371     };
    01372
    01373 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01374     operator H225_NonStandardParameter &() const;
    01375 #else
    01376     operator H225_NonStandardParameter &();
    01377     operator const H225_NonStandardParameter &() const;
    01378 #endif
    01379
    01380     PBoolean CreateObject();
    01381     PObject * Clone() const;
    01382 };
    01383
    01384
    01385 //
    01386 // NonIsoIntegrityMechanism
    01387 //
    01388
    01389 class H225_EncryptIntAlg;
    01390
    01391 class H225_NonIsoIntegrityMechanism : public PASN_Choice
    01392 {
    01393 #ifndef PASN_LEANANDMEAN
    01394     PCLASSINFO(H225_NonIsoIntegrityMechanism, PASN_Choice);
    01395 #endif
    01396   public:
    01397     H225_NonIsoIntegrityMechanism(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01398
    01399     enum Choices {
    01400       e_hMAC_MD5,
    01401       e_hMAC_iso10118_2_s,
    01402       e_hMAC_iso10118_2_l,
    01403       e_hMAC_iso10118_3
    01404     };
    01405
    01406 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01407     operator H225_EncryptIntAlg &() const;
    01408 #else
    01409     operator H225_EncryptIntAlg &();
    01410     operator const H225_EncryptIntAlg &() const;
    01411 #endif
    01412
    01413     PBoolean CreateObject();
    01414     PObject * Clone() const;
    01415 };
    01416
    01417
    01418 //
    01419 // IntegrityMechanism
    01420 //
    01421
    01422 class H225_NonStandardParameter;
    01423 class H225_NonIsoIntegrityMechanism;
    01424
    01425 class H225_IntegrityMechanism : public PASN_Choice
    01426 {
    01427 #ifndef PASN_LEANANDMEAN
    01428     PCLASSINFO(H225_IntegrityMechanism, PASN_Choice);
    01429 #endif
    01430   public:
    01431     H225_IntegrityMechanism(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01432
    01433     enum Choices {
    01434       e_nonStandard,
    01435       e_digSig,
    01436       e_iso9797,
    01437       e_nonIsoIM
    01438     };
    01439
    01440 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01441     operator H225_NonStandardParameter &() const;
    01442 #else
    01443     operator H225_NonStandardParameter &();
    01444     operator const H225_NonStandardParameter &() const;
    01445 #endif
    01446 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01447     operator H225_NonIsoIntegrityMechanism &() const;
    01448 #else
    01449     operator H225_NonIsoIntegrityMechanism &();
    01450     operator const H225_NonIsoIntegrityMechanism &() const;
    01451 #endif
    01452
    01453     PBoolean CreateObject();
    01454     PObject * Clone() const;
    01455 };
    01456
    01457
    01458 //
    01459 // ICV
    01460 //
    01461
    01462 class H225_ICV : public PASN_Sequence
    01463 {
    01464 #ifndef PASN_LEANANDMEAN
    01465     PCLASSINFO(H225_ICV, PASN_Sequence);
    01466 #endif
    01467   public:
    01468     H225_ICV(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01469
    01470     PASN_ObjectId m_algorithmOID;
    01471     PASN_BitString m_icv;
    01472
    01473     PINDEX GetDataLength() const;
    01474     PBoolean Decode(PASN_Stream & strm);
    01475     void Encode(PASN_Stream & strm) const;
    01476 #ifndef PASN_NOPRINTON
    01477     void PrintOn(ostream & strm) const;
    01478 #endif
    01479     Comparison Compare(const PObject & obj) const;
    01480     PObject * Clone() const;
    01481 };
    01482
    01483
    01484 //
    01485 // FastStartToken
    01486 //
    01487
    01488 class H225_FastStartToken : public H235_ClearToken
    01489 {
    01490 #ifndef PASN_LEANANDMEAN
    01491     PCLASSINFO(H225_FastStartToken, H235_ClearToken);
    01492 #endif
    01493   public:
    01494     H225_FastStartToken(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01495
    01496     PObject * Clone() const;
    01497 };
    01498
    01499
    01500 //
    01501 // EncodedFastStartToken
    01502 //
    01503
    01504 class H225_EncodedFastStartToken : public PASN_OctetString
    01505 {
    01506 #ifndef PASN_LEANANDMEAN
    01507     PCLASSINFO(H225_EncodedFastStartToken, PASN_OctetString);
    01508 #endif
    01509   public:
    01510     H225_EncodedFastStartToken(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01511
    01512     PBoolean DecodeSubType(H225_FastStartToken & obj) { return PASN_OctetString::DecodeSubType(obj); }
    01513     void EncodeSubType(const H225_FastStartToken & obj) { PASN_OctetString::EncodeSubType(obj); }
    01514
    01515     PObject * Clone() const;
    01516 };
    01517
    01518
    01519 //
    01520 // CryptoH323Token
    01521 //
    01522
    01523 class H225_CryptoH323Token_cryptoEPPwdHash;
    01524 class H225_CryptoH323Token_cryptoGKPwdHash;
    01525 class H235_CryptoToken;
    01526
    01527 class H225_CryptoH323Token : public PASN_Choice
    01528 {
    01529 #ifndef PASN_LEANANDMEAN
    01530     PCLASSINFO(H225_CryptoH323Token, PASN_Choice);
    01531 #endif
    01532   public:
    01533     H225_CryptoH323Token(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01534
    01535     enum Choices {
    01536       e_cryptoEPPwdHash,
    01537       e_cryptoGKPwdHash,
    01538       e_cryptoEPPwdEncr,
    01539       e_cryptoGKPwdEncr,
    01540       e_cryptoEPCert,
    01541       e_cryptoGKCert,
    01542       e_cryptoFastStart,
    01543       e_nestedcryptoToken
    01544     };
    01545
    01546 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01547     operator H225_CryptoH323Token_cryptoEPPwdHash &() const;
    01548 #else
    01549     operator H225_CryptoH323Token_cryptoEPPwdHash &();
    01550     operator const H225_CryptoH323Token_cryptoEPPwdHash &() const;
    01551 #endif
    01552 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01553     operator H225_CryptoH323Token_cryptoGKPwdHash &() const;
    01554 #else
    01555     operator H225_CryptoH323Token_cryptoGKPwdHash &();
    01556     operator const H225_CryptoH323Token_cryptoGKPwdHash &() const;
    01557 #endif
    01558 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01559     operator H235_ENCRYPTED<H235_EncodedPwdCertToken> &() const;
    01560 #else
    01561     operator H235_ENCRYPTED<H235_EncodedPwdCertToken> &();
    01562     operator const H235_ENCRYPTED<H235_EncodedPwdCertToken> &() const;
    01563 #endif
    01564 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01565     operator H235_SIGNED<H235_EncodedPwdCertToken> &() const;
    01566 #else
    01567     operator H235_SIGNED<H235_EncodedPwdCertToken> &();
    01568     operator const H235_SIGNED<H235_EncodedPwdCertToken> &() const;
    01569 #endif
    01570 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01571     operator H235_SIGNED<H225_EncodedFastStartToken> &() const;
    01572 #else
    01573     operator H235_SIGNED<H225_EncodedFastStartToken> &();
    01574     operator const H235_SIGNED<H225_EncodedFastStartToken> &() const;
    01575 #endif
    01576 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01577     operator H235_CryptoToken &() const;
    01578 #else
    01579     operator H235_CryptoToken &();
    01580     operator const H235_CryptoToken &() const;
    01581 #endif
    01582
    01583     PBoolean CreateObject();
    01584     PObject * Clone() const;
    01585 };
    01586
    01587
    01588 //
    01589 // CallLinkage
    01590 //
    01591
    01592 class H225_CallLinkage : public PASN_Sequence
    01593 {
    01594 #ifndef PASN_LEANANDMEAN
    01595     PCLASSINFO(H225_CallLinkage, PASN_Sequence);
    01596 #endif
    01597   public:
    01598     H225_CallLinkage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01599
    01600     enum OptionalFields {
    01601       e_globalCallId,
    01602       e_threadId
    01603     };
    01604
    01605     H225_GloballyUniqueID m_globalCallId;
    01606     H225_GloballyUniqueID m_threadId;
    01607
    01608     PINDEX GetDataLength() const;
    01609     PBoolean Decode(PASN_Stream & strm);
    01610     void Encode(PASN_Stream & strm) const;
    01611 #ifndef PASN_NOPRINTON
    01612     void PrintOn(ostream & strm) const;
    01613 #endif
    01614     Comparison Compare(const PObject & obj) const;
    01615     PObject * Clone() const;
    01616 };
    01617
    01618
    01619 //
    01620 // CapacityReportingCapability
    01621 //
    01622
    01623 class H225_CapacityReportingCapability : public PASN_Sequence
    01624 {
    01625 #ifndef PASN_LEANANDMEAN
    01626     PCLASSINFO(H225_CapacityReportingCapability, PASN_Sequence);
    01627 #endif
    01628   public:
    01629     H225_CapacityReportingCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01630
    01631     PASN_Boolean m_canReportCallCapacity;
    01632
    01633     PINDEX GetDataLength() const;
    01634     PBoolean Decode(PASN_Stream & strm);
    01635     void Encode(PASN_Stream & strm) const;
    01636 #ifndef PASN_NOPRINTON
    01637     void PrintOn(ostream & strm) const;
    01638 #endif
    01639     Comparison Compare(const PObject & obj) const;
    01640     PObject * Clone() const;
    01641 };
    01642
    01643
    01644 //
    01645 // CarrierInfo
    01646 //
    01647
    01648 class H225_CarrierInfo : public PASN_Sequence
    01649 {
    01650 #ifndef PASN_LEANANDMEAN
    01651     PCLASSINFO(H225_CarrierInfo, PASN_Sequence);
    01652 #endif
    01653   public:
    01654     H225_CarrierInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01655
    01656     enum OptionalFields {
    01657       e_carrierIdentificationCode,
    01658       e_carrierName
    01659     };
    01660
    01661     PASN_OctetString m_carrierIdentificationCode;
    01662     PASN_IA5String m_carrierName;
    01663
    01664     PINDEX GetDataLength() const;
    01665     PBoolean Decode(PASN_Stream & strm);
    01666     void Encode(PASN_Stream & strm) const;
    01667 #ifndef PASN_NOPRINTON
    01668     void PrintOn(ostream & strm) const;
    01669 #endif
    01670     Comparison Compare(const PObject & obj) const;
    01671     PObject * Clone() const;
    01672 };
    01673
    01674
    01675 //
    01676 // ServiceControlDescriptor
    01677 //
    01678
    01679 class H225_H248SignalsDescriptor;
    01680 class H225_NonStandardParameter;
    01681 class H225_CallCreditServiceControl;
    01682
    01683 class H225_ServiceControlDescriptor : public PASN_Choice
    01684 {
    01685 #ifndef PASN_LEANANDMEAN
    01686     PCLASSINFO(H225_ServiceControlDescriptor, PASN_Choice);
    01687 #endif
    01688   public:
    01689     H225_ServiceControlDescriptor(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01690
    01691     enum Choices {
    01692       e_url,
    01693       e_signal,
    01694       e_nonStandard,
    01695       e_callCreditServiceControl
    01696     };
    01697
    01698 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01699     operator H225_H248SignalsDescriptor &() const;
    01700 #else
    01701     operator H225_H248SignalsDescriptor &();
    01702     operator const H225_H248SignalsDescriptor &() const;
    01703 #endif
    01704 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01705     operator H225_NonStandardParameter &() const;
    01706 #else
    01707     operator H225_NonStandardParameter &();
    01708     operator const H225_NonStandardParameter &() const;
    01709 #endif
    01710 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01711     operator H225_CallCreditServiceControl &() const;
    01712 #else
    01713     operator H225_CallCreditServiceControl &();
    01714     operator const H225_CallCreditServiceControl &() const;
    01715 #endif
    01716
    01717     PBoolean CreateObject();
    01718     PObject * Clone() const;
    01719 };
    01720
    01721
    01722 //
    01723 // CallTerminationCause
    01724 //
    01725
    01726 class H225_ReleaseCompleteReason;
    01727
    01728 class H225_CallTerminationCause : public PASN_Choice
    01729 {
    01730 #ifndef PASN_LEANANDMEAN
    01731     PCLASSINFO(H225_CallTerminationCause, PASN_Choice);
    01732 #endif
    01733   public:
    01734     H225_CallTerminationCause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01735
    01736     enum Choices {
    01737       e_releaseCompleteReason,
    01738       e_releaseCompleteCauseIE
    01739     };
    01740
    01741 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01742     operator H225_ReleaseCompleteReason &() const;
    01743 #else
    01744     operator H225_ReleaseCompleteReason &();
    01745     operator const H225_ReleaseCompleteReason &() const;
    01746 #endif
    01747
    01748     PBoolean CreateObject();
    01749     PObject * Clone() const;
    01750 };
    01751
    01752
    01753 //
    01754 // CallCreditCapability
    01755 //
    01756
    01757 class H225_CallCreditCapability : public PASN_Sequence
    01758 {
    01759 #ifndef PASN_LEANANDMEAN
    01760     PCLASSINFO(H225_CallCreditCapability, PASN_Sequence);
    01761 #endif
    01762   public:
    01763     H225_CallCreditCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01764
    01765     enum OptionalFields {
    01766       e_canDisplayAmountString,
    01767       e_canEnforceDurationLimit
    01768     };
    01769
    01770     PASN_Boolean m_canDisplayAmountString;
    01771     PASN_Boolean m_canEnforceDurationLimit;
    01772
    01773     PINDEX GetDataLength() const;
    01774     PBoolean Decode(PASN_Stream & strm);
    01775     void Encode(PASN_Stream & strm) const;
    01776 #ifndef PASN_NOPRINTON
    01777     void PrintOn(ostream & strm) const;
    01778 #endif
    01779     Comparison Compare(const PObject & obj) const;
    01780     PObject * Clone() const;
    01781 };
    01782
    01783
    01784 //
    01785 // GenericIdentifier
    01786 //
    01787
    01788 class H225_GloballyUniqueID;
    01789
    01790 class H225_GenericIdentifier : public PASN_Choice
    01791 {
    01792 #ifndef PASN_LEANANDMEAN
    01793     PCLASSINFO(H225_GenericIdentifier, PASN_Choice);
    01794 #endif
    01795   public:
    01796     H225_GenericIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01797
    01798     enum Choices {
    01799       e_standard,
    01800       e_oid,
    01801       e_nonStandard
    01802     };
    01803
    01804 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01805     operator H225_GloballyUniqueID &() const;
    01806 #else
    01807     operator H225_GloballyUniqueID &();
    01808     operator const H225_GloballyUniqueID &() const;
    01809 #endif
    01810
    01811     PBoolean CreateObject();
    01812     PObject * Clone() const;
    01813 };
    01814
    01815
    01816 //
    01817 // Content
    01818 //
    01819
    01820 class H225_GenericIdentifier;
    01821 class H225_AliasAddress;
    01822 class H225_TransportAddress;
    01823 class H225_ArrayOf_EnumeratedParameter;
    01824 class H225_ArrayOf_GenericData;
    01825
    01826 class H225_Content : public PASN_Choice
    01827 {
    01828 #ifndef PASN_LEANANDMEAN
    01829     PCLASSINFO(H225_Content, PASN_Choice);
    01830 #endif
    01831   public:
    01832     H225_Content(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01833
    01834     enum Choices {
    01835       e_raw,
    01836       e_text,
    01837       e_unicode,
    01838       e_bool,
    01839       e_number8,
    01840       e_number16,
    01841       e_number32,
    01842       e_id,
    01843       e_alias,
    01844       e_transport,
    01845       e_compound,
    01846       e_nested
    01847     };
    01848
    01849 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01850     operator H225_GenericIdentifier &() const;
    01851 #else
    01852     operator H225_GenericIdentifier &();
    01853     operator const H225_GenericIdentifier &() const;
    01854 #endif
    01855 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01856     operator H225_AliasAddress &() const;
    01857 #else
    01858     operator H225_AliasAddress &();
    01859     operator const H225_AliasAddress &() const;
    01860 #endif
    01861 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01862     operator H225_TransportAddress &() const;
    01863 #else
    01864     operator H225_TransportAddress &();
    01865     operator const H225_TransportAddress &() const;
    01866 #endif
    01867 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01868     operator H225_ArrayOf_EnumeratedParameter &() const;
    01869 #else
    01870     operator H225_ArrayOf_EnumeratedParameter &();
    01871     operator const H225_ArrayOf_EnumeratedParameter &() const;
    01872 #endif
    01873 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01874     operator H225_ArrayOf_GenericData &() const;
    01875 #else
    01876     operator H225_ArrayOf_GenericData &();
    01877     operator const H225_ArrayOf_GenericData &() const;
    01878 #endif
    01879
    01880     PBoolean CreateObject();
    01881     PObject * Clone() const;
    01882 };
    01883
    01884
    01885 //
    01886 // TransportChannelInfo
    01887 //
    01888
    01889 class H225_TransportChannelInfo : public PASN_Sequence
    01890 {
    01891 #ifndef PASN_LEANANDMEAN
    01892     PCLASSINFO(H225_TransportChannelInfo, PASN_Sequence);
    01893 #endif
    01894   public:
    01895     H225_TransportChannelInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01896
    01897     enum OptionalFields {
    01898       e_sendAddress,
    01899       e_recvAddress
    01900     };
    01901
    01902     H225_TransportAddress m_sendAddress;
    01903     H225_TransportAddress m_recvAddress;
    01904
    01905     PINDEX GetDataLength() const;
    01906     PBoolean Decode(PASN_Stream & strm);
    01907     void Encode(PASN_Stream & strm) const;
    01908 #ifndef PASN_NOPRINTON
    01909     void PrintOn(ostream & strm) const;
    01910 #endif
    01911     Comparison Compare(const PObject & obj) const;
    01912     PObject * Clone() const;
    01913 };
    01914
    01915
    01916 //
    01917 // RehomingModel
    01918 //
    01919
    01920 class H225_RehomingModel : public PASN_Choice
    01921 {
    01922 #ifndef PASN_LEANANDMEAN
    01923     PCLASSINFO(H225_RehomingModel, PASN_Choice);
    01924 #endif
    01925   public:
    01926     H225_RehomingModel(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01927
    01928     enum Choices {
    01929       e_gatekeeperBased,
    01930       e_endpointBased
    01931     };
    01932
    01933     PBoolean CreateObject();
    01934     PObject * Clone() const;
    01935 };
    01936
    01937
    01938 //
    01939 // RasMessage
    01940 //
    01941
    01942 class H225_GatekeeperRequest;
    01943 class H225_GatekeeperConfirm;
    01944 class H225_GatekeeperReject;
    01945 class H225_RegistrationRequest;
    01946 class H225_RegistrationConfirm;
    01947 class H225_RegistrationReject;
    01948 class H225_UnregistrationRequest;
    01949 class H225_UnregistrationConfirm;
    01950 class H225_UnregistrationReject;
    01951 class H225_AdmissionRequest;
    01952 class H225_AdmissionConfirm;
    01953 class H225_AdmissionReject;
    01954 class H225_BandwidthRequest;
    01955 class H225_BandwidthConfirm;
    01956 class H225_BandwidthReject;
    01957 class H225_DisengageRequest;
    01958 class H225_DisengageConfirm;
    01959 class H225_DisengageReject;
    01960 class H225_LocationRequest;
    01961 class H225_LocationConfirm;
    01962 class H225_LocationReject;
    01963 class H225_InfoRequest;
    01964 class H225_InfoRequestResponse;
    01965 class H225_NonStandardMessage;
    01966 class H225_UnknownMessageResponse;
    01967 class H225_RequestInProgress;
    01968 class H225_ResourcesAvailableIndicate;
    01969 class H225_ResourcesAvailableConfirm;
    01970 class H225_InfoRequestAck;
    01971 class H225_InfoRequestNak;
    01972 class H225_ServiceControlIndication;
    01973 class H225_ServiceControlResponse;
    01974 class H225_ArrayOf_AdmissionConfirm;
    01975
    01976 class H225_RasMessage : public PASN_Choice
    01977 {
    01978 #ifndef PASN_LEANANDMEAN
    01979     PCLASSINFO(H225_RasMessage, PASN_Choice);
    01980 #endif
    01981   public:
    01982     H225_RasMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01983
    01984     enum Choices {
    01985       e_gatekeeperRequest,
    01986       e_gatekeeperConfirm,
    01987       e_gatekeeperReject,
    01988       e_registrationRequest,
    01989       e_registrationConfirm,
    01990       e_registrationReject,
    01991       e_unregistrationRequest,
    01992       e_unregistrationConfirm,
    01993       e_unregistrationReject,
    01994       e_admissionRequest,
    01995       e_admissionConfirm,
    01996       e_admissionReject,
    01997       e_bandwidthRequest,
    01998       e_bandwidthConfirm,
    01999       e_bandwidthReject,
    02000       e_disengageRequest,
    02001       e_disengageConfirm,
    02002       e_disengageReject,
    02003       e_locationRequest,
    02004       e_locationConfirm,
    02005       e_locationReject,
    02006       e_infoRequest,
    02007       e_infoRequestResponse,
    02008       e_nonStandardMessage,
    02009       e_unknownMessageResponse,
    02010       e_requestInProgress,
    02011       e_resourcesAvailableIndicate,
    02012       e_resourcesAvailableConfirm,
    02013       e_infoRequestAck,
    02014       e_infoRequestNak,
    02015       e_serviceControlIndication,
    02016       e_serviceControlResponse,
    02017       e_admissionConfirmSequence
    02018     };
    02019
    02020 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02021     operator H225_GatekeeperRequest &() const;
    02022 #else
    02023     operator H225_GatekeeperRequest &();
    02024     operator const H225_GatekeeperRequest &() const;
    02025 #endif
    02026 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02027     operator H225_GatekeeperConfirm &() const;
    02028 #else
    02029     operator H225_GatekeeperConfirm &();
    02030     operator const H225_GatekeeperConfirm &() const;
    02031 #endif
    02032 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02033     operator H225_GatekeeperReject &() const;
    02034 #else
    02035     operator H225_GatekeeperReject &();
    02036     operator const H225_GatekeeperReject &() const;
    02037 #endif
    02038 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02039     operator H225_RegistrationRequest &() const;
    02040 #else
    02041     operator H225_RegistrationRequest &();
    02042     operator const H225_RegistrationRequest &() const;
    02043 #endif
    02044 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02045     operator H225_RegistrationConfirm &() const;
    02046 #else
    02047     operator H225_RegistrationConfirm &();
    02048     operator const H225_RegistrationConfirm &() const;
    02049 #endif
    02050 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02051     operator H225_RegistrationReject &() const;
    02052 #else
    02053     operator H225_RegistrationReject &();
    02054     operator const H225_RegistrationReject &() const;
    02055 #endif
    02056 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02057     operator H225_UnregistrationRequest &() const;
    02058 #else
    02059     operator H225_UnregistrationRequest &();
    02060     operator const H225_UnregistrationRequest &() const;
    02061 #endif
    02062 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02063     operator H225_UnregistrationConfirm &() const;
    02064 #else
    02065     operator H225_UnregistrationConfirm &();
    02066     operator const H225_UnregistrationConfirm &() const;
    02067 #endif
    02068 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02069     operator H225_UnregistrationReject &() const;
    02070 #else
    02071     operator H225_UnregistrationReject &();
    02072     operator const H225_UnregistrationReject &() const;
    02073 #endif
    02074 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02075     operator H225_AdmissionRequest &() const;
    02076 #else
    02077     operator H225_AdmissionRequest &();
    02078     operator const H225_AdmissionRequest &() const;
    02079 #endif
    02080 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02081     operator H225_AdmissionConfirm &() const;
    02082 #else
    02083     operator H225_AdmissionConfirm &();
    02084     operator const H225_AdmissionConfirm &() const;
    02085 #endif
    02086 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02087     operator H225_AdmissionReject &() const;
    02088 #else
    02089     operator H225_AdmissionReject &();
    02090     operator const H225_AdmissionReject &() const;
    02091 #endif
    02092 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02093     operator H225_BandwidthRequest &() const;
    02094 #else
    02095     operator H225_BandwidthRequest &();
    02096     operator const H225_BandwidthRequest &() const;
    02097 #endif
    02098 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02099     operator H225_BandwidthConfirm &() const;
    02100 #else
    02101     operator H225_BandwidthConfirm &();
    02102     operator const H225_BandwidthConfirm &() const;
    02103 #endif
    02104 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02105     operator H225_BandwidthReject &() const;
    02106 #else
    02107     operator H225_BandwidthReject &();
    02108     operator const H225_BandwidthReject &() const;
    02109 #endif
    02110 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02111     operator H225_DisengageRequest &() const;
    02112 #else
    02113     operator H225_DisengageRequest &();
    02114     operator const H225_DisengageRequest &() const;
    02115 #endif
    02116 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02117     operator H225_DisengageConfirm &() const;
    02118 #else
    02119     operator H225_DisengageConfirm &();
    02120     operator const H225_DisengageConfirm &() const;
    02121 #endif
    02122 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02123     operator H225_DisengageReject &() const;
    02124 #else
    02125     operator H225_DisengageReject &();
    02126     operator const H225_DisengageReject &() const;
    02127 #endif
    02128 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02129     operator H225_LocationRequest &() const;
    02130 #else
    02131     operator H225_LocationRequest &();
    02132     operator const H225_LocationRequest &() const;
    02133 #endif
    02134 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02135     operator H225_LocationConfirm &() const;
    02136 #else
    02137     operator H225_LocationConfirm &();
    02138     operator const H225_LocationConfirm &() const;
    02139 #endif
    02140 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02141     operator H225_LocationReject &() const;
    02142 #else
    02143     operator H225_LocationReject &();
    02144     operator const H225_LocationReject &() const;
    02145 #endif
    02146 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02147     operator H225_InfoRequest &() const;
    02148 #else
    02149     operator H225_InfoRequest &();
    02150     operator const H225_InfoRequest &() const;
    02151 #endif
    02152 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02153     operator H225_InfoRequestResponse &() const;
    02154 #else
    02155     operator H225_InfoRequestResponse &();
    02156     operator const H225_InfoRequestResponse &() const;
    02157 #endif
    02158 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02159     operator H225_NonStandardMessage &() const;
    02160 #else
    02161     operator H225_NonStandardMessage &();
    02162     operator const H225_NonStandardMessage &() const;
    02163 #endif
    02164 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02165     operator H225_UnknownMessageResponse &() const;
    02166 #else
    02167     operator H225_UnknownMessageResponse &();
    02168     operator const H225_UnknownMessageResponse &() const;
    02169 #endif
    02170 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02171     operator H225_RequestInProgress &() const;
    02172 #else
    02173     operator H225_RequestInProgress &();
    02174     operator const H225_RequestInProgress &() const;
    02175 #endif
    02176 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02177     operator H225_ResourcesAvailableIndicate &() const;
    02178 #else
    02179     operator H225_ResourcesAvailableIndicate &();
    02180     operator const H225_ResourcesAvailableIndicate &() const;
    02181 #endif
    02182 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02183     operator H225_ResourcesAvailableConfirm &() const;
    02184 #else
    02185     operator H225_ResourcesAvailableConfirm &();
    02186     operator const H225_ResourcesAvailableConfirm &() const;
    02187 #endif
    02188 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02189     operator H225_InfoRequestAck &() const;
    02190 #else
    02191     operator H225_InfoRequestAck &();
    02192     operator const H225_InfoRequestAck &() const;
    02193 #endif
    02194 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02195     operator H225_InfoRequestNak &() const;
    02196 #else
    02197     operator H225_InfoRequestNak &();
    02198     operator const H225_InfoRequestNak &() const;
    02199 #endif
    02200 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02201     operator H225_ServiceControlIndication &() const;
    02202 #else
    02203     operator H225_ServiceControlIndication &();
    02204     operator const H225_ServiceControlIndication &() const;
    02205 #endif
    02206 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02207     operator H225_ServiceControlResponse &() const;
    02208 #else
    02209     operator H225_ServiceControlResponse &();
    02210     operator const H225_ServiceControlResponse &() const;
    02211 #endif
    02212 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02213     operator H225_ArrayOf_AdmissionConfirm &() const;
    02214 #else
    02215     operator H225_ArrayOf_AdmissionConfirm &();
    02216     operator const H225_ArrayOf_AdmissionConfirm &() const;
    02217 #endif
    02218
    02219     PBoolean CreateObject();
    02220     PObject * Clone() const;
    02221 };
    02222
    02223
    02224 //
    02225 // GatekeeperRejectReason
    02226 //
    02227
    02228 class H225_SecurityErrors;
    02229
    02230 class H225_GatekeeperRejectReason : public PASN_Choice
    02231 {
    02232 #ifndef PASN_LEANANDMEAN
    02233     PCLASSINFO(H225_GatekeeperRejectReason, PASN_Choice);
    02234 #endif
    02235   public:
    02236     H225_GatekeeperRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02237
    02238     enum Choices {
    02239       e_resourceUnavailable,
    02240       e_terminalExcluded,
    02241       e_invalidRevision,
    02242       e_undefinedReason,
    02243       e_securityDenial,
    02244       e_genericDataReason,
    02245       e_neededFeatureNotSupported,
    02246       e_securityError
    02247     };
    02248
    02249 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02250     operator H225_SecurityErrors &() const;
    02251 #else
    02252     operator H225_SecurityErrors &();
    02253     operator const H225_SecurityErrors &() const;
    02254 #endif
    02255
    02256     PBoolean CreateObject();
    02257     PObject * Clone() const;
    02258 };
    02259
    02260
    02261 //
    02262 // RegistrationRejectReason
    02263 //
    02264
    02265 class H225_ArrayOf_AliasAddress;
    02266 class H225_RegistrationRejectReason_invalidTerminalAliases;
    02267 class H225_SecurityErrors;
    02268
    02269 class H225_RegistrationRejectReason : public PASN_Choice
    02270 {
    02271 #ifndef PASN_LEANANDMEAN
    02272     PCLASSINFO(H225_RegistrationRejectReason, PASN_Choice);
    02273 #endif
    02274   public:
    02275     H225_RegistrationRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02276
    02277     enum Choices {
    02278       e_discoveryRequired,
    02279       e_invalidRevision,
    02280       e_invalidCallSignalAddress,
    02281       e_invalidRASAddress,
    02282       e_duplicateAlias,
    02283       e_invalidTerminalType,
    02284       e_undefinedReason,
    02285       e_transportNotSupported,
    02286       e_transportQOSNotSupported,
    02287       e_resourceUnavailable,
    02288       e_invalidAlias,
    02289       e_securityDenial,
    02290       e_fullRegistrationRequired,
    02291       e_additiveRegistrationNotSupported,
    02292       e_invalidTerminalAliases,
    02293       e_genericDataReason,
    02294       e_neededFeatureNotSupported,
    02295       e_securityError,
    02296       e_registerWithAssignedGK
    02297     };
    02298
    02299 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02300     operator H225_ArrayOf_AliasAddress &() const;
    02301 #else
    02302     operator H225_ArrayOf_AliasAddress &();
    02303     operator const H225_ArrayOf_AliasAddress &() const;
    02304 #endif
    02305 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02306     operator H225_RegistrationRejectReason_invalidTerminalAliases &() const;
    02307 #else
    02308     operator H225_RegistrationRejectReason_invalidTerminalAliases &();
    02309     operator const H225_RegistrationRejectReason_invalidTerminalAliases &() const;
    02310 #endif
    02311 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02312     operator H225_SecurityErrors &() const;
    02313 #else
    02314     operator H225_SecurityErrors &();
    02315     operator const H225_SecurityErrors &() const;
    02316 #endif
    02317
    02318     PBoolean CreateObject();
    02319     PObject * Clone() const;
    02320 };
    02321
    02322
    02323 //
    02324 // UnregRequestReason
    02325 //
    02326
    02327 class H225_SecurityErrors2;
    02328
    02329 class H225_UnregRequestReason : public PASN_Choice
    02330 {
    02331 #ifndef PASN_LEANANDMEAN
    02332     PCLASSINFO(H225_UnregRequestReason, PASN_Choice);
    02333 #endif
    02334   public:
    02335     H225_UnregRequestReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02336
    02337     enum Choices {
    02338       e_reregistrationRequired,
    02339       e_ttlExpired,
    02340       e_securityDenial,
    02341       e_undefinedReason,
    02342       e_maintenance,
    02343       e_securityError,
    02344       e_registerWithAssignedGK
    02345     };
    02346
    02347 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02348     operator H225_SecurityErrors2 &() const;
    02349 #else
    02350     operator H225_SecurityErrors2 &();
    02351     operator const H225_SecurityErrors2 &() const;
    02352 #endif
    02353
    02354     PBoolean CreateObject();
    02355     PObject * Clone() const;
    02356 };
    02357
    02358
    02359 //
    02360 // UnregRejectReason
    02361 //
    02362
    02363 class H225_SecurityErrors2;
    02364
    02365 class H225_UnregRejectReason : public PASN_Choice
    02366 {
    02367 #ifndef PASN_LEANANDMEAN
    02368     PCLASSINFO(H225_UnregRejectReason, PASN_Choice);
    02369 #endif
    02370   public:
    02371     H225_UnregRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02372
    02373     enum Choices {
    02374       e_notCurrentlyRegistered,
    02375       e_callInProgress,
    02376       e_undefinedReason,
    02377       e_permissionDenied,
    02378       e_securityDenial,
    02379       e_securityError
    02380     };
    02381
    02382 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02383     operator H225_SecurityErrors2 &() const;
    02384 #else
    02385     operator H225_SecurityErrors2 &();
    02386     operator const H225_SecurityErrors2 &() const;
    02387 #endif
    02388
    02389     PBoolean CreateObject();
    02390     PObject * Clone() const;
    02391 };
    02392
    02393
    02394 //
    02395 // CallType
    02396 //
    02397
    02398 class H225_CallType : public PASN_Choice
    02399 {
    02400 #ifndef PASN_LEANANDMEAN
    02401     PCLASSINFO(H225_CallType, PASN_Choice);
    02402 #endif
    02403   public:
    02404     H225_CallType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02405
    02406     enum Choices {
    02407       e_pointToPoint,
    02408       e_oneToN,
    02409       e_nToOne,
    02410       e_nToN
    02411     };
    02412
    02413     PBoolean CreateObject();
    02414     PObject * Clone() const;
    02415 };
    02416
    02417
    02418 //
    02419 // CallModel
    02420 //
    02421
    02422 class H225_CallModel : public PASN_Choice
    02423 {
    02424 #ifndef PASN_LEANANDMEAN
    02425     PCLASSINFO(H225_CallModel, PASN_Choice);
    02426 #endif
    02427   public:
    02428     H225_CallModel(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02429
    02430     enum Choices {
    02431       e_direct,
    02432       e_gatekeeperRouted
    02433     };
    02434
    02435     PBoolean CreateObject();
    02436     PObject * Clone() const;
    02437 };
    02438
    02439
    02440 //
    02441 // TransportQOS
    02442 //
    02443
    02444 class H225_ArrayOf_QOSCapability;
    02445
    02446 class H225_TransportQOS : public PASN_Choice
    02447 {
    02448 #ifndef PASN_LEANANDMEAN
    02449     PCLASSINFO(H225_TransportQOS, PASN_Choice);
    02450 #endif
    02451   public:
    02452     H225_TransportQOS(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02453
    02454     enum Choices {
    02455       e_endpointControlled,
    02456       e_gatekeeperControlled,
    02457       e_noControl,
    02458       e_qOSCapabilities
    02459     };
    02460
    02461 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02462     operator H225_ArrayOf_QOSCapability &() const;
    02463 #else
    02464     operator H225_ArrayOf_QOSCapability &();
    02465     operator const H225_ArrayOf_QOSCapability &() const;
    02466 #endif
    02467
    02468     PBoolean CreateObject();
    02469     PObject * Clone() const;
    02470 };
    02471
    02472
    02473 //
    02474 // UUIEsRequested
    02475 //
    02476
    02477 class H225_UUIEsRequested : public PASN_Sequence
    02478 {
    02479 #ifndef PASN_LEANANDMEAN
    02480     PCLASSINFO(H225_UUIEsRequested, PASN_Sequence);
    02481 #endif
    02482   public:
    02483     H225_UUIEsRequested(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02484
    02485     enum OptionalFields {
    02486       e_status,
    02487       e_statusInquiry,
    02488       e_setupAcknowledge,
    02489       e_notify
    02490     };
    02491
    02492     PASN_Boolean m_setup;
    02493     PASN_Boolean m_callProceeding;
    02494     PASN_Boolean m_connect;
    02495     PASN_Boolean m_alerting;
    02496     PASN_Boolean m_information;
    02497     PASN_Boolean m_releaseComplete;
    02498     PASN_Boolean m_facility;
    02499     PASN_Boolean m_progress;
    02500     PASN_Boolean m_empty;
    02501     PASN_Boolean m_status;
    02502     PASN_Boolean m_statusInquiry;
    02503     PASN_Boolean m_setupAcknowledge;
    02504     PASN_Boolean m_notify;
    02505
    02506     PINDEX GetDataLength() const;
    02507     PBoolean Decode(PASN_Stream & strm);
    02508     void Encode(PASN_Stream & strm) const;
    02509 #ifndef PASN_NOPRINTON
    02510     void PrintOn(ostream & strm) const;
    02511 #endif
    02512     Comparison Compare(const PObject & obj) const;
    02513     PObject * Clone() const;
    02514 };
    02515
    02516
    02517 //
    02518 // AdmissionRejectReason
    02519 //
    02520
    02521 class H225_ArrayOf_PartyNumber;
    02522 class H225_SecurityErrors2;
    02523
    02524 class H225_AdmissionRejectReason : public PASN_Choice
    02525 {
    02526 #ifndef PASN_LEANANDMEAN
    02527     PCLASSINFO(H225_AdmissionRejectReason, PASN_Choice);
    02528 #endif
    02529   public:
    02530     H225_AdmissionRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02531
    02532     enum Choices {
    02533       e_calledPartyNotRegistered,
    02534       e_invalidPermission,
    02535       e_requestDenied,
    02536       e_undefinedReason,
    02537       e_callerNotRegistered,
    02538       e_routeCallToGatekeeper,
    02539       e_invalidEndpointIdentifier,
    02540       e_resourceUnavailable,
    02541       e_securityDenial,
    02542       e_qosControlNotSupported,
    02543       e_incompleteAddress,
    02544       e_aliasesInconsistent,
    02545       e_routeCallToSCN,
    02546       e_exceedsCallCapacity,
    02547       e_collectDestination,
    02548       e_collectPIN,
    02549       e_genericDataReason,
    02550       e_neededFeatureNotSupported,
    02551       e_securityErrors,
    02552       e_securityDHmismatch,
    02553       e_noRouteToDestination,
    02554       e_unallocatedNumber,
    02555       e_registerWithAssignedGK
    02556     };
    02557
    02558 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02559     operator H225_ArrayOf_PartyNumber &() const;
    02560 #else
    02561     operator H225_ArrayOf_PartyNumber &();
    02562     operator const H225_ArrayOf_PartyNumber &() const;
    02563 #endif
    02564 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02565     operator H225_SecurityErrors2 &() const;
    02566 #else
    02567     operator H225_SecurityErrors2 &();
    02568     operator const H225_SecurityErrors2 &() const;
    02569 #endif
    02570
    02571     PBoolean CreateObject();
    02572     PObject * Clone() const;
    02573 };
    02574
    02575
    02576 //
    02577 // BandRejectReason
    02578 //
    02579
    02580 class H225_SecurityErrors2;
    02581
    02582 class H225_BandRejectReason : public PASN_Choice
    02583 {
    02584 #ifndef PASN_LEANANDMEAN
    02585     PCLASSINFO(H225_BandRejectReason, PASN_Choice);
    02586 #endif
    02587   public:
    02588     H225_BandRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02589
    02590     enum Choices {
    02591       e_notBound,
    02592       e_invalidConferenceID,
    02593       e_invalidPermission,
    02594       e_insufficientResources,
    02595       e_invalidRevision,
    02596       e_undefinedReason,
    02597       e_securityDenial,
    02598       e_securityError
    02599     };
    02600
    02601 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02602     operator H225_SecurityErrors2 &() const;
    02603 #else
    02604     operator H225_SecurityErrors2 &();
    02605     operator const H225_SecurityErrors2 &() const;
    02606 #endif
    02607
    02608     PBoolean CreateObject();
    02609     PObject * Clone() const;
    02610 };
    02611
    02612
    02613 //
    02614 // LocationRejectReason
    02615 //
    02616
    02617 class H225_ArrayOf_PartyNumber;
    02618 class H225_SecurityErrors2;
    02619
    02620 class H225_LocationRejectReason : public PASN_Choice
    02621 {
    02622 #ifndef PASN_LEANANDMEAN
    02623     PCLASSINFO(H225_LocationRejectReason, PASN_Choice);
    02624 #endif
    02625   public:
    02626     H225_LocationRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02627
    02628     enum Choices {
    02629       e_notRegistered,
    02630       e_invalidPermission,
    02631       e_requestDenied,
    02632       e_undefinedReason,
    02633       e_securityDenial,
    02634       e_aliasesInconsistent,
    02635       e_routeCalltoSCN,
    02636       e_resourceUnavailable,
    02637       e_genericDataReason,
    02638       e_neededFeatureNotSupported,
    02639       e_hopCountExceeded,
    02640       e_incompleteAddress,
    02641       e_securityError,
    02642       e_securityDHmismatch,
    02643       e_noRouteToDestination,
    02644       e_unallocatedNumber
    02645     };
    02646
    02647 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02648     operator H225_ArrayOf_PartyNumber &() const;
    02649 #else
    02650     operator H225_ArrayOf_PartyNumber &();
    02651     operator const H225_ArrayOf_PartyNumber &() const;
    02652 #endif
    02653 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02654     operator H225_SecurityErrors2 &() const;
    02655 #else
    02656     operator H225_SecurityErrors2 &();
    02657     operator const H225_SecurityErrors2 &() const;
    02658 #endif
    02659
    02660     PBoolean CreateObject();
    02661     PObject * Clone() const;
    02662 };
    02663
    02664
    02665 //
    02666 // DisengageReason
    02667 //
    02668
    02669 class H225_DisengageReason : public PASN_Choice
    02670 {
    02671 #ifndef PASN_LEANANDMEAN
    02672     PCLASSINFO(H225_DisengageReason, PASN_Choice);
    02673 #endif
    02674   public:
    02675     H225_DisengageReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02676
    02677     enum Choices {
    02678       e_forcedDrop,
    02679       e_normalDrop,
    02680       e_undefinedReason
    02681     };
    02682
    02683     PBoolean CreateObject();
    02684     PObject * Clone() const;
    02685 };
    02686
    02687
    02688 //
    02689 // DisengageRejectReason
    02690 //
    02691
    02692 class H225_SecurityErrors2;
    02693
    02694 class H225_DisengageRejectReason : public PASN_Choice
    02695 {
    02696 #ifndef PASN_LEANANDMEAN
    02697     PCLASSINFO(H225_DisengageRejectReason, PASN_Choice);
    02698 #endif
    02699   public:
    02700     H225_DisengageRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02701
    02702     enum Choices {
    02703       e_notRegistered,
    02704       e_requestToDropOther,
    02705       e_securityDenial,
    02706       e_securityError
    02707     };
    02708
    02709 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02710     operator H225_SecurityErrors2 &() const;
    02711 #else
    02712     operator H225_SecurityErrors2 &();
    02713     operator const H225_SecurityErrors2 &() const;
    02714 #endif
    02715
    02716     PBoolean CreateObject();
    02717     PObject * Clone() const;
    02718 };
    02719
    02720
    02721 //
    02722 // InfoRequestResponseStatus
    02723 //
    02724
    02725 class H225_InfoRequestResponseStatus : public PASN_Choice
    02726 {
    02727 #ifndef PASN_LEANANDMEAN
    02728     PCLASSINFO(H225_InfoRequestResponseStatus, PASN_Choice);
    02729 #endif
    02730   public:
    02731     H225_InfoRequestResponseStatus(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02732
    02733     enum Choices {
    02734       e_complete,
    02735       e_incomplete,
    02736       e_segment,
    02737       e_invalidCall
    02738     };
    02739
    02740     PBoolean CreateObject();
    02741     PObject * Clone() const;
    02742 };
    02743
    02744
    02745 //
    02746 // InfoRequestNakReason
    02747 //
    02748
    02749 class H225_SecurityErrors2;
    02750
    02751 class H225_InfoRequestNakReason : public PASN_Choice
    02752 {
    02753 #ifndef PASN_LEANANDMEAN
    02754     PCLASSINFO(H225_InfoRequestNakReason, PASN_Choice);
    02755 #endif
    02756   public:
    02757     H225_InfoRequestNakReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02758
    02759     enum Choices {
    02760       e_notRegistered,
    02761       e_securityDenial,
    02762       e_undefinedReason,
    02763       e_securityError
    02764     };
    02765
    02766 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02767     operator H225_SecurityErrors2 &() const;
    02768 #else
    02769     operator H225_SecurityErrors2 &();
    02770     operator const H225_SecurityErrors2 &() const;
    02771 #endif
    02772
    02773     PBoolean CreateObject();
    02774     PObject * Clone() const;
    02775 };
    02776
    02777
    02778 //
    02779 // H323-UserInformation_user-data
    02780 //
    02781
    02782 class H225_H323_UserInformation_user_data : public PASN_Sequence
    02783 {
    02784 #ifndef PASN_LEANANDMEAN
    02785     PCLASSINFO(H225_H323_UserInformation_user_data, PASN_Sequence);
    02786 #endif
    02787   public:
    02788     H225_H323_UserInformation_user_data(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02789
    02790     PASN_Integer m_protocol_discriminator;
    02791     PASN_OctetString m_user_information;
    02792
    02793     PINDEX GetDataLength() const;
    02794     PBoolean Decode(PASN_Stream & strm);
    02795     void Encode(PASN_Stream & strm) const;
    02796 #ifndef PASN_NOPRINTON
    02797     void PrintOn(ostream & strm) const;
    02798 #endif
    02799     Comparison Compare(const PObject & obj) const;
    02800     PObject * Clone() const;
    02801 };
    02802
    02803
    02804 //
    02805 // H323-UU-PDU_h323-message-body
    02806 //
    02807
    02808 class H225_Setup_UUIE;
    02809 class H225_CallProceeding_UUIE;
    02810 class H225_Connect_UUIE;
    02811 class H225_Alerting_UUIE;
    02812 class H225_Information_UUIE;
    02813 class H225_ReleaseComplete_UUIE;
    02814 class H225_Facility_UUIE;
    02815 class H225_Progress_UUIE;
    02816 class H225_Status_UUIE;
    02817 class H225_StatusInquiry_UUIE;
    02818 class H225_SetupAcknowledge_UUIE;
    02819 class H225_Notify_UUIE;
    02820
    02821 class H225_H323_UU_PDU_h323_message_body : public PASN_Choice
    02822 {
    02823 #ifndef PASN_LEANANDMEAN
    02824     PCLASSINFO(H225_H323_UU_PDU_h323_message_body, PASN_Choice);
    02825 #endif
    02826   public:
    02827     H225_H323_UU_PDU_h323_message_body(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02828
    02829     enum Choices {
    02830       e_setup,
    02831       e_callProceeding,
    02832       e_connect,
    02833       e_alerting,
    02834       e_information,
    02835       e_releaseComplete,
    02836       e_facility,
    02837       e_progress,
    02838       e_empty,
    02839       e_status,
    02840       e_statusInquiry,
    02841       e_setupAcknowledge,
    02842       e_notify
    02843     };
    02844
    02845 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02846     operator H225_Setup_UUIE &() const;
    02847 #else
    02848     operator H225_Setup_UUIE &();
    02849     operator const H225_Setup_UUIE &() const;
    02850 #endif
    02851 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02852     operator H225_CallProceeding_UUIE &() const;
    02853 #else
    02854     operator H225_CallProceeding_UUIE &();
    02855     operator const H225_CallProceeding_UUIE &() const;
    02856 #endif
    02857 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02858     operator H225_Connect_UUIE &() const;
    02859 #else
    02860     operator H225_Connect_UUIE &();
    02861     operator const H225_Connect_UUIE &() const;
    02862 #endif
    02863 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02864     operator H225_Alerting_UUIE &() const;
    02865 #else
    02866     operator H225_Alerting_UUIE &();
    02867     operator const H225_Alerting_UUIE &() const;
    02868 #endif
    02869 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02870     operator H225_Information_UUIE &() const;
    02871 #else
    02872     operator H225_Information_UUIE &();
    02873     operator const H225_Information_UUIE &() const;
    02874 #endif
    02875 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02876     operator H225_ReleaseComplete_UUIE &() const;
    02877 #else
    02878     operator H225_ReleaseComplete_UUIE &();
    02879     operator const H225_ReleaseComplete_UUIE &() const;
    02880 #endif
    02881 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02882     operator H225_Facility_UUIE &() const;
    02883 #else
    02884     operator H225_Facility_UUIE &();
    02885     operator const H225_Facility_UUIE &() const;
    02886 #endif
    02887 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02888     operator H225_Progress_UUIE &() const;
    02889 #else
    02890     operator H225_Progress_UUIE &();
    02891     operator const H225_Progress_UUIE &() const;
    02892 #endif
    02893 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02894     operator H225_Status_UUIE &() const;
    02895 #else
    02896     operator H225_Status_UUIE &();
    02897     operator const H225_Status_UUIE &() const;
    02898 #endif
    02899 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02900     operator H225_StatusInquiry_UUIE &() const;
    02901 #else
    02902     operator H225_StatusInquiry_UUIE &();
    02903     operator const H225_StatusInquiry_UUIE &() const;
    02904 #endif
    02905 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02906     operator H225_SetupAcknowledge_UUIE &() const;
    02907 #else
    02908     operator H225_SetupAcknowledge_UUIE &();
    02909     operator const H225_SetupAcknowledge_UUIE &() const;
    02910 #endif
    02911 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02912     operator H225_Notify_UUIE &() const;
    02913 #else
    02914     operator H225_Notify_UUIE &();
    02915     operator const H225_Notify_UUIE &() const;
    02916 #endif
    02917
    02918     PBoolean CreateObject();
    02919     PObject * Clone() const;
    02920 };
    02921
    02922
    02923 //
    02924 // ArrayOf_PASN_OctetString
    02925 //
    02926
    02927 class H225_ArrayOf_PASN_OctetString : public PASN_Array
    02928 {
    02929 #ifndef PASN_LEANANDMEAN
    02930     PCLASSINFO(H225_ArrayOf_PASN_OctetString, PASN_Array);
    02931 #endif
    02932   public:
    02933     H225_ArrayOf_PASN_OctetString(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02934
    02935     PASN_Object * CreateObject() const;
    02936     PASN_OctetString & operator[](PINDEX i) const;
    02937     PObject * Clone() const;
    02938 };
    02939
    02940
    02941 //
    02942 // ArrayOf_NonStandardParameter
    02943 //
    02944
    02945 class H225_NonStandardParameter;
    02946
    02947 class H225_ArrayOf_NonStandardParameter : public PASN_Array
    02948 {
    02949 #ifndef PASN_LEANANDMEAN
    02950     PCLASSINFO(H225_ArrayOf_NonStandardParameter, PASN_Array);
    02951 #endif
    02952   public:
    02953     H225_ArrayOf_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02954
    02955     PASN_Object * CreateObject() const;
    02956     H225_NonStandardParameter & operator[](PINDEX i) const;
    02957     PObject * Clone() const;
    02958 };
    02959
    02960
    02961 //
    02962 // ArrayOf_GenericData
    02963 //
    02964
    02965 class H225_GenericData;
    02966
    02967 class H225_ArrayOf_GenericData : public PASN_Array
    02968 {
    02969 #ifndef PASN_LEANANDMEAN
    02970     PCLASSINFO(H225_ArrayOf_GenericData, PASN_Array);
    02971 #endif
    02972   public:
    02973     H225_ArrayOf_GenericData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02974
    02975     PASN_Object * CreateObject() const;
    02976     H225_GenericData & operator[](PINDEX i) const;
    02977     PObject * Clone() const;
    02978 };
    02979
    02980
    02981 //
    02982 // ArrayOf_ClearToken
    02983 //
    02984
    02985 class H235_ClearToken;
    02986
    02987 class H225_ArrayOf_ClearToken : public PASN_Array
    02988 {
    02989 #ifndef PASN_LEANANDMEAN
    02990     PCLASSINFO(H225_ArrayOf_ClearToken, PASN_Array);
    02991 #endif
    02992   public:
    02993     H225_ArrayOf_ClearToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02994
    02995     PASN_Object * CreateObject() const;
    02996     H235_ClearToken & operator[](PINDEX i) const;
    02997     PObject * Clone() const;
    02998 };
    02999
    03000
    03001 //
    03002 // ArrayOf_CryptoH323Token
    03003 //
    03004
    03005 class H225_CryptoH323Token;
    03006
    03007 class H225_ArrayOf_CryptoH323Token : public PASN_Array
    03008 {
    03009 #ifndef PASN_LEANANDMEAN
    03010     PCLASSINFO(H225_ArrayOf_CryptoH323Token, PASN_Array);
    03011 #endif
    03012   public:
    03013     H225_ArrayOf_CryptoH323Token(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03014
    03015     PASN_Object * CreateObject() const;
    03016     H225_CryptoH323Token & operator[](PINDEX i) const;
    03017     PObject * Clone() const;
    03018 };
    03019
    03020
    03021 //
    03022 // ArrayOf_AliasAddress
    03023 //
    03024
    03025 class H225_AliasAddress;
    03026
    03027 class H225_ArrayOf_AliasAddress : public PASN_Array
    03028 {
    03029 #ifndef PASN_LEANANDMEAN
    03030     PCLASSINFO(H225_ArrayOf_AliasAddress, PASN_Array);
    03031 #endif
    03032   public:
    03033     H225_ArrayOf_AliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03034
    03035     PASN_Object * CreateObject() const;
    03036     H225_AliasAddress & operator[](PINDEX i) const;
    03037     PObject * Clone() const;
    03038 };
    03039
    03040
    03041 //
    03042 // ArrayOf_ServiceControlSession
    03043 //
    03044
    03045 class H225_ServiceControlSession;
    03046
    03047 class H225_ArrayOf_ServiceControlSession : public PASN_Array
    03048 {
    03049 #ifndef PASN_LEANANDMEAN
    03050     PCLASSINFO(H225_ArrayOf_ServiceControlSession, PASN_Array);
    03051 #endif
    03052   public:
    03053     H225_ArrayOf_ServiceControlSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03054
    03055     PASN_Object * CreateObject() const;
    03056     H225_ServiceControlSession & operator[](PINDEX i) const;
    03057     PObject * Clone() const;
    03058 };
    03059
    03060
    03061 //
    03062 // Connect-UUIE_language
    03063 //
    03064
    03065 class H225_Connect_UUIE_language : public PASN_Array
    03066 {
    03067 #ifndef PASN_LEANANDMEAN
    03068     PCLASSINFO(H225_Connect_UUIE_language, PASN_Array);
    03069 #endif
    03070   public:
    03071     H225_Connect_UUIE_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03072
    03073     PASN_Object * CreateObject() const;
    03074     PASN_IA5String & operator[](PINDEX i) const;
    03075     PObject * Clone() const;
    03076 };
    03077
    03078
    03079 //
    03080 // ArrayOf_CallReferenceValue
    03081 //
    03082
    03083 class H225_CallReferenceValue;
    03084
    03085 class H225_ArrayOf_CallReferenceValue : public PASN_Array
    03086 {
    03087 #ifndef PASN_LEANANDMEAN
    03088     PCLASSINFO(H225_ArrayOf_CallReferenceValue, PASN_Array);
    03089 #endif
    03090   public:
    03091     H225_ArrayOf_CallReferenceValue(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03092
    03093     PASN_Object * CreateObject() const;
    03094     H225_CallReferenceValue & operator[](PINDEX i) const;
    03095     PObject * Clone() const;
    03096 };
    03097
    03098
    03099 //
    03100 // Setup-UUIE_conferenceGoal
    03101 //
    03102
    03103 class H225_Setup_UUIE_conferenceGoal : public PASN_Choice
    03104 {
    03105 #ifndef PASN_LEANANDMEAN
    03106     PCLASSINFO(H225_Setup_UUIE_conferenceGoal, PASN_Choice);
    03107 #endif
    03108   public:
    03109     H225_Setup_UUIE_conferenceGoal(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03110
    03111     enum Choices {
    03112       e_create,
    03113       e_join,
    03114       e_invite,
    03115       e_capability_negotiation,
    03116       e_callIndependentSupplementaryService
    03117     };
    03118
    03119     PBoolean CreateObject();
    03120     PObject * Clone() const;
    03121 };
    03122
    03123
    03124 //
    03125 // ArrayOf_H245Security
    03126 //
    03127
    03128 class H225_H245Security;
    03129
    03130 class H225_ArrayOf_H245Security : public PASN_Array
    03131 {
    03132 #ifndef PASN_LEANANDMEAN
    03133     PCLASSINFO(H225_ArrayOf_H245Security, PASN_Array);
    03134 #endif
    03135   public:
    03136     H225_ArrayOf_H245Security(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03137
    03138     PASN_Object * CreateObject() const;
    03139     H225_H245Security & operator[](PINDEX i) const;
    03140     PObject * Clone() const;
    03141 };
    03142
    03143
    03144 //
    03145 // Setup-UUIE_connectionParameters
    03146 //
    03147
    03148 class H225_Setup_UUIE_connectionParameters : public PASN_Sequence
    03149 {
    03150 #ifndef PASN_LEANANDMEAN
    03151     PCLASSINFO(H225_Setup_UUIE_connectionParameters, PASN_Sequence);
    03152 #endif
    03153   public:
    03154     H225_Setup_UUIE_connectionParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03155
    03156     H225_ScnConnectionType m_connectionType;
    03157     PASN_Integer m_numberOfScnConnections;
    03158     H225_ScnConnectionAggregation m_connectionAggregation;
    03159
    03160     PINDEX GetDataLength() const;
    03161     PBoolean Decode(PASN_Stream & strm);
    03162     void Encode(PASN_Stream & strm) const;
    03163 #ifndef PASN_NOPRINTON
    03164     void PrintOn(ostream & strm) const;
    03165 #endif
    03166     Comparison Compare(const PObject & obj) const;
    03167     PObject * Clone() const;
    03168 };
    03169
    03170
    03171 //
    03172 // Setup-UUIE_language
    03173 //
    03174
    03175 class H225_Setup_UUIE_language : public PASN_Array
    03176 {
    03177 #ifndef PASN_LEANANDMEAN
    03178     PCLASSINFO(H225_Setup_UUIE_language, PASN_Array);
    03179 #endif
    03180   public:
    03181     H225_Setup_UUIE_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03182
    03183     PASN_Object * CreateObject() const;
    03184     PASN_IA5String & operator[](PINDEX i) const;
    03185     PObject * Clone() const;
    03186 };
    03187
    03188
    03189 //
    03190 // ArrayOf_SupportedProtocols
    03191 //
    03192
    03193 class H225_SupportedProtocols;
    03194
    03195 class H225_ArrayOf_SupportedProtocols : public PASN_Array
    03196 {
    03197 #ifndef PASN_LEANANDMEAN
    03198     PCLASSINFO(H225_ArrayOf_SupportedProtocols, PASN_Array);
    03199 #endif
    03200   public:
    03201     H225_ArrayOf_SupportedProtocols(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03202
    03203     PASN_Object * CreateObject() const;
    03204     H225_SupportedProtocols & operator[](PINDEX i) const;
    03205     PObject * Clone() const;
    03206 };
    03207
    03208
    03209 //
    03210 // ArrayOf_FeatureDescriptor
    03211 //
    03212
    03213 class H225_FeatureDescriptor;
    03214
    03215 class H225_ArrayOf_FeatureDescriptor : public PASN_Array
    03216 {
    03217 #ifndef PASN_LEANANDMEAN
    03218     PCLASSINFO(H225_ArrayOf_FeatureDescriptor, PASN_Array);
    03219 #endif
    03220   public:
    03221     H225_ArrayOf_FeatureDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03222
    03223     PASN_Object * CreateObject() const;
    03224     H225_FeatureDescriptor & operator[](PINDEX i) const;
    03225     PObject * Clone() const;
    03226 };
    03227
    03228
    03229 //
    03230 // ArrayOf_ExtendedAliasAddress
    03231 //
    03232
    03233 class H225_ExtendedAliasAddress;
    03234
    03235 class H225_ArrayOf_ExtendedAliasAddress : public PASN_Array
    03236 {
    03237 #ifndef PASN_LEANANDMEAN
    03238     PCLASSINFO(H225_ArrayOf_ExtendedAliasAddress, PASN_Array);
    03239 #endif
    03240   public:
    03241     H225_ArrayOf_ExtendedAliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03242
    03243     PASN_Object * CreateObject() const;
    03244     H225_ExtendedAliasAddress & operator[](PINDEX i) const;
    03245     PObject * Clone() const;
    03246 };
    03247
    03248
    03249 //
    03250 // ArrayOf_ConferenceList
    03251 //
    03252
    03253 class H225_ConferenceList;
    03254
    03255 class H225_ArrayOf_ConferenceList : public PASN_Array
    03256 {
    03257 #ifndef PASN_LEANANDMEAN
    03258     PCLASSINFO(H225_ArrayOf_ConferenceList, PASN_Array);
    03259 #endif
    03260   public:
    03261     H225_ArrayOf_ConferenceList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03262
    03263     PASN_Object * CreateObject() const;
    03264     H225_ConferenceList & operator[](PINDEX i) const;
    03265     PObject * Clone() const;
    03266 };
    03267
    03268
    03269 //
    03270 // TransportAddress_ipAddress
    03271 //
    03272
    03273 class H225_TransportAddress_ipAddress : public PASN_Sequence
    03274 {
    03275 #ifndef PASN_LEANANDMEAN
    03276     PCLASSINFO(H225_TransportAddress_ipAddress, PASN_Sequence);
    03277 #endif
    03278   public:
    03279     H225_TransportAddress_ipAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03280
    03281     PASN_OctetString m_ip;
    03282     PASN_Integer m_port;
    03283
    03284     PINDEX GetDataLength() const;
    03285     PBoolean Decode(PASN_Stream & strm);
    03286     void Encode(PASN_Stream & strm) const;
    03287 #ifndef PASN_NOPRINTON
    03288     void PrintOn(ostream & strm) const;
    03289 #endif
    03290     Comparison Compare(const PObject & obj) const;
    03291     PObject * Clone() const;
    03292 };
    03293
    03294
    03295 //
    03296 // TransportAddress_ipxAddress
    03297 //
    03298
    03299 class H225_TransportAddress_ipxAddress : public PASN_Sequence
    03300 {
    03301 #ifndef PASN_LEANANDMEAN
    03302     PCLASSINFO(H225_TransportAddress_ipxAddress, PASN_Sequence);
    03303 #endif
    03304   public:
    03305     H225_TransportAddress_ipxAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03306
    03307     PASN_OctetString m_node;
    03308     PASN_OctetString m_netnum;
    03309     PASN_OctetString m_port;
    03310
    03311     PINDEX GetDataLength() const;
    03312     PBoolean Decode(PASN_Stream & strm);
    03313     void Encode(PASN_Stream & strm) const;
    03314 #ifndef PASN_NOPRINTON
    03315     void PrintOn(ostream & strm) const;
    03316 #endif
    03317     Comparison Compare(const PObject & obj) const;
    03318     PObject * Clone() const;
    03319 };
    03320
    03321
    03322 //
    03323 // TransportAddress_ip6Address
    03324 //
    03325
    03326 class H225_TransportAddress_ip6Address : public PASN_Sequence
    03327 {
    03328 #ifndef PASN_LEANANDMEAN
    03329     PCLASSINFO(H225_TransportAddress_ip6Address, PASN_Sequence);
    03330 #endif
    03331   public:
    03332     H225_TransportAddress_ip6Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03333
    03334     PASN_OctetString m_ip;
    03335     PASN_Integer m_port;
    03336
    03337     PINDEX GetDataLength() const;
    03338     PBoolean Decode(PASN_Stream & strm);
    03339     void Encode(PASN_Stream & strm) const;
    03340 #ifndef PASN_NOPRINTON
    03341     void PrintOn(ostream & strm) const;
    03342 #endif
    03343     Comparison Compare(const PObject & obj) const;
    03344     PObject * Clone() const;
    03345 };
    03346
    03347
    03348 //
    03349 // ArrayOf_TunnelledProtocol
    03350 //
    03351
    03352 class H225_TunnelledProtocol;
    03353
    03354 class H225_ArrayOf_TunnelledProtocol : public PASN_Array
    03355 {
    03356 #ifndef PASN_LEANANDMEAN
    03357     PCLASSINFO(H225_ArrayOf_TunnelledProtocol, PASN_Array);
    03358 #endif
    03359   public:
    03360     H225_ArrayOf_TunnelledProtocol(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03361
    03362     PASN_Object * CreateObject() const;
    03363     H225_TunnelledProtocol & operator[](PINDEX i) const;
    03364     PObject * Clone() const;
    03365 };
    03366
    03367
    03368 //
    03369 // ArrayOf_DataRate
    03370 //
    03371
    03372 class H225_DataRate;
    03373
    03374 class H225_ArrayOf_DataRate : public PASN_Array
    03375 {
    03376 #ifndef PASN_LEANANDMEAN
    03377     PCLASSINFO(H225_ArrayOf_DataRate, PASN_Array);
    03378 #endif
    03379   public:
    03380     H225_ArrayOf_DataRate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03381
    03382     PASN_Object * CreateObject() const;
    03383     H225_DataRate & operator[](PINDEX i) const;
    03384     PObject * Clone() const;
    03385 };
    03386
    03387
    03388 //
    03389 // ArrayOf_SupportedPrefix
    03390 //
    03391
    03392 class H225_SupportedPrefix;
    03393
    03394 class H225_ArrayOf_SupportedPrefix : public PASN_Array
    03395 {
    03396 #ifndef PASN_LEANANDMEAN
    03397     PCLASSINFO(H225_ArrayOf_SupportedPrefix, PASN_Array);
    03398 #endif
    03399   public:
    03400     H225_ArrayOf_SupportedPrefix(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03401
    03402     PASN_Object * CreateObject() const;
    03403     H225_SupportedPrefix & operator[](PINDEX i) const;
    03404     PObject * Clone() const;
    03405 };
    03406
    03407
    03408 //
    03409 // TunnelledProtocol_id
    03410 //
    03411
    03412 class H225_TunnelledProtocolAlternateIdentifier;
    03413
    03414 class H225_TunnelledProtocol_id : public PASN_Choice
    03415 {
    03416 #ifndef PASN_LEANANDMEAN
    03417     PCLASSINFO(H225_TunnelledProtocol_id, PASN_Choice);
    03418 #endif
    03419   public:
    03420     H225_TunnelledProtocol_id(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03421
    03422     enum Choices {
    03423       e_tunnelledProtocolObjectID,
    03424       e_tunnelledProtocolAlternateID
    03425     };
    03426
    03427 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03428     operator H225_TunnelledProtocolAlternateIdentifier &() const;
    03429 #else
    03430     operator H225_TunnelledProtocolAlternateIdentifier &();
    03431     operator const H225_TunnelledProtocolAlternateIdentifier &() const;
    03432 #endif
    03433
    03434     PBoolean CreateObject();
    03435     PObject * Clone() const;
    03436 };
    03437
    03438
    03439 //
    03440 // AddressPattern_range
    03441 //
    03442
    03443 class H225_AddressPattern_range : public PASN_Sequence
    03444 {
    03445 #ifndef PASN_LEANANDMEAN
    03446     PCLASSINFO(H225_AddressPattern_range, PASN_Sequence);
    03447 #endif
    03448   public:
    03449     H225_AddressPattern_range(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03450
    03451     H225_PartyNumber m_startOfRange;
    03452     H225_PartyNumber m_endOfRange;
    03453
    03454     PINDEX GetDataLength() const;
    03455     PBoolean Decode(PASN_Stream & strm);
    03456     void Encode(PASN_Stream & strm) const;
    03457 #ifndef PASN_NOPRINTON
    03458     void PrintOn(ostream & strm) const;
    03459 #endif
    03460     Comparison Compare(const PObject & obj) const;
    03461     PObject * Clone() const;
    03462 };
    03463
    03464
    03465 //
    03466 // ANSI-41-UIM_system-id
    03467 //
    03468
    03469 class H225_ANSI_41_UIM_system_id : public PASN_Choice
    03470 {
    03471 #ifndef PASN_LEANANDMEAN
    03472     PCLASSINFO(H225_ANSI_41_UIM_system_id, PASN_Choice);
    03473 #endif
    03474   public:
    03475     H225_ANSI_41_UIM_system_id(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03476
    03477     enum Choices {
    03478       e_sid,
    03479       e_mid
    03480     };
    03481
    03482     PBoolean CreateObject();
    03483     PObject * Clone() const;
    03484 };
    03485
    03486
    03487 //
    03488 // ArrayOf_TransportAddress
    03489 //
    03490
    03491 class H225_TransportAddress;
    03492
    03493 class H225_ArrayOf_TransportAddress : public PASN_Array
    03494 {
    03495 #ifndef PASN_LEANANDMEAN
    03496     PCLASSINFO(H225_ArrayOf_TransportAddress, PASN_Array);
    03497 #endif
    03498   public:
    03499     H225_ArrayOf_TransportAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03500
    03501     PASN_Object * CreateObject() const;
    03502     H225_TransportAddress & operator[](PINDEX i) const;
    03503     PObject * Clone() const;
    03504 };
    03505
    03506
    03507 //
    03508 // ArrayOf_AlternateGK
    03509 //
    03510
    03511 class H225_AlternateGK;
    03512
    03513 class H225_ArrayOf_AlternateGK : public PASN_Array
    03514 {
    03515 #ifndef PASN_LEANANDMEAN
    03516     PCLASSINFO(H225_ArrayOf_AlternateGK, PASN_Array);
    03517 #endif
    03518   public:
    03519     H225_ArrayOf_AlternateGK(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03520
    03521     PASN_Object * CreateObject() const;
    03522     H225_AlternateGK & operator[](PINDEX i) const;
    03523     PObject * Clone() const;
    03524 };
    03525
    03526
    03527 //
    03528 // CryptoH323Token_cryptoEPPwdHash
    03529 //
    03530
    03531 class H225_CryptoH323Token_cryptoEPPwdHash : public PASN_Sequence
    03532 {
    03533 #ifndef PASN_LEANANDMEAN
    03534     PCLASSINFO(H225_CryptoH323Token_cryptoEPPwdHash, PASN_Sequence);
    03535 #endif
    03536   public:
    03537     H225_CryptoH323Token_cryptoEPPwdHash(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03538
    03539     H225_AliasAddress m_alias;
    03540     H235_TimeStamp m_timeStamp;
    03541     H235_HASHED<H235_EncodedPwdCertToken> m_token;
    03542
    03543     PINDEX GetDataLength() const;
    03544     PBoolean Decode(PASN_Stream & strm);
    03545     void Encode(PASN_Stream & strm) const;
    03546 #ifndef PASN_NOPRINTON
    03547     void PrintOn(ostream & strm) const;
    03548 #endif
    03549     Comparison Compare(const PObject & obj) const;
    03550     PObject * Clone() const;
    03551 };
    03552
    03553
    03554 //
    03555 // CryptoH323Token_cryptoGKPwdHash
    03556 //
    03557
    03558 class H225_CryptoH323Token_cryptoGKPwdHash : public PASN_Sequence
    03559 {
    03560 #ifndef PASN_LEANANDMEAN
    03561     PCLASSINFO(H225_CryptoH323Token_cryptoGKPwdHash, PASN_Sequence);
    03562 #endif
    03563   public:
    03564     H225_CryptoH323Token_cryptoGKPwdHash(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03565
    03566     H225_GatekeeperIdentifier m_gatekeeperId;
    03567     H235_TimeStamp m_timeStamp;
    03568     H235_HASHED<H235_EncodedPwdCertToken> m_token;
    03569
    03570     PINDEX GetDataLength() const;
    03571     PBoolean Decode(PASN_Stream & strm);
    03572     void Encode(PASN_Stream & strm) const;
    03573 #ifndef PASN_NOPRINTON
    03574     void PrintOn(ostream & strm) const;
    03575 #endif
    03576     Comparison Compare(const PObject & obj) const;
    03577     PObject * Clone() const;
    03578 };
    03579
    03580
    03581 //
    03582 // CapacityReportingSpecification_when
    03583 //
    03584
    03585 class H225_CapacityReportingSpecification_when : public PASN_Sequence
    03586 {
    03587 #ifndef PASN_LEANANDMEAN
    03588     PCLASSINFO(H225_CapacityReportingSpecification_when, PASN_Sequence);
    03589 #endif
    03590   public:
    03591     H225_CapacityReportingSpecification_when(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03592
    03593     enum OptionalFields {
    03594       e_callStart,
    03595       e_callEnd
    03596     };
    03597
    03598     PASN_Null m_callStart;
    03599     PASN_Null m_callEnd;
    03600
    03601     PINDEX GetDataLength() const;
    03602     PBoolean Decode(PASN_Stream & strm);
    03603     void Encode(PASN_Stream & strm) const;
    03604 #ifndef PASN_NOPRINTON
    03605     void PrintOn(ostream & strm) const;
    03606 #endif
    03607     Comparison Compare(const PObject & obj) const;
    03608     PObject * Clone() const;
    03609 };
    03610
    03611
    03612 //
    03613 // ArrayOf_CallsAvailable
    03614 //
    03615
    03616 class H225_CallsAvailable;
    03617
    03618 class H225_ArrayOf_CallsAvailable : public PASN_Array
    03619 {
    03620 #ifndef PASN_LEANANDMEAN
    03621     PCLASSINFO(H225_ArrayOf_CallsAvailable, PASN_Array);
    03622 #endif
    03623   public:
    03624     H225_ArrayOf_CallsAvailable(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03625
    03626     PASN_Object * CreateObject() const;
    03627     H225_CallsAvailable & operator[](PINDEX i) const;
    03628     PObject * Clone() const;
    03629 };
    03630
    03631
    03632 //
    03633 // CicInfo_cic
    03634 //
    03635
    03636 class H225_CicInfo_cic : public PASN_Array
    03637 {
    03638 #ifndef PASN_LEANANDMEAN
    03639     PCLASSINFO(H225_CicInfo_cic, PASN_Array);
    03640 #endif
    03641   public:
    03642     H225_CicInfo_cic(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03643
    03644     PASN_Object * CreateObject() const;
    03645     PASN_OctetString & operator[](PINDEX i) const;
    03646     PObject * Clone() const;
    03647 };
    03648
    03649
    03650 //
    03651 // GroupID_member
    03652 //
    03653
    03654 class H225_GroupID_member : public PASN_Array
    03655 {
    03656 #ifndef PASN_LEANANDMEAN
    03657     PCLASSINFO(H225_GroupID_member, PASN_Array);
    03658 #endif
    03659   public:
    03660     H225_GroupID_member(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03661
    03662     PASN_Object * CreateObject() const;
    03663     PASN_Integer & operator[](PINDEX i) const;
    03664     PObject * Clone() const;
    03665 };
    03666
    03667
    03668 //
    03669 // ServiceControlSession_reason
    03670 //
    03671
    03672 class H225_ServiceControlSession_reason : public PASN_Choice
    03673 {
    03674 #ifndef PASN_LEANANDMEAN
    03675     PCLASSINFO(H225_ServiceControlSession_reason, PASN_Choice);
    03676 #endif
    03677   public:
    03678     H225_ServiceControlSession_reason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03679
    03680     enum Choices {
    03681       e_open,
    03682       e_refresh,
    03683       e_close
    03684     };
    03685
    03686     PBoolean CreateObject();
    03687     PObject * Clone() const;
    03688 };
    03689
    03690
    03691 //
    03692 // RasUsageSpecification_when
    03693 //
    03694
    03695 class H225_RasUsageSpecification_when : public PASN_Sequence
    03696 {
    03697 #ifndef PASN_LEANANDMEAN
    03698     PCLASSINFO(H225_RasUsageSpecification_when, PASN_Sequence);
    03699 #endif
    03700   public:
    03701     H225_RasUsageSpecification_when(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03702
    03703     enum OptionalFields {
    03704       e_start,
    03705       e_end,
    03706       e_inIrr
    03707     };
    03708
    03709     PASN_Null m_start;
    03710     PASN_Null m_end;
    03711     PASN_Null m_inIrr;
    03712
    03713     PINDEX GetDataLength() const;
    03714     PBoolean Decode(PASN_Stream & strm);
    03715     void Encode(PASN_Stream & strm) const;
    03716 #ifndef PASN_NOPRINTON
    03717     void PrintOn(ostream & strm) const;
    03718 #endif
    03719     Comparison Compare(const PObject & obj) const;
    03720     PObject * Clone() const;
    03721 };
    03722
    03723
    03724 //
    03725 // RasUsageSpecification_callStartingPoint
    03726 //
    03727
    03728 class H225_RasUsageSpecification_callStartingPoint : public PASN_Sequence
    03729 {
    03730 #ifndef PASN_LEANANDMEAN
    03731     PCLASSINFO(H225_RasUsageSpecification_callStartingPoint, PASN_Sequence);
    03732 #endif
    03733   public:
    03734     H225_RasUsageSpecification_callStartingPoint(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03735
    03736     enum OptionalFields {
    03737       e_alerting,
    03738       e_connect
    03739     };
    03740
    03741     PASN_Null m_alerting;
    03742     PASN_Null m_connect;
    03743
    03744     PINDEX GetDataLength() const;
    03745     PBoolean Decode(PASN_Stream & strm);
    03746     void Encode(PASN_Stream & strm) const;
    03747 #ifndef PASN_NOPRINTON
    03748     void PrintOn(ostream & strm) const;
    03749 #endif
    03750     Comparison Compare(const PObject & obj) const;
    03751     PObject * Clone() const;
    03752 };
    03753
    03754
    03755 //
    03756 // CallCreditServiceControl_billingMode
    03757 //
    03758
    03759 class H225_CallCreditServiceControl_billingMode : public PASN_Choice
    03760 {
    03761 #ifndef PASN_LEANANDMEAN
    03762     PCLASSINFO(H225_CallCreditServiceControl_billingMode, PASN_Choice);
    03763 #endif
    03764   public:
    03765     H225_CallCreditServiceControl_billingMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03766
    03767     enum Choices {
    03768       e_credit,
    03769       e_debit
    03770     };
    03771
    03772     PBoolean CreateObject();
    03773     PObject * Clone() const;
    03774 };
    03775
    03776
    03777 //
    03778 // CallCreditServiceControl_callStartingPoint
    03779 //
    03780
    03781 class H225_CallCreditServiceControl_callStartingPoint : public PASN_Choice
    03782 {
    03783 #ifndef PASN_LEANANDMEAN
    03784     PCLASSINFO(H225_CallCreditServiceControl_callStartingPoint, PASN_Choice);
    03785 #endif
    03786   public:
    03787     H225_CallCreditServiceControl_callStartingPoint(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03788
    03789     enum Choices {
    03790       e_alerting,
    03791       e_connect
    03792     };
    03793
    03794     PBoolean CreateObject();
    03795     PObject * Clone() const;
    03796 };
    03797
    03798
    03799 //
    03800 // ArrayOf_EnumeratedParameter
    03801 //
    03802
    03803 class H225_EnumeratedParameter;
    03804
    03805 class H225_ArrayOf_EnumeratedParameter : public PASN_Array
    03806 {
    03807 #ifndef PASN_LEANANDMEAN
    03808     PCLASSINFO(H225_ArrayOf_EnumeratedParameter, PASN_Array);
    03809 #endif
    03810   public:
    03811     H225_ArrayOf_EnumeratedParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03812
    03813     PASN_Object * CreateObject() const;
    03814     H225_EnumeratedParameter & operator[](PINDEX i) const;
    03815     PObject * Clone() const;
    03816 };
    03817
    03818
    03819 //
    03820 // RTPSession_associatedSessionIds
    03821 //
    03822
    03823 class H225_RTPSession_associatedSessionIds : public PASN_Array
    03824 {
    03825 #ifndef PASN_LEANANDMEAN
    03826     PCLASSINFO(H225_RTPSession_associatedSessionIds, PASN_Array);
    03827 #endif
    03828   public:
    03829     H225_RTPSession_associatedSessionIds(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03830
    03831     PASN_Object * CreateObject() const;
    03832     PASN_Integer & operator[](PINDEX i) const;
    03833     PObject * Clone() const;
    03834 };
    03835
    03836
    03837 //
    03838 // ArrayOf_AdmissionConfirm
    03839 //
    03840
    03841 class H225_AdmissionConfirm;
    03842
    03843 class H225_ArrayOf_AdmissionConfirm : public PASN_Array
    03844 {
    03845 #ifndef PASN_LEANANDMEAN
    03846     PCLASSINFO(H225_ArrayOf_AdmissionConfirm, PASN_Array);
    03847 #endif
    03848   public:
    03849     H225_ArrayOf_AdmissionConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03850
    03851     PASN_Object * CreateObject() const;
    03852     H225_AdmissionConfirm & operator[](PINDEX i) const;
    03853     PObject * Clone() const;
    03854 };
    03855
    03856
    03857 //
    03858 // ArrayOf_Endpoint
    03859 //
    03860
    03861 class H225_Endpoint;
    03862
    03863 class H225_ArrayOf_Endpoint : public PASN_Array
    03864 {
    03865 #ifndef PASN_LEANANDMEAN
    03866     PCLASSINFO(H225_ArrayOf_Endpoint, PASN_Array);
    03867 #endif
    03868   public:
    03869     H225_ArrayOf_Endpoint(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03870
    03871     PASN_Object * CreateObject() const;
    03872     H225_Endpoint & operator[](PINDEX i) const;
    03873     PObject * Clone() const;
    03874 };
    03875
    03876
    03877 //
    03878 // ArrayOf_AuthenticationMechanism
    03879 //
    03880
    03881 class H235_AuthenticationMechanism;
    03882
    03883 class H225_ArrayOf_AuthenticationMechanism : public PASN_Array
    03884 {
    03885 #ifndef PASN_LEANANDMEAN
    03886     PCLASSINFO(H225_ArrayOf_AuthenticationMechanism, PASN_Array);
    03887 #endif
    03888   public:
    03889     H225_ArrayOf_AuthenticationMechanism(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03890
    03891     PASN_Object * CreateObject() const;
    03892     H235_AuthenticationMechanism & operator[](PINDEX i) const;
    03893     PObject * Clone() const;
    03894 };
    03895
    03896
    03897 //
    03898 // ArrayOf_PASN_ObjectId
    03899 //
    03900
    03901 class H225_ArrayOf_PASN_ObjectId : public PASN_Array
    03902 {
    03903 #ifndef PASN_LEANANDMEAN
    03904     PCLASSINFO(H225_ArrayOf_PASN_ObjectId, PASN_Array);
    03905 #endif
    03906   public:
    03907     H225_ArrayOf_PASN_ObjectId(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03908
    03909     PASN_Object * CreateObject() const;
    03910     PASN_ObjectId & operator[](PINDEX i) const;
    03911     PObject * Clone() const;
    03912 };
    03913
    03914
    03915 //
    03916 // ArrayOf_IntegrityMechanism
    03917 //
    03918
    03919 class H225_IntegrityMechanism;
    03920
    03921 class H225_ArrayOf_IntegrityMechanism : public PASN_Array
    03922 {
    03923 #ifndef PASN_LEANANDMEAN
    03924     PCLASSINFO(H225_ArrayOf_IntegrityMechanism, PASN_Array);
    03925 #endif
    03926   public:
    03927     H225_ArrayOf_IntegrityMechanism(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03928
    03929     PASN_Object * CreateObject() const;
    03930     H225_IntegrityMechanism & operator[](PINDEX i) const;
    03931     PObject * Clone() const;
    03932 };
    03933
    03934
    03935 //
    03936 // ArrayOf_AddressPattern
    03937 //
    03938
    03939 class H225_AddressPattern;
    03940
    03941 class H225_ArrayOf_AddressPattern : public PASN_Array
    03942 {
    03943 #ifndef PASN_LEANANDMEAN
    03944     PCLASSINFO(H225_ArrayOf_AddressPattern, PASN_Array);
    03945 #endif
    03946   public:
    03947     H225_ArrayOf_AddressPattern(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03948
    03949     PASN_Object * CreateObject() const;
    03950     H225_AddressPattern & operator[](PINDEX i) const;
    03951     PObject * Clone() const;
    03952 };
    03953
    03954
    03955 //
    03956 // ArrayOf_H248PackagesDescriptor
    03957 //
    03958
    03959 class H225_H248PackagesDescriptor;
    03960
    03961 class H225_ArrayOf_H248PackagesDescriptor : public PASN_Array
    03962 {
    03963 #ifndef PASN_LEANANDMEAN
    03964     PCLASSINFO(H225_ArrayOf_H248PackagesDescriptor, PASN_Array);
    03965 #endif
    03966   public:
    03967     H225_ArrayOf_H248PackagesDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03968
    03969     PASN_Object * CreateObject() const;
    03970     H225_H248PackagesDescriptor & operator[](PINDEX i) const;
    03971     PObject * Clone() const;
    03972 };
    03973
    03974
    03975 //
    03976 // RegistrationRequest_language
    03977 //
    03978
    03979 class H225_RegistrationRequest_language : public PASN_Array
    03980 {
    03981 #ifndef PASN_LEANANDMEAN
    03982     PCLASSINFO(H225_RegistrationRequest_language, PASN_Array);
    03983 #endif
    03984   public:
    03985     H225_RegistrationRequest_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03986
    03987     PASN_Object * CreateObject() const;
    03988     PASN_IA5String & operator[](PINDEX i) const;
    03989     PObject * Clone() const;
    03990 };
    03991
    03992
    03993 //
    03994 // ArrayOf_RasUsageSpecification
    03995 //
    03996
    03997 class H225_RasUsageSpecification;
    03998
    03999 class H225_ArrayOf_RasUsageSpecification : public PASN_Array
    04000 {
    04001 #ifndef PASN_LEANANDMEAN
    04002     PCLASSINFO(H225_ArrayOf_RasUsageSpecification, PASN_Array);
    04003 #endif
    04004   public:
    04005     H225_ArrayOf_RasUsageSpecification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04006
    04007     PASN_Object * CreateObject() const;
    04008     H225_RasUsageSpecification & operator[](PINDEX i) const;
    04009     PObject * Clone() const;
    04010 };
    04011
    04012
    04013 //
    04014 // RegistrationRejectReason_invalidTerminalAliases
    04015 //
    04016
    04017 class H225_RegistrationRejectReason_invalidTerminalAliases : public PASN_Sequence
    04018 {
    04019 #ifndef PASN_LEANANDMEAN
    04020     PCLASSINFO(H225_RegistrationRejectReason_invalidTerminalAliases, PASN_Sequence);
    04021 #endif
    04022   public:
    04023     H225_RegistrationRejectReason_invalidTerminalAliases(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04024
    04025     enum OptionalFields {
    04026       e_terminalAlias,
    04027       e_terminalAliasPattern,
    04028       e_supportedPrefixes
    04029     };
    04030
    04031     H225_ArrayOf_AliasAddress m_terminalAlias;
    04032     H225_ArrayOf_AddressPattern m_terminalAliasPattern;
    04033     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    04034
    04035     PINDEX GetDataLength() const;
    04036     PBoolean Decode(PASN_Stream & strm);
    04037     void Encode(PASN_Stream & strm) const;
    04038 #ifndef PASN_NOPRINTON
    04039     void PrintOn(ostream & strm) const;
    04040 #endif
    04041     Comparison Compare(const PObject & obj) const;
    04042     PObject * Clone() const;
    04043 };
    04044
    04045
    04046 //
    04047 // ArrayOf_QOSCapability
    04048 //
    04049
    04050 class MULTIMEDIA_QOSCapability;
    04051
    04052 class H225_ArrayOf_QOSCapability : public PASN_Array
    04053 {
    04054 #ifndef PASN_LEANANDMEAN
    04055     PCLASSINFO(H225_ArrayOf_QOSCapability, PASN_Array);
    04056 #endif
    04057   public:
    04058     H225_ArrayOf_QOSCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04059
    04060     PASN_Object * CreateObject() const;
    04061     H245_QOSCapability & operator[](PINDEX i) const;
    04062     PObject * Clone() const;
    04063 };
    04064
    04065
    04066 //
    04067 // AdmissionConfirm_language
    04068 //
    04069
    04070 class H225_AdmissionConfirm_language : public PASN_Array
    04071 {
    04072 #ifndef PASN_LEANANDMEAN
    04073     PCLASSINFO(H225_AdmissionConfirm_language, PASN_Array);
    04074 #endif
    04075   public:
    04076     H225_AdmissionConfirm_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04077
    04078     PASN_Object * CreateObject() const;
    04079     PASN_IA5String & operator[](PINDEX i) const;
    04080     PObject * Clone() const;
    04081 };
    04082
    04083
    04084 //
    04085 // ArrayOf_PartyNumber
    04086 //
    04087
    04088 class H225_PartyNumber;
    04089
    04090 class H225_ArrayOf_PartyNumber : public PASN_Array
    04091 {
    04092 #ifndef PASN_LEANANDMEAN
    04093     PCLASSINFO(H225_ArrayOf_PartyNumber, PASN_Array);
    04094 #endif
    04095   public:
    04096     H225_ArrayOf_PartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04097
    04098     PASN_Object * CreateObject() const;
    04099     H225_PartyNumber & operator[](PINDEX i) const;
    04100     PObject * Clone() const;
    04101 };
    04102
    04103
    04104 //
    04105 // ArrayOf_BandwidthDetails
    04106 //
    04107
    04108 class H225_BandwidthDetails;
    04109
    04110 class H225_ArrayOf_BandwidthDetails : public PASN_Array
    04111 {
    04112 #ifndef PASN_LEANANDMEAN
    04113     PCLASSINFO(H225_ArrayOf_BandwidthDetails, PASN_Array);
    04114 #endif
    04115   public:
    04116     H225_ArrayOf_BandwidthDetails(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04117
    04118     PASN_Object * CreateObject() const;
    04119     H225_BandwidthDetails & operator[](PINDEX i) const;
    04120     PObject * Clone() const;
    04121 };
    04122
    04123
    04124 //
    04125 // LocationRequest_language
    04126 //
    04127
    04128 class H225_LocationRequest_language : public PASN_Array
    04129 {
    04130 #ifndef PASN_LEANANDMEAN
    04131     PCLASSINFO(H225_LocationRequest_language, PASN_Array);
    04132 #endif
    04133   public:
    04134     H225_LocationRequest_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04135
    04136     PASN_Object * CreateObject() const;
    04137     PASN_IA5String & operator[](PINDEX i) const;
    04138     PObject * Clone() const;
    04139 };
    04140
    04141
    04142 //
    04143 // InfoRequestResponse_perCallInfo
    04144 //
    04145
    04146 class H225_InfoRequestResponse_perCallInfo_subtype;
    04147
    04148 class H225_InfoRequestResponse_perCallInfo : public PASN_Array
    04149 {
    04150 #ifndef PASN_LEANANDMEAN
    04151     PCLASSINFO(H225_InfoRequestResponse_perCallInfo, PASN_Array);
    04152 #endif
    04153   public:
    04154     H225_InfoRequestResponse_perCallInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04155
    04156     PASN_Object * CreateObject() const;
    04157     H225_InfoRequestResponse_perCallInfo_subtype & operator[](PINDEX i) const;
    04158     PObject * Clone() const;
    04159 };
    04160
    04161
    04162 //
    04163 // ServiceControlIndication_callSpecific
    04164 //
    04165
    04166 class H225_ServiceControlIndication_callSpecific : public PASN_Sequence
    04167 {
    04168 #ifndef PASN_LEANANDMEAN
    04169     PCLASSINFO(H225_ServiceControlIndication_callSpecific, PASN_Sequence);
    04170 #endif
    04171   public:
    04172     H225_ServiceControlIndication_callSpecific(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04173
    04174     H225_CallIdentifier m_callIdentifier;
    04175     H225_ConferenceIdentifier m_conferenceID;
    04176     PASN_Boolean m_answeredCall;
    04177
    04178     PINDEX GetDataLength() const;
    04179     PBoolean Decode(PASN_Stream & strm);
    04180     void Encode(PASN_Stream & strm) const;
    04181 #ifndef PASN_NOPRINTON
    04182     void PrintOn(ostream & strm) const;
    04183 #endif
    04184     Comparison Compare(const PObject & obj) const;
    04185     PObject * Clone() const;
    04186 };
    04187
    04188
    04189 //
    04190 // ServiceControlResponse_result
    04191 //
    04192
    04193 class H225_ServiceControlResponse_result : public PASN_Choice
    04194 {
    04195 #ifndef PASN_LEANANDMEAN
    04196     PCLASSINFO(H225_ServiceControlResponse_result, PASN_Choice);
    04197 #endif
    04198   public:
    04199     H225_ServiceControlResponse_result(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04200
    04201     enum Choices {
    04202       e_started,
    04203       e_failed,
    04204       e_stopped,
    04205       e_notAvailable,
    04206       e_neededFeatureNotSupported
    04207     };
    04208
    04209     PBoolean CreateObject();
    04210     PObject * Clone() const;
    04211 };
    04212
    04213
    04214 //
    04215 // TransportAddress_ipSourceRoute_route
    04216 //
    04217
    04218 class H225_TransportAddress_ipSourceRoute_route : public PASN_Array
    04219 {
    04220 #ifndef PASN_LEANANDMEAN
    04221     PCLASSINFO(H225_TransportAddress_ipSourceRoute_route, PASN_Array);
    04222 #endif
    04223   public:
    04224     H225_TransportAddress_ipSourceRoute_route(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04225
    04226     PASN_Object * CreateObject() const;
    04227     PASN_OctetString & operator[](PINDEX i) const;
    04228     PObject * Clone() const;
    04229 };
    04230
    04231
    04232 //
    04233 // TransportAddress_ipSourceRoute_routing
    04234 //
    04235
    04236 class H225_TransportAddress_ipSourceRoute_routing : public PASN_Choice
    04237 {
    04238 #ifndef PASN_LEANANDMEAN
    04239     PCLASSINFO(H225_TransportAddress_ipSourceRoute_routing, PASN_Choice);
    04240 #endif
    04241   public:
    04242     H225_TransportAddress_ipSourceRoute_routing(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04243
    04244     enum Choices {
    04245       e_strict,
    04246       e_loose
    04247     };
    04248
    04249     PBoolean CreateObject();
    04250     PObject * Clone() const;
    04251 };
    04252
    04253
    04254 //
    04255 // ArrayOf_RTPSession
    04256 //
    04257
    04258 class H225_RTPSession;
    04259
    04260 class H225_ArrayOf_RTPSession : public PASN_Array
    04261 {
    04262 #ifndef PASN_LEANANDMEAN
    04263     PCLASSINFO(H225_ArrayOf_RTPSession, PASN_Array);
    04264 #endif
    04265   public:
    04266     H225_ArrayOf_RTPSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04267
    04268     PASN_Object * CreateObject() const;
    04269     H225_RTPSession & operator[](PINDEX i) const;
    04270     PObject * Clone() const;
    04271 };
    04272
    04273
    04274 //
    04275 // ArrayOf_TransportChannelInfo
    04276 //
    04277
    04278 class H225_TransportChannelInfo;
    04279
    04280 class H225_ArrayOf_TransportChannelInfo : public PASN_Array
    04281 {
    04282 #ifndef PASN_LEANANDMEAN
    04283     PCLASSINFO(H225_ArrayOf_TransportChannelInfo, PASN_Array);
    04284 #endif
    04285   public:
    04286     H225_ArrayOf_TransportChannelInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04287
    04288     PASN_Object * CreateObject() const;
    04289     H225_TransportChannelInfo & operator[](PINDEX i) const;
    04290     PObject * Clone() const;
    04291 };
    04292
    04293
    04294 //
    04295 // ArrayOf_ConferenceIdentifier
    04296 //
    04297
    04298 class H225_ConferenceIdentifier;
    04299
    04300 class H225_ArrayOf_ConferenceIdentifier : public PASN_Array
    04301 {
    04302 #ifndef PASN_LEANANDMEAN
    04303     PCLASSINFO(H225_ArrayOf_ConferenceIdentifier, PASN_Array);
    04304 #endif
    04305   public:
    04306     H225_ArrayOf_ConferenceIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04307
    04308     PASN_Object * CreateObject() const;
    04309     H225_ConferenceIdentifier & operator[](PINDEX i) const;
    04310     PObject * Clone() const;
    04311 };
    04312
    04313
    04314 //
    04315 // InfoRequestResponse_perCallInfo_subtype_pdu
    04316 //
    04317
    04318 class H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype;
    04319
    04320 class H225_InfoRequestResponse_perCallInfo_subtype_pdu : public PASN_Array
    04321 {
    04322 #ifndef PASN_LEANANDMEAN
    04323     PCLASSINFO(H225_InfoRequestResponse_perCallInfo_subtype_pdu, PASN_Array);
    04324 #endif
    04325   public:
    04326     H225_InfoRequestResponse_perCallInfo_subtype_pdu(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04327
    04328     PASN_Object * CreateObject() const;
    04329     H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype & operator[](PINDEX i) const;
    04330     PObject * Clone() const;
    04331 };
    04332
    04333
    04334 //
    04335 // Status-UUIE
    04336 //
    04337
    04338 class H225_Status_UUIE : public PASN_Sequence
    04339 {
    04340 #ifndef PASN_LEANANDMEAN
    04341     PCLASSINFO(H225_Status_UUIE, PASN_Sequence);
    04342 #endif
    04343   public:
    04344     H225_Status_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04345
    04346     enum OptionalFields {
    04347       e_tokens,
    04348       e_cryptoTokens
    04349     };
    04350
    04351     H225_ProtocolIdentifier m_protocolIdentifier;
    04352     H225_CallIdentifier m_callIdentifier;
    04353     H225_ArrayOf_ClearToken m_tokens;
    04354     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    04355
    04356     PINDEX GetDataLength() const;
    04357     PBoolean Decode(PASN_Stream & strm);
    04358     void Encode(PASN_Stream & strm) const;
    04359 #ifndef PASN_NOPRINTON
    04360     void PrintOn(ostream & strm) const;
    04361 #endif
    04362     Comparison Compare(const PObject & obj) const;
    04363     PObject * Clone() const;
    04364 };
    04365
    04366
    04367 //
    04368 // StatusInquiry-UUIE
    04369 //
    04370
    04371 class H225_StatusInquiry_UUIE : public PASN_Sequence
    04372 {
    04373 #ifndef PASN_LEANANDMEAN
    04374     PCLASSINFO(H225_StatusInquiry_UUIE, PASN_Sequence);
    04375 #endif
    04376   public:
    04377     H225_StatusInquiry_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04378
    04379     enum OptionalFields {
    04380       e_tokens,
    04381       e_cryptoTokens
    04382     };
    04383
    04384     H225_ProtocolIdentifier m_protocolIdentifier;
    04385     H225_CallIdentifier m_callIdentifier;
    04386     H225_ArrayOf_ClearToken m_tokens;
    04387     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    04388
    04389     PINDEX GetDataLength() const;
    04390     PBoolean Decode(PASN_Stream & strm);
    04391     void Encode(PASN_Stream & strm) const;
    04392 #ifndef PASN_NOPRINTON
    04393     void PrintOn(ostream & strm) const;
    04394 #endif
    04395     Comparison Compare(const PObject & obj) const;
    04396     PObject * Clone() const;
    04397 };
    04398
    04399
    04400 //
    04401 // SetupAcknowledge-UUIE
    04402 //
    04403
    04404 class H225_SetupAcknowledge_UUIE : public PASN_Sequence
    04405 {
    04406 #ifndef PASN_LEANANDMEAN
    04407     PCLASSINFO(H225_SetupAcknowledge_UUIE, PASN_Sequence);
    04408 #endif
    04409   public:
    04410     H225_SetupAcknowledge_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04411
    04412     enum OptionalFields {
    04413       e_tokens,
    04414       e_cryptoTokens
    04415     };
    04416
    04417     H225_ProtocolIdentifier m_protocolIdentifier;
    04418     H225_CallIdentifier m_callIdentifier;
    04419     H225_ArrayOf_ClearToken m_tokens;
    04420     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    04421
    04422     PINDEX GetDataLength() const;
    04423     PBoolean Decode(PASN_Stream & strm);
    04424     void Encode(PASN_Stream & strm) const;
    04425 #ifndef PASN_NOPRINTON
    04426     void PrintOn(ostream & strm) const;
    04427 #endif
    04428     Comparison Compare(const PObject & obj) const;
    04429     PObject * Clone() const;
    04430 };
    04431
    04432
    04433 //
    04434 // Notify-UUIE
    04435 //
    04436
    04437 class H225_Notify_UUIE : public PASN_Sequence
    04438 {
    04439 #ifndef PASN_LEANANDMEAN
    04440     PCLASSINFO(H225_Notify_UUIE, PASN_Sequence);
    04441 #endif
    04442   public:
    04443     H225_Notify_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04444
    04445     enum OptionalFields {
    04446       e_tokens,
    04447       e_cryptoTokens
    04448     };
    04449
    04450     H225_ProtocolIdentifier m_protocolIdentifier;
    04451     H225_CallIdentifier m_callIdentifier;
    04452     H225_ArrayOf_ClearToken m_tokens;
    04453     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    04454
    04455     PINDEX GetDataLength() const;
    04456     PBoolean Decode(PASN_Stream & strm);
    04457     void Encode(PASN_Stream & strm) const;
    04458 #ifndef PASN_NOPRINTON
    04459     void PrintOn(ostream & strm) const;
    04460 #endif
    04461     Comparison Compare(const PObject & obj) const;
    04462     PObject * Clone() const;
    04463 };
    04464
    04465
    04466 //
    04467 // VendorIdentifier
    04468 //
    04469
    04470 class H225_VendorIdentifier : public PASN_Sequence
    04471 {
    04472 #ifndef PASN_LEANANDMEAN
    04473     PCLASSINFO(H225_VendorIdentifier, PASN_Sequence);
    04474 #endif
    04475   public:
    04476     H225_VendorIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04477
    04478     enum OptionalFields {
    04479       e_productId,
    04480       e_versionId,
    04481       e_enterpriseNumber
    04482     };
    04483
    04484     H225_H221NonStandard m_vendor;
    04485     PASN_OctetString m_productId;
    04486     PASN_OctetString m_versionId;
    04487     PASN_ObjectId m_enterpriseNumber;
    04488
    04489     PINDEX GetDataLength() const;
    04490     PBoolean Decode(PASN_Stream & strm);
    04491     void Encode(PASN_Stream & strm) const;
    04492 #ifndef PASN_NOPRINTON
    04493     void PrintOn(ostream & strm) const;
    04494 #endif
    04495     Comparison Compare(const PObject & obj) const;
    04496     PObject * Clone() const;
    04497 };
    04498
    04499
    04500 //
    04501 // TunnelledProtocol
    04502 //
    04503
    04504 class H225_TunnelledProtocol : public PASN_Sequence
    04505 {
    04506 #ifndef PASN_LEANANDMEAN
    04507     PCLASSINFO(H225_TunnelledProtocol, PASN_Sequence);
    04508 #endif
    04509   public:
    04510     H225_TunnelledProtocol(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04511
    04512     enum OptionalFields {
    04513       e_subIdentifier
    04514     };
    04515
    04516     H225_TunnelledProtocol_id m_id;
    04517     PASN_IA5String m_subIdentifier;
    04518
    04519     PINDEX GetDataLength() const;
    04520     PBoolean Decode(PASN_Stream & strm);
    04521     void Encode(PASN_Stream & strm) const;
    04522 #ifndef PASN_NOPRINTON
    04523     void PrintOn(ostream & strm) const;
    04524 #endif
    04525     Comparison Compare(const PObject & obj) const;
    04526     PObject * Clone() const;
    04527 };
    04528
    04529
    04530 //
    04531 // NonStandardParameter
    04532 //
    04533
    04534 class H225_NonStandardParameter : public PASN_Sequence
    04535 {
    04536 #ifndef PASN_LEANANDMEAN
    04537     PCLASSINFO(H225_NonStandardParameter, PASN_Sequence);
    04538 #endif
    04539   public:
    04540     H225_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04541
    04542     H225_NonStandardIdentifier m_nonStandardIdentifier;
    04543     PASN_OctetString m_data;
    04544
    04545     PINDEX GetDataLength() const;
    04546     PBoolean Decode(PASN_Stream & strm);
    04547     void Encode(PASN_Stream & strm) const;
    04548 #ifndef PASN_NOPRINTON
    04549     void PrintOn(ostream & strm) const;
    04550 #endif
    04551     Comparison Compare(const PObject & obj) const;
    04552     PObject * Clone() const;
    04553 };
    04554
    04555
    04556 //
    04557 // PublicPartyNumber
    04558 //
    04559
    04560 class H225_PublicPartyNumber : public PASN_Sequence
    04561 {
    04562 #ifndef PASN_LEANANDMEAN
    04563     PCLASSINFO(H225_PublicPartyNumber, PASN_Sequence);
    04564 #endif
    04565   public:
    04566     H225_PublicPartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04567
    04568     H225_PublicTypeOfNumber m_publicTypeOfNumber;
    04569     H225_NumberDigits m_publicNumberDigits;
    04570
    04571     PINDEX GetDataLength() const;
    04572     PBoolean Decode(PASN_Stream & strm);
    04573     void Encode(PASN_Stream & strm) const;
    04574 #ifndef PASN_NOPRINTON
    04575     void PrintOn(ostream & strm) const;
    04576 #endif
    04577     Comparison Compare(const PObject & obj) const;
    04578     PObject * Clone() const;
    04579 };
    04580
    04581
    04582 //
    04583 // PrivatePartyNumber
    04584 //
    04585
    04586 class H225_PrivatePartyNumber : public PASN_Sequence
    04587 {
    04588 #ifndef PASN_LEANANDMEAN
    04589     PCLASSINFO(H225_PrivatePartyNumber, PASN_Sequence);
    04590 #endif
    04591   public:
    04592     H225_PrivatePartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04593
    04594     H225_PrivateTypeOfNumber m_privateTypeOfNumber;
    04595     H225_NumberDigits m_privateNumberDigits;
    04596
    04597     PINDEX GetDataLength() const;
    04598     PBoolean Decode(PASN_Stream & strm);
    04599     void Encode(PASN_Stream & strm) const;
    04600 #ifndef PASN_NOPRINTON
    04601     void PrintOn(ostream & strm) const;
    04602 #endif
    04603     Comparison Compare(const PObject & obj) const;
    04604     PObject * Clone() const;
    04605 };
    04606
    04607
    04608 //
    04609 // ANSI-41-UIM
    04610 //
    04611
    04612 class H225_ANSI_41_UIM : public PASN_Sequence
    04613 {
    04614 #ifndef PASN_LEANANDMEAN
    04615     PCLASSINFO(H225_ANSI_41_UIM, PASN_Sequence);
    04616 #endif
    04617   public:
    04618     H225_ANSI_41_UIM(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04619
    04620     enum OptionalFields {
    04621       e_imsi,
    04622       e_min,
    04623       e_mdn,
    04624       e_msisdn,
    04625       e_esn,
    04626       e_mscid,
    04627       e_systemMyTypeCode,
    04628       e_systemAccessType,
    04629       e_qualificationInformationCode,
    04630       e_sesn,
    04631       e_soc
    04632     };
    04633
    04634     PASN_IA5String m_imsi;
    04635     PASN_IA5String m_min;
    04636     PASN_IA5String m_mdn;
    04637     PASN_IA5String m_msisdn;
    04638     PASN_IA5String m_esn;
    04639     PASN_IA5String m_mscid;
    04640     H225_ANSI_41_UIM_system_id m_system_id;
    04641     PASN_OctetString m_systemMyTypeCode;
    04642     PASN_OctetString m_systemAccessType;
    04643     PASN_OctetString m_qualificationInformationCode;
    04644     PASN_IA5String m_sesn;
    04645     PASN_IA5String m_soc;
    04646
    04647     PINDEX GetDataLength() const;
    04648     PBoolean Decode(PASN_Stream & strm);
    04649     void Encode(PASN_Stream & strm) const;
    04650 #ifndef PASN_NOPRINTON
    04651     void PrintOn(ostream & strm) const;
    04652 #endif
    04653     Comparison Compare(const PObject & obj) const;
    04654     PObject * Clone() const;
    04655 };
    04656
    04657
    04658 //
    04659 // IsupPublicPartyNumber
    04660 //
    04661
    04662 class H225_IsupPublicPartyNumber : public PASN_Sequence
    04663 {
    04664 #ifndef PASN_LEANANDMEAN
    04665     PCLASSINFO(H225_IsupPublicPartyNumber, PASN_Sequence);
    04666 #endif
    04667   public:
    04668     H225_IsupPublicPartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04669
    04670     H225_NatureOfAddress m_natureOfAddress;
    04671     H225_IsupDigits m_address;
    04672
    04673     PINDEX GetDataLength() const;
    04674     PBoolean Decode(PASN_Stream & strm);
    04675     void Encode(PASN_Stream & strm) const;
    04676 #ifndef PASN_NOPRINTON
    04677     void PrintOn(ostream & strm) const;
    04678 #endif
    04679     Comparison Compare(const PObject & obj) const;
    04680     PObject * Clone() const;
    04681 };
    04682
    04683
    04684 //
    04685 // IsupPrivatePartyNumber
    04686 //
    04687
    04688 class H225_IsupPrivatePartyNumber : public PASN_Sequence
    04689 {
    04690 #ifndef PASN_LEANANDMEAN
    04691     PCLASSINFO(H225_IsupPrivatePartyNumber, PASN_Sequence);
    04692 #endif
    04693   public:
    04694     H225_IsupPrivatePartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04695
    04696     H225_PrivateTypeOfNumber m_privateTypeOfNumber;
    04697     H225_IsupDigits m_address;
    04698
    04699     PINDEX GetDataLength() const;
    04700     PBoolean Decode(PASN_Stream & strm);
    04701     void Encode(PASN_Stream & strm) const;
    04702 #ifndef PASN_NOPRINTON
    04703     void PrintOn(ostream & strm) const;
    04704 #endif
    04705     Comparison Compare(const PObject & obj) const;
    04706     PObject * Clone() const;
    04707 };
    04708
    04709
    04710 //
    04711 // AlternateTransportAddresses
    04712 //
    04713
    04714 class H225_AlternateTransportAddresses : public PASN_Sequence
    04715 {
    04716 #ifndef PASN_LEANANDMEAN
    04717     PCLASSINFO(H225_AlternateTransportAddresses, PASN_Sequence);
    04718 #endif
    04719   public:
    04720     H225_AlternateTransportAddresses(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04721
    04722     enum OptionalFields {
    04723       e_annexE,
    04724       e_sctp
    04725     };
    04726
    04727     H225_ArrayOf_TransportAddress m_annexE;
    04728     H225_ArrayOf_TransportAddress m_sctp;
    04729
    04730     PINDEX GetDataLength() const;
    04731     PBoolean Decode(PASN_Stream & strm);
    04732     void Encode(PASN_Stream & strm) const;
    04733 #ifndef PASN_NOPRINTON
    04734     void PrintOn(ostream & strm) const;
    04735 #endif
    04736     Comparison Compare(const PObject & obj) const;
    04737     PObject * Clone() const;
    04738 };
    04739
    04740
    04741 //
    04742 // AlternateGK
    04743 //
    04744
    04745 class H225_AlternateGK : public PASN_Sequence
    04746 {
    04747 #ifndef PASN_LEANANDMEAN
    04748     PCLASSINFO(H225_AlternateGK, PASN_Sequence);
    04749 #endif
    04750   public:
    04751     H225_AlternateGK(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04752
    04753     enum OptionalFields {
    04754       e_gatekeeperIdentifier
    04755     };
    04756
    04757     H225_TransportAddress m_rasAddress;
    04758     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    04759     PASN_Boolean m_needToRegister;
    04760     PASN_Integer m_priority;
    04761
    04762     PINDEX GetDataLength() const;
    04763     PBoolean Decode(PASN_Stream & strm);
    04764     void Encode(PASN_Stream & strm) const;
    04765 #ifndef PASN_NOPRINTON
    04766     void PrintOn(ostream & strm) const;
    04767 #endif
    04768     Comparison Compare(const PObject & obj) const;
    04769     PObject * Clone() const;
    04770 };
    04771
    04772
    04773 //
    04774 // AltGKInfo
    04775 //
    04776
    04777 class H225_AltGKInfo : public PASN_Sequence
    04778 {
    04779 #ifndef PASN_LEANANDMEAN
    04780     PCLASSINFO(H225_AltGKInfo, PASN_Sequence);
    04781 #endif
    04782   public:
    04783     H225_AltGKInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04784
    04785     H225_ArrayOf_AlternateGK m_alternateGatekeeper;
    04786     PASN_Boolean m_altGKisPermanent;
    04787
    04788     PINDEX GetDataLength() const;
    04789     PBoolean Decode(PASN_Stream & strm);
    04790     void Encode(PASN_Stream & strm) const;
    04791 #ifndef PASN_NOPRINTON
    04792     void PrintOn(ostream & strm) const;
    04793 #endif
    04794     Comparison Compare(const PObject & obj) const;
    04795     PObject * Clone() const;
    04796 };
    04797
    04798
    04799 //
    04800 // SecurityCapabilities
    04801 //
    04802
    04803 class H225_SecurityCapabilities : public PASN_Sequence
    04804 {
    04805 #ifndef PASN_LEANANDMEAN
    04806     PCLASSINFO(H225_SecurityCapabilities, PASN_Sequence);
    04807 #endif
    04808   public:
    04809     H225_SecurityCapabilities(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04810
    04811     enum OptionalFields {
    04812       e_nonStandard
    04813     };
    04814
    04815     H225_NonStandardParameter m_nonStandard;
    04816     H225_SecurityServiceMode m_encryption;
    04817     H225_SecurityServiceMode m_authenticaton;
    04818     H225_SecurityServiceMode m_integrity;
    04819
    04820     PINDEX GetDataLength() const;
    04821     PBoolean Decode(PASN_Stream & strm);
    04822     void Encode(PASN_Stream & strm) const;
    04823 #ifndef PASN_NOPRINTON
    04824     void PrintOn(ostream & strm) const;
    04825 #endif
    04826     Comparison Compare(const PObject & obj) const;
    04827     PObject * Clone() const;
    04828 };
    04829
    04830
    04831 //
    04832 // QseriesOptions
    04833 //
    04834
    04835 class H225_QseriesOptions : public PASN_Sequence
    04836 {
    04837 #ifndef PASN_LEANANDMEAN
    04838     PCLASSINFO(H225_QseriesOptions, PASN_Sequence);
    04839 #endif
    04840   public:
    04841     H225_QseriesOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04842
    04843     PASN_Boolean m_q932Full;
    04844     PASN_Boolean m_q951Full;
    04845     PASN_Boolean m_q952Full;
    04846     PASN_Boolean m_q953Full;
    04847     PASN_Boolean m_q955Full;
    04848     PASN_Boolean m_q956Full;
    04849     PASN_Boolean m_q957Full;
    04850     H225_Q954Details m_q954Info;
    04851
    04852     PINDEX GetDataLength() const;
    04853     PBoolean Decode(PASN_Stream & strm);
    04854     void Encode(PASN_Stream & strm) const;
    04855 #ifndef PASN_NOPRINTON
    04856     void PrintOn(ostream & strm) const;
    04857 #endif
    04858     Comparison Compare(const PObject & obj) const;
    04859     PObject * Clone() const;
    04860 };
    04861
    04862
    04863 //
    04864 // DataRate
    04865 //
    04866
    04867 class H225_DataRate : public PASN_Sequence
    04868 {
    04869 #ifndef PASN_LEANANDMEAN
    04870     PCLASSINFO(H225_DataRate, PASN_Sequence);
    04871 #endif
    04872   public:
    04873     H225_DataRate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04874
    04875     enum OptionalFields {
    04876       e_nonStandardData,
    04877       e_channelMultiplier
    04878     };
    04879
    04880     H225_NonStandardParameter m_nonStandardData;
    04881     H225_BandWidth m_channelRate;
    04882     PASN_Integer m_channelMultiplier;
    04883
    04884     PINDEX GetDataLength() const;
    04885     PBoolean Decode(PASN_Stream & strm);
    04886     void Encode(PASN_Stream & strm) const;
    04887 #ifndef PASN_NOPRINTON
    04888     void PrintOn(ostream & strm) const;
    04889 #endif
    04890     Comparison Compare(const PObject & obj) const;
    04891     PObject * Clone() const;
    04892 };
    04893
    04894
    04895 //
    04896 // SupportedPrefix
    04897 //
    04898
    04899 class H225_SupportedPrefix : public PASN_Sequence
    04900 {
    04901 #ifndef PASN_LEANANDMEAN
    04902     PCLASSINFO(H225_SupportedPrefix, PASN_Sequence);
    04903 #endif
    04904   public:
    04905     H225_SupportedPrefix(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04906
    04907     enum OptionalFields {
    04908       e_nonStandardData
    04909     };
    04910
    04911     H225_NonStandardParameter m_nonStandardData;
    04912     H225_AliasAddress m_prefix;
    04913
    04914     PINDEX GetDataLength() const;
    04915     PBoolean Decode(PASN_Stream & strm);
    04916     void Encode(PASN_Stream & strm) const;
    04917 #ifndef PASN_NOPRINTON
    04918     void PrintOn(ostream & strm) const;
    04919 #endif
    04920     Comparison Compare(const PObject & obj) const;
    04921     PObject * Clone() const;
    04922 };
    04923
    04924
    04925 //
    04926 // CapacityReportingSpecification
    04927 //
    04928
    04929 class H225_CapacityReportingSpecification : public PASN_Sequence
    04930 {
    04931 #ifndef PASN_LEANANDMEAN
    04932     PCLASSINFO(H225_CapacityReportingSpecification, PASN_Sequence);
    04933 #endif
    04934   public:
    04935     H225_CapacityReportingSpecification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04936
    04937     H225_CapacityReportingSpecification_when m_when;
    04938
    04939     PINDEX GetDataLength() const;
    04940     PBoolean Decode(PASN_Stream & strm);
    04941     void Encode(PASN_Stream & strm) const;
    04942 #ifndef PASN_NOPRINTON
    04943     void PrintOn(ostream & strm) const;
    04944 #endif
    04945     Comparison Compare(const PObject & obj) const;
    04946     PObject * Clone() const;
    04947 };
    04948
    04949
    04950 //
    04951 // CallCapacityInfo
    04952 //
    04953
    04954 class H225_CallCapacityInfo : public PASN_Sequence
    04955 {
    04956 #ifndef PASN_LEANANDMEAN
    04957     PCLASSINFO(H225_CallCapacityInfo, PASN_Sequence);
    04958 #endif
    04959   public:
    04960     H225_CallCapacityInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04961
    04962     enum OptionalFields {
    04963       e_voiceGwCallsAvailable,
    04964       e_h310GwCallsAvailable,
    04965       e_h320GwCallsAvailable,
    04966       e_h321GwCallsAvailable,
    04967       e_h322GwCallsAvailable,
    04968       e_h323GwCallsAvailable,
    04969       e_h324GwCallsAvailable,
    04970       e_t120OnlyGwCallsAvailable,
    04971       e_t38FaxAnnexbOnlyGwCallsAvailable,
    04972       e_terminalCallsAvailable,
    04973       e_mcuCallsAvailable,
    04974       e_sipGwCallsAvailable
    04975     };
    04976
    04977     H225_ArrayOf_CallsAvailable m_voiceGwCallsAvailable;
    04978     H225_ArrayOf_CallsAvailable m_h310GwCallsAvailable;
    04979     H225_ArrayOf_CallsAvailable m_h320GwCallsAvailable;
    04980     H225_ArrayOf_CallsAvailable m_h321GwCallsAvailable;
    04981     H225_ArrayOf_CallsAvailable m_h322GwCallsAvailable;
    04982     H225_ArrayOf_CallsAvailable m_h323GwCallsAvailable;
    04983     H225_ArrayOf_CallsAvailable m_h324GwCallsAvailable;
    04984     H225_ArrayOf_CallsAvailable m_t120OnlyGwCallsAvailable;
    04985     H225_ArrayOf_CallsAvailable m_t38FaxAnnexbOnlyGwCallsAvailable;
    04986     H225_ArrayOf_CallsAvailable m_terminalCallsAvailable;
    04987     H225_ArrayOf_CallsAvailable m_mcuCallsAvailable;
    04988     H225_ArrayOf_CallsAvailable m_sipGwCallsAvailable;
    04989
    04990     PINDEX GetDataLength() const;
    04991     PBoolean Decode(PASN_Stream & strm);
    04992     void Encode(PASN_Stream & strm) const;
    04993 #ifndef PASN_NOPRINTON
    04994     void PrintOn(ostream & strm) const;
    04995 #endif
    04996     Comparison Compare(const PObject & obj) const;
    04997     PObject * Clone() const;
    04998 };
    04999
    05000
    05001 //
    05002 // CallsAvailable
    05003 //
    05004
    05005 class H225_CallsAvailable : public PASN_Sequence
    05006 {
    05007 #ifndef PASN_LEANANDMEAN
    05008     PCLASSINFO(H225_CallsAvailable, PASN_Sequence);
    05009 #endif
    05010   public:
    05011     H225_CallsAvailable(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05012
    05013     enum OptionalFields {
    05014       e_group,
    05015       e_carrier
    05016     };
    05017
    05018     PASN_Integer m_calls;
    05019     PASN_IA5String m_group;
    05020     H225_CarrierInfo m_carrier;
    05021
    05022     PINDEX GetDataLength() const;
    05023     PBoolean Decode(PASN_Stream & strm);
    05024     void Encode(PASN_Stream & strm) const;
    05025 #ifndef PASN_NOPRINTON
    05026     void PrintOn(ostream & strm) const;
    05027 #endif
    05028     Comparison Compare(const PObject & obj) const;
    05029     PObject * Clone() const;
    05030 };
    05031
    05032
    05033 //
    05034 // CicInfo
    05035 //
    05036
    05037 class H225_CicInfo : public PASN_Sequence
    05038 {
    05039 #ifndef PASN_LEANANDMEAN
    05040     PCLASSINFO(H225_CicInfo, PASN_Sequence);
    05041 #endif
    05042   public:
    05043     H225_CicInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05044
    05045     H225_CicInfo_cic m_cic;
    05046     PASN_OctetString m_pointCode;
    05047
    05048     PINDEX GetDataLength() const;
    05049     PBoolean Decode(PASN_Stream & strm);
    05050     void Encode(PASN_Stream & strm) const;
    05051 #ifndef PASN_NOPRINTON
    05052     void PrintOn(ostream & strm) const;
    05053 #endif
    05054     Comparison Compare(const PObject & obj) const;
    05055     PObject * Clone() const;
    05056 };
    05057
    05058
    05059 //
    05060 // GroupID
    05061 //
    05062
    05063 class H225_GroupID : public PASN_Sequence
    05064 {
    05065 #ifndef PASN_LEANANDMEAN
    05066     PCLASSINFO(H225_GroupID, PASN_Sequence);
    05067 #endif
    05068   public:
    05069     H225_GroupID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05070
    05071     enum OptionalFields {
    05072       e_member
    05073     };
    05074
    05075     H225_GroupID_member m_member;
    05076     PASN_IA5String m_group;
    05077
    05078     PINDEX GetDataLength() const;
    05079     PBoolean Decode(PASN_Stream & strm);
    05080     void Encode(PASN_Stream & strm) const;
    05081 #ifndef PASN_NOPRINTON
    05082     void PrintOn(ostream & strm) const;
    05083 #endif
    05084     Comparison Compare(const PObject & obj) const;
    05085     PObject * Clone() const;
    05086 };
    05087
    05088
    05089 //
    05090 // ServiceControlSession
    05091 //
    05092
    05093 class H225_ServiceControlSession : public PASN_Sequence
    05094 {
    05095 #ifndef PASN_LEANANDMEAN
    05096     PCLASSINFO(H225_ServiceControlSession, PASN_Sequence);
    05097 #endif
    05098   public:
    05099     H225_ServiceControlSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05100
    05101     enum OptionalFields {
    05102       e_contents
    05103     };
    05104
    05105     PASN_Integer m_sessionId;
    05106     H225_ServiceControlDescriptor m_contents;
    05107     H225_ServiceControlSession_reason m_reason;
    05108
    05109     PINDEX GetDataLength() const;
    05110     PBoolean Decode(PASN_Stream & strm);
    05111     void Encode(PASN_Stream & strm) const;
    05112 #ifndef PASN_NOPRINTON
    05113     void PrintOn(ostream & strm) const;
    05114 #endif
    05115     Comparison Compare(const PObject & obj) const;
    05116     PObject * Clone() const;
    05117 };
    05118
    05119
    05120 //
    05121 // RasUsageInfoTypes
    05122 //
    05123
    05124 class H225_RasUsageInfoTypes : public PASN_Sequence
    05125 {
    05126 #ifndef PASN_LEANANDMEAN
    05127     PCLASSINFO(H225_RasUsageInfoTypes, PASN_Sequence);
    05128 #endif
    05129   public:
    05130     H225_RasUsageInfoTypes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05131
    05132     enum OptionalFields {
    05133       e_startTime,
    05134       e_endTime,
    05135       e_terminationCause
    05136     };
    05137
    05138     H225_ArrayOf_NonStandardParameter m_nonStandardUsageTypes;
    05139     PASN_Null m_startTime;
    05140     PASN_Null m_endTime;
    05141     PASN_Null m_terminationCause;
    05142
    05143     PINDEX GetDataLength() const;
    05144     PBoolean Decode(PASN_Stream & strm);
    05145     void Encode(PASN_Stream & strm) const;
    05146 #ifndef PASN_NOPRINTON
    05147     void PrintOn(ostream & strm) const;
    05148 #endif
    05149     Comparison Compare(const PObject & obj) const;
    05150     PObject * Clone() const;
    05151 };
    05152
    05153
    05154 //
    05155 // RasUsageSpecification
    05156 //
    05157
    05158 class H225_RasUsageSpecification : public PASN_Sequence
    05159 {
    05160 #ifndef PASN_LEANANDMEAN
    05161     PCLASSINFO(H225_RasUsageSpecification, PASN_Sequence);
    05162 #endif
    05163   public:
    05164     H225_RasUsageSpecification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05165
    05166     enum OptionalFields {
    05167       e_callStartingPoint
    05168     };
    05169
    05170     H225_RasUsageSpecification_when m_when;
    05171     H225_RasUsageSpecification_callStartingPoint m_callStartingPoint;
    05172     H225_RasUsageInfoTypes m_required;
    05173
    05174     PINDEX GetDataLength() const;
    05175     PBoolean Decode(PASN_Stream & strm);
    05176     void Encode(PASN_Stream & strm) const;
    05177 #ifndef PASN_NOPRINTON
    05178     void PrintOn(ostream & strm) const;
    05179 #endif
    05180     Comparison Compare(const PObject & obj) const;
    05181     PObject * Clone() const;
    05182 };
    05183
    05184
    05185 //
    05186 // RasUsageInformation
    05187 //
    05188
    05189 class H225_RasUsageInformation : public PASN_Sequence
    05190 {
    05191 #ifndef PASN_LEANANDMEAN
    05192     PCLASSINFO(H225_RasUsageInformation, PASN_Sequence);
    05193 #endif
    05194   public:
    05195     H225_RasUsageInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05196
    05197     enum OptionalFields {
    05198       e_alertingTime,
    05199       e_connectTime,
    05200       e_endTime
    05201     };
    05202
    05203     H225_ArrayOf_NonStandardParameter m_nonStandardUsageFields;
    05204     H235_TimeStamp m_alertingTime;
    05205     H235_TimeStamp m_connectTime;
    05206     H235_TimeStamp m_endTime;
    05207
    05208     PINDEX GetDataLength() const;
    05209     PBoolean Decode(PASN_Stream & strm);
    05210     void Encode(PASN_Stream & strm) const;
    05211 #ifndef PASN_NOPRINTON
    05212     void PrintOn(ostream & strm) const;
    05213 #endif
    05214     Comparison Compare(const PObject & obj) const;
    05215     PObject * Clone() const;
    05216 };
    05217
    05218
    05219 //
    05220 // BandwidthDetails
    05221 //
    05222
    05223 class H225_BandwidthDetails : public PASN_Sequence
    05224 {
    05225 #ifndef PASN_LEANANDMEAN
    05226     PCLASSINFO(H225_BandwidthDetails, PASN_Sequence);
    05227 #endif
    05228   public:
    05229     H225_BandwidthDetails(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05230
    05231     PASN_Boolean m_sender;
    05232     PASN_Boolean m_multicast;
    05233     H225_BandWidth m_bandwidth;
    05234     H225_TransportChannelInfo m_rtcpAddresses;
    05235
    05236     PINDEX GetDataLength() const;
    05237     PBoolean Decode(PASN_Stream & strm);
    05238     void Encode(PASN_Stream & strm) const;
    05239 #ifndef PASN_NOPRINTON
    05240     void PrintOn(ostream & strm) const;
    05241 #endif
    05242     Comparison Compare(const PObject & obj) const;
    05243     PObject * Clone() const;
    05244 };
    05245
    05246
    05247 //
    05248 // CallCreditServiceControl
    05249 //
    05250
    05251 class H225_CallCreditServiceControl : public PASN_Sequence
    05252 {
    05253 #ifndef PASN_LEANANDMEAN
    05254     PCLASSINFO(H225_CallCreditServiceControl, PASN_Sequence);
    05255 #endif
    05256   public:
    05257     H225_CallCreditServiceControl(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05258
    05259     enum OptionalFields {
    05260       e_amountString,
    05261       e_billingMode,
    05262       e_callDurationLimit,
    05263       e_enforceCallDurationLimit,
    05264       e_callStartingPoint
    05265     };
    05266
    05267     PASN_BMPString m_amountString;
    05268     H225_CallCreditServiceControl_billingMode m_billingMode;
    05269     PASN_Integer m_callDurationLimit;
    05270     PASN_Boolean m_enforceCallDurationLimit;
    05271     H225_CallCreditServiceControl_callStartingPoint m_callStartingPoint;
    05272
    05273     PINDEX GetDataLength() const;
    05274     PBoolean Decode(PASN_Stream & strm);
    05275     void Encode(PASN_Stream & strm) const;
    05276 #ifndef PASN_NOPRINTON
    05277     void PrintOn(ostream & strm) const;
    05278 #endif
    05279     Comparison Compare(const PObject & obj) const;
    05280     PObject * Clone() const;
    05281 };
    05282
    05283
    05284 //
    05285 // GenericData
    05286 //
    05287
    05288 class H225_GenericData : public PASN_Sequence
    05289 {
    05290 #ifndef PASN_LEANANDMEAN
    05291     PCLASSINFO(H225_GenericData, PASN_Sequence);
    05292 #endif
    05293   public:
    05294     H225_GenericData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05295
    05296     enum OptionalFields {
    05297       e_parameters
    05298     };
    05299
    05300     H225_GenericIdentifier m_id;
    05301     H225_ArrayOf_EnumeratedParameter m_parameters;
    05302
    05303     PINDEX GetDataLength() const;
    05304     PBoolean Decode(PASN_Stream & strm);
    05305     void Encode(PASN_Stream & strm) const;
    05306 #ifndef PASN_NOPRINTON
    05307     void PrintOn(ostream & strm) const;
    05308 #endif
    05309     Comparison Compare(const PObject & obj) const;
    05310     PObject * Clone() const;
    05311 };
    05312
    05313
    05314 //
    05315 // EnumeratedParameter
    05316 //
    05317
    05318 class H225_EnumeratedParameter : public PASN_Sequence
    05319 {
    05320 #ifndef PASN_LEANANDMEAN
    05321     PCLASSINFO(H225_EnumeratedParameter, PASN_Sequence);
    05322 #endif
    05323   public:
    05324     H225_EnumeratedParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05325
    05326     enum OptionalFields {
    05327       e_content
    05328     };
    05329
    05330     H225_GenericIdentifier m_id;
    05331     H225_Content m_content;
    05332
    05333     PINDEX GetDataLength() const;
    05334     PBoolean Decode(PASN_Stream & strm);
    05335     void Encode(PASN_Stream & strm) const;
    05336 #ifndef PASN_NOPRINTON
    05337     void PrintOn(ostream & strm) const;
    05338 #endif
    05339     Comparison Compare(const PObject & obj) const;
    05340     PObject * Clone() const;
    05341 };
    05342
    05343
    05344 //
    05345 // FeatureSet
    05346 //
    05347
    05348 class H225_FeatureSet : public PASN_Sequence
    05349 {
    05350 #ifndef PASN_LEANANDMEAN
    05351     PCLASSINFO(H225_FeatureSet, PASN_Sequence);
    05352 #endif
    05353   public:
    05354     H225_FeatureSet(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05355
    05356     enum OptionalFields {
    05357       e_neededFeatures,
    05358       e_desiredFeatures,
    05359       e_supportedFeatures
    05360     };
    05361
    05362     PASN_Boolean m_replacementFeatureSet;
    05363     H225_ArrayOf_FeatureDescriptor m_neededFeatures;
    05364     H225_ArrayOf_FeatureDescriptor m_desiredFeatures;
    05365     H225_ArrayOf_FeatureDescriptor m_supportedFeatures;
    05366
    05367     PINDEX GetDataLength() const;
    05368     PBoolean Decode(PASN_Stream & strm);
    05369     void Encode(PASN_Stream & strm) const;
    05370 #ifndef PASN_NOPRINTON
    05371     void PrintOn(ostream & strm) const;
    05372 #endif
    05373     Comparison Compare(const PObject & obj) const;
    05374     PObject * Clone() const;
    05375 };
    05376
    05377
    05378 //
    05379 // RTPSession
    05380 //
    05381
    05382 class H225_RTPSession : public PASN_Sequence
    05383 {
    05384 #ifndef PASN_LEANANDMEAN
    05385     PCLASSINFO(H225_RTPSession, PASN_Sequence);
    05386 #endif
    05387   public:
    05388     H225_RTPSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05389
    05390     enum OptionalFields {
    05391       e_multicast,
    05392       e_bandwidth
    05393     };
    05394
    05395     H225_TransportChannelInfo m_rtpAddress;
    05396     H225_TransportChannelInfo m_rtcpAddress;
    05397     PASN_PrintableString m_cname;
    05398     PASN_Integer m_ssrc;
    05399     PASN_Integer m_sessionId;
    05400     H225_RTPSession_associatedSessionIds m_associatedSessionIds;
    05401     PASN_Null m_multicast;
    05402     H225_BandWidth m_bandwidth;
    05403
    05404     PINDEX GetDataLength() const;
    05405     PBoolean Decode(PASN_Stream & strm);
    05406     void Encode(PASN_Stream & strm) const;
    05407 #ifndef PASN_NOPRINTON
    05408     void PrintOn(ostream & strm) const;
    05409 #endif
    05410     Comparison Compare(const PObject & obj) const;
    05411     PObject * Clone() const;
    05412 };
    05413
    05414
    05415 //
    05416 // GatekeeperConfirm
    05417 //
    05418
    05419 class H225_GatekeeperConfirm : public PASN_Sequence
    05420 {
    05421 #ifndef PASN_LEANANDMEAN
    05422     PCLASSINFO(H225_GatekeeperConfirm, PASN_Sequence);
    05423 #endif
    05424   public:
    05425     H225_GatekeeperConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05426
    05427     enum OptionalFields {
    05428       e_nonStandardData,
    05429       e_gatekeeperIdentifier,
    05430       e_alternateGatekeeper,
    05431       e_authenticationMode,
    05432       e_tokens,
    05433       e_cryptoTokens,
    05434       e_algorithmOID,
    05435       e_integrity,
    05436       e_integrityCheckValue,
    05437       e_featureSet,
    05438       e_genericData,
    05439       e_assignedGatekeeper,
    05440       e_rehomingModel
    05441     };
    05442
    05443     H225_RequestSeqNum m_requestSeqNum;
    05444     H225_ProtocolIdentifier m_protocolIdentifier;
    05445     H225_NonStandardParameter m_nonStandardData;
    05446     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    05447     H225_TransportAddress m_rasAddress;
    05448     H225_ArrayOf_AlternateGK m_alternateGatekeeper;
    05449     H235_AuthenticationMechanism m_authenticationMode;
    05450     H225_ArrayOf_ClearToken m_tokens;
    05451     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05452     PASN_ObjectId m_algorithmOID;
    05453     H225_ArrayOf_IntegrityMechanism m_integrity;
    05454     H225_ICV m_integrityCheckValue;
    05455     H225_FeatureSet m_featureSet;
    05456     H225_ArrayOf_GenericData m_genericData;
    05457     H225_AlternateGK m_assignedGatekeeper;
    05458     H225_RehomingModel m_rehomingModel;
    05459
    05460     PINDEX GetDataLength() const;
    05461     PBoolean Decode(PASN_Stream & strm);
    05462     void Encode(PASN_Stream & strm) const;
    05463 #ifndef PASN_NOPRINTON
    05464     void PrintOn(ostream & strm) const;
    05465 #endif
    05466     Comparison Compare(const PObject & obj) const;
    05467     PObject * Clone() const;
    05468 };
    05469
    05470
    05471 //
    05472 // GatekeeperReject
    05473 //
    05474
    05475 class H225_GatekeeperReject : public PASN_Sequence
    05476 {
    05477 #ifndef PASN_LEANANDMEAN
    05478     PCLASSINFO(H225_GatekeeperReject, PASN_Sequence);
    05479 #endif
    05480   public:
    05481     H225_GatekeeperReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05482
    05483     enum OptionalFields {
    05484       e_nonStandardData,
    05485       e_gatekeeperIdentifier,
    05486       e_altGKInfo,
    05487       e_tokens,
    05488       e_cryptoTokens,
    05489       e_integrityCheckValue,
    05490       e_featureSet,
    05491       e_genericData
    05492     };
    05493
    05494     H225_RequestSeqNum m_requestSeqNum;
    05495     H225_ProtocolIdentifier m_protocolIdentifier;
    05496     H225_NonStandardParameter m_nonStandardData;
    05497     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    05498     H225_GatekeeperRejectReason m_rejectReason;
    05499     H225_AltGKInfo m_altGKInfo;
    05500     H225_ArrayOf_ClearToken m_tokens;
    05501     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05502     H225_ICV m_integrityCheckValue;
    05503     H225_FeatureSet m_featureSet;
    05504     H225_ArrayOf_GenericData m_genericData;
    05505
    05506     PINDEX GetDataLength() const;
    05507     PBoolean Decode(PASN_Stream & strm);
    05508     void Encode(PASN_Stream & strm) const;
    05509 #ifndef PASN_NOPRINTON
    05510     void PrintOn(ostream & strm) const;
    05511 #endif
    05512     Comparison Compare(const PObject & obj) const;
    05513     PObject * Clone() const;
    05514 };
    05515
    05516
    05517 //
    05518 // RegistrationReject
    05519 //
    05520
    05521 class H225_RegistrationReject : public PASN_Sequence
    05522 {
    05523 #ifndef PASN_LEANANDMEAN
    05524     PCLASSINFO(H225_RegistrationReject, PASN_Sequence);
    05525 #endif
    05526   public:
    05527     H225_RegistrationReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05528
    05529     enum OptionalFields {
    05530       e_nonStandardData,
    05531       e_gatekeeperIdentifier,
    05532       e_altGKInfo,
    05533       e_tokens,
    05534       e_cryptoTokens,
    05535       e_integrityCheckValue,
    05536       e_featureSet,
    05537       e_genericData,
    05538       e_assignedGatekeeper
    05539     };
    05540
    05541     H225_RequestSeqNum m_requestSeqNum;
    05542     H225_ProtocolIdentifier m_protocolIdentifier;
    05543     H225_NonStandardParameter m_nonStandardData;
    05544     H225_RegistrationRejectReason m_rejectReason;
    05545     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    05546     H225_AltGKInfo m_altGKInfo;
    05547     H225_ArrayOf_ClearToken m_tokens;
    05548     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05549     H225_ICV m_integrityCheckValue;
    05550     H225_FeatureSet m_featureSet;
    05551     H225_ArrayOf_GenericData m_genericData;
    05552     H225_AlternateGK m_assignedGatekeeper;
    05553
    05554     PINDEX GetDataLength() const;
    05555     PBoolean Decode(PASN_Stream & strm);
    05556     void Encode(PASN_Stream & strm) const;
    05557 #ifndef PASN_NOPRINTON
    05558     void PrintOn(ostream & strm) const;
    05559 #endif
    05560     Comparison Compare(const PObject & obj) const;
    05561     PObject * Clone() const;
    05562 };
    05563
    05564
    05565 //
    05566 // UnregistrationRequest
    05567 //
    05568
    05569 class H225_UnregistrationRequest : public PASN_Sequence
    05570 {
    05571 #ifndef PASN_LEANANDMEAN
    05572     PCLASSINFO(H225_UnregistrationRequest, PASN_Sequence);
    05573 #endif
    05574   public:
    05575     H225_UnregistrationRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05576
    05577     enum OptionalFields {
    05578       e_endpointAlias,
    05579       e_nonStandardData,
    05580       e_endpointIdentifier,
    05581       e_alternateEndpoints,
    05582       e_gatekeeperIdentifier,
    05583       e_tokens,
    05584       e_cryptoTokens,
    05585       e_integrityCheckValue,
    05586       e_reason,
    05587       e_endpointAliasPattern,
    05588       e_supportedPrefixes,
    05589       e_alternateGatekeeper,
    05590       e_genericData,
    05591       e_assignedGatekeeper
    05592     };
    05593
    05594     H225_RequestSeqNum m_requestSeqNum;
    05595     H225_ArrayOf_TransportAddress m_callSignalAddress;
    05596     H225_ArrayOf_AliasAddress m_endpointAlias;
    05597     H225_NonStandardParameter m_nonStandardData;
    05598     H225_EndpointIdentifier m_endpointIdentifier;
    05599     H225_ArrayOf_Endpoint m_alternateEndpoints;
    05600     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    05601     H225_ArrayOf_ClearToken m_tokens;
    05602     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05603     H225_ICV m_integrityCheckValue;
    05604     H225_UnregRequestReason m_reason;
    05605     H225_ArrayOf_AddressPattern m_endpointAliasPattern;
    05606     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    05607     H225_ArrayOf_AlternateGK m_alternateGatekeeper;
    05608     H225_ArrayOf_GenericData m_genericData;
    05609     H225_AlternateGK m_assignedGatekeeper;
    05610
    05611     PINDEX GetDataLength() const;
    05612     PBoolean Decode(PASN_Stream & strm);
    05613     void Encode(PASN_Stream & strm) const;
    05614 #ifndef PASN_NOPRINTON
    05615     void PrintOn(ostream & strm) const;
    05616 #endif
    05617     Comparison Compare(const PObject & obj) const;
    05618     PObject * Clone() const;
    05619 };
    05620
    05621
    05622 //
    05623 // UnregistrationConfirm
    05624 //
    05625
    05626 class H225_UnregistrationConfirm : public PASN_Sequence
    05627 {
    05628 #ifndef PASN_LEANANDMEAN
    05629     PCLASSINFO(H225_UnregistrationConfirm, PASN_Sequence);
    05630 #endif
    05631   public:
    05632     H225_UnregistrationConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05633
    05634     enum OptionalFields {
    05635       e_nonStandardData,
    05636       e_tokens,
    05637       e_cryptoTokens,
    05638       e_integrityCheckValue,
    05639       e_genericData,
    05640       e_assignedGatekeeper
    05641     };
    05642
    05643     H225_RequestSeqNum m_requestSeqNum;
    05644     H225_NonStandardParameter m_nonStandardData;
    05645     H225_ArrayOf_ClearToken m_tokens;
    05646     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05647     H225_ICV m_integrityCheckValue;
    05648     H225_ArrayOf_GenericData m_genericData;
    05649     H225_AlternateGK m_assignedGatekeeper;
    05650
    05651     PINDEX GetDataLength() const;
    05652     PBoolean Decode(PASN_Stream & strm);
    05653     void Encode(PASN_Stream & strm) const;
    05654 #ifndef PASN_NOPRINTON
    05655     void PrintOn(ostream & strm) const;
    05656 #endif
    05657     Comparison Compare(const PObject & obj) const;
    05658     PObject * Clone() const;
    05659 };
    05660
    05661
    05662 //
    05663 // UnregistrationReject
    05664 //
    05665
    05666 class H225_UnregistrationReject : public PASN_Sequence
    05667 {
    05668 #ifndef PASN_LEANANDMEAN
    05669     PCLASSINFO(H225_UnregistrationReject, PASN_Sequence);
    05670 #endif
    05671   public:
    05672     H225_UnregistrationReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05673
    05674     enum OptionalFields {
    05675       e_nonStandardData,
    05676       e_altGKInfo,
    05677       e_tokens,
    05678       e_cryptoTokens,
    05679       e_integrityCheckValue,
    05680       e_genericData
    05681     };
    05682
    05683     H225_RequestSeqNum m_requestSeqNum;
    05684     H225_UnregRejectReason m_rejectReason;
    05685     H225_NonStandardParameter m_nonStandardData;
    05686     H225_AltGKInfo m_altGKInfo;
    05687     H225_ArrayOf_ClearToken m_tokens;
    05688     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05689     H225_ICV m_integrityCheckValue;
    05690     H225_ArrayOf_GenericData m_genericData;
    05691
    05692     PINDEX GetDataLength() const;
    05693     PBoolean Decode(PASN_Stream & strm);
    05694     void Encode(PASN_Stream & strm) const;
    05695 #ifndef PASN_NOPRINTON
    05696     void PrintOn(ostream & strm) const;
    05697 #endif
    05698     Comparison Compare(const PObject & obj) const;
    05699     PObject * Clone() const;
    05700 };
    05701
    05702
    05703 //
    05704 // AdmissionReject
    05705 //
    05706
    05707 class H225_AdmissionReject : public PASN_Sequence
    05708 {
    05709 #ifndef PASN_LEANANDMEAN
    05710     PCLASSINFO(H225_AdmissionReject, PASN_Sequence);
    05711 #endif
    05712   public:
    05713     H225_AdmissionReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05714
    05715     enum OptionalFields {
    05716       e_nonStandardData,
    05717       e_altGKInfo,
    05718       e_tokens,
    05719       e_cryptoTokens,
    05720       e_callSignalAddress,
    05721       e_integrityCheckValue,
    05722       e_serviceControl,
    05723       e_featureSet,
    05724       e_genericData,
    05725       e_assignedGatekeeper
    05726     };
    05727
    05728     H225_RequestSeqNum m_requestSeqNum;
    05729     H225_AdmissionRejectReason m_rejectReason;
    05730     H225_NonStandardParameter m_nonStandardData;
    05731     H225_AltGKInfo m_altGKInfo;
    05732     H225_ArrayOf_ClearToken m_tokens;
    05733     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05734     H225_ArrayOf_TransportAddress m_callSignalAddress;
    05735     H225_ICV m_integrityCheckValue;
    05736     H225_ArrayOf_ServiceControlSession m_serviceControl;
    05737     H225_FeatureSet m_featureSet;
    05738     H225_ArrayOf_GenericData m_genericData;
    05739     H225_AlternateGK m_assignedGatekeeper;
    05740
    05741     PINDEX GetDataLength() const;
    05742     PBoolean Decode(PASN_Stream & strm);
    05743     void Encode(PASN_Stream & strm) const;
    05744 #ifndef PASN_NOPRINTON
    05745     void PrintOn(ostream & strm) const;
    05746 #endif
    05747     Comparison Compare(const PObject & obj) const;
    05748     PObject * Clone() const;
    05749 };
    05750
    05751
    05752 //
    05753 // BandwidthReject
    05754 //
    05755
    05756 class H225_BandwidthReject : public PASN_Sequence
    05757 {
    05758 #ifndef PASN_LEANANDMEAN
    05759     PCLASSINFO(H225_BandwidthReject, PASN_Sequence);
    05760 #endif
    05761   public:
    05762     H225_BandwidthReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05763
    05764     enum OptionalFields {
    05765       e_nonStandardData,
    05766       e_altGKInfo,
    05767       e_tokens,
    05768       e_cryptoTokens,
    05769       e_integrityCheckValue,
    05770       e_genericData
    05771     };
    05772
    05773     H225_RequestSeqNum m_requestSeqNum;
    05774     H225_BandRejectReason m_rejectReason;
    05775     H225_BandWidth m_allowedBandWidth;
    05776     H225_NonStandardParameter m_nonStandardData;
    05777     H225_AltGKInfo m_altGKInfo;
    05778     H225_ArrayOf_ClearToken m_tokens;
    05779     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05780     H225_ICV m_integrityCheckValue;
    05781     H225_ArrayOf_GenericData m_genericData;
    05782
    05783     PINDEX GetDataLength() const;
    05784     PBoolean Decode(PASN_Stream & strm);
    05785     void Encode(PASN_Stream & strm) const;
    05786 #ifndef PASN_NOPRINTON
    05787     void PrintOn(ostream & strm) const;
    05788 #endif
    05789     Comparison Compare(const PObject & obj) const;
    05790     PObject * Clone() const;
    05791 };
    05792
    05793
    05794 //
    05795 // LocationReject
    05796 //
    05797
    05798 class H225_LocationReject : public PASN_Sequence
    05799 {
    05800 #ifndef PASN_LEANANDMEAN
    05801     PCLASSINFO(H225_LocationReject, PASN_Sequence);
    05802 #endif
    05803   public:
    05804     H225_LocationReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05805
    05806     enum OptionalFields {
    05807       e_nonStandardData,
    05808       e_altGKInfo,
    05809       e_tokens,
    05810       e_cryptoTokens,
    05811       e_integrityCheckValue,
    05812       e_featureSet,
    05813       e_genericData,
    05814       e_serviceControl
    05815     };
    05816
    05817     H225_RequestSeqNum m_requestSeqNum;
    05818     H225_LocationRejectReason m_rejectReason;
    05819     H225_NonStandardParameter m_nonStandardData;
    05820     H225_AltGKInfo m_altGKInfo;
    05821     H225_ArrayOf_ClearToken m_tokens;
    05822     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05823     H225_ICV m_integrityCheckValue;
    05824     H225_FeatureSet m_featureSet;
    05825     H225_ArrayOf_GenericData m_genericData;
    05826     H225_ArrayOf_ServiceControlSession m_serviceControl;
    05827
    05828     PINDEX GetDataLength() const;
    05829     PBoolean Decode(PASN_Stream & strm);
    05830     void Encode(PASN_Stream & strm) const;
    05831 #ifndef PASN_NOPRINTON
    05832     void PrintOn(ostream & strm) const;
    05833 #endif
    05834     Comparison Compare(const PObject & obj) const;
    05835     PObject * Clone() const;
    05836 };
    05837
    05838
    05839 //
    05840 // DisengageReject
    05841 //
    05842
    05843 class H225_DisengageReject : public PASN_Sequence
    05844 {
    05845 #ifndef PASN_LEANANDMEAN
    05846     PCLASSINFO(H225_DisengageReject, PASN_Sequence);
    05847 #endif
    05848   public:
    05849     H225_DisengageReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05850
    05851     enum OptionalFields {
    05852       e_nonStandardData,
    05853       e_altGKInfo,
    05854       e_tokens,
    05855       e_cryptoTokens,
    05856       e_integrityCheckValue,
    05857       e_genericData
    05858     };
    05859
    05860     H225_RequestSeqNum m_requestSeqNum;
    05861     H225_DisengageRejectReason m_rejectReason;
    05862     H225_NonStandardParameter m_nonStandardData;
    05863     H225_AltGKInfo m_altGKInfo;
    05864     H225_ArrayOf_ClearToken m_tokens;
    05865     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05866     H225_ICV m_integrityCheckValue;
    05867     H225_ArrayOf_GenericData m_genericData;
    05868
    05869     PINDEX GetDataLength() const;
    05870     PBoolean Decode(PASN_Stream & strm);
    05871     void Encode(PASN_Stream & strm) const;
    05872 #ifndef PASN_NOPRINTON
    05873     void PrintOn(ostream & strm) const;
    05874 #endif
    05875     Comparison Compare(const PObject & obj) const;
    05876     PObject * Clone() const;
    05877 };
    05878
    05879
    05880 //
    05881 // InfoRequest
    05882 //
    05883
    05884 class H225_InfoRequest : public PASN_Sequence
    05885 {
    05886 #ifndef PASN_LEANANDMEAN
    05887     PCLASSINFO(H225_InfoRequest, PASN_Sequence);
    05888 #endif
    05889   public:
    05890     H225_InfoRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05891
    05892     enum OptionalFields {
    05893       e_nonStandardData,
    05894       e_replyAddress,
    05895       e_callIdentifier,
    05896       e_tokens,
    05897       e_cryptoTokens,
    05898       e_integrityCheckValue,
    05899       e_uuiesRequested,
    05900       e_callLinkage,
    05901       e_usageInfoRequested,
    05902       e_segmentedResponseSupported,
    05903       e_nextSegmentRequested,
    05904       e_capacityInfoRequested,
    05905       e_genericData,
    05906       e_assignedGatekeeper
    05907     };
    05908
    05909     H225_RequestSeqNum m_requestSeqNum;
    05910     H225_CallReferenceValue m_callReferenceValue;
    05911     H225_NonStandardParameter m_nonStandardData;
    05912     H225_TransportAddress m_replyAddress;
    05913     H225_CallIdentifier m_callIdentifier;
    05914     H225_ArrayOf_ClearToken m_tokens;
    05915     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05916     H225_ICV m_integrityCheckValue;
    05917     H225_UUIEsRequested m_uuiesRequested;
    05918     H225_CallLinkage m_callLinkage;
    05919     H225_RasUsageInfoTypes m_usageInfoRequested;
    05920     PASN_Null m_segmentedResponseSupported;
    05921     PASN_Integer m_nextSegmentRequested;
    05922     PASN_Null m_capacityInfoRequested;
    05923     H225_ArrayOf_GenericData m_genericData;
    05924     H225_AlternateGK m_assignedGatekeeper;
    05925
    05926     PINDEX GetDataLength() const;
    05927     PBoolean Decode(PASN_Stream & strm);
    05928     void Encode(PASN_Stream & strm) const;
    05929 #ifndef PASN_NOPRINTON
    05930     void PrintOn(ostream & strm) const;
    05931 #endif
    05932     Comparison Compare(const PObject & obj) const;
    05933     PObject * Clone() const;
    05934 };
    05935
    05936
    05937 //
    05938 // InfoRequestAck
    05939 //
    05940
    05941 class H225_InfoRequestAck : public PASN_Sequence
    05942 {
    05943 #ifndef PASN_LEANANDMEAN
    05944     PCLASSINFO(H225_InfoRequestAck, PASN_Sequence);
    05945 #endif
    05946   public:
    05947     H225_InfoRequestAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05948
    05949     enum OptionalFields {
    05950       e_nonStandardData,
    05951       e_tokens,
    05952       e_cryptoTokens,
    05953       e_integrityCheckValue
    05954     };
    05955
    05956     H225_RequestSeqNum m_requestSeqNum;
    05957     H225_NonStandardParameter m_nonStandardData;
    05958     H225_ArrayOf_ClearToken m_tokens;
    05959     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05960     H225_ICV m_integrityCheckValue;
    05961
    05962     PINDEX GetDataLength() const;
    05963     PBoolean Decode(PASN_Stream & strm);
    05964     void Encode(PASN_Stream & strm) const;
    05965 #ifndef PASN_NOPRINTON
    05966     void PrintOn(ostream & strm) const;
    05967 #endif
    05968     Comparison Compare(const PObject & obj) const;
    05969     PObject * Clone() const;
    05970 };
    05971
    05972
    05973 //
    05974 // InfoRequestNak
    05975 //
    05976
    05977 class H225_InfoRequestNak : public PASN_Sequence
    05978 {
    05979 #ifndef PASN_LEANANDMEAN
    05980     PCLASSINFO(H225_InfoRequestNak, PASN_Sequence);
    05981 #endif
    05982   public:
    05983     H225_InfoRequestNak(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05984
    05985     enum OptionalFields {
    05986       e_nonStandardData,
    05987       e_altGKInfo,
    05988       e_tokens,
    05989       e_cryptoTokens,
    05990       e_integrityCheckValue
    05991     };
    05992
    05993     H225_RequestSeqNum m_requestSeqNum;
    05994     H225_NonStandardParameter m_nonStandardData;
    05995     H225_InfoRequestNakReason m_nakReason;
    05996     H225_AltGKInfo m_altGKInfo;
    05997     H225_ArrayOf_ClearToken m_tokens;
    05998     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    05999     H225_ICV m_integrityCheckValue;
    06000
    06001     PINDEX GetDataLength() const;
    06002     PBoolean Decode(PASN_Stream & strm);
    06003     void Encode(PASN_Stream & strm) const;
    06004 #ifndef PASN_NOPRINTON
    06005     void PrintOn(ostream & strm) const;
    06006 #endif
    06007     Comparison Compare(const PObject & obj) const;
    06008     PObject * Clone() const;
    06009 };
    06010
    06011
    06012 //
    06013 // NonStandardMessage
    06014 //
    06015
    06016 class H225_NonStandardMessage : public PASN_Sequence
    06017 {
    06018 #ifndef PASN_LEANANDMEAN
    06019     PCLASSINFO(H225_NonStandardMessage, PASN_Sequence);
    06020 #endif
    06021   public:
    06022     H225_NonStandardMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06023
    06024     enum OptionalFields {
    06025       e_tokens,
    06026       e_cryptoTokens,
    06027       e_integrityCheckValue,
    06028       e_featureSet,
    06029       e_genericData
    06030     };
    06031
    06032     H225_RequestSeqNum m_requestSeqNum;
    06033     H225_NonStandardParameter m_nonStandardData;
    06034     H225_ArrayOf_ClearToken m_tokens;
    06035     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    06036     H225_ICV m_integrityCheckValue;
    06037     H225_FeatureSet m_featureSet;
    06038     H225_ArrayOf_GenericData m_genericData;
    06039
    06040     PINDEX GetDataLength() const;
    06041     PBoolean Decode(PASN_Stream & strm);
    06042     void Encode(PASN_Stream & strm) const;
    06043 #ifndef PASN_NOPRINTON
    06044     void PrintOn(ostream & strm) const;
    06045 #endif
    06046     Comparison Compare(const PObject & obj) const;
    06047     PObject * Clone() const;
    06048 };
    06049
    06050
    06051 //
    06052 // UnknownMessageResponse
    06053 //
    06054
    06055 class H225_UnknownMessageResponse : public PASN_Sequence
    06056 {
    06057 #ifndef PASN_LEANANDMEAN
    06058     PCLASSINFO(H225_UnknownMessageResponse, PASN_Sequence);
    06059 #endif
    06060   public:
    06061     H225_UnknownMessageResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06062
    06063     enum OptionalFields {
    06064       e_tokens,
    06065       e_cryptoTokens,
    06066       e_integrityCheckValue,
    06067       e_messageNotUnderstood
    06068     };
    06069
    06070     H225_RequestSeqNum m_requestSeqNum;
    06071     H225_ArrayOf_ClearToken m_tokens;
    06072     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    06073     H225_ICV m_integrityCheckValue;
    06074     PASN_OctetString m_messageNotUnderstood;
    06075
    06076     PINDEX GetDataLength() const;
    06077     PBoolean Decode(PASN_Stream & strm);
    06078     void Encode(PASN_Stream & strm) const;
    06079 #ifndef PASN_NOPRINTON
    06080     void PrintOn(ostream & strm) const;
    06081 #endif
    06082     Comparison Compare(const PObject & obj) const;
    06083     PObject * Clone() const;
    06084 };
    06085
    06086
    06087 //
    06088 // RequestInProgress
    06089 //
    06090
    06091 class H225_RequestInProgress : public PASN_Sequence
    06092 {
    06093 #ifndef PASN_LEANANDMEAN
    06094     PCLASSINFO(H225_RequestInProgress, PASN_Sequence);
    06095 #endif
    06096   public:
    06097     H225_RequestInProgress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06098
    06099     enum OptionalFields {
    06100       e_nonStandardData,
    06101       e_tokens,
    06102       e_cryptoTokens,
    06103       e_integrityCheckValue
    06104     };
    06105
    06106     H225_RequestSeqNum m_requestSeqNum;
    06107     H225_NonStandardParameter m_nonStandardData;
    06108     H225_ArrayOf_ClearToken m_tokens;
    06109     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    06110     H225_ICV m_integrityCheckValue;
    06111     PASN_Integer m_delay;
    06112
    06113     PINDEX GetDataLength() const;
    06114     PBoolean Decode(PASN_Stream & strm);
    06115     void Encode(PASN_Stream & strm) const;
    06116 #ifndef PASN_NOPRINTON
    06117     void PrintOn(ostream & strm) const;
    06118 #endif
    06119     Comparison Compare(const PObject & obj) const;
    06120     PObject * Clone() const;
    06121 };
    06122
    06123
    06124 //
    06125 // ResourcesAvailableConfirm
    06126 //
    06127
    06128 class H225_ResourcesAvailableConfirm : public PASN_Sequence
    06129 {
    06130 #ifndef PASN_LEANANDMEAN
    06131     PCLASSINFO(H225_ResourcesAvailableConfirm, PASN_Sequence);
    06132 #endif
    06133   public:
    06134     H225_ResourcesAvailableConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06135
    06136     enum OptionalFields {
    06137       e_nonStandardData,
    06138       e_tokens,
    06139       e_cryptoTokens,
    06140       e_integrityCheckValue,
    06141       e_genericData
    06142     };
    06143
    06144     H225_RequestSeqNum m_requestSeqNum;
    06145     H225_ProtocolIdentifier m_protocolIdentifier;
    06146     H225_NonStandardParameter m_nonStandardData;
    06147     H225_ArrayOf_ClearToken m_tokens;
    06148     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    06149     H225_ICV m_integrityCheckValue;
    06150     H225_ArrayOf_GenericData m_genericData;
    06151
    06152     PINDEX GetDataLength() const;
    06153     PBoolean Decode(PASN_Stream & strm);
    06154     void Encode(PASN_Stream & strm) const;
    06155 #ifndef PASN_NOPRINTON
    06156     void PrintOn(ostream & strm) const;
    06157 #endif
    06158     Comparison Compare(const PObject & obj) const;
    06159     PObject * Clone() const;
    06160 };
    06161
    06162
    06163 //
    06164 // ServiceControlIndication
    06165 //
    06166
    06167 class H225_ServiceControlIndication : public PASN_Sequence
    06168 {
    06169 #ifndef PASN_LEANANDMEAN
    06170     PCLASSINFO(H225_ServiceControlIndication, PASN_Sequence);
    06171 #endif
    06172   public:
    06173     H225_ServiceControlIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06174
    06175     enum OptionalFields {
    06176       e_nonStandardData,
    06177       e_endpointIdentifier,
    06178       e_callSpecific,
    06179       e_tokens,
    06180       e_cryptoTokens,
    06181       e_integrityCheckValue,
    06182       e_featureSet,
    06183       e_genericData
    06184     };
    06185
    06186     H225_RequestSeqNum m_requestSeqNum;
    06187     H225_NonStandardParameter m_nonStandardData;
    06188     H225_ArrayOf_ServiceControlSession m_serviceControl;
    06189     H225_EndpointIdentifier m_endpointIdentifier;
    06190     H225_ServiceControlIndication_callSpecific m_callSpecific;
    06191     H225_ArrayOf_ClearToken m_tokens;
    06192     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    06193     H225_ICV m_integrityCheckValue;
    06194     H225_FeatureSet m_featureSet;
    06195     H225_ArrayOf_GenericData m_genericData;
    06196
    06197     PINDEX GetDataLength() const;
    06198     PBoolean Decode(PASN_Stream & strm);
    06199     void Encode(PASN_Stream & strm) const;
    06200 #ifndef PASN_NOPRINTON
    06201     void PrintOn(ostream & strm) const;
    06202 #endif
    06203     Comparison Compare(const PObject & obj) const;
    06204     PObject * Clone() const;
    06205 };
    06206
    06207
    06208 //
    06209 // ServiceControlResponse
    06210 //
    06211
    06212 class H225_ServiceControlResponse : public PASN_Sequence
    06213 {
    06214 #ifndef PASN_LEANANDMEAN
    06215     PCLASSINFO(H225_ServiceControlResponse, PASN_Sequence);
    06216 #endif
    06217   public:
    06218     H225_ServiceControlResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06219
    06220     enum OptionalFields {
    06221       e_result,
    06222       e_nonStandardData,
    06223       e_tokens,
    06224       e_cryptoTokens,
    06225       e_integrityCheckValue,
    06226       e_featureSet,
    06227       e_genericData
    06228     };
    06229
    06230     H225_RequestSeqNum m_requestSeqNum;
    06231     H225_ServiceControlResponse_result m_result;
    06232     H225_NonStandardParameter m_nonStandardData;
    06233     H225_ArrayOf_ClearToken m_tokens;
    06234     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    06235     H225_ICV m_integrityCheckValue;
    06236     H225_FeatureSet m_featureSet;
    06237     H225_ArrayOf_GenericData m_genericData;
    06238
    06239     PINDEX GetDataLength() const;
    06240     PBoolean Decode(PASN_Stream & strm);
    06241     void Encode(PASN_Stream & strm) const;
    06242 #ifndef PASN_NOPRINTON
    06243     void PrintOn(ostream & strm) const;
    06244 #endif
    06245     Comparison Compare(const PObject & obj) const;
    06246     PObject * Clone() const;
    06247 };
    06248
    06249
    06250 //
    06251 // H323-UU-PDU_tunnelledSignallingMessage
    06252 //
    06253
    06254 class H225_H323_UU_PDU_tunnelledSignallingMessage : public PASN_Sequence
    06255 {
    06256 #ifndef PASN_LEANANDMEAN
    06257     PCLASSINFO(H225_H323_UU_PDU_tunnelledSignallingMessage, PASN_Sequence);
    06258 #endif
    06259   public:
    06260     H225_H323_UU_PDU_tunnelledSignallingMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06261
    06262     enum OptionalFields {
    06263       e_tunnellingRequired,
    06264       e_nonStandardData
    06265     };
    06266
    06267     H225_TunnelledProtocol m_tunnelledProtocolID;
    06268     H225_ArrayOf_PASN_OctetString m_messageContent;
    06269     PASN_Null m_tunnellingRequired;
    06270     H225_NonStandardParameter m_nonStandardData;
    06271
    06272     PINDEX GetDataLength() const;
    06273     PBoolean Decode(PASN_Stream & strm);
    06274     void Encode(PASN_Stream & strm) const;
    06275 #ifndef PASN_NOPRINTON
    06276     void PrintOn(ostream & strm) const;
    06277 #endif
    06278     Comparison Compare(const PObject & obj) const;
    06279     PObject * Clone() const;
    06280 };
    06281
    06282
    06283 //
    06284 // TransportAddress_ipSourceRoute
    06285 //
    06286
    06287 class H225_TransportAddress_ipSourceRoute : public PASN_Sequence
    06288 {
    06289 #ifndef PASN_LEANANDMEAN
    06290     PCLASSINFO(H225_TransportAddress_ipSourceRoute, PASN_Sequence);
    06291 #endif
    06292   public:
    06293     H225_TransportAddress_ipSourceRoute(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06294
    06295     PASN_OctetString m_ip;
    06296     PASN_Integer m_port;
    06297     H225_TransportAddress_ipSourceRoute_route m_route;
    06298     H225_TransportAddress_ipSourceRoute_routing m_routing;
    06299
    06300     PINDEX GetDataLength() const;
    06301     PBoolean Decode(PASN_Stream & strm);
    06302     void Encode(PASN_Stream & strm) const;
    06303 #ifndef PASN_NOPRINTON
    06304     void PrintOn(ostream & strm) const;
    06305 #endif
    06306     Comparison Compare(const PObject & obj) const;
    06307     PObject * Clone() const;
    06308 };
    06309
    06310
    06311 //
    06312 // RegistrationConfirm_preGrantedARQ
    06313 //
    06314
    06315 class H225_RegistrationConfirm_preGrantedARQ : public PASN_Sequence
    06316 {
    06317 #ifndef PASN_LEANANDMEAN
    06318     PCLASSINFO(H225_RegistrationConfirm_preGrantedARQ, PASN_Sequence);
    06319 #endif
    06320   public:
    06321     H225_RegistrationConfirm_preGrantedARQ(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06322
    06323     enum OptionalFields {
    06324       e_irrFrequencyInCall,
    06325       e_totalBandwidthRestriction,
    06326       e_alternateTransportAddresses,
    06327       e_useSpecifiedTransport
    06328     };
    06329
    06330     PASN_Boolean m_makeCall;
    06331     PASN_Boolean m_useGKCallSignalAddressToMakeCall;
    06332     PASN_Boolean m_answerCall;
    06333     PASN_Boolean m_useGKCallSignalAddressToAnswer;
    06334     PASN_Integer m_irrFrequencyInCall;
    06335     H225_BandWidth m_totalBandwidthRestriction;
    06336     H225_AlternateTransportAddresses m_alternateTransportAddresses;
    06337     H225_UseSpecifiedTransport m_useSpecifiedTransport;
    06338
    06339     PINDEX GetDataLength() const;
    06340     PBoolean Decode(PASN_Stream & strm);
    06341     void Encode(PASN_Stream & strm) const;
    06342 #ifndef PASN_NOPRINTON
    06343     void PrintOn(ostream & strm) const;
    06344 #endif
    06345     Comparison Compare(const PObject & obj) const;
    06346     PObject * Clone() const;
    06347 };
    06348
    06349
    06350 //
    06351 // StimulusControl
    06352 //
    06353
    06354 class H225_StimulusControl : public PASN_Sequence
    06355 {
    06356 #ifndef PASN_LEANANDMEAN
    06357     PCLASSINFO(H225_StimulusControl, PASN_Sequence);
    06358 #endif
    06359   public:
    06360     H225_StimulusControl(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06361
    06362     enum OptionalFields {
    06363       e_nonStandard,
    06364       e_isText,
    06365       e_h248Message
    06366     };
    06367
    06368     H225_NonStandardParameter m_nonStandard;
    06369     PASN_Null m_isText;
    06370     PASN_OctetString m_h248Message;
    06371
    06372     PINDEX GetDataLength() const;
    06373     PBoolean Decode(PASN_Stream & strm);
    06374     void Encode(PASN_Stream & strm) const;
    06375 #ifndef PASN_NOPRINTON
    06376     void PrintOn(ostream & strm) const;
    06377 #endif
    06378     Comparison Compare(const PObject & obj) const;
    06379     PObject * Clone() const;
    06380 };
    06381
    06382
    06383 //
    06384 // ConferenceList
    06385 //
    06386
    06387 class H225_ConferenceList : public PASN_Sequence
    06388 {
    06389 #ifndef PASN_LEANANDMEAN
    06390     PCLASSINFO(H225_ConferenceList, PASN_Sequence);
    06391 #endif
    06392   public:
    06393     H225_ConferenceList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06394
    06395     enum OptionalFields {
    06396       e_conferenceID,
    06397       e_conferenceAlias,
    06398       e_nonStandardData
    06399     };
    06400
    06401     H225_ConferenceIdentifier m_conferenceID;
    06402     H225_AliasAddress m_conferenceAlias;
    06403     H225_NonStandardParameter m_nonStandardData;
    06404
    06405     PINDEX GetDataLength() const;
    06406     PBoolean Decode(PASN_Stream & strm);
    06407     void Encode(PASN_Stream & strm) const;
    06408 #ifndef PASN_NOPRINTON
    06409     void PrintOn(ostream & strm) const;
    06410 #endif
    06411     Comparison Compare(const PObject & obj) const;
    06412     PObject * Clone() const;
    06413 };
    06414
    06415
    06416 //
    06417 // GatewayInfo
    06418 //
    06419
    06420 class H225_GatewayInfo : public PASN_Sequence
    06421 {
    06422 #ifndef PASN_LEANANDMEAN
    06423     PCLASSINFO(H225_GatewayInfo, PASN_Sequence);
    06424 #endif
    06425   public:
    06426     H225_GatewayInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06427
    06428     enum OptionalFields {
    06429       e_protocol,
    06430       e_nonStandardData
    06431     };
    06432
    06433     H225_ArrayOf_SupportedProtocols m_protocol;
    06434     H225_NonStandardParameter m_nonStandardData;
    06435
    06436     PINDEX GetDataLength() const;
    06437     PBoolean Decode(PASN_Stream & strm);
    06438     void Encode(PASN_Stream & strm) const;
    06439 #ifndef PASN_NOPRINTON
    06440     void PrintOn(ostream & strm) const;
    06441 #endif
    06442     Comparison Compare(const PObject & obj) const;
    06443     PObject * Clone() const;
    06444 };
    06445
    06446
    06447 //
    06448 // H310Caps
    06449 //
    06450
    06451 class H225_H310Caps : public PASN_Sequence
    06452 {
    06453 #ifndef PASN_LEANANDMEAN
    06454     PCLASSINFO(H225_H310Caps, PASN_Sequence);
    06455 #endif
    06456   public:
    06457     H225_H310Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06458
    06459     enum OptionalFields {
    06460       e_nonStandardData,
    06461       e_dataRatesSupported,
    06462       e_supportedPrefixes
    06463     };
    06464
    06465     H225_NonStandardParameter m_nonStandardData;
    06466     H225_ArrayOf_DataRate m_dataRatesSupported;
    06467     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06468
    06469     PINDEX GetDataLength() const;
    06470     PBoolean Decode(PASN_Stream & strm);
    06471     void Encode(PASN_Stream & strm) const;
    06472 #ifndef PASN_NOPRINTON
    06473     void PrintOn(ostream & strm) const;
    06474 #endif
    06475     Comparison Compare(const PObject & obj) const;
    06476     PObject * Clone() const;
    06477 };
    06478
    06479
    06480 //
    06481 // H320Caps
    06482 //
    06483
    06484 class H225_H320Caps : public PASN_Sequence
    06485 {
    06486 #ifndef PASN_LEANANDMEAN
    06487     PCLASSINFO(H225_H320Caps, PASN_Sequence);
    06488 #endif
    06489   public:
    06490     H225_H320Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06491
    06492     enum OptionalFields {
    06493       e_nonStandardData,
    06494       e_dataRatesSupported,
    06495       e_supportedPrefixes
    06496     };
    06497
    06498     H225_NonStandardParameter m_nonStandardData;
    06499     H225_ArrayOf_DataRate m_dataRatesSupported;
    06500     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06501
    06502     PINDEX GetDataLength() const;
    06503     PBoolean Decode(PASN_Stream & strm);
    06504     void Encode(PASN_Stream & strm) const;
    06505 #ifndef PASN_NOPRINTON
    06506     void PrintOn(ostream & strm) const;
    06507 #endif
    06508     Comparison Compare(const PObject & obj) const;
    06509     PObject * Clone() const;
    06510 };
    06511
    06512
    06513 //
    06514 // H321Caps
    06515 //
    06516
    06517 class H225_H321Caps : public PASN_Sequence
    06518 {
    06519 #ifndef PASN_LEANANDMEAN
    06520     PCLASSINFO(H225_H321Caps, PASN_Sequence);
    06521 #endif
    06522   public:
    06523     H225_H321Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06524
    06525     enum OptionalFields {
    06526       e_nonStandardData,
    06527       e_dataRatesSupported,
    06528       e_supportedPrefixes
    06529     };
    06530
    06531     H225_NonStandardParameter m_nonStandardData;
    06532     H225_ArrayOf_DataRate m_dataRatesSupported;
    06533     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06534
    06535     PINDEX GetDataLength() const;
    06536     PBoolean Decode(PASN_Stream & strm);
    06537     void Encode(PASN_Stream & strm) const;
    06538 #ifndef PASN_NOPRINTON
    06539     void PrintOn(ostream & strm) const;
    06540 #endif
    06541     Comparison Compare(const PObject & obj) const;
    06542     PObject * Clone() const;
    06543 };
    06544
    06545
    06546 //
    06547 // H322Caps
    06548 //
    06549
    06550 class H225_H322Caps : public PASN_Sequence
    06551 {
    06552 #ifndef PASN_LEANANDMEAN
    06553     PCLASSINFO(H225_H322Caps, PASN_Sequence);
    06554 #endif
    06555   public:
    06556     H225_H322Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06557
    06558     enum OptionalFields {
    06559       e_nonStandardData,
    06560       e_dataRatesSupported,
    06561       e_supportedPrefixes
    06562     };
    06563
    06564     H225_NonStandardParameter m_nonStandardData;
    06565     H225_ArrayOf_DataRate m_dataRatesSupported;
    06566     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06567
    06568     PINDEX GetDataLength() const;
    06569     PBoolean Decode(PASN_Stream & strm);
    06570     void Encode(PASN_Stream & strm) const;
    06571 #ifndef PASN_NOPRINTON
    06572     void PrintOn(ostream & strm) const;
    06573 #endif
    06574     Comparison Compare(const PObject & obj) const;
    06575     PObject * Clone() const;
    06576 };
    06577
    06578
    06579 //
    06580 // H323Caps
    06581 //
    06582
    06583 class H225_H323Caps : public PASN_Sequence
    06584 {
    06585 #ifndef PASN_LEANANDMEAN
    06586     PCLASSINFO(H225_H323Caps, PASN_Sequence);
    06587 #endif
    06588   public:
    06589     H225_H323Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06590
    06591     enum OptionalFields {
    06592       e_nonStandardData,
    06593       e_dataRatesSupported,
    06594       e_supportedPrefixes
    06595     };
    06596
    06597     H225_NonStandardParameter m_nonStandardData;
    06598     H225_ArrayOf_DataRate m_dataRatesSupported;
    06599     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06600
    06601     PINDEX GetDataLength() const;
    06602     PBoolean Decode(PASN_Stream & strm);
    06603     void Encode(PASN_Stream & strm) const;
    06604 #ifndef PASN_NOPRINTON
    06605     void PrintOn(ostream & strm) const;
    06606 #endif
    06607     Comparison Compare(const PObject & obj) const;
    06608     PObject * Clone() const;
    06609 };
    06610
    06611
    06612 //
    06613 // H324Caps
    06614 //
    06615
    06616 class H225_H324Caps : public PASN_Sequence
    06617 {
    06618 #ifndef PASN_LEANANDMEAN
    06619     PCLASSINFO(H225_H324Caps, PASN_Sequence);
    06620 #endif
    06621   public:
    06622     H225_H324Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06623
    06624     enum OptionalFields {
    06625       e_nonStandardData,
    06626       e_dataRatesSupported,
    06627       e_supportedPrefixes
    06628     };
    06629
    06630     H225_NonStandardParameter m_nonStandardData;
    06631     H225_ArrayOf_DataRate m_dataRatesSupported;
    06632     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06633
    06634     PINDEX GetDataLength() const;
    06635     PBoolean Decode(PASN_Stream & strm);
    06636     void Encode(PASN_Stream & strm) const;
    06637 #ifndef PASN_NOPRINTON
    06638     void PrintOn(ostream & strm) const;
    06639 #endif
    06640     Comparison Compare(const PObject & obj) const;
    06641     PObject * Clone() const;
    06642 };
    06643
    06644
    06645 //
    06646 // VoiceCaps
    06647 //
    06648
    06649 class H225_VoiceCaps : public PASN_Sequence
    06650 {
    06651 #ifndef PASN_LEANANDMEAN
    06652     PCLASSINFO(H225_VoiceCaps, PASN_Sequence);
    06653 #endif
    06654   public:
    06655     H225_VoiceCaps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06656
    06657     enum OptionalFields {
    06658       e_nonStandardData,
    06659       e_dataRatesSupported,
    06660       e_supportedPrefixes
    06661     };
    06662
    06663     H225_NonStandardParameter m_nonStandardData;
    06664     H225_ArrayOf_DataRate m_dataRatesSupported;
    06665     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06666
    06667     PINDEX GetDataLength() const;
    06668     PBoolean Decode(PASN_Stream & strm);
    06669     void Encode(PASN_Stream & strm) const;
    06670 #ifndef PASN_NOPRINTON
    06671     void PrintOn(ostream & strm) const;
    06672 #endif
    06673     Comparison Compare(const PObject & obj) const;
    06674     PObject * Clone() const;
    06675 };
    06676
    06677
    06678 //
    06679 // T120OnlyCaps
    06680 //
    06681
    06682 class H225_T120OnlyCaps : public PASN_Sequence
    06683 {
    06684 #ifndef PASN_LEANANDMEAN
    06685     PCLASSINFO(H225_T120OnlyCaps, PASN_Sequence);
    06686 #endif
    06687   public:
    06688     H225_T120OnlyCaps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06689
    06690     enum OptionalFields {
    06691       e_nonStandardData,
    06692       e_dataRatesSupported,
    06693       e_supportedPrefixes
    06694     };
    06695
    06696     H225_NonStandardParameter m_nonStandardData;
    06697     H225_ArrayOf_DataRate m_dataRatesSupported;
    06698     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06699
    06700     PINDEX GetDataLength() const;
    06701     PBoolean Decode(PASN_Stream & strm);
    06702     void Encode(PASN_Stream & strm) const;
    06703 #ifndef PASN_NOPRINTON
    06704     void PrintOn(ostream & strm) const;
    06705 #endif
    06706     Comparison Compare(const PObject & obj) const;
    06707     PObject * Clone() const;
    06708 };
    06709
    06710
    06711 //
    06712 // NonStandardProtocol
    06713 //
    06714
    06715 class H225_NonStandardProtocol : public PASN_Sequence
    06716 {
    06717 #ifndef PASN_LEANANDMEAN
    06718     PCLASSINFO(H225_NonStandardProtocol, PASN_Sequence);
    06719 #endif
    06720   public:
    06721     H225_NonStandardProtocol(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06722
    06723     enum OptionalFields {
    06724       e_nonStandardData,
    06725       e_dataRatesSupported
    06726     };
    06727
    06728     H225_NonStandardParameter m_nonStandardData;
    06729     H225_ArrayOf_DataRate m_dataRatesSupported;
    06730     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06731
    06732     PINDEX GetDataLength() const;
    06733     PBoolean Decode(PASN_Stream & strm);
    06734     void Encode(PASN_Stream & strm) const;
    06735 #ifndef PASN_NOPRINTON
    06736     void PrintOn(ostream & strm) const;
    06737 #endif
    06738     Comparison Compare(const PObject & obj) const;
    06739     PObject * Clone() const;
    06740 };
    06741
    06742
    06743 //
    06744 // T38FaxAnnexbOnlyCaps
    06745 //
    06746
    06747 class H225_T38FaxAnnexbOnlyCaps : public PASN_Sequence
    06748 {
    06749 #ifndef PASN_LEANANDMEAN
    06750     PCLASSINFO(H225_T38FaxAnnexbOnlyCaps, PASN_Sequence);
    06751 #endif
    06752   public:
    06753     H225_T38FaxAnnexbOnlyCaps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06754
    06755     enum OptionalFields {
    06756       e_nonStandardData,
    06757       e_dataRatesSupported
    06758     };
    06759
    06760     H225_NonStandardParameter m_nonStandardData;
    06761     H225_ArrayOf_DataRate m_dataRatesSupported;
    06762     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06763     H245_DataProtocolCapability m_t38FaxProtocol;
    06764     H245_T38FaxProfile m_t38FaxProfile;
    06765
    06766     PINDEX GetDataLength() const;
    06767     PBoolean Decode(PASN_Stream & strm);
    06768     void Encode(PASN_Stream & strm) const;
    06769 #ifndef PASN_NOPRINTON
    06770     void PrintOn(ostream & strm) const;
    06771 #endif
    06772     Comparison Compare(const PObject & obj) const;
    06773     PObject * Clone() const;
    06774 };
    06775
    06776
    06777 //
    06778 // SIPCaps
    06779 //
    06780
    06781 class H225_SIPCaps : public PASN_Sequence
    06782 {
    06783 #ifndef PASN_LEANANDMEAN
    06784     PCLASSINFO(H225_SIPCaps, PASN_Sequence);
    06785 #endif
    06786   public:
    06787     H225_SIPCaps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06788
    06789     enum OptionalFields {
    06790       e_nonStandardData,
    06791       e_dataRatesSupported,
    06792       e_supportedPrefixes
    06793     };
    06794
    06795     H225_NonStandardParameter m_nonStandardData;
    06796     H225_ArrayOf_DataRate m_dataRatesSupported;
    06797     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    06798
    06799     PINDEX GetDataLength() const;
    06800     PBoolean Decode(PASN_Stream & strm);
    06801     void Encode(PASN_Stream & strm) const;
    06802 #ifndef PASN_NOPRINTON
    06803     void PrintOn(ostream & strm) const;
    06804 #endif
    06805     Comparison Compare(const PObject & obj) const;
    06806     PObject * Clone() const;
    06807 };
    06808
    06809
    06810 //
    06811 // McuInfo
    06812 //
    06813
    06814 class H225_McuInfo : public PASN_Sequence
    06815 {
    06816 #ifndef PASN_LEANANDMEAN
    06817     PCLASSINFO(H225_McuInfo, PASN_Sequence);
    06818 #endif
    06819   public:
    06820     H225_McuInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06821
    06822     enum OptionalFields {
    06823       e_nonStandardData,
    06824       e_protocol
    06825     };
    06826
    06827     H225_NonStandardParameter m_nonStandardData;
    06828     H225_ArrayOf_SupportedProtocols m_protocol;
    06829
    06830     PINDEX GetDataLength() const;
    06831     PBoolean Decode(PASN_Stream & strm);
    06832     void Encode(PASN_Stream & strm) const;
    06833 #ifndef PASN_NOPRINTON
    06834     void PrintOn(ostream & strm) const;
    06835 #endif
    06836     Comparison Compare(const PObject & obj) const;
    06837     PObject * Clone() const;
    06838 };
    06839
    06840
    06841 //
    06842 // TerminalInfo
    06843 //
    06844
    06845 class H225_TerminalInfo : public PASN_Sequence
    06846 {
    06847 #ifndef PASN_LEANANDMEAN
    06848     PCLASSINFO(H225_TerminalInfo, PASN_Sequence);
    06849 #endif
    06850   public:
    06851     H225_TerminalInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06852
    06853     enum OptionalFields {
    06854       e_nonStandardData
    06855     };
    06856
    06857     H225_NonStandardParameter m_nonStandardData;
    06858
    06859     PINDEX GetDataLength() const;
    06860     PBoolean Decode(PASN_Stream & strm);
    06861     void Encode(PASN_Stream & strm) const;
    06862 #ifndef PASN_NOPRINTON
    06863     void PrintOn(ostream & strm) const;
    06864 #endif
    06865     Comparison Compare(const PObject & obj) const;
    06866     PObject * Clone() const;
    06867 };
    06868
    06869
    06870 //
    06871 // GatekeeperInfo
    06872 //
    06873
    06874 class H225_GatekeeperInfo : public PASN_Sequence
    06875 {
    06876 #ifndef PASN_LEANANDMEAN
    06877     PCLASSINFO(H225_GatekeeperInfo, PASN_Sequence);
    06878 #endif
    06879   public:
    06880     H225_GatekeeperInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06881
    06882     enum OptionalFields {
    06883       e_nonStandardData
    06884     };
    06885
    06886     H225_NonStandardParameter m_nonStandardData;
    06887
    06888     PINDEX GetDataLength() const;
    06889     PBoolean Decode(PASN_Stream & strm);
    06890     void Encode(PASN_Stream & strm) const;
    06891 #ifndef PASN_NOPRINTON
    06892     void PrintOn(ostream & strm) const;
    06893 #endif
    06894     Comparison Compare(const PObject & obj) const;
    06895     PObject * Clone() const;
    06896 };
    06897
    06898
    06899 //
    06900 // FeatureDescriptor
    06901 //
    06902
    06903 class H225_FeatureDescriptor : public H225_GenericData
    06904 {
    06905 #ifndef PASN_LEANANDMEAN
    06906     PCLASSINFO(H225_FeatureDescriptor, H225_GenericData);
    06907 #endif
    06908   public:
    06909     H225_FeatureDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06910
    06911     PObject * Clone() const;
    06912 };
    06913
    06914
    06915 //
    06916 // CallCapacity
    06917 //
    06918
    06919 class H225_CallCapacity : public PASN_Sequence
    06920 {
    06921 #ifndef PASN_LEANANDMEAN
    06922     PCLASSINFO(H225_CallCapacity, PASN_Sequence);
    06923 #endif
    06924   public:
    06925     H225_CallCapacity(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06926
    06927     enum OptionalFields {
    06928       e_maximumCallCapacity,
    06929       e_currentCallCapacity
    06930     };
    06931
    06932     H225_CallCapacityInfo m_maximumCallCapacity;
    06933     H225_CallCapacityInfo m_currentCallCapacity;
    06934
    06935     PINDEX GetDataLength() const;
    06936     PBoolean Decode(PASN_Stream & strm);
    06937     void Encode(PASN_Stream & strm) const;
    06938 #ifndef PASN_NOPRINTON
    06939     void PrintOn(ostream & strm) const;
    06940 #endif
    06941     Comparison Compare(const PObject & obj) const;
    06942     PObject * Clone() const;
    06943 };
    06944
    06945
    06946 //
    06947 // CircuitIdentifier
    06948 //
    06949
    06950 class H225_CircuitIdentifier : public PASN_Sequence
    06951 {
    06952 #ifndef PASN_LEANANDMEAN
    06953     PCLASSINFO(H225_CircuitIdentifier, PASN_Sequence);
    06954 #endif
    06955   public:
    06956     H225_CircuitIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06957
    06958     enum OptionalFields {
    06959       e_cic,
    06960       e_group,
    06961       e_carrier
    06962     };
    06963
    06964     H225_CicInfo m_cic;
    06965     H225_GroupID m_group;
    06966     H225_CarrierInfo m_carrier;
    06967
    06968     PINDEX GetDataLength() const;
    06969     PBoolean Decode(PASN_Stream & strm);
    06970     void Encode(PASN_Stream & strm) const;
    06971 #ifndef PASN_NOPRINTON
    06972     void PrintOn(ostream & strm) const;
    06973 #endif
    06974     Comparison Compare(const PObject & obj) const;
    06975     PObject * Clone() const;
    06976 };
    06977
    06978
    06979 //
    06980 // RegistrationConfirm
    06981 //
    06982
    06983 class H225_RegistrationConfirm : public PASN_Sequence
    06984 {
    06985 #ifndef PASN_LEANANDMEAN
    06986     PCLASSINFO(H225_RegistrationConfirm, PASN_Sequence);
    06987 #endif
    06988   public:
    06989     H225_RegistrationConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06990
    06991     enum OptionalFields {
    06992       e_nonStandardData,
    06993       e_terminalAlias,
    06994       e_gatekeeperIdentifier,
    06995       e_alternateGatekeeper,
    06996       e_timeToLive,
    06997       e_tokens,
    06998       e_cryptoTokens,
    06999       e_integrityCheckValue,
    07000       e_willRespondToIRR,
    07001       e_preGrantedARQ,
    07002       e_maintainConnection,
    07003       e_serviceControl,
    07004       e_supportsAdditiveRegistration,
    07005       e_terminalAliasPattern,
    07006       e_supportedPrefixes,
    07007       e_usageSpec,
    07008       e_featureServerAlias,
    07009       e_capacityReportingSpec,
    07010       e_featureSet,
    07011       e_genericData,
    07012       e_assignedGatekeeper,
    07013       e_rehomingModel,
    07014       e_transportQOS
    07015     };
    07016
    07017     H225_RequestSeqNum m_requestSeqNum;
    07018     H225_ProtocolIdentifier m_protocolIdentifier;
    07019     H225_NonStandardParameter m_nonStandardData;
    07020     H225_ArrayOf_TransportAddress m_callSignalAddress;
    07021     H225_ArrayOf_AliasAddress m_terminalAlias;
    07022     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    07023     H225_EndpointIdentifier m_endpointIdentifier;
    07024     H225_ArrayOf_AlternateGK m_alternateGatekeeper;
    07025     H225_TimeToLive m_timeToLive;
    07026     H225_ArrayOf_ClearToken m_tokens;
    07027     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07028     H225_ICV m_integrityCheckValue;
    07029     PASN_Boolean m_willRespondToIRR;
    07030     H225_RegistrationConfirm_preGrantedARQ m_preGrantedARQ;
    07031     PASN_Boolean m_maintainConnection;
    07032     H225_ArrayOf_ServiceControlSession m_serviceControl;
    07033     PASN_Null m_supportsAdditiveRegistration;
    07034     H225_ArrayOf_AddressPattern m_terminalAliasPattern;
    07035     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
    07036     H225_ArrayOf_RasUsageSpecification m_usageSpec;
    07037     H225_AliasAddress m_featureServerAlias;
    07038     H225_CapacityReportingSpecification m_capacityReportingSpec;
    07039     H225_FeatureSet m_featureSet;
    07040     H225_ArrayOf_GenericData m_genericData;
    07041     H225_AlternateGK m_assignedGatekeeper;
    07042     H225_RehomingModel m_rehomingModel;
    07043     H225_TransportQOS m_transportQOS;
    07044
    07045     PINDEX GetDataLength() const;
    07046     PBoolean Decode(PASN_Stream & strm);
    07047     void Encode(PASN_Stream & strm) const;
    07048 #ifndef PASN_NOPRINTON
    07049     void PrintOn(ostream & strm) const;
    07050 #endif
    07051     Comparison Compare(const PObject & obj) const;
    07052     PObject * Clone() const;
    07053 };
    07054
    07055
    07056 //
    07057 // BandwidthRequest
    07058 //
    07059
    07060 class H225_BandwidthRequest : public PASN_Sequence
    07061 {
    07062 #ifndef PASN_LEANANDMEAN
    07063     PCLASSINFO(H225_BandwidthRequest, PASN_Sequence);
    07064 #endif
    07065   public:
    07066     H225_BandwidthRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07067
    07068     enum OptionalFields {
    07069       e_callType,
    07070       e_nonStandardData,
    07071       e_callIdentifier,
    07072       e_gatekeeperIdentifier,
    07073       e_tokens,
    07074       e_cryptoTokens,
    07075       e_integrityCheckValue,
    07076       e_answeredCall,
    07077       e_callLinkage,
    07078       e_capacity,
    07079       e_usageInformation,
    07080       e_bandwidthDetails,
    07081       e_genericData,
    07082       e_transportQOS
    07083     };
    07084
    07085     H225_RequestSeqNum m_requestSeqNum;
    07086     H225_EndpointIdentifier m_endpointIdentifier;
    07087     H225_ConferenceIdentifier m_conferenceID;
    07088     H225_CallReferenceValue m_callReferenceValue;
    07089     H225_CallType m_callType;
    07090     H225_BandWidth m_bandWidth;
    07091     H225_NonStandardParameter m_nonStandardData;
    07092     H225_CallIdentifier m_callIdentifier;
    07093     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    07094     H225_ArrayOf_ClearToken m_tokens;
    07095     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07096     H225_ICV m_integrityCheckValue;
    07097     PASN_Boolean m_answeredCall;
    07098     H225_CallLinkage m_callLinkage;
    07099     H225_CallCapacity m_capacity;
    07100     H225_RasUsageInformation m_usageInformation;
    07101     H225_ArrayOf_BandwidthDetails m_bandwidthDetails;
    07102     H225_ArrayOf_GenericData m_genericData;
    07103     H225_TransportQOS m_transportQOS;
    07104
    07105     PINDEX GetDataLength() const;
    07106     PBoolean Decode(PASN_Stream & strm);
    07107     void Encode(PASN_Stream & strm) const;
    07108 #ifndef PASN_NOPRINTON
    07109     void PrintOn(ostream & strm) const;
    07110 #endif
    07111     Comparison Compare(const PObject & obj) const;
    07112     PObject * Clone() const;
    07113 };
    07114
    07115
    07116 //
    07117 // BandwidthConfirm
    07118 //
    07119
    07120 class H225_BandwidthConfirm : public PASN_Sequence
    07121 {
    07122 #ifndef PASN_LEANANDMEAN
    07123     PCLASSINFO(H225_BandwidthConfirm, PASN_Sequence);
    07124 #endif
    07125   public:
    07126     H225_BandwidthConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07127
    07128     enum OptionalFields {
    07129       e_nonStandardData,
    07130       e_tokens,
    07131       e_cryptoTokens,
    07132       e_integrityCheckValue,
    07133       e_capacity,
    07134       e_genericData,
    07135       e_transportQOS
    07136     };
    07137
    07138     H225_RequestSeqNum m_requestSeqNum;
    07139     H225_BandWidth m_bandWidth;
    07140     H225_NonStandardParameter m_nonStandardData;
    07141     H225_ArrayOf_ClearToken m_tokens;
    07142     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07143     H225_ICV m_integrityCheckValue;
    07144     H225_CallCapacity m_capacity;
    07145     H225_ArrayOf_GenericData m_genericData;
    07146     H225_TransportQOS m_transportQOS;
    07147
    07148     PINDEX GetDataLength() const;
    07149     PBoolean Decode(PASN_Stream & strm);
    07150     void Encode(PASN_Stream & strm) const;
    07151 #ifndef PASN_NOPRINTON
    07152     void PrintOn(ostream & strm) const;
    07153 #endif
    07154     Comparison Compare(const PObject & obj) const;
    07155     PObject * Clone() const;
    07156 };
    07157
    07158
    07159 //
    07160 // ResourcesAvailableIndicate
    07161 //
    07162
    07163 class H225_ResourcesAvailableIndicate : public PASN_Sequence
    07164 {
    07165 #ifndef PASN_LEANANDMEAN
    07166     PCLASSINFO(H225_ResourcesAvailableIndicate, PASN_Sequence);
    07167 #endif
    07168   public:
    07169     H225_ResourcesAvailableIndicate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07170
    07171     enum OptionalFields {
    07172       e_nonStandardData,
    07173       e_tokens,
    07174       e_cryptoTokens,
    07175       e_integrityCheckValue,
    07176       e_capacity,
    07177       e_genericData
    07178     };
    07179
    07180     H225_RequestSeqNum m_requestSeqNum;
    07181     H225_ProtocolIdentifier m_protocolIdentifier;
    07182     H225_NonStandardParameter m_nonStandardData;
    07183     H225_EndpointIdentifier m_endpointIdentifier;
    07184     H225_ArrayOf_SupportedProtocols m_protocols;
    07185     PASN_Boolean m_almostOutOfResources;
    07186     H225_ArrayOf_ClearToken m_tokens;
    07187     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07188     H225_ICV m_integrityCheckValue;
    07189     H225_CallCapacity m_capacity;
    07190     H225_ArrayOf_GenericData m_genericData;
    07191
    07192     PINDEX GetDataLength() const;
    07193     PBoolean Decode(PASN_Stream & strm);
    07194     void Encode(PASN_Stream & strm) const;
    07195 #ifndef PASN_NOPRINTON
    07196     void PrintOn(ostream & strm) const;
    07197 #endif
    07198     Comparison Compare(const PObject & obj) const;
    07199     PObject * Clone() const;
    07200 };
    07201
    07202
    07203 //
    07204 // H323-UU-PDU
    07205 //
    07206
    07207 class H225_H323_UU_PDU : public PASN_Sequence
    07208 {
    07209 #ifndef PASN_LEANANDMEAN
    07210     PCLASSINFO(H225_H323_UU_PDU, PASN_Sequence);
    07211 #endif
    07212   public:
    07213     H225_H323_UU_PDU(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07214
    07215     enum OptionalFields {
    07216       e_nonStandardData,
    07217       e_h4501SupplementaryService,
    07218       e_h245Tunneling,
    07219       e_h245Control,
    07220       e_nonStandardControl,
    07221       e_callLinkage,
    07222       e_tunnelledSignallingMessage,
    07223       e_provisionalRespToH245Tunneling,
    07224       e_stimulusControl,
    07225       e_genericData
    07226     };
    07227
    07228     H225_H323_UU_PDU_h323_message_body m_h323_message_body;
    07229     H225_NonStandardParameter m_nonStandardData;
    07230     H225_ArrayOf_PASN_OctetString m_h4501SupplementaryService;
    07231     PASN_Boolean m_h245Tunneling;
    07232     H225_ArrayOf_PASN_OctetString m_h245Control;
    07233     H225_ArrayOf_NonStandardParameter m_nonStandardControl;
    07234     H225_CallLinkage m_callLinkage;
    07235     H225_H323_UU_PDU_tunnelledSignallingMessage m_tunnelledSignallingMessage;
    07236     PASN_Null m_provisionalRespToH245Tunneling;
    07237     H225_StimulusControl m_stimulusControl;
    07238     H225_ArrayOf_GenericData m_genericData;
    07239
    07240     PINDEX GetDataLength() const;
    07241     PBoolean Decode(PASN_Stream & strm);
    07242     void Encode(PASN_Stream & strm) const;
    07243 #ifndef PASN_NOPRINTON
    07244     void PrintOn(ostream & strm) const;
    07245 #endif
    07246     Comparison Compare(const PObject & obj) const;
    07247     PObject * Clone() const;
    07248 };
    07249
    07250
    07251 //
    07252 // ReleaseComplete-UUIE
    07253 //
    07254
    07255 class H225_ReleaseComplete_UUIE : public PASN_Sequence
    07256 {
    07257 #ifndef PASN_LEANANDMEAN
    07258     PCLASSINFO(H225_ReleaseComplete_UUIE, PASN_Sequence);
    07259 #endif
    07260   public:
    07261     H225_ReleaseComplete_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07262
    07263     enum OptionalFields {
    07264       e_reason,
    07265       e_callIdentifier,
    07266       e_tokens,
    07267       e_cryptoTokens,
    07268       e_busyAddress,
    07269       e_presentationIndicator,
    07270       e_screeningIndicator,
    07271       e_capacity,
    07272       e_serviceControl,
    07273       e_featureSet
    07274     };
    07275
    07276     H225_ProtocolIdentifier m_protocolIdentifier;
    07277     H225_ReleaseCompleteReason m_reason;
    07278     H225_CallIdentifier m_callIdentifier;
    07279     H225_ArrayOf_ClearToken m_tokens;
    07280     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07281     H225_ArrayOf_AliasAddress m_busyAddress;
    07282     H225_PresentationIndicator m_presentationIndicator;
    07283     H225_ScreeningIndicator m_screeningIndicator;
    07284     H225_CallCapacity m_capacity;
    07285     H225_ArrayOf_ServiceControlSession m_serviceControl;
    07286     H225_FeatureSet m_featureSet;
    07287
    07288     PINDEX GetDataLength() const;
    07289     PBoolean Decode(PASN_Stream & strm);
    07290     void Encode(PASN_Stream & strm) const;
    07291 #ifndef PASN_NOPRINTON
    07292     void PrintOn(ostream & strm) const;
    07293 #endif
    07294     Comparison Compare(const PObject & obj) const;
    07295     PObject * Clone() const;
    07296 };
    07297
    07298
    07299 //
    07300 // EndpointType
    07301 //
    07302
    07303 class H225_EndpointType : public PASN_Sequence
    07304 {
    07305 #ifndef PASN_LEANANDMEAN
    07306     PCLASSINFO(H225_EndpointType, PASN_Sequence);
    07307 #endif
    07308   public:
    07309     H225_EndpointType(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07310
    07311     enum OptionalFields {
    07312       e_nonStandardData,
    07313       e_vendor,
    07314       e_gatekeeper,
    07315       e_gateway,
    07316       e_mcu,
    07317       e_terminal,
    07318       e_set,
    07319       e_supportedTunnelledProtocols
    07320     };
    07321
    07322     H225_NonStandardParameter m_nonStandardData;
    07323     H225_VendorIdentifier m_vendor;
    07324     H225_GatekeeperInfo m_gatekeeper;
    07325     H225_GatewayInfo m_gateway;
    07326     H225_McuInfo m_mcu;
    07327     H225_TerminalInfo m_terminal;
    07328     PASN_Boolean m_mc;
    07329     PASN_Boolean m_undefinedNode;
    07330     PASN_BitString m_set;
    07331     H225_ArrayOf_TunnelledProtocol m_supportedTunnelledProtocols;
    07332
    07333     PINDEX GetDataLength() const;
    07334     PBoolean Decode(PASN_Stream & strm);
    07335     void Encode(PASN_Stream & strm) const;
    07336 #ifndef PASN_NOPRINTON
    07337     void PrintOn(ostream & strm) const;
    07338 #endif
    07339     Comparison Compare(const PObject & obj) const;
    07340     PObject * Clone() const;
    07341 };
    07342
    07343
    07344 //
    07345 // CircuitInfo
    07346 //
    07347
    07348 class H225_CircuitInfo : public PASN_Sequence
    07349 {
    07350 #ifndef PASN_LEANANDMEAN
    07351     PCLASSINFO(H225_CircuitInfo, PASN_Sequence);
    07352 #endif
    07353   public:
    07354     H225_CircuitInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07355
    07356     enum OptionalFields {
    07357       e_sourceCircuitID,
    07358       e_destinationCircuitID,
    07359       e_genericData
    07360     };
    07361
    07362     H225_CircuitIdentifier m_sourceCircuitID;
    07363     H225_CircuitIdentifier m_destinationCircuitID;
    07364     H225_ArrayOf_GenericData m_genericData;
    07365
    07366     PINDEX GetDataLength() const;
    07367     PBoolean Decode(PASN_Stream & strm);
    07368     void Encode(PASN_Stream & strm) const;
    07369 #ifndef PASN_NOPRINTON
    07370     void PrintOn(ostream & strm) const;
    07371 #endif
    07372     Comparison Compare(const PObject & obj) const;
    07373     PObject * Clone() const;
    07374 };
    07375
    07376
    07377 //
    07378 // GatekeeperRequest
    07379 //
    07380
    07381 class H225_GatekeeperRequest : public PASN_Sequence
    07382 {
    07383 #ifndef PASN_LEANANDMEAN
    07384     PCLASSINFO(H225_GatekeeperRequest, PASN_Sequence);
    07385 #endif
    07386   public:
    07387     H225_GatekeeperRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07388
    07389     enum OptionalFields {
    07390       e_nonStandardData,
    07391       e_gatekeeperIdentifier,
    07392       e_callServices,
    07393       e_endpointAlias,
    07394       e_alternateEndpoints,
    07395       e_tokens,
    07396       e_cryptoTokens,
    07397       e_authenticationCapability,
    07398       e_algorithmOIDs,
    07399       e_integrity,
    07400       e_integrityCheckValue,
    07401       e_supportsAltGK,
    07402       e_featureSet,
    07403       e_genericData,
    07404       e_supportsAssignedGK,
    07405       e_assignedGatekeeper
    07406     };
    07407
    07408     H225_RequestSeqNum m_requestSeqNum;
    07409     H225_ProtocolIdentifier m_protocolIdentifier;
    07410     H225_NonStandardParameter m_nonStandardData;
    07411     H225_TransportAddress m_rasAddress;
    07412     H225_EndpointType m_endpointType;
    07413     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    07414     H225_QseriesOptions m_callServices;
    07415     H225_ArrayOf_AliasAddress m_endpointAlias;
    07416     H225_ArrayOf_Endpoint m_alternateEndpoints;
    07417     H225_ArrayOf_ClearToken m_tokens;
    07418     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07419     H225_ArrayOf_AuthenticationMechanism m_authenticationCapability;
    07420     H225_ArrayOf_PASN_ObjectId m_algorithmOIDs;
    07421     H225_ArrayOf_IntegrityMechanism m_integrity;
    07422     H225_ICV m_integrityCheckValue;
    07423     PASN_Null m_supportsAltGK;
    07424     H225_FeatureSet m_featureSet;
    07425     H225_ArrayOf_GenericData m_genericData;
    07426     PASN_Boolean m_supportsAssignedGK;
    07427     H225_AlternateGK m_assignedGatekeeper;
    07428
    07429     PINDEX GetDataLength() const;
    07430     PBoolean Decode(PASN_Stream & strm);
    07431     void Encode(PASN_Stream & strm) const;
    07432 #ifndef PASN_NOPRINTON
    07433     void PrintOn(ostream & strm) const;
    07434 #endif
    07435     Comparison Compare(const PObject & obj) const;
    07436     PObject * Clone() const;
    07437 };
    07438
    07439
    07440 //
    07441 // RegistrationRequest
    07442 //
    07443
    07444 class H225_RegistrationRequest : public PASN_Sequence
    07445 {
    07446 #ifndef PASN_LEANANDMEAN
    07447     PCLASSINFO(H225_RegistrationRequest, PASN_Sequence);
    07448 #endif
    07449   public:
    07450     H225_RegistrationRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07451
    07452     enum OptionalFields {
    07453       e_nonStandardData,
    07454       e_terminalAlias,
    07455       e_gatekeeperIdentifier,
    07456       e_alternateEndpoints,
    07457       e_timeToLive,
    07458       e_tokens,
    07459       e_cryptoTokens,
    07460       e_integrityCheckValue,
    07461       e_keepAlive,
    07462       e_endpointIdentifier,
    07463       e_willSupplyUUIEs,
    07464       e_maintainConnection,
    07465       e_alternateTransportAddresses,
    07466       e_additiveRegistration,
    07467       e_terminalAliasPattern,
    07468       e_supportsAltGK,
    07469       e_usageReportingCapability,
    07470       e_multipleCalls,
    07471       e_supportedH248Packages,
    07472       e_callCreditCapability,
    07473       e_capacityReportingCapability,
    07474       e_capacity,
    07475       e_featureSet,
    07476       e_genericData,
    07477       e_restart,
    07478       e_supportsACFSequences,
    07479       e_supportsAssignedGK,
    07480       e_assignedGatekeeper,
    07481       e_transportQOS,
    07482       e_language
    07483     };
    07484
    07485     H225_RequestSeqNum m_requestSeqNum;
    07486     H225_ProtocolIdentifier m_protocolIdentifier;
    07487     H225_NonStandardParameter m_nonStandardData;
    07488     PASN_Boolean m_discoveryComplete;
    07489     H225_ArrayOf_TransportAddress m_callSignalAddress;
    07490     H225_ArrayOf_TransportAddress m_rasAddress;
    07491     H225_EndpointType m_terminalType;
    07492     H225_ArrayOf_AliasAddress m_terminalAlias;
    07493     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    07494     H225_VendorIdentifier m_endpointVendor;
    07495     H225_ArrayOf_Endpoint m_alternateEndpoints;
    07496     H225_TimeToLive m_timeToLive;
    07497     H225_ArrayOf_ClearToken m_tokens;
    07498     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07499     H225_ICV m_integrityCheckValue;
    07500     PASN_Boolean m_keepAlive;
    07501     H225_EndpointIdentifier m_endpointIdentifier;
    07502     PASN_Boolean m_willSupplyUUIEs;
    07503     PASN_Boolean m_maintainConnection;
    07504     H225_AlternateTransportAddresses m_alternateTransportAddresses;
    07505     PASN_Null m_additiveRegistration;
    07506     H225_ArrayOf_AddressPattern m_terminalAliasPattern;
    07507     PASN_Null m_supportsAltGK;
    07508     H225_RasUsageInfoTypes m_usageReportingCapability;
    07509     PASN_Boolean m_multipleCalls;
    07510     H225_ArrayOf_H248PackagesDescriptor m_supportedH248Packages;
    07511     H225_CallCreditCapability m_callCreditCapability;
    07512     H225_CapacityReportingCapability m_capacityReportingCapability;
    07513     H225_CallCapacity m_capacity;
    07514     H225_FeatureSet m_featureSet;
    07515     H225_ArrayOf_GenericData m_genericData;
    07516     PASN_Null m_restart;
    07517     PASN_Null m_supportsACFSequences;
    07518     PASN_Boolean m_supportsAssignedGK;
    07519     H225_AlternateGK m_assignedGatekeeper;
    07520     H225_TransportQOS m_transportQOS;
    07521     H225_RegistrationRequest_language m_language;
    07522
    07523     PINDEX GetDataLength() const;
    07524     PBoolean Decode(PASN_Stream & strm);
    07525     void Encode(PASN_Stream & strm) const;
    07526 #ifndef PASN_NOPRINTON
    07527     void PrintOn(ostream & strm) const;
    07528 #endif
    07529     Comparison Compare(const PObject & obj) const;
    07530     PObject * Clone() const;
    07531 };
    07532
    07533
    07534 //
    07535 // AdmissionRequest
    07536 //
    07537
    07538 class H225_AdmissionRequest : public PASN_Sequence
    07539 {
    07540 #ifndef PASN_LEANANDMEAN
    07541     PCLASSINFO(H225_AdmissionRequest, PASN_Sequence);
    07542 #endif
    07543   public:
    07544     H225_AdmissionRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07545
    07546     enum OptionalFields {
    07547       e_callModel,
    07548       e_destinationInfo,
    07549       e_destCallSignalAddress,
    07550       e_destExtraCallInfo,
    07551       e_srcCallSignalAddress,
    07552       e_nonStandardData,
    07553       e_callServices,
    07554       e_canMapAlias,
    07555       e_callIdentifier,
    07556       e_srcAlternatives,
    07557       e_destAlternatives,
    07558       e_gatekeeperIdentifier,
    07559       e_tokens,
    07560       e_cryptoTokens,
    07561       e_integrityCheckValue,
    07562       e_transportQOS,
    07563       e_willSupplyUUIEs,
    07564       e_callLinkage,
    07565       e_gatewayDataRate,
    07566       e_capacity,
    07567       e_circuitInfo,
    07568       e_desiredProtocols,
    07569       e_desiredTunnelledProtocol,
    07570       e_featureSet,
    07571       e_genericData,
    07572       e_canMapSrcAlias
    07573     };
    07574
    07575     H225_RequestSeqNum m_requestSeqNum;
    07576     H225_CallType m_callType;
    07577     H225_CallModel m_callModel;
    07578     H225_EndpointIdentifier m_endpointIdentifier;
    07579     H225_ArrayOf_AliasAddress m_destinationInfo;
    07580     H225_TransportAddress m_destCallSignalAddress;
    07581     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
    07582     H225_ArrayOf_AliasAddress m_srcInfo;
    07583     H225_TransportAddress m_srcCallSignalAddress;
    07584     H225_BandWidth m_bandWidth;
    07585     H225_CallReferenceValue m_callReferenceValue;
    07586     H225_NonStandardParameter m_nonStandardData;
    07587     H225_QseriesOptions m_callServices;
    07588     H225_ConferenceIdentifier m_conferenceID;
    07589     PASN_Boolean m_activeMC;
    07590     PASN_Boolean m_answerCall;
    07591     PASN_Boolean m_canMapAlias;
    07592     H225_CallIdentifier m_callIdentifier;
    07593     H225_ArrayOf_Endpoint m_srcAlternatives;
    07594     H225_ArrayOf_Endpoint m_destAlternatives;
    07595     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    07596     H225_ArrayOf_ClearToken m_tokens;
    07597     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07598     H225_ICV m_integrityCheckValue;
    07599     H225_TransportQOS m_transportQOS;
    07600     PASN_Boolean m_willSupplyUUIEs;
    07601     H225_CallLinkage m_callLinkage;
    07602     H225_DataRate m_gatewayDataRate;
    07603     H225_CallCapacity m_capacity;
    07604     H225_CircuitInfo m_circuitInfo;
    07605     H225_ArrayOf_SupportedProtocols m_desiredProtocols;
    07606     H225_TunnelledProtocol m_desiredTunnelledProtocol;
    07607     H225_FeatureSet m_featureSet;
    07608     H225_ArrayOf_GenericData m_genericData;
    07609     PASN_Boolean m_canMapSrcAlias;
    07610
    07611     PINDEX GetDataLength() const;
    07612     PBoolean Decode(PASN_Stream & strm);
    07613     void Encode(PASN_Stream & strm) const;
    07614 #ifndef PASN_NOPRINTON
    07615     void PrintOn(ostream & strm) const;
    07616 #endif
    07617     Comparison Compare(const PObject & obj) const;
    07618     PObject * Clone() const;
    07619 };
    07620
    07621
    07622 //
    07623 // AdmissionConfirm
    07624 //
    07625
    07626 class H225_AdmissionConfirm : public PASN_Sequence
    07627 {
    07628 #ifndef PASN_LEANANDMEAN
    07629     PCLASSINFO(H225_AdmissionConfirm, PASN_Sequence);
    07630 #endif
    07631   public:
    07632     H225_AdmissionConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07633
    07634     enum OptionalFields {
    07635       e_irrFrequency,
    07636       e_nonStandardData,
    07637       e_destinationInfo,
    07638       e_destExtraCallInfo,
    07639       e_destinationType,
    07640       e_remoteExtensionAddress,
    07641       e_alternateEndpoints,
    07642       e_tokens,
    07643       e_cryptoTokens,
    07644       e_integrityCheckValue,
    07645       e_transportQOS,
    07646       e_willRespondToIRR,
    07647       e_uuiesRequested,
    07648       e_language,
    07649       e_alternateTransportAddresses,
    07650       e_useSpecifiedTransport,
    07651       e_circuitInfo,
    07652       e_usageSpec,
    07653       e_supportedProtocols,
    07654       e_serviceControl,
    07655       e_multipleCalls,
    07656       e_featureSet,
    07657       e_genericData,
    07658       e_modifiedSrcInfo,
    07659       e_assignedGatekeeper
    07660     };
    07661
    07662     H225_RequestSeqNum m_requestSeqNum;
    07663     H225_BandWidth m_bandWidth;
    07664     H225_CallModel m_callModel;
    07665     H225_TransportAddress m_destCallSignalAddress;
    07666     PASN_Integer m_irrFrequency;
    07667     H225_NonStandardParameter m_nonStandardData;
    07668     H225_ArrayOf_AliasAddress m_destinationInfo;
    07669     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
    07670     H225_EndpointType m_destinationType;
    07671     H225_ArrayOf_AliasAddress m_remoteExtensionAddress;
    07672     H225_ArrayOf_Endpoint m_alternateEndpoints;
    07673     H225_ArrayOf_ClearToken m_tokens;
    07674     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07675     H225_ICV m_integrityCheckValue;
    07676     H225_TransportQOS m_transportQOS;
    07677     PASN_Boolean m_willRespondToIRR;
    07678     H225_UUIEsRequested m_uuiesRequested;
    07679     H225_AdmissionConfirm_language m_language;
    07680     H225_AlternateTransportAddresses m_alternateTransportAddresses;
    07681     H225_UseSpecifiedTransport m_useSpecifiedTransport;
    07682     H225_CircuitInfo m_circuitInfo;
    07683     H225_ArrayOf_RasUsageSpecification m_usageSpec;
    07684     H225_ArrayOf_SupportedProtocols m_supportedProtocols;
    07685     H225_ArrayOf_ServiceControlSession m_serviceControl;
    07686     PASN_Boolean m_multipleCalls;
    07687     H225_FeatureSet m_featureSet;
    07688     H225_ArrayOf_GenericData m_genericData;
    07689     H225_ArrayOf_AliasAddress m_modifiedSrcInfo;
    07690     H225_AlternateGK m_assignedGatekeeper;
    07691
    07692     PINDEX GetDataLength() const;
    07693     PBoolean Decode(PASN_Stream & strm);
    07694     void Encode(PASN_Stream & strm) const;
    07695 #ifndef PASN_NOPRINTON
    07696     void PrintOn(ostream & strm) const;
    07697 #endif
    07698     Comparison Compare(const PObject & obj) const;
    07699     PObject * Clone() const;
    07700 };
    07701
    07702
    07703 //
    07704 // LocationRequest
    07705 //
    07706
    07707 class H225_LocationRequest : public PASN_Sequence
    07708 {
    07709 #ifndef PASN_LEANANDMEAN
    07710     PCLASSINFO(H225_LocationRequest, PASN_Sequence);
    07711 #endif
    07712   public:
    07713     H225_LocationRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07714
    07715     enum OptionalFields {
    07716       e_endpointIdentifier,
    07717       e_nonStandardData,
    07718       e_sourceInfo,
    07719       e_canMapAlias,
    07720       e_gatekeeperIdentifier,
    07721       e_tokens,
    07722       e_cryptoTokens,
    07723       e_integrityCheckValue,
    07724       e_desiredProtocols,
    07725       e_desiredTunnelledProtocol,
    07726       e_featureSet,
    07727       e_genericData,
    07728       e_hopCount,
    07729       e_circuitInfo,
    07730       e_callIdentifier,
    07731       e_bandWidth,
    07732       e_sourceEndpointInfo,
    07733       e_canMapSrcAlias,
    07734       e_language
    07735     };
    07736
    07737     H225_RequestSeqNum m_requestSeqNum;
    07738     H225_EndpointIdentifier m_endpointIdentifier;
    07739     H225_ArrayOf_AliasAddress m_destinationInfo;
    07740     H225_NonStandardParameter m_nonStandardData;
    07741     H225_TransportAddress m_replyAddress;
    07742     H225_ArrayOf_AliasAddress m_sourceInfo;
    07743     PASN_Boolean m_canMapAlias;
    07744     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    07745     H225_ArrayOf_ClearToken m_tokens;
    07746     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07747     H225_ICV m_integrityCheckValue;
    07748     H225_ArrayOf_SupportedProtocols m_desiredProtocols;
    07749     H225_TunnelledProtocol m_desiredTunnelledProtocol;
    07750     H225_FeatureSet m_featureSet;
    07751     H225_ArrayOf_GenericData m_genericData;
    07752     PASN_Integer m_hopCount;
    07753     H225_CircuitInfo m_circuitInfo;
    07754     H225_CallIdentifier m_callIdentifier;
    07755     H225_BandWidth m_bandWidth;
    07756     H225_ArrayOf_AliasAddress m_sourceEndpointInfo;
    07757     PASN_Boolean m_canMapSrcAlias;
    07758     H225_LocationRequest_language m_language;
    07759
    07760     PINDEX GetDataLength() const;
    07761     PBoolean Decode(PASN_Stream & strm);
    07762     void Encode(PASN_Stream & strm) const;
    07763 #ifndef PASN_NOPRINTON
    07764     void PrintOn(ostream & strm) const;
    07765 #endif
    07766     Comparison Compare(const PObject & obj) const;
    07767     PObject * Clone() const;
    07768 };
    07769
    07770
    07771 //
    07772 // LocationConfirm
    07773 //
    07774
    07775 class H225_LocationConfirm : public PASN_Sequence
    07776 {
    07777 #ifndef PASN_LEANANDMEAN
    07778     PCLASSINFO(H225_LocationConfirm, PASN_Sequence);
    07779 #endif
    07780   public:
    07781     H225_LocationConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07782
    07783     enum OptionalFields {
    07784       e_nonStandardData,
    07785       e_destinationInfo,
    07786       e_destExtraCallInfo,
    07787       e_destinationType,
    07788       e_remoteExtensionAddress,
    07789       e_alternateEndpoints,
    07790       e_tokens,
    07791       e_cryptoTokens,
    07792       e_integrityCheckValue,
    07793       e_alternateTransportAddresses,
    07794       e_supportedProtocols,
    07795       e_multipleCalls,
    07796       e_featureSet,
    07797       e_genericData,
    07798       e_circuitInfo,
    07799       e_serviceControl,
    07800       e_modifiedSrcInfo,
    07801       e_bandWidth
    07802     };
    07803
    07804     H225_RequestSeqNum m_requestSeqNum;
    07805     H225_TransportAddress m_callSignalAddress;
    07806     H225_TransportAddress m_rasAddress;
    07807     H225_NonStandardParameter m_nonStandardData;
    07808     H225_ArrayOf_AliasAddress m_destinationInfo;
    07809     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
    07810     H225_EndpointType m_destinationType;
    07811     H225_ArrayOf_AliasAddress m_remoteExtensionAddress;
    07812     H225_ArrayOf_Endpoint m_alternateEndpoints;
    07813     H225_ArrayOf_ClearToken m_tokens;
    07814     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07815     H225_ICV m_integrityCheckValue;
    07816     H225_AlternateTransportAddresses m_alternateTransportAddresses;
    07817     H225_ArrayOf_SupportedProtocols m_supportedProtocols;
    07818     PASN_Boolean m_multipleCalls;
    07819     H225_FeatureSet m_featureSet;
    07820     H225_ArrayOf_GenericData m_genericData;
    07821     H225_CircuitInfo m_circuitInfo;
    07822     H225_ArrayOf_ServiceControlSession m_serviceControl;
    07823     H225_ArrayOf_AliasAddress m_modifiedSrcInfo;
    07824     H225_BandWidth m_bandWidth;
    07825
    07826     PINDEX GetDataLength() const;
    07827     PBoolean Decode(PASN_Stream & strm);
    07828     void Encode(PASN_Stream & strm) const;
    07829 #ifndef PASN_NOPRINTON
    07830     void PrintOn(ostream & strm) const;
    07831 #endif
    07832     Comparison Compare(const PObject & obj) const;
    07833     PObject * Clone() const;
    07834 };
    07835
    07836
    07837 //
    07838 // DisengageRequest
    07839 //
    07840
    07841 class H225_DisengageRequest : public PASN_Sequence
    07842 {
    07843 #ifndef PASN_LEANANDMEAN
    07844     PCLASSINFO(H225_DisengageRequest, PASN_Sequence);
    07845 #endif
    07846   public:
    07847     H225_DisengageRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07848
    07849     enum OptionalFields {
    07850       e_nonStandardData,
    07851       e_callIdentifier,
    07852       e_gatekeeperIdentifier,
    07853       e_tokens,
    07854       e_cryptoTokens,
    07855       e_integrityCheckValue,
    07856       e_answeredCall,
    07857       e_callLinkage,
    07858       e_capacity,
    07859       e_circuitInfo,
    07860       e_usageInformation,
    07861       e_terminationCause,
    07862       e_serviceControl,
    07863       e_genericData
    07864     };
    07865
    07866     H225_RequestSeqNum m_requestSeqNum;
    07867     H225_EndpointIdentifier m_endpointIdentifier;
    07868     H225_ConferenceIdentifier m_conferenceID;
    07869     H225_CallReferenceValue m_callReferenceValue;
    07870     H225_DisengageReason m_disengageReason;
    07871     H225_NonStandardParameter m_nonStandardData;
    07872     H225_CallIdentifier m_callIdentifier;
    07873     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
    07874     H225_ArrayOf_ClearToken m_tokens;
    07875     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07876     H225_ICV m_integrityCheckValue;
    07877     PASN_Boolean m_answeredCall;
    07878     H225_CallLinkage m_callLinkage;
    07879     H225_CallCapacity m_capacity;
    07880     H225_CircuitInfo m_circuitInfo;
    07881     H225_RasUsageInformation m_usageInformation;
    07882     H225_CallTerminationCause m_terminationCause;
    07883     H225_ArrayOf_ServiceControlSession m_serviceControl;
    07884     H225_ArrayOf_GenericData m_genericData;
    07885
    07886     PINDEX GetDataLength() const;
    07887     PBoolean Decode(PASN_Stream & strm);
    07888     void Encode(PASN_Stream & strm) const;
    07889 #ifndef PASN_NOPRINTON
    07890     void PrintOn(ostream & strm) const;
    07891 #endif
    07892     Comparison Compare(const PObject & obj) const;
    07893     PObject * Clone() const;
    07894 };
    07895
    07896
    07897 //
    07898 // DisengageConfirm
    07899 //
    07900
    07901 class H225_DisengageConfirm : public PASN_Sequence
    07902 {
    07903 #ifndef PASN_LEANANDMEAN
    07904     PCLASSINFO(H225_DisengageConfirm, PASN_Sequence);
    07905 #endif
    07906   public:
    07907     H225_DisengageConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07908
    07909     enum OptionalFields {
    07910       e_nonStandardData,
    07911       e_tokens,
    07912       e_cryptoTokens,
    07913       e_integrityCheckValue,
    07914       e_capacity,
    07915       e_circuitInfo,
    07916       e_usageInformation,
    07917       e_genericData,
    07918       e_assignedGatekeeper
    07919     };
    07920
    07921     H225_RequestSeqNum m_requestSeqNum;
    07922     H225_NonStandardParameter m_nonStandardData;
    07923     H225_ArrayOf_ClearToken m_tokens;
    07924     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07925     H225_ICV m_integrityCheckValue;
    07926     H225_CallCapacity m_capacity;
    07927     H225_CircuitInfo m_circuitInfo;
    07928     H225_RasUsageInformation m_usageInformation;
    07929     H225_ArrayOf_GenericData m_genericData;
    07930     H225_AlternateGK m_assignedGatekeeper;
    07931
    07932     PINDEX GetDataLength() const;
    07933     PBoolean Decode(PASN_Stream & strm);
    07934     void Encode(PASN_Stream & strm) const;
    07935 #ifndef PASN_NOPRINTON
    07936     void PrintOn(ostream & strm) const;
    07937 #endif
    07938     Comparison Compare(const PObject & obj) const;
    07939     PObject * Clone() const;
    07940 };
    07941
    07942
    07943 //
    07944 // InfoRequestResponse
    07945 //
    07946
    07947 class H225_InfoRequestResponse : public PASN_Sequence
    07948 {
    07949 #ifndef PASN_LEANANDMEAN
    07950     PCLASSINFO(H225_InfoRequestResponse, PASN_Sequence);
    07951 #endif
    07952   public:
    07953     H225_InfoRequestResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07954
    07955     enum OptionalFields {
    07956       e_nonStandardData,
    07957       e_endpointAlias,
    07958       e_perCallInfo,
    07959       e_tokens,
    07960       e_cryptoTokens,
    07961       e_integrityCheckValue,
    07962       e_needResponse,
    07963       e_capacity,
    07964       e_irrStatus,
    07965       e_unsolicited,
    07966       e_genericData
    07967     };
    07968
    07969     H225_NonStandardParameter m_nonStandardData;
    07970     H225_RequestSeqNum m_requestSeqNum;
    07971     H225_EndpointType m_endpointType;
    07972     H225_EndpointIdentifier m_endpointIdentifier;
    07973     H225_TransportAddress m_rasAddress;
    07974     H225_ArrayOf_TransportAddress m_callSignalAddress;
    07975     H225_ArrayOf_AliasAddress m_endpointAlias;
    07976     H225_InfoRequestResponse_perCallInfo m_perCallInfo;
    07977     H225_ArrayOf_ClearToken m_tokens;
    07978     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    07979     H225_ICV m_integrityCheckValue;
    07980     PASN_Boolean m_needResponse;
    07981     H225_CallCapacity m_capacity;
    07982     H225_InfoRequestResponseStatus m_irrStatus;
    07983     PASN_Boolean m_unsolicited;
    07984     H225_ArrayOf_GenericData m_genericData;
    07985
    07986     PINDEX GetDataLength() const;
    07987     PBoolean Decode(PASN_Stream & strm);
    07988     void Encode(PASN_Stream & strm) const;
    07989 #ifndef PASN_NOPRINTON
    07990     void PrintOn(ostream & strm) const;
    07991 #endif
    07992     Comparison Compare(const PObject & obj) const;
    07993     PObject * Clone() const;
    07994 };
    07995
    07996
    07997 //
    07998 // InfoRequestResponse_perCallInfo_subtype
    07999 //
    08000
    08001 class H225_InfoRequestResponse_perCallInfo_subtype : public PASN_Sequence
    08002 {
    08003 #ifndef PASN_LEANANDMEAN
    08004     PCLASSINFO(H225_InfoRequestResponse_perCallInfo_subtype, PASN_Sequence);
    08005 #endif
    08006   public:
    08007     H225_InfoRequestResponse_perCallInfo_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08008
    08009     enum OptionalFields {
    08010       e_nonStandardData,
    08011       e_originator,
    08012       e_audio,
    08013       e_video,
    08014       e_data,
    08015       e_callIdentifier,
    08016       e_tokens,
    08017       e_cryptoTokens,
    08018       e_substituteConfIDs,
    08019       e_pdu,
    08020       e_callLinkage,
    08021       e_usageInformation,
    08022       e_circuitInfo
    08023     };
    08024
    08025     H225_NonStandardParameter m_nonStandardData;
    08026     H225_CallReferenceValue m_callReferenceValue;
    08027     H225_ConferenceIdentifier m_conferenceID;
    08028     PASN_Boolean m_originator;
    08029     H225_ArrayOf_RTPSession m_audio;
    08030     H225_ArrayOf_RTPSession m_video;
    08031     H225_ArrayOf_TransportChannelInfo m_data;
    08032     H225_TransportChannelInfo m_h245;
    08033     H225_TransportChannelInfo m_callSignaling;
    08034     H225_CallType m_callType;
    08035     H225_BandWidth m_bandWidth;
    08036     H225_CallModel m_callModel;
    08037     H225_CallIdentifier m_callIdentifier;
    08038     H225_ArrayOf_ClearToken m_tokens;
    08039     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08040     H225_ArrayOf_ConferenceIdentifier m_substituteConfIDs;
    08041     H225_InfoRequestResponse_perCallInfo_subtype_pdu m_pdu;
    08042     H225_CallLinkage m_callLinkage;
    08043     H225_RasUsageInformation m_usageInformation;
    08044     H225_CircuitInfo m_circuitInfo;
    08045
    08046     PINDEX GetDataLength() const;
    08047     PBoolean Decode(PASN_Stream & strm);
    08048     void Encode(PASN_Stream & strm) const;
    08049 #ifndef PASN_NOPRINTON
    08050     void PrintOn(ostream & strm) const;
    08051 #endif
    08052     Comparison Compare(const PObject & obj) const;
    08053     PObject * Clone() const;
    08054 };
    08055
    08056
    08057 //
    08058 // InfoRequestResponse_perCallInfo_subtype_pdu_subtype
    08059 //
    08060
    08061 class H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype : public PASN_Sequence
    08062 {
    08063 #ifndef PASN_LEANANDMEAN
    08064     PCLASSINFO(H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype, PASN_Sequence);
    08065 #endif
    08066   public:
    08067     H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08068
    08069     H225_H323_UU_PDU m_h323pdu;
    08070     PASN_Boolean m_sent;
    08071
    08072     PINDEX GetDataLength() const;
    08073     PBoolean Decode(PASN_Stream & strm);
    08074     void Encode(PASN_Stream & strm) const;
    08075 #ifndef PASN_NOPRINTON
    08076     void PrintOn(ostream & strm) const;
    08077 #endif
    08078     Comparison Compare(const PObject & obj) const;
    08079     PObject * Clone() const;
    08080 };
    08081
    08082
    08083 //
    08084 // H323-UserInformation
    08085 //
    08086
    08087 class H225_H323_UserInformation : public PASN_Sequence
    08088 {
    08089 #ifndef PASN_LEANANDMEAN
    08090     PCLASSINFO(H225_H323_UserInformation, PASN_Sequence);
    08091 #endif
    08092   public:
    08093     H225_H323_UserInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08094
    08095     enum OptionalFields {
    08096       e_user_data
    08097     };
    08098
    08099     H225_H323_UU_PDU m_h323_uu_pdu;
    08100     H225_H323_UserInformation_user_data m_user_data;
    08101
    08102     PINDEX GetDataLength() const;
    08103     PBoolean Decode(PASN_Stream & strm);
    08104     void Encode(PASN_Stream & strm) const;
    08105 #ifndef PASN_NOPRINTON
    08106     void PrintOn(ostream & strm) const;
    08107 #endif
    08108     Comparison Compare(const PObject & obj) const;
    08109     PObject * Clone() const;
    08110 };
    08111
    08112
    08113 //
    08114 // Alerting-UUIE
    08115 //
    08116
    08117 class H225_Alerting_UUIE : public PASN_Sequence
    08118 {
    08119 #ifndef PASN_LEANANDMEAN
    08120     PCLASSINFO(H225_Alerting_UUIE, PASN_Sequence);
    08121 #endif
    08122   public:
    08123     H225_Alerting_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08124
    08125     enum OptionalFields {
    08126       e_h245Address,
    08127       e_callIdentifier,
    08128       e_h245SecurityMode,
    08129       e_tokens,
    08130       e_cryptoTokens,
    08131       e_fastStart,
    08132       e_multipleCalls,
    08133       e_maintainConnection,
    08134       e_alertingAddress,
    08135       e_presentationIndicator,
    08136       e_screeningIndicator,
    08137       e_fastConnectRefused,
    08138       e_serviceControl,
    08139       e_capacity,
    08140       e_featureSet
    08141     };
    08142
    08143     H225_ProtocolIdentifier m_protocolIdentifier;
    08144     H225_EndpointType m_destinationInfo;
    08145     H225_TransportAddress m_h245Address;
    08146     H225_CallIdentifier m_callIdentifier;
    08147     H225_H245Security m_h245SecurityMode;
    08148     H225_ArrayOf_ClearToken m_tokens;
    08149     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08150     H225_ArrayOf_PASN_OctetString m_fastStart;
    08151     PASN_Boolean m_multipleCalls;
    08152     PASN_Boolean m_maintainConnection;
    08153     H225_ArrayOf_AliasAddress m_alertingAddress;
    08154     H225_PresentationIndicator m_presentationIndicator;
    08155     H225_ScreeningIndicator m_screeningIndicator;
    08156     PASN_Null m_fastConnectRefused;
    08157     H225_ArrayOf_ServiceControlSession m_serviceControl;
    08158     H225_CallCapacity m_capacity;
    08159     H225_FeatureSet m_featureSet;
    08160
    08161     PINDEX GetDataLength() const;
    08162     PBoolean Decode(PASN_Stream & strm);
    08163     void Encode(PASN_Stream & strm) const;
    08164 #ifndef PASN_NOPRINTON
    08165     void PrintOn(ostream & strm) const;
    08166 #endif
    08167     Comparison Compare(const PObject & obj) const;
    08168     PObject * Clone() const;
    08169 };
    08170
    08171
    08172 //
    08173 // CallProceeding-UUIE
    08174 //
    08175
    08176 class H225_CallProceeding_UUIE : public PASN_Sequence
    08177 {
    08178 #ifndef PASN_LEANANDMEAN
    08179     PCLASSINFO(H225_CallProceeding_UUIE, PASN_Sequence);
    08180 #endif
    08181   public:
    08182     H225_CallProceeding_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08183
    08184     enum OptionalFields {
    08185       e_h245Address,
    08186       e_callIdentifier,
    08187       e_h245SecurityMode,
    08188       e_tokens,
    08189       e_cryptoTokens,
    08190       e_fastStart,
    08191       e_multipleCalls,
    08192       e_maintainConnection,
    08193       e_fastConnectRefused,
    08194       e_featureSet
    08195     };
    08196
    08197     H225_ProtocolIdentifier m_protocolIdentifier;
    08198     H225_EndpointType m_destinationInfo;
    08199     H225_TransportAddress m_h245Address;
    08200     H225_CallIdentifier m_callIdentifier;
    08201     H225_H245Security m_h245SecurityMode;
    08202     H225_ArrayOf_ClearToken m_tokens;
    08203     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08204     H225_ArrayOf_PASN_OctetString m_fastStart;
    08205     PASN_Boolean m_multipleCalls;
    08206     PASN_Boolean m_maintainConnection;
    08207     PASN_Null m_fastConnectRefused;
    08208     H225_FeatureSet m_featureSet;
    08209
    08210     PINDEX GetDataLength() const;
    08211     PBoolean Decode(PASN_Stream & strm);
    08212     void Encode(PASN_Stream & strm) const;
    08213 #ifndef PASN_NOPRINTON
    08214     void PrintOn(ostream & strm) const;
    08215 #endif
    08216     Comparison Compare(const PObject & obj) const;
    08217     PObject * Clone() const;
    08218 };
    08219
    08220
    08221 //
    08222 // Connect-UUIE
    08223 //
    08224
    08225 class H225_Connect_UUIE : public PASN_Sequence
    08226 {
    08227 #ifndef PASN_LEANANDMEAN
    08228     PCLASSINFO(H225_Connect_UUIE, PASN_Sequence);
    08229 #endif
    08230   public:
    08231     H225_Connect_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08232
    08233     enum OptionalFields {
    08234       e_h245Address,
    08235       e_callIdentifier,
    08236       e_h245SecurityMode,
    08237       e_tokens,
    08238       e_cryptoTokens,
    08239       e_fastStart,
    08240       e_multipleCalls,
    08241       e_maintainConnection,
    08242       e_language,
    08243       e_connectedAddress,
    08244       e_presentationIndicator,
    08245       e_screeningIndicator,
    08246       e_fastConnectRefused,
    08247       e_serviceControl,
    08248       e_capacity,
    08249       e_featureSet
    08250     };
    08251
    08252     H225_ProtocolIdentifier m_protocolIdentifier;
    08253     H225_TransportAddress m_h245Address;
    08254     H225_EndpointType m_destinationInfo;
    08255     H225_ConferenceIdentifier m_conferenceID;
    08256     H225_CallIdentifier m_callIdentifier;
    08257     H225_H245Security m_h245SecurityMode;
    08258     H225_ArrayOf_ClearToken m_tokens;
    08259     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08260     H225_ArrayOf_PASN_OctetString m_fastStart;
    08261     PASN_Boolean m_multipleCalls;
    08262     PASN_Boolean m_maintainConnection;
    08263     H225_Connect_UUIE_language m_language;
    08264     H225_ArrayOf_AliasAddress m_connectedAddress;
    08265     H225_PresentationIndicator m_presentationIndicator;
    08266     H225_ScreeningIndicator m_screeningIndicator;
    08267     PASN_Null m_fastConnectRefused;
    08268     H225_ArrayOf_ServiceControlSession m_serviceControl;
    08269     H225_CallCapacity m_capacity;
    08270     H225_FeatureSet m_featureSet;
    08271
    08272     PINDEX GetDataLength() const;
    08273     PBoolean Decode(PASN_Stream & strm);
    08274     void Encode(PASN_Stream & strm) const;
    08275 #ifndef PASN_NOPRINTON
    08276     void PrintOn(ostream & strm) const;
    08277 #endif
    08278     Comparison Compare(const PObject & obj) const;
    08279     PObject * Clone() const;
    08280 };
    08281
    08282
    08283 //
    08284 // Information-UUIE
    08285 //
    08286
    08287 class H225_Information_UUIE : public PASN_Sequence
    08288 {
    08289 #ifndef PASN_LEANANDMEAN
    08290     PCLASSINFO(H225_Information_UUIE, PASN_Sequence);
    08291 #endif
    08292   public:
    08293     H225_Information_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08294
    08295     enum OptionalFields {
    08296       e_callIdentifier,
    08297       e_tokens,
    08298       e_cryptoTokens,
    08299       e_fastStart,
    08300       e_fastConnectRefused,
    08301       e_circuitInfo
    08302     };
    08303
    08304     H225_ProtocolIdentifier m_protocolIdentifier;
    08305     H225_CallIdentifier m_callIdentifier;
    08306     H225_ArrayOf_ClearToken m_tokens;
    08307     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08308     H225_ArrayOf_PASN_OctetString m_fastStart;
    08309     PASN_Null m_fastConnectRefused;
    08310     H225_CircuitInfo m_circuitInfo;
    08311
    08312     PINDEX GetDataLength() const;
    08313     PBoolean Decode(PASN_Stream & strm);
    08314     void Encode(PASN_Stream & strm) const;
    08315 #ifndef PASN_NOPRINTON
    08316     void PrintOn(ostream & strm) const;
    08317 #endif
    08318     Comparison Compare(const PObject & obj) const;
    08319     PObject * Clone() const;
    08320 };
    08321
    08322
    08323 //
    08324 // Setup-UUIE
    08325 //
    08326
    08327 class H225_Setup_UUIE : public PASN_Sequence
    08328 {
    08329 #ifndef PASN_LEANANDMEAN
    08330     PCLASSINFO(H225_Setup_UUIE, PASN_Sequence);
    08331 #endif
    08332   public:
    08333     H225_Setup_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08334
    08335     enum OptionalFields {
    08336       e_h245Address,
    08337       e_sourceAddress,
    08338       e_destinationAddress,
    08339       e_destCallSignalAddress,
    08340       e_destExtraCallInfo,
    08341       e_destExtraCRV,
    08342       e_callServices,
    08343       e_sourceCallSignalAddress,
    08344       e_remoteExtensionAddress,
    08345       e_callIdentifier,
    08346       e_h245SecurityCapability,
    08347       e_tokens,
    08348       e_cryptoTokens,
    08349       e_fastStart,
    08350       e_mediaWaitForConnect,
    08351       e_canOverlapSend,
    08352       e_endpointIdentifier,
    08353       e_multipleCalls,
    08354       e_maintainConnection,
    08355       e_connectionParameters,
    08356       e_language,
    08357       e_presentationIndicator,
    08358       e_screeningIndicator,
    08359       e_serviceControl,
    08360       e_symmetricOperationRequired,
    08361       e_capacity,
    08362       e_circuitInfo,
    08363       e_desiredProtocols,
    08364       e_neededFeatures,
    08365       e_desiredFeatures,
    08366       e_supportedFeatures,
    08367       e_parallelH245Control,
    08368       e_additionalSourceAddresses,
    08369       e_hopCount
    08370     };
    08371
    08372     H225_ProtocolIdentifier m_protocolIdentifier;
    08373     H225_TransportAddress m_h245Address;
    08374     H225_ArrayOf_AliasAddress m_sourceAddress;
    08375     H225_EndpointType m_sourceInfo;
    08376     H225_ArrayOf_AliasAddress m_destinationAddress;
    08377     H225_TransportAddress m_destCallSignalAddress;
    08378     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
    08379     H225_ArrayOf_CallReferenceValue m_destExtraCRV;
    08380     PASN_Boolean m_activeMC;
    08381     H225_ConferenceIdentifier m_conferenceID;
    08382     H225_Setup_UUIE_conferenceGoal m_conferenceGoal;
    08383     H225_QseriesOptions m_callServices;
    08384     H225_CallType m_callType;
    08385     H225_TransportAddress m_sourceCallSignalAddress;
    08386     H225_AliasAddress m_remoteExtensionAddress;
    08387     H225_CallIdentifier m_callIdentifier;
    08388     H225_ArrayOf_H245Security m_h245SecurityCapability;
    08389     H225_ArrayOf_ClearToken m_tokens;
    08390     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08391     H225_ArrayOf_PASN_OctetString m_fastStart;
    08392     PASN_Boolean m_mediaWaitForConnect;
    08393     PASN_Boolean m_canOverlapSend;
    08394     H225_EndpointIdentifier m_endpointIdentifier;
    08395     PASN_Boolean m_multipleCalls;
    08396     PASN_Boolean m_maintainConnection;
    08397     H225_Setup_UUIE_connectionParameters m_connectionParameters;
    08398     H225_Setup_UUIE_language m_language;
    08399     H225_PresentationIndicator m_presentationIndicator;
    08400     H225_ScreeningIndicator m_screeningIndicator;
    08401     H225_ArrayOf_ServiceControlSession m_serviceControl;
    08402     PASN_Null m_symmetricOperationRequired;
    08403     H225_CallCapacity m_capacity;
    08404     H225_CircuitInfo m_circuitInfo;
    08405     H225_ArrayOf_SupportedProtocols m_desiredProtocols;
    08406     H225_ArrayOf_FeatureDescriptor m_neededFeatures;
    08407     H225_ArrayOf_FeatureDescriptor m_desiredFeatures;
    08408     H225_ArrayOf_FeatureDescriptor m_supportedFeatures;
    08409     H225_ArrayOf_PASN_OctetString m_parallelH245Control;
    08410     H225_ArrayOf_ExtendedAliasAddress m_additionalSourceAddresses;
    08411     PASN_Integer m_hopCount;
    08412
    08413     PINDEX GetDataLength() const;
    08414     PBoolean Decode(PASN_Stream & strm);
    08415     void Encode(PASN_Stream & strm) const;
    08416 #ifndef PASN_NOPRINTON
    08417     void PrintOn(ostream & strm) const;
    08418 #endif
    08419     Comparison Compare(const PObject & obj) const;
    08420     PObject * Clone() const;
    08421 };
    08422
    08423
    08424 //
    08425 // Facility-UUIE
    08426 //
    08427
    08428 class H225_Facility_UUIE : public PASN_Sequence
    08429 {
    08430 #ifndef PASN_LEANANDMEAN
    08431     PCLASSINFO(H225_Facility_UUIE, PASN_Sequence);
    08432 #endif
    08433   public:
    08434     H225_Facility_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08435
    08436     enum OptionalFields {
    08437       e_alternativeAddress,
    08438       e_alternativeAliasAddress,
    08439       e_conferenceID,
    08440       e_callIdentifier,
    08441       e_destExtraCallInfo,
    08442       e_remoteExtensionAddress,
    08443       e_tokens,
    08444       e_cryptoTokens,
    08445       e_conferences,
    08446       e_h245Address,
    08447       e_fastStart,
    08448       e_multipleCalls,
    08449       e_maintainConnection,
    08450       e_fastConnectRefused,
    08451       e_serviceControl,
    08452       e_circuitInfo,
    08453       e_featureSet,
    08454       e_destinationInfo,
    08455       e_h245SecurityMode
    08456     };
    08457
    08458     H225_ProtocolIdentifier m_protocolIdentifier;
    08459     H225_TransportAddress m_alternativeAddress;
    08460     H225_ArrayOf_AliasAddress m_alternativeAliasAddress;
    08461     H225_ConferenceIdentifier m_conferenceID;
    08462     H225_FacilityReason m_reason;
    08463     H225_CallIdentifier m_callIdentifier;
    08464     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
    08465     H225_AliasAddress m_remoteExtensionAddress;
    08466     H225_ArrayOf_ClearToken m_tokens;
    08467     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08468     H225_ArrayOf_ConferenceList m_conferences;
    08469     H225_TransportAddress m_h245Address;
    08470     H225_ArrayOf_PASN_OctetString m_fastStart;
    08471     PASN_Boolean m_multipleCalls;
    08472     PASN_Boolean m_maintainConnection;
    08473     PASN_Null m_fastConnectRefused;
    08474     H225_ArrayOf_ServiceControlSession m_serviceControl;
    08475     H225_CircuitInfo m_circuitInfo;
    08476     H225_FeatureSet m_featureSet;
    08477     H225_EndpointType m_destinationInfo;
    08478     H225_H245Security m_h245SecurityMode;
    08479
    08480     PINDEX GetDataLength() const;
    08481     PBoolean Decode(PASN_Stream & strm);
    08482     void Encode(PASN_Stream & strm) const;
    08483 #ifndef PASN_NOPRINTON
    08484     void PrintOn(ostream & strm) const;
    08485 #endif
    08486     Comparison Compare(const PObject & obj) const;
    08487     PObject * Clone() const;
    08488 };
    08489
    08490
    08491 //
    08492 // Progress-UUIE
    08493 //
    08494
    08495 class H225_Progress_UUIE : public PASN_Sequence
    08496 {
    08497 #ifndef PASN_LEANANDMEAN
    08498     PCLASSINFO(H225_Progress_UUIE, PASN_Sequence);
    08499 #endif
    08500   public:
    08501     H225_Progress_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08502
    08503     enum OptionalFields {
    08504       e_h245Address,
    08505       e_h245SecurityMode,
    08506       e_tokens,
    08507       e_cryptoTokens,
    08508       e_fastStart,
    08509       e_multipleCalls,
    08510       e_maintainConnection,
    08511       e_fastConnectRefused
    08512     };
    08513
    08514     H225_ProtocolIdentifier m_protocolIdentifier;
    08515     H225_EndpointType m_destinationInfo;
    08516     H225_TransportAddress m_h245Address;
    08517     H225_CallIdentifier m_callIdentifier;
    08518     H225_H245Security m_h245SecurityMode;
    08519     H225_ArrayOf_ClearToken m_tokens;
    08520     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08521     H225_ArrayOf_PASN_OctetString m_fastStart;
    08522     PASN_Boolean m_multipleCalls;
    08523     PASN_Boolean m_maintainConnection;
    08524     PASN_Null m_fastConnectRefused;
    08525
    08526     PINDEX GetDataLength() const;
    08527     PBoolean Decode(PASN_Stream & strm);
    08528     void Encode(PASN_Stream & strm) const;
    08529 #ifndef PASN_NOPRINTON
    08530     void PrintOn(ostream & strm) const;
    08531 #endif
    08532     Comparison Compare(const PObject & obj) const;
    08533     PObject * Clone() const;
    08534 };
    08535
    08536
    08537 //
    08538 // Endpoint
    08539 //
    08540
    08541 class H225_Endpoint : public PASN_Sequence
    08542 {
    08543 #ifndef PASN_LEANANDMEAN
    08544     PCLASSINFO(H225_Endpoint, PASN_Sequence);
    08545 #endif
    08546   public:
    08547     H225_Endpoint(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08548
    08549     enum OptionalFields {
    08550       e_nonStandardData,
    08551       e_aliasAddress,
    08552       e_callSignalAddress,
    08553       e_rasAddress,
    08554       e_endpointType,
    08555       e_tokens,
    08556       e_cryptoTokens,
    08557       e_priority,
    08558       e_remoteExtensionAddress,
    08559       e_destExtraCallInfo,
    08560       e_alternateTransportAddresses,
    08561       e_circuitInfo,
    08562       e_featureSet
    08563     };
    08564
    08565     H225_NonStandardParameter m_nonStandardData;
    08566     H225_ArrayOf_AliasAddress m_aliasAddress;
    08567     H225_ArrayOf_TransportAddress m_callSignalAddress;
    08568     H225_ArrayOf_TransportAddress m_rasAddress;
    08569     H225_EndpointType m_endpointType;
    08570     H225_ArrayOf_ClearToken m_tokens;
    08571     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
    08572     PASN_Integer m_priority;
    08573     H225_ArrayOf_AliasAddress m_remoteExtensionAddress;
    08574     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
    08575     H225_AlternateTransportAddresses m_alternateTransportAddresses;
    08576     H225_CircuitInfo m_circuitInfo;
    08577     H225_FeatureSet m_featureSet;
    08578
    08579     PINDEX GetDataLength() const;
    08580     PBoolean Decode(PASN_Stream & strm);
    08581     void Encode(PASN_Stream & strm) const;
    08582 #ifndef PASN_NOPRINTON
    08583     void PrintOn(ostream & strm) const;
    08584 #endif
    08585     Comparison Compare(const PObject & obj) const;
    08586     PObject * Clone() const;
    08587 };
    08588
    08589
    08590 #endif // __H225_H
    08591
    08592 #endif // if ! H323_DISABLE_H225
    08593
    08594
    08595 // End of h225.h