www.pudn.com > openh323-v1_15_1-src.zip > h4501.h


// 
// h4501.h 
// 
// Code automatically generated by asnparse. 
// 
 
#if ! H323_DISABLE_H4501 
 
#ifndef __H4501_H 
#define __H4501_H 
 
#ifdef P_USE_PRAGMA 
#pragma interface 
#endif 
 
#include  
 
#include "h225.h" 
#include "x880.h" 
 
 
// 
// EntityType 
// 
 
class H4501_EntityType : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_EntityType, PASN_Choice); 
#endif 
  public: 
    H4501_EntityType(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_endpoint, 
      e_anyEntity 
    }; 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// AddressInformation 
// 
 
class H4501_AddressInformation : public H225_AliasAddress 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_AddressInformation, H225_AliasAddress); 
#endif 
  public: 
    H4501_AddressInformation(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    PObject * Clone() const; 
}; 
 
 
// 
// InterpretationApdu 
// 
 
class H4501_InterpretationApdu : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_InterpretationApdu, PASN_Choice); 
#endif 
  public: 
    H4501_InterpretationApdu(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_discardAnyUnrecognizedInvokePdu, 
      e_clearCallIfAnyInvokePduNotRecognized, 
      e_rejectAnyUnrecognizedInvokePdu 
    }; 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// ServiceApdus 
// 
 
class H4501_ArrayOf_ROS; 
 
class H4501_ServiceApdus : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_ServiceApdus, PASN_Choice); 
#endif 
  public: 
    H4501_ServiceApdus(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_rosApdus 
    }; 
 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator H4501_ArrayOf_ROS &() const; 
#else 
    operator H4501_ArrayOf_ROS &(); 
    operator const H4501_ArrayOf_ROS &() const; 
#endif 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// InvokeIdSet 
// 
 
class H4501_InvokeIdSet : public PASN_Integer 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_InvokeIdSet, PASN_Integer); 
#endif 
  public: 
    H4501_InvokeIdSet(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass); 
 
    H4501_InvokeIdSet & operator=(int v); 
    H4501_InvokeIdSet & operator=(unsigned v); 
    PObject * Clone() const; 
}; 
 
 
// 
// InvokeIDs 
// 
 
class H4501_InvokeIDs : public PASN_Integer 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_InvokeIDs, PASN_Integer); 
#endif 
  public: 
    H4501_InvokeIDs(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass); 
 
    H4501_InvokeIDs & operator=(int v); 
    H4501_InvokeIDs & operator=(unsigned v); 
    PObject * Clone() const; 
}; 
 
 
// 
// PresentedAddressScreened 
// 
 
class H4501_AddressScreened; 
 
class H4501_PresentedAddressScreened : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_PresentedAddressScreened, PASN_Choice); 
#endif 
  public: 
    H4501_PresentedAddressScreened(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_presentationAllowedAddress, 
      e_presentationRestricted, 
      e_numberNotAvailableDueToInterworking, 
      e_presentationRestrictedAddress 
    }; 
 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator H4501_AddressScreened &() const; 
#else 
    operator H4501_AddressScreened &(); 
    operator const H4501_AddressScreened &() const; 
#endif 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// PresentedAddressUnscreened 
// 
 
class H4501_Address; 
 
class H4501_PresentedAddressUnscreened : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_PresentedAddressUnscreened, PASN_Choice); 
#endif 
  public: 
    H4501_PresentedAddressUnscreened(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_presentationAllowedAddress, 
      e_presentationRestricted, 
      e_numberNotAvailableDueToInterworking, 
      e_presentationRestrictedAddress 
    }; 
 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator H4501_Address &() const; 
#else 
    operator H4501_Address &(); 
    operator const H4501_Address &() const; 
#endif 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// PresentedNumberScreened 
// 
 
class H4501_NumberScreened; 
 
class H4501_PresentedNumberScreened : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_PresentedNumberScreened, PASN_Choice); 
#endif 
  public: 
    H4501_PresentedNumberScreened(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_presentationAllowedAddress, 
      e_presentationRestricted, 
      e_numberNotAvailableDueToInterworking, 
      e_presentationRestrictedAddress 
    }; 
 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator H4501_NumberScreened &() const; 
#else 
    operator H4501_NumberScreened &(); 
    operator const H4501_NumberScreened &() const; 
#endif 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// PresentedNumberUnscreened 
// 
 
class H225_PartyNumber; 
 
class H4501_PresentedNumberUnscreened : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_PresentedNumberUnscreened, PASN_Choice); 
#endif 
  public: 
    H4501_PresentedNumberUnscreened(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_presentationAllowedAddress, 
      e_presentationRestricted, 
      e_numberNotAvailableDueToInterworking, 
      e_presentationRestrictedAddress 
    }; 
 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator H225_PartyNumber &() const; 
#else 
    operator H225_PartyNumber &(); 
    operator const H225_PartyNumber &() const; 
#endif 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// PartySubaddress 
// 
 
class H4501_UserSpecifiedSubaddress; 
class H4501_NSAPSubaddress; 
 
class H4501_PartySubaddress : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_PartySubaddress, PASN_Choice); 
#endif 
  public: 
    H4501_PartySubaddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_userSpecifiedSubaddress, 
      e_nsapSubaddress 
    }; 
 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator H4501_UserSpecifiedSubaddress &() const; 
#else 
    operator H4501_UserSpecifiedSubaddress &(); 
    operator const H4501_UserSpecifiedSubaddress &() const; 
#endif 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator H4501_NSAPSubaddress &() const; 
#else 
    operator H4501_NSAPSubaddress &(); 
    operator const H4501_NSAPSubaddress &() const; 
#endif 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// NSAPSubaddress 
// 
 
class H4501_NSAPSubaddress : public PASN_OctetString 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_NSAPSubaddress, PASN_OctetString); 
#endif 
  public: 
    H4501_NSAPSubaddress(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass); 
 
    H4501_NSAPSubaddress(const char * v); 
    H4501_NSAPSubaddress(const PString & v); 
    H4501_NSAPSubaddress(const PBYTEArray & v); 
 
    H4501_NSAPSubaddress & operator=(const char * v); 
    H4501_NSAPSubaddress & operator=(const PString & v); 
    H4501_NSAPSubaddress & operator=(const PBYTEArray & v); 
    PObject * Clone() const; 
}; 
 
 
// 
// SubaddressInformation 
// 
 
class H4501_SubaddressInformation : public PASN_OctetString 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_SubaddressInformation, PASN_OctetString); 
#endif 
  public: 
    H4501_SubaddressInformation(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass); 
 
    H4501_SubaddressInformation(const char * v); 
    H4501_SubaddressInformation(const PString & v); 
    H4501_SubaddressInformation(const PBYTEArray & v); 
 
    H4501_SubaddressInformation & operator=(const char * v); 
    H4501_SubaddressInformation & operator=(const PString & v); 
    H4501_SubaddressInformation & operator=(const PBYTEArray & v); 
    PObject * Clone() const; 
}; 
 
 
// 
// ScreeningIndicator 
// 
 
class H4501_ScreeningIndicator : public PASN_Enumeration 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_ScreeningIndicator, PASN_Enumeration); 
#endif 
  public: 
    H4501_ScreeningIndicator(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 
 
    enum Enumerations { 
      e_userProvidedNotScreened, 
      e_userProvidedVerifiedAndPassed, 
      e_userProvidedVerifiedAndFailed, 
      e_networkProvided 
    }; 
 
    H4501_ScreeningIndicator & operator=(unsigned v); 
    PObject * Clone() const; 
}; 
 
 
// 
// PresentationAllowedIndicator 
// 
 
class H4501_PresentationAllowedIndicator : public PASN_Boolean 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_PresentationAllowedIndicator, PASN_Boolean); 
#endif 
  public: 
    H4501_PresentationAllowedIndicator(unsigned tag = UniversalBoolean, TagClass tagClass = UniversalTagClass); 
 
    H4501_PresentationAllowedIndicator & operator=(BOOL v); 
    PObject * Clone() const; 
}; 
 
 
// 
// GeneralErrorList 
// 
 
class H4501_GeneralErrorList : public PASN_Enumeration 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_GeneralErrorList, PASN_Enumeration); 
#endif 
  public: 
    H4501_GeneralErrorList(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 
 
    enum Enumerations { 
      e_userNotSubscribed, 
      e_rejectedByNetwork, 
      e_rejectedByUser, 
      e_notAvailable, 
      e_insufficientInformation = 5, 
      e_invalidServedUserNumber, 
      e_invalidCallState, 
      e_basicServiceNotProvided, 
      e_notIncomingCall, 
      e_supplementaryServiceInteractionNotAllowed, 
      e_resourceUnavailable, 
      e_callFailure = 25, 
      e_proceduralError = 43 
    }; 
 
    H4501_GeneralErrorList & operator=(unsigned v); 
    PObject * Clone() const; 
}; 
 
 
// 
// H225InformationElement 
// 
 
class H4501_H225InformationElement : public PASN_OctetString 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_H225InformationElement, PASN_OctetString); 
#endif 
  public: 
    H4501_H225InformationElement(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass); 
 
    H4501_H225InformationElement(const char * v); 
    H4501_H225InformationElement(const PString & v); 
    H4501_H225InformationElement(const PBYTEArray & v); 
 
    H4501_H225InformationElement & operator=(const char * v); 
    H4501_H225InformationElement & operator=(const PString & v); 
    H4501_H225InformationElement & operator=(const PBYTEArray & v); 
    PObject * Clone() const; 
}; 
 
 
// 
// Extension 
// 
 
class H4501_Extension : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_Extension, PASN_Sequence); 
#endif 
  public: 
    H4501_Extension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    X880_Code m_extensionId; 
    PASN_OctetString m_extensionArgument; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// ArrayOf_ROS 
// 
 
class X880_ROS; 
 
class H4501_ArrayOf_ROS : public PASN_Array 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_ArrayOf_ROS, PASN_Array); 
#endif 
  public: 
    H4501_ArrayOf_ROS(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    PASN_Object * CreateObject() const; 
    X880_ROS & operator[](PINDEX i) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// ArrayOf_AliasAddress 
// 
 
class H225_AliasAddress; 
 
class H4501_ArrayOf_AliasAddress : public PASN_Array 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_ArrayOf_AliasAddress, PASN_Array); 
#endif 
  public: 
    H4501_ArrayOf_AliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    PASN_Object * CreateObject() const; 
    H225_AliasAddress & operator[](PINDEX i) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// NetworkFacilityExtension 
// 
 
class H4501_NetworkFacilityExtension : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_NetworkFacilityExtension, PASN_Sequence); 
#endif 
  public: 
    H4501_NetworkFacilityExtension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_sourceEntityAddress, 
      e_destinationEntityAddress 
    }; 
 
    H4501_EntityType m_sourceEntity; 
    H4501_AddressInformation m_sourceEntityAddress; 
    H4501_EntityType m_destinationEntity; 
    H4501_AddressInformation m_destinationEntityAddress; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// AddressScreened 
// 
 
class H4501_AddressScreened : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_AddressScreened, PASN_Sequence); 
#endif 
  public: 
    H4501_AddressScreened(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_partySubaddress 
    }; 
 
    H225_PartyNumber m_partyNumber; 
    H4501_ScreeningIndicator m_screeningIndicator; 
    H4501_PartySubaddress m_partySubaddress; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// NumberScreened 
// 
 
class H4501_NumberScreened : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_NumberScreened, PASN_Sequence); 
#endif 
  public: 
    H4501_NumberScreened(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    H225_PartyNumber m_partyNumber; 
    H4501_ScreeningIndicator m_screeningIndicator; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// Address 
// 
 
class H4501_Address : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_Address, PASN_Sequence); 
#endif 
  public: 
    H4501_Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_partySubaddress 
    }; 
 
    H225_PartyNumber m_partyNumber; 
    H4501_PartySubaddress m_partySubaddress; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// EndpointAddress 
// 
 
class H4501_EndpointAddress : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_EndpointAddress, PASN_Sequence); 
#endif 
  public: 
    H4501_EndpointAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_remoteExtensionAddress 
    }; 
 
    H4501_ArrayOf_AliasAddress m_destinationAddress; 
    H225_AliasAddress m_remoteExtensionAddress; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// UserSpecifiedSubaddress 
// 
 
class H4501_UserSpecifiedSubaddress : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_UserSpecifiedSubaddress, PASN_Sequence); 
#endif 
  public: 
    H4501_UserSpecifiedSubaddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_oddCountIndicator 
    }; 
 
    H4501_SubaddressInformation m_subaddressInformation; 
    PASN_Boolean m_oddCountIndicator; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// SupplementaryService 
// 
 
class H4501_SupplementaryService : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(H4501_SupplementaryService, PASN_Sequence); 
#endif 
  public: 
    H4501_SupplementaryService(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_networkFacilityExtension, 
      e_interpretationApdu 
    }; 
 
    H4501_NetworkFacilityExtension m_networkFacilityExtension; 
    H4501_InterpretationApdu m_interpretationApdu; 
    H4501_ServiceApdus m_serviceApdu; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
#endif // __H4501_H 
 
#endif // if ! H323_DISABLE_H4501 
 
 
// End of h4501.h