home *** CD-ROM | disk | FTP | other *** search
/ ftp.muug.mb.ca / 2014.06.ftp.muug.mb.ca.tar / ftp.muug.mb.ca / pub / openh323.tar.gz / openh323.tar / openh323 / include / h248.h < prev    next >
C/C++ Source or Header  |  2004-06-22  |  106KB  |  4,532 lines

  1. //
  2. // h248.h
  3. //
  4. // Code automatically generated by asnparse.
  5. //
  6.  
  7. #if ! H323_DISABLE_H248
  8.  
  9. #ifndef __H248_H
  10. #define __H248_H
  11.  
  12. #ifdef P_USE_PRAGMA
  13. #pragma interface
  14. #endif
  15.  
  16. #include <ptclib/asner.h>
  17.  
  18. //
  19. // SecurityParmIndex
  20. //
  21.  
  22. class H248_SecurityParmIndex : public PASN_OctetString
  23. {
  24. #ifndef PASN_LEANANDMEAN
  25.     PCLASSINFO(H248_SecurityParmIndex, PASN_OctetString);
  26. #endif
  27.   public:
  28.     H248_SecurityParmIndex(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  29.  
  30.     H248_SecurityParmIndex(const char * v);
  31.     H248_SecurityParmIndex(const PString & v);
  32.     H248_SecurityParmIndex(const PBYTEArray & v);
  33.  
  34.     H248_SecurityParmIndex & operator=(const char * v);
  35.     H248_SecurityParmIndex & operator=(const PString & v);
  36.     H248_SecurityParmIndex & operator=(const PBYTEArray & v);
  37.     PObject * Clone() const;
  38. };
  39.  
  40.  
  41. //
  42. // SequenceNum
  43. //
  44.  
  45. class H248_SequenceNum : public PASN_OctetString
  46. {
  47. #ifndef PASN_LEANANDMEAN
  48.     PCLASSINFO(H248_SequenceNum, PASN_OctetString);
  49. #endif
  50.   public:
  51.     H248_SequenceNum(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  52.  
  53.     H248_SequenceNum(const char * v);
  54.     H248_SequenceNum(const PString & v);
  55.     H248_SequenceNum(const PBYTEArray & v);
  56.  
  57.     H248_SequenceNum & operator=(const char * v);
  58.     H248_SequenceNum & operator=(const PString & v);
  59.     H248_SequenceNum & operator=(const PBYTEArray & v);
  60.     PObject * Clone() const;
  61. };
  62.  
  63.  
  64. //
  65. // AuthData
  66. //
  67.  
  68. class H248_AuthData : public PASN_OctetString
  69. {
  70. #ifndef PASN_LEANANDMEAN
  71.     PCLASSINFO(H248_AuthData, PASN_OctetString);
  72. #endif
  73.   public:
  74.     H248_AuthData(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  75.  
  76.     H248_AuthData(const char * v);
  77.     H248_AuthData(const PString & v);
  78.     H248_AuthData(const PBYTEArray & v);
  79.  
  80.     H248_AuthData & operator=(const char * v);
  81.     H248_AuthData & operator=(const PString & v);
  82.     H248_AuthData & operator=(const PBYTEArray & v);
  83.     PObject * Clone() const;
  84. };
  85.  
  86.  
  87. //
  88. // MId
  89. //
  90.  
  91. class H248_IP4Address;
  92. class H248_IP6Address;
  93. class H248_DomainName;
  94. class H248_PathName;
  95.  
  96. class H248_MId : public PASN_Choice
  97. {
  98. #ifndef PASN_LEANANDMEAN
  99.     PCLASSINFO(H248_MId, PASN_Choice);
  100. #endif
  101.   public:
  102.     H248_MId(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  103.  
  104.     enum Choices {
  105.       e_ip4Address,
  106.       e_ip6Address,
  107.       e_domainName,
  108.       e_deviceName,
  109.       e_mtpAddress
  110.     };
  111.  
  112. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  113.     operator H248_IP4Address &() const;
  114. #else
  115.     operator H248_IP4Address &();
  116.     operator const H248_IP4Address &() const;
  117. #endif
  118. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  119.     operator H248_IP6Address &() const;
  120. #else
  121.     operator H248_IP6Address &();
  122.     operator const H248_IP6Address &() const;
  123. #endif
  124. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  125.     operator H248_DomainName &() const;
  126. #else
  127.     operator H248_DomainName &();
  128.     operator const H248_DomainName &() const;
  129. #endif
  130. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  131.     operator H248_PathName &() const;
  132. #else
  133.     operator H248_PathName &();
  134.     operator const H248_PathName &() const;
  135. #endif
  136.  
  137.     BOOL CreateObject();
  138.     PObject * Clone() const;
  139. };
  140.  
  141.  
  142. //
  143. // DomainName
  144. //
  145.  
  146. class H248_DomainName : public PASN_Sequence
  147. {
  148. #ifndef PASN_LEANANDMEAN
  149.     PCLASSINFO(H248_DomainName, PASN_Sequence);
  150. #endif
  151.   public:
  152.     H248_DomainName(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  153.  
  154.     enum OptionalFields {
  155.       e_portNumber
  156.     };
  157.  
  158.     PASN_IA5String m_name;
  159.     PASN_Integer m_portNumber;
  160.  
  161.     PINDEX GetDataLength() const;
  162.     BOOL Decode(PASN_Stream & strm);
  163.     void Encode(PASN_Stream & strm) const;
  164. #ifndef PASN_NOPRINTON
  165.     void PrintOn(ostream & strm) const;
  166. #endif
  167.     Comparison Compare(const PObject & obj) const;
  168.     PObject * Clone() const;
  169. };
  170.  
  171.  
  172. //
  173. // IP4Address
  174. //
  175.  
  176. class H248_IP4Address : public PASN_Sequence
  177. {
  178. #ifndef PASN_LEANANDMEAN
  179.     PCLASSINFO(H248_IP4Address, PASN_Sequence);
  180. #endif
  181.   public:
  182.     H248_IP4Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  183.  
  184.     enum OptionalFields {
  185.       e_portNumber
  186.     };
  187.  
  188.     PASN_OctetString m_address;
  189.     PASN_Integer m_portNumber;
  190.  
  191.     PINDEX GetDataLength() const;
  192.     BOOL Decode(PASN_Stream & strm);
  193.     void Encode(PASN_Stream & strm) const;
  194. #ifndef PASN_NOPRINTON
  195.     void PrintOn(ostream & strm) const;
  196. #endif
  197.     Comparison Compare(const PObject & obj) const;
  198.     PObject * Clone() const;
  199. };
  200.  
  201.  
  202. //
  203. // IP6Address
  204. //
  205.  
  206. class H248_IP6Address : public PASN_Sequence
  207. {
  208. #ifndef PASN_LEANANDMEAN
  209.     PCLASSINFO(H248_IP6Address, PASN_Sequence);
  210. #endif
  211.   public:
  212.     H248_IP6Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  213.  
  214.     enum OptionalFields {
  215.       e_portNumber
  216.     };
  217.  
  218.     PASN_OctetString m_address;
  219.     PASN_Integer m_portNumber;
  220.  
  221.     PINDEX GetDataLength() const;
  222.     BOOL Decode(PASN_Stream & strm);
  223.     void Encode(PASN_Stream & strm) const;
  224. #ifndef PASN_NOPRINTON
  225.     void PrintOn(ostream & strm) const;
  226. #endif
  227.     Comparison Compare(const PObject & obj) const;
  228.     PObject * Clone() const;
  229. };
  230.  
  231.  
  232. //
  233. // PathName
  234. //
  235.  
  236. class H248_PathName : public PASN_IA5String
  237. {
  238. #ifndef PASN_LEANANDMEAN
  239.     PCLASSINFO(H248_PathName, PASN_IA5String);
  240. #endif
  241.   public:
  242.     H248_PathName(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
  243.  
  244.     H248_PathName & operator=(const char * v);
  245.     H248_PathName & operator=(const PString & v);
  246.     PObject * Clone() const;
  247. };
  248.  
  249.  
  250. //
  251. // Transaction
  252. //
  253.  
  254. class H248_TransactionRequest;
  255. class H248_TransactionPending;
  256. class H248_TransactionReply;
  257. class H248_TransactionResponseAck;
  258.  
  259. class H248_Transaction : public PASN_Choice
  260. {
  261. #ifndef PASN_LEANANDMEAN
  262.     PCLASSINFO(H248_Transaction, PASN_Choice);
  263. #endif
  264.   public:
  265.     H248_Transaction(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  266.  
  267.     enum Choices {
  268.       e_transactionRequest,
  269.       e_transactionPending,
  270.       e_transactionReply,
  271.       e_transactionResponseAck
  272.     };
  273.  
  274. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  275.     operator H248_TransactionRequest &() const;
  276. #else
  277.     operator H248_TransactionRequest &();
  278.     operator const H248_TransactionRequest &() const;
  279. #endif
  280. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  281.     operator H248_TransactionPending &() const;
  282. #else
  283.     operator H248_TransactionPending &();
  284.     operator const H248_TransactionPending &() const;
  285. #endif
  286. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  287.     operator H248_TransactionReply &() const;
  288. #else
  289.     operator H248_TransactionReply &();
  290.     operator const H248_TransactionReply &() const;
  291. #endif
  292. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  293.     operator H248_TransactionResponseAck &() const;
  294. #else
  295.     operator H248_TransactionResponseAck &();
  296.     operator const H248_TransactionResponseAck &() const;
  297. #endif
  298.  
  299.     BOOL CreateObject();
  300.     PObject * Clone() const;
  301. };
  302.  
  303.  
  304. //
  305. // TransactionId
  306. //
  307.  
  308. class H248_TransactionId : public PASN_Integer
  309. {
  310. #ifndef PASN_LEANANDMEAN
  311.     PCLASSINFO(H248_TransactionId, PASN_Integer);
  312. #endif
  313.   public:
  314.     H248_TransactionId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  315.  
  316.     H248_TransactionId & operator=(int v);
  317.     H248_TransactionId & operator=(unsigned v);
  318.     PObject * Clone() const;
  319. };
  320.  
  321.  
  322. //
  323. // TransactionPending
  324. //
  325.  
  326. class H248_TransactionPending : public PASN_Sequence
  327. {
  328. #ifndef PASN_LEANANDMEAN
  329.     PCLASSINFO(H248_TransactionPending, PASN_Sequence);
  330. #endif
  331.   public:
  332.     H248_TransactionPending(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  333.  
  334.     H248_TransactionId m_transactionId;
  335.  
  336.     PINDEX GetDataLength() const;
  337.     BOOL Decode(PASN_Stream & strm);
  338.     void Encode(PASN_Stream & strm) const;
  339. #ifndef PASN_NOPRINTON
  340.     void PrintOn(ostream & strm) const;
  341. #endif
  342.     Comparison Compare(const PObject & obj) const;
  343.     PObject * Clone() const;
  344. };
  345.  
  346.  
  347. //
  348. // TransactionResponseAck
  349. //
  350.  
  351. class H248_TransactionAck;
  352.  
  353. class H248_TransactionResponseAck : public PASN_Array
  354. {
  355. #ifndef PASN_LEANANDMEAN
  356.     PCLASSINFO(H248_TransactionResponseAck, PASN_Array);
  357. #endif
  358.   public:
  359.     H248_TransactionResponseAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  360.  
  361.     PASN_Object * CreateObject() const;
  362.     H248_TransactionAck & operator[](PINDEX i) const;
  363.     PObject * Clone() const;
  364. };
  365.  
  366.  
  367. //
  368. // TransactionAck
  369. //
  370.  
  371. class H248_TransactionAck : public PASN_Sequence
  372. {
  373. #ifndef PASN_LEANANDMEAN
  374.     PCLASSINFO(H248_TransactionAck, PASN_Sequence);
  375. #endif
  376.   public:
  377.     H248_TransactionAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  378.  
  379.     enum OptionalFields {
  380.       e_lastAck
  381.     };
  382.  
  383.     H248_TransactionId m_firstAck;
  384.     H248_TransactionId m_lastAck;
  385.  
  386.     PINDEX GetDataLength() const;
  387.     BOOL Decode(PASN_Stream & strm);
  388.     void Encode(PASN_Stream & strm) const;
  389. #ifndef PASN_NOPRINTON
  390.     void PrintOn(ostream & strm) const;
  391. #endif
  392.     Comparison Compare(const PObject & obj) const;
  393.     PObject * Clone() const;
  394. };
  395.  
  396.  
  397. //
  398. // ErrorCode
  399. //
  400.  
  401. class H248_ErrorCode : public PASN_Integer
  402. {
  403. #ifndef PASN_LEANANDMEAN
  404.     PCLASSINFO(H248_ErrorCode, PASN_Integer);
  405. #endif
  406.   public:
  407.     H248_ErrorCode(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  408.  
  409.     H248_ErrorCode & operator=(int v);
  410.     H248_ErrorCode & operator=(unsigned v);
  411.     PObject * Clone() const;
  412. };
  413.  
  414.  
  415. //
  416. // ErrorText
  417. //
  418.  
  419. class H248_ErrorText : public PASN_IA5String
  420. {
  421. #ifndef PASN_LEANANDMEAN
  422.     PCLASSINFO(H248_ErrorText, PASN_IA5String);
  423. #endif
  424.   public:
  425.     H248_ErrorText(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
  426.  
  427.     H248_ErrorText & operator=(const char * v);
  428.     H248_ErrorText & operator=(const PString & v);
  429.     PObject * Clone() const;
  430. };
  431.  
  432.  
  433. //
  434. // ContextID
  435. //
  436.  
  437. class H248_ContextID : public PASN_Integer
  438. {
  439. #ifndef PASN_LEANANDMEAN
  440.     PCLASSINFO(H248_ContextID, PASN_Integer);
  441. #endif
  442.   public:
  443.     H248_ContextID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  444.  
  445.     H248_ContextID & operator=(int v);
  446.     H248_ContextID & operator=(unsigned v);
  447.     PObject * Clone() const;
  448. };
  449.  
  450.  
  451. //
  452. // ContextAttrAuditRequest
  453. //
  454.  
  455. class H248_ContextAttrAuditRequest : public PASN_Sequence
  456. {
  457. #ifndef PASN_LEANANDMEAN
  458.     PCLASSINFO(H248_ContextAttrAuditRequest, PASN_Sequence);
  459. #endif
  460.   public:
  461.     H248_ContextAttrAuditRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  462.  
  463.     enum OptionalFields {
  464.       e_topology,
  465.       e_emergency,
  466.       e_priority
  467.     };
  468.  
  469.     PASN_Null m_topology;
  470.     PASN_Null m_emergency;
  471.     PASN_Null m_priority;
  472.  
  473.     PINDEX GetDataLength() const;
  474.     BOOL Decode(PASN_Stream & strm);
  475.     void Encode(PASN_Stream & strm) const;
  476. #ifndef PASN_NOPRINTON
  477.     void PrintOn(ostream & strm) const;
  478. #endif
  479.     Comparison Compare(const PObject & obj) const;
  480.     PObject * Clone() const;
  481. };
  482.  
  483.  
  484. //
  485. // Command
  486. //
  487.  
  488. class H248_AmmRequest;
  489. class H248_AmmRequest;
  490. class H248_AmmRequest;
  491. class H248_SubtractRequest;
  492. class H248_AuditRequest;
  493. class H248_AuditRequest;
  494. class H248_NotifyRequest;
  495. class H248_ServiceChangeRequest;
  496.  
  497. class H248_Command : public PASN_Choice
  498. {
  499. #ifndef PASN_LEANANDMEAN
  500.     PCLASSINFO(H248_Command, PASN_Choice);
  501. #endif
  502.   public:
  503.     H248_Command(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  504.  
  505.     enum Choices {
  506.       e_addReq,
  507.       e_moveReq,
  508.       e_modReq,
  509.       e_subtractReq,
  510.       e_auditCapRequest,
  511.       e_auditValueRequest,
  512.       e_notifyReq,
  513.       e_serviceChangeReq
  514.     };
  515.  
  516. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  517.     operator H248_AmmRequest &() const;
  518. #else
  519.     operator H248_AmmRequest &();
  520.     operator const H248_AmmRequest &() const;
  521. #endif
  522. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  523.     operator H248_SubtractRequest &() const;
  524. #else
  525.     operator H248_SubtractRequest &();
  526.     operator const H248_SubtractRequest &() const;
  527. #endif
  528. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  529.     operator H248_AuditRequest &() const;
  530. #else
  531.     operator H248_AuditRequest &();
  532.     operator const H248_AuditRequest &() const;
  533. #endif
  534. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  535.     operator H248_NotifyRequest &() const;
  536. #else
  537.     operator H248_NotifyRequest &();
  538.     operator const H248_NotifyRequest &() const;
  539. #endif
  540. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  541.     operator H248_ServiceChangeRequest &() const;
  542. #else
  543.     operator H248_ServiceChangeRequest &();
  544.     operator const H248_ServiceChangeRequest &() const;
  545. #endif
  546.  
  547.     BOOL CreateObject();
  548.     PObject * Clone() const;
  549. };
  550.  
  551.  
  552. //
  553. // CommandReply
  554. //
  555.  
  556. class H248_AmmsReply;
  557. class H248_AmmsReply;
  558. class H248_AmmsReply;
  559. class H248_AmmsReply;
  560. class H248_AuditReply;
  561. class H248_AuditReply;
  562. class H248_NotifyReply;
  563. class H248_ServiceChangeReply;
  564.  
  565. class H248_CommandReply : public PASN_Choice
  566. {
  567. #ifndef PASN_LEANANDMEAN
  568.     PCLASSINFO(H248_CommandReply, PASN_Choice);
  569. #endif
  570.   public:
  571.     H248_CommandReply(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  572.  
  573.     enum Choices {
  574.       e_addReply,
  575.       e_moveReply,
  576.       e_modReply,
  577.       e_subtractReply,
  578.       e_auditCapReply,
  579.       e_auditValueReply,
  580.       e_notifyReply,
  581.       e_serviceChangeReply
  582.     };
  583.  
  584. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  585.     operator H248_AmmsReply &() const;
  586. #else
  587.     operator H248_AmmsReply &();
  588.     operator const H248_AmmsReply &() const;
  589. #endif
  590. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  591.     operator H248_AuditReply &() const;
  592. #else
  593.     operator H248_AuditReply &();
  594.     operator const H248_AuditReply &() const;
  595. #endif
  596. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  597.     operator H248_NotifyReply &() const;
  598. #else
  599.     operator H248_NotifyReply &();
  600.     operator const H248_NotifyReply &() const;
  601. #endif
  602. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  603.     operator H248_ServiceChangeReply &() const;
  604. #else
  605.     operator H248_ServiceChangeReply &();
  606.     operator const H248_ServiceChangeReply &() const;
  607. #endif
  608.  
  609.     BOOL CreateObject();
  610.     PObject * Clone() const;
  611. };
  612.  
  613.  
  614. //
  615. // AmmDescriptor
  616. //
  617.  
  618. class H248_MediaDescriptor;
  619. class H248_ModemDescriptor;
  620. class H248_MuxDescriptor;
  621. class H248_EventsDescriptor;
  622. class H248_EventBufferDescriptor;
  623. class H248_SignalsDescriptor;
  624. class H248_DigitMapDescriptor;
  625. class H248_AuditDescriptor;
  626.  
  627. class H248_AmmDescriptor : public PASN_Choice
  628. {
  629. #ifndef PASN_LEANANDMEAN
  630.     PCLASSINFO(H248_AmmDescriptor, PASN_Choice);
  631. #endif
  632.   public:
  633.     H248_AmmDescriptor(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  634.  
  635.     enum Choices {
  636.       e_mediaDescriptor,
  637.       e_modemDescriptor,
  638.       e_muxDescriptor,
  639.       e_eventsDescriptor,
  640.       e_eventBufferDescriptor,
  641.       e_signalsDescriptor,
  642.       e_digitMapDescriptor,
  643.       e_auditDescriptor
  644.     };
  645.  
  646. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  647.     operator H248_MediaDescriptor &() const;
  648. #else
  649.     operator H248_MediaDescriptor &();
  650.     operator const H248_MediaDescriptor &() const;
  651. #endif
  652. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  653.     operator H248_ModemDescriptor &() const;
  654. #else
  655.     operator H248_ModemDescriptor &();
  656.     operator const H248_ModemDescriptor &() const;
  657. #endif
  658. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  659.     operator H248_MuxDescriptor &() const;
  660. #else
  661.     operator H248_MuxDescriptor &();
  662.     operator const H248_MuxDescriptor &() const;
  663. #endif
  664. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  665.     operator H248_EventsDescriptor &() const;
  666. #else
  667.     operator H248_EventsDescriptor &();
  668.     operator const H248_EventsDescriptor &() const;
  669. #endif
  670. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  671.     operator H248_EventBufferDescriptor &() const;
  672. #else
  673.     operator H248_EventBufferDescriptor &();
  674.     operator const H248_EventBufferDescriptor &() const;
  675. #endif
  676. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  677.     operator H248_SignalsDescriptor &() const;
  678. #else
  679.     operator H248_SignalsDescriptor &();
  680.     operator const H248_SignalsDescriptor &() const;
  681. #endif
  682. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  683.     operator H248_DigitMapDescriptor &() const;
  684. #else
  685.     operator H248_DigitMapDescriptor &();
  686.     operator const H248_DigitMapDescriptor &() const;
  687. #endif
  688. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  689.     operator H248_AuditDescriptor &() const;
  690. #else
  691.     operator H248_AuditDescriptor &();
  692.     operator const H248_AuditDescriptor &() const;
  693. #endif
  694.  
  695.     BOOL CreateObject();
  696.     PObject * Clone() const;
  697. };
  698.  
  699.  
  700. //
  701. // AuditReply
  702. //
  703.  
  704. class H248_TerminationIDList;
  705. class H248_ErrorDescriptor;
  706. class H248_AuditResult;
  707.  
  708. class H248_AuditReply : public PASN_Choice
  709. {
  710. #ifndef PASN_LEANANDMEAN
  711.     PCLASSINFO(H248_AuditReply, PASN_Choice);
  712. #endif
  713.   public:
  714.     H248_AuditReply(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  715.  
  716.     enum Choices {
  717.       e_contextAuditResult,
  718.       e_error,
  719.       e_auditResult
  720.     };
  721.  
  722. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  723.     operator H248_TerminationIDList &() const;
  724. #else
  725.     operator H248_TerminationIDList &();
  726.     operator const H248_TerminationIDList &() const;
  727. #endif
  728. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  729.     operator H248_ErrorDescriptor &() const;
  730. #else
  731.     operator H248_ErrorDescriptor &();
  732.     operator const H248_ErrorDescriptor &() const;
  733. #endif
  734. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  735.     operator H248_AuditResult &() const;
  736. #else
  737.     operator H248_AuditResult &();
  738.     operator const H248_AuditResult &() const;
  739. #endif
  740.  
  741.     BOOL CreateObject();
  742.     PObject * Clone() const;
  743. };
  744.  
  745.  
  746. //
  747. // TerminationAudit
  748. //
  749.  
  750. class H248_AuditReturnParameter;
  751.  
  752. class H248_TerminationAudit : public PASN_Array
  753. {
  754. #ifndef PASN_LEANANDMEAN
  755.     PCLASSINFO(H248_TerminationAudit, PASN_Array);
  756. #endif
  757.   public:
  758.     H248_TerminationAudit(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  759.  
  760.     PASN_Object * CreateObject() const;
  761.     H248_AuditReturnParameter & operator[](PINDEX i) const;
  762.     PObject * Clone() const;
  763. };
  764.  
  765.  
  766. //
  767. // AuditReturnParameter
  768. //
  769.  
  770. class H248_ErrorDescriptor;
  771. class H248_MediaDescriptor;
  772. class H248_ModemDescriptor;
  773. class H248_MuxDescriptor;
  774. class H248_EventsDescriptor;
  775. class H248_EventBufferDescriptor;
  776. class H248_SignalsDescriptor;
  777. class H248_DigitMapDescriptor;
  778. class H248_ObservedEventsDescriptor;
  779. class H248_StatisticsDescriptor;
  780. class H248_PackagesDescriptor;
  781. class H248_AuditDescriptor;
  782.  
  783. class H248_AuditReturnParameter : public PASN_Choice
  784. {
  785. #ifndef PASN_LEANANDMEAN
  786.     PCLASSINFO(H248_AuditReturnParameter, PASN_Choice);
  787. #endif
  788.   public:
  789.     H248_AuditReturnParameter(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  790.  
  791.     enum Choices {
  792.       e_errorDescriptor,
  793.       e_mediaDescriptor,
  794.       e_modemDescriptor,
  795.       e_muxDescriptor,
  796.       e_eventsDescriptor,
  797.       e_eventBufferDescriptor,
  798.       e_signalsDescriptor,
  799.       e_digitMapDescriptor,
  800.       e_observedEventsDescriptor,
  801.       e_statisticsDescriptor,
  802.       e_packagesDescriptor,
  803.       e_emptyDescriptors
  804.     };
  805.  
  806. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  807.     operator H248_ErrorDescriptor &() const;
  808. #else
  809.     operator H248_ErrorDescriptor &();
  810.     operator const H248_ErrorDescriptor &() const;
  811. #endif
  812. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  813.     operator H248_MediaDescriptor &() const;
  814. #else
  815.     operator H248_MediaDescriptor &();
  816.     operator const H248_MediaDescriptor &() const;
  817. #endif
  818. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  819.     operator H248_ModemDescriptor &() const;
  820. #else
  821.     operator H248_ModemDescriptor &();
  822.     operator const H248_ModemDescriptor &() const;
  823. #endif
  824. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  825.     operator H248_MuxDescriptor &() const;
  826. #else
  827.     operator H248_MuxDescriptor &();
  828.     operator const H248_MuxDescriptor &() const;
  829. #endif
  830. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  831.     operator H248_EventsDescriptor &() const;
  832. #else
  833.     operator H248_EventsDescriptor &();
  834.     operator const H248_EventsDescriptor &() const;
  835. #endif
  836. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  837.     operator H248_EventBufferDescriptor &() const;
  838. #else
  839.     operator H248_EventBufferDescriptor &();
  840.     operator const H248_EventBufferDescriptor &() const;
  841. #endif
  842. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  843.     operator H248_SignalsDescriptor &() const;
  844. #else
  845.     operator H248_SignalsDescriptor &();
  846.     operator const H248_SignalsDescriptor &() const;
  847. #endif
  848. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  849.     operator H248_DigitMapDescriptor &() const;
  850. #else
  851.     operator H248_DigitMapDescriptor &();
  852.     operator const H248_DigitMapDescriptor &() const;
  853. #endif
  854. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  855.     operator H248_ObservedEventsDescriptor &() const;
  856. #else
  857.     operator H248_ObservedEventsDescriptor &();
  858.     operator const H248_ObservedEventsDescriptor &() const;
  859. #endif
  860. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  861.     operator H248_StatisticsDescriptor &() const;
  862. #else
  863.     operator H248_StatisticsDescriptor &();
  864.     operator const H248_StatisticsDescriptor &() const;
  865. #endif
  866. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  867.     operator H248_PackagesDescriptor &() const;
  868. #else
  869.     operator H248_PackagesDescriptor &();
  870.     operator const H248_PackagesDescriptor &() const;
  871. #endif
  872. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  873.     operator H248_AuditDescriptor &() const;
  874. #else
  875.     operator H248_AuditDescriptor &();
  876.     operator const H248_AuditDescriptor &() const;
  877. #endif
  878.  
  879.     BOOL CreateObject();
  880.     PObject * Clone() const;
  881. };
  882.  
  883.  
  884. //
  885. // IndAuditParameter
  886. //
  887.  
  888. class H248_IndAudMediaDescriptor;
  889. class H248_IndAudEventsDescriptor;
  890. class H248_IndAudEventBufferDescriptor;
  891. class H248_IndAudSignalsDescriptor;
  892. class H248_IndAudDigitMapDescriptor;
  893. class H248_IndAudStatisticsDescriptor;
  894. class H248_IndAudPackagesDescriptor;
  895.  
  896. class H248_IndAuditParameter : public PASN_Choice
  897. {
  898. #ifndef PASN_LEANANDMEAN
  899.     PCLASSINFO(H248_IndAuditParameter, PASN_Choice);
  900. #endif
  901.   public:
  902.     H248_IndAuditParameter(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  903.  
  904.     enum Choices {
  905.       e_indaudmediaDescriptor,
  906.       e_indaudeventsDescriptor,
  907.       e_indaudeventBufferDescriptor,
  908.       e_indaudsignalsDescriptor,
  909.       e_indauddigitMapDescriptor,
  910.       e_indaudstatisticsDescriptor,
  911.       e_indaudpackagesDescriptor
  912.     };
  913.  
  914. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  915.     operator H248_IndAudMediaDescriptor &() const;
  916. #else
  917.     operator H248_IndAudMediaDescriptor &();
  918.     operator const H248_IndAudMediaDescriptor &() const;
  919. #endif
  920. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  921.     operator H248_IndAudEventsDescriptor &() const;
  922. #else
  923.     operator H248_IndAudEventsDescriptor &();
  924.     operator const H248_IndAudEventsDescriptor &() const;
  925. #endif
  926. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  927.     operator H248_IndAudEventBufferDescriptor &() const;
  928. #else
  929.     operator H248_IndAudEventBufferDescriptor &();
  930.     operator const H248_IndAudEventBufferDescriptor &() const;
  931. #endif
  932. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  933.     operator H248_IndAudSignalsDescriptor &() const;
  934. #else
  935.     operator H248_IndAudSignalsDescriptor &();
  936.     operator const H248_IndAudSignalsDescriptor &() const;
  937. #endif
  938. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  939.     operator H248_IndAudDigitMapDescriptor &() const;
  940. #else
  941.     operator H248_IndAudDigitMapDescriptor &();
  942.     operator const H248_IndAudDigitMapDescriptor &() const;
  943. #endif
  944. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  945.     operator H248_IndAudStatisticsDescriptor &() const;
  946. #else
  947.     operator H248_IndAudStatisticsDescriptor &();
  948.     operator const H248_IndAudStatisticsDescriptor &() const;
  949. #endif
  950. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  951.     operator H248_IndAudPackagesDescriptor &() const;
  952. #else
  953.     operator H248_IndAudPackagesDescriptor &();
  954.     operator const H248_IndAudPackagesDescriptor &() const;
  955. #endif
  956.  
  957.     BOOL CreateObject();
  958.     PObject * Clone() const;
  959. };
  960.  
  961.  
  962. //
  963. // IndAudPropertyGroup
  964. //
  965.  
  966. class H248_IndAudPropertyParm;
  967.  
  968. class H248_IndAudPropertyGroup : public PASN_Array
  969. {
  970. #ifndef PASN_LEANANDMEAN
  971.     PCLASSINFO(H248_IndAudPropertyGroup, PASN_Array);
  972. #endif
  973.   public:
  974.     H248_IndAudPropertyGroup(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  975.  
  976.     PASN_Object * CreateObject() const;
  977.     H248_IndAudPropertyParm & operator[](PINDEX i) const;
  978.     PObject * Clone() const;
  979. };
  980.  
  981.  
  982. //
  983. // IndAudSignalsDescriptor
  984. //
  985.  
  986. class H248_IndAudSignal;
  987. class H248_IndAudSeqSigList;
  988.  
  989. class H248_IndAudSignalsDescriptor : public PASN_Choice
  990. {
  991. #ifndef PASN_LEANANDMEAN
  992.     PCLASSINFO(H248_IndAudSignalsDescriptor, PASN_Choice);
  993. #endif
  994.   public:
  995.     H248_IndAudSignalsDescriptor(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  996.  
  997.     enum Choices {
  998.       e_signal,
  999.       e_seqSigList
  1000.     };
  1001.  
  1002. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1003.     operator H248_IndAudSignal &() const;
  1004. #else
  1005.     operator H248_IndAudSignal &();
  1006.     operator const H248_IndAudSignal &() const;
  1007. #endif
  1008. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1009.     operator H248_IndAudSeqSigList &() const;
  1010. #else
  1011.     operator H248_IndAudSeqSigList &();
  1012.     operator const H248_IndAudSeqSigList &() const;
  1013. #endif
  1014.  
  1015.     BOOL CreateObject();
  1016.     PObject * Clone() const;
  1017. };
  1018.  
  1019.  
  1020. //
  1021. // ServiceChangeResult
  1022. //
  1023.  
  1024. class H248_ErrorDescriptor;
  1025. class H248_ServiceChangeResParm;
  1026.  
  1027. class H248_ServiceChangeResult : public PASN_Choice
  1028. {
  1029. #ifndef PASN_LEANANDMEAN
  1030.     PCLASSINFO(H248_ServiceChangeResult, PASN_Choice);
  1031. #endif
  1032.   public:
  1033.     H248_ServiceChangeResult(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1034.  
  1035.     enum Choices {
  1036.       e_errorDescriptor,
  1037.       e_serviceChangeResParms
  1038.     };
  1039.  
  1040. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1041.     operator H248_ErrorDescriptor &() const;
  1042. #else
  1043.     operator H248_ErrorDescriptor &();
  1044.     operator const H248_ErrorDescriptor &() const;
  1045. #endif
  1046. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1047.     operator H248_ServiceChangeResParm &() const;
  1048. #else
  1049.     operator H248_ServiceChangeResParm &();
  1050.     operator const H248_ServiceChangeResParm &() const;
  1051. #endif
  1052.  
  1053.     BOOL CreateObject();
  1054.     PObject * Clone() const;
  1055. };
  1056.  
  1057.  
  1058. //
  1059. // WildcardField
  1060. //
  1061.  
  1062. class H248_WildcardField : public PASN_OctetString
  1063. {
  1064. #ifndef PASN_LEANANDMEAN
  1065.     PCLASSINFO(H248_WildcardField, PASN_OctetString);
  1066. #endif
  1067.   public:
  1068.     H248_WildcardField(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  1069.  
  1070.     H248_WildcardField(const char * v);
  1071.     H248_WildcardField(const PString & v);
  1072.     H248_WildcardField(const PBYTEArray & v);
  1073.  
  1074.     H248_WildcardField & operator=(const char * v);
  1075.     H248_WildcardField & operator=(const PString & v);
  1076.     H248_WildcardField & operator=(const PBYTEArray & v);
  1077.     PObject * Clone() const;
  1078. };
  1079.  
  1080.  
  1081. //
  1082. // TerminationIDList
  1083. //
  1084.  
  1085. class H248_TerminationID;
  1086.  
  1087. class H248_TerminationIDList : public PASN_Array
  1088. {
  1089. #ifndef PASN_LEANANDMEAN
  1090.     PCLASSINFO(H248_TerminationIDList, PASN_Array);
  1091. #endif
  1092.   public:
  1093.     H248_TerminationIDList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1094.  
  1095.     PASN_Object * CreateObject() const;
  1096.     H248_TerminationID & operator[](PINDEX i) const;
  1097.     PObject * Clone() const;
  1098. };
  1099.  
  1100.  
  1101. //
  1102. // StreamMode
  1103. //
  1104.  
  1105. class H248_StreamMode : public PASN_Enumeration
  1106. {
  1107. #ifndef PASN_LEANANDMEAN
  1108.     PCLASSINFO(H248_StreamMode, PASN_Enumeration);
  1109. #endif
  1110.   public:
  1111.     H248_StreamMode(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1112.  
  1113.     enum Enumerations {
  1114.       e_sendOnly,
  1115.       e_recvOnly,
  1116.       e_sendRecv,
  1117.       e_inactive,
  1118.       e_loopBack
  1119.     };
  1120.  
  1121.     H248_StreamMode & operator=(unsigned v);
  1122.     PObject * Clone() const;
  1123. };
  1124.  
  1125.  
  1126. //
  1127. // Name
  1128. //
  1129.  
  1130. class H248_Name : public PASN_OctetString
  1131. {
  1132. #ifndef PASN_LEANANDMEAN
  1133.     PCLASSINFO(H248_Name, PASN_OctetString);
  1134. #endif
  1135.   public:
  1136.     H248_Name(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  1137.  
  1138.     H248_Name(const char * v);
  1139.     H248_Name(const PString & v);
  1140.     H248_Name(const PBYTEArray & v);
  1141.  
  1142.     H248_Name & operator=(const char * v);
  1143.     H248_Name & operator=(const PString & v);
  1144.     H248_Name & operator=(const PBYTEArray & v);
  1145.     PObject * Clone() const;
  1146. };
  1147.  
  1148.  
  1149. //
  1150. // PkgdName
  1151. //
  1152.  
  1153. class H248_PkgdName : public PASN_OctetString
  1154. {
  1155. #ifndef PASN_LEANANDMEAN
  1156.     PCLASSINFO(H248_PkgdName, PASN_OctetString);
  1157. #endif
  1158.   public:
  1159.     H248_PkgdName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  1160.  
  1161.     H248_PkgdName(const char * v);
  1162.     H248_PkgdName(const PString & v);
  1163.     H248_PkgdName(const PBYTEArray & v);
  1164.  
  1165.     H248_PkgdName & operator=(const char * v);
  1166.     H248_PkgdName & operator=(const PString & v);
  1167.     H248_PkgdName & operator=(const PBYTEArray & v);
  1168.     PObject * Clone() const;
  1169. };
  1170.  
  1171.  
  1172. //
  1173. // Relation
  1174. //
  1175.  
  1176. class H248_Relation : public PASN_Enumeration
  1177. {
  1178. #ifndef PASN_LEANANDMEAN
  1179.     PCLASSINFO(H248_Relation, PASN_Enumeration);
  1180. #endif
  1181.   public:
  1182.     H248_Relation(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1183.  
  1184.     enum Enumerations {
  1185.       e_greaterThan,
  1186.       e_smallerThan,
  1187.       e_unequalTo
  1188.     };
  1189.  
  1190.     H248_Relation & operator=(unsigned v);
  1191.     PObject * Clone() const;
  1192. };
  1193.  
  1194.  
  1195. //
  1196. // PropertyGroup
  1197. //
  1198.  
  1199. class H248_PropertyParm;
  1200.  
  1201. class H248_PropertyGroup : public PASN_Array
  1202. {
  1203. #ifndef PASN_LEANANDMEAN
  1204.     PCLASSINFO(H248_PropertyGroup, PASN_Array);
  1205. #endif
  1206.   public:
  1207.     H248_PropertyGroup(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1208.  
  1209.     PASN_Object * CreateObject() const;
  1210.     H248_PropertyParm & operator[](PINDEX i) const;
  1211.     PObject * Clone() const;
  1212. };
  1213.  
  1214.  
  1215. //
  1216. // EventBufferControl
  1217. //
  1218.  
  1219. class H248_EventBufferControl : public PASN_Enumeration
  1220. {
  1221. #ifndef PASN_LEANANDMEAN
  1222.     PCLASSINFO(H248_EventBufferControl, PASN_Enumeration);
  1223. #endif
  1224.   public:
  1225.     H248_EventBufferControl(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1226.  
  1227.     enum Enumerations {
  1228.       e_off,
  1229.       e_lockStep
  1230.     };
  1231.  
  1232.     H248_EventBufferControl & operator=(unsigned v);
  1233.     PObject * Clone() const;
  1234. };
  1235.  
  1236.  
  1237. //
  1238. // ServiceState
  1239. //
  1240.  
  1241. class H248_ServiceState : public PASN_Enumeration
  1242. {
  1243. #ifndef PASN_LEANANDMEAN
  1244.     PCLASSINFO(H248_ServiceState, PASN_Enumeration);
  1245. #endif
  1246.   public:
  1247.     H248_ServiceState(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1248.  
  1249.     enum Enumerations {
  1250.       e_test,
  1251.       e_outOfSvc,
  1252.       e_inSvc
  1253.     };
  1254.  
  1255.     H248_ServiceState & operator=(unsigned v);
  1256.     PObject * Clone() const;
  1257. };
  1258.  
  1259.  
  1260. //
  1261. // MuxType
  1262. //
  1263.  
  1264. class H248_MuxType : public PASN_Enumeration
  1265. {
  1266. #ifndef PASN_LEANANDMEAN
  1267.     PCLASSINFO(H248_MuxType, PASN_Enumeration);
  1268. #endif
  1269.   public:
  1270.     H248_MuxType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1271.  
  1272.     enum Enumerations {
  1273.       e_h221,
  1274.       e_h223,
  1275.       e_h226,
  1276.       e_v76,
  1277.       e_nx64k
  1278.     };
  1279.  
  1280.     H248_MuxType & operator=(unsigned v);
  1281.     PObject * Clone() const;
  1282. };
  1283.  
  1284.  
  1285. //
  1286. // StreamID
  1287. //
  1288.  
  1289. class H248_StreamID : public PASN_Integer
  1290. {
  1291. #ifndef PASN_LEANANDMEAN
  1292.     PCLASSINFO(H248_StreamID, PASN_Integer);
  1293. #endif
  1294.   public:
  1295.     H248_StreamID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  1296.  
  1297.     H248_StreamID & operator=(int v);
  1298.     H248_StreamID & operator=(unsigned v);
  1299.     PObject * Clone() const;
  1300. };
  1301.  
  1302.  
  1303. //
  1304. // EventDM
  1305. //
  1306.  
  1307. class H248_DigitMapName;
  1308. class H248_DigitMapValue;
  1309.  
  1310. class H248_EventDM : public PASN_Choice
  1311. {
  1312. #ifndef PASN_LEANANDMEAN
  1313.     PCLASSINFO(H248_EventDM, PASN_Choice);
  1314. #endif
  1315.   public:
  1316.     H248_EventDM(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1317.  
  1318.     enum Choices {
  1319.       e_digitMapName,
  1320.       e_digitMapValue
  1321.     };
  1322.  
  1323. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1324.     operator H248_DigitMapName &() const;
  1325. #else
  1326.     operator H248_DigitMapName &();
  1327.     operator const H248_DigitMapName &() const;
  1328. #endif
  1329. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1330.     operator H248_DigitMapValue &() const;
  1331. #else
  1332.     operator H248_DigitMapValue &();
  1333.     operator const H248_DigitMapValue &() const;
  1334. #endif
  1335.  
  1336.     BOOL CreateObject();
  1337.     PObject * Clone() const;
  1338. };
  1339.  
  1340.  
  1341. //
  1342. // EventBufferDescriptor
  1343. //
  1344.  
  1345. class H248_EventSpec;
  1346.  
  1347. class H248_EventBufferDescriptor : public PASN_Array
  1348. {
  1349. #ifndef PASN_LEANANDMEAN
  1350.     PCLASSINFO(H248_EventBufferDescriptor, PASN_Array);
  1351. #endif
  1352.   public:
  1353.     H248_EventBufferDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1354.  
  1355.     PASN_Object * CreateObject() const;
  1356.     H248_EventSpec & operator[](PINDEX i) const;
  1357.     PObject * Clone() const;
  1358. };
  1359.  
  1360.  
  1361. //
  1362. // SignalsDescriptor
  1363. //
  1364.  
  1365. class H248_SignalRequest;
  1366.  
  1367. class H248_SignalsDescriptor : public PASN_Array
  1368. {
  1369. #ifndef PASN_LEANANDMEAN
  1370.     PCLASSINFO(H248_SignalsDescriptor, PASN_Array);
  1371. #endif
  1372.   public:
  1373.     H248_SignalsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1374.  
  1375.     PASN_Object * CreateObject() const;
  1376.     H248_SignalRequest & operator[](PINDEX i) const;
  1377.     PObject * Clone() const;
  1378. };
  1379.  
  1380.  
  1381. //
  1382. // SignalRequest
  1383. //
  1384.  
  1385. class H248_Signal;
  1386. class H248_SeqSigList;
  1387.  
  1388. class H248_SignalRequest : public PASN_Choice
  1389. {
  1390. #ifndef PASN_LEANANDMEAN
  1391.     PCLASSINFO(H248_SignalRequest, PASN_Choice);
  1392. #endif
  1393.   public:
  1394.     H248_SignalRequest(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1395.  
  1396.     enum Choices {
  1397.       e_signal,
  1398.       e_seqSigList
  1399.     };
  1400.  
  1401. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1402.     operator H248_Signal &() const;
  1403. #else
  1404.     operator H248_Signal &();
  1405.     operator const H248_Signal &() const;
  1406. #endif
  1407. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1408.     operator H248_SeqSigList &() const;
  1409. #else
  1410.     operator H248_SeqSigList &();
  1411.     operator const H248_SeqSigList &() const;
  1412. #endif
  1413.  
  1414.     BOOL CreateObject();
  1415.     PObject * Clone() const;
  1416. };
  1417.  
  1418.  
  1419. //
  1420. // SignalType
  1421. //
  1422.  
  1423. class H248_SignalType : public PASN_Enumeration
  1424. {
  1425. #ifndef PASN_LEANANDMEAN
  1426.     PCLASSINFO(H248_SignalType, PASN_Enumeration);
  1427. #endif
  1428.   public:
  1429.     H248_SignalType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1430.  
  1431.     enum Enumerations {
  1432.       e_brief,
  1433.       e_onOff,
  1434.       e_timeOut
  1435.     };
  1436.  
  1437.     H248_SignalType & operator=(unsigned v);
  1438.     PObject * Clone() const;
  1439. };
  1440.  
  1441.  
  1442. //
  1443. // SignalName
  1444. //
  1445.  
  1446. class H248_SignalName : public H248_PkgdName
  1447. {
  1448. #ifndef PASN_LEANANDMEAN
  1449.     PCLASSINFO(H248_SignalName, H248_PkgdName);
  1450. #endif
  1451.   public:
  1452.     H248_SignalName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  1453.  
  1454.     H248_SignalName(const char * v);
  1455.     H248_SignalName(const PString & v);
  1456.     H248_SignalName(const PBYTEArray & v);
  1457.  
  1458.     H248_SignalName & operator=(const char * v);
  1459.     H248_SignalName & operator=(const PString & v);
  1460.     H248_SignalName & operator=(const PBYTEArray & v);
  1461.     PObject * Clone() const;
  1462. };
  1463.  
  1464.  
  1465. //
  1466. // NotifyCompletion
  1467. //
  1468.  
  1469. class H248_NotifyCompletion : public PASN_BitString
  1470. {
  1471. #ifndef PASN_LEANANDMEAN
  1472.     PCLASSINFO(H248_NotifyCompletion, PASN_BitString);
  1473. #endif
  1474.   public:
  1475.     H248_NotifyCompletion(unsigned tag = UniversalBitString, TagClass tagClass = UniversalTagClass);
  1476.  
  1477.     PObject * Clone() const;
  1478. };
  1479.  
  1480.  
  1481. //
  1482. // RequestID
  1483. //
  1484.  
  1485. class H248_RequestID : public PASN_Integer
  1486. {
  1487. #ifndef PASN_LEANANDMEAN
  1488.     PCLASSINFO(H248_RequestID, PASN_Integer);
  1489. #endif
  1490.   public:
  1491.     H248_RequestID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  1492.  
  1493.     H248_RequestID & operator=(int v);
  1494.     H248_RequestID & operator=(unsigned v);
  1495.     PObject * Clone() const;
  1496. };
  1497.  
  1498.  
  1499. //
  1500. // ModemType
  1501. //
  1502.  
  1503. class H248_ModemType : public PASN_Enumeration
  1504. {
  1505. #ifndef PASN_LEANANDMEAN
  1506.     PCLASSINFO(H248_ModemType, PASN_Enumeration);
  1507. #endif
  1508.   public:
  1509.     H248_ModemType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1510.  
  1511.     enum Enumerations {
  1512.       e_v18,
  1513.       e_v22,
  1514.       e_v22bis,
  1515.       e_v32,
  1516.       e_v32bis,
  1517.       e_v34,
  1518.       e_v90,
  1519.       e_v91,
  1520.       e_synchISDN
  1521.     };
  1522.  
  1523.     H248_ModemType & operator=(unsigned v);
  1524.     PObject * Clone() const;
  1525. };
  1526.  
  1527.  
  1528. //
  1529. // DigitMapName
  1530. //
  1531.  
  1532. class H248_DigitMapName : public H248_Name
  1533. {
  1534. #ifndef PASN_LEANANDMEAN
  1535.     PCLASSINFO(H248_DigitMapName, H248_Name);
  1536. #endif
  1537.   public:
  1538.     H248_DigitMapName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  1539.  
  1540.     H248_DigitMapName(const char * v);
  1541.     H248_DigitMapName(const PString & v);
  1542.     H248_DigitMapName(const PBYTEArray & v);
  1543.  
  1544.     H248_DigitMapName & operator=(const char * v);
  1545.     H248_DigitMapName & operator=(const PString & v);
  1546.     H248_DigitMapName & operator=(const PBYTEArray & v);
  1547.     PObject * Clone() const;
  1548. };
  1549.  
  1550.  
  1551. //
  1552. // DigitMapValue
  1553. //
  1554.  
  1555. class H248_DigitMapValue : public PASN_Sequence
  1556. {
  1557. #ifndef PASN_LEANANDMEAN
  1558.     PCLASSINFO(H248_DigitMapValue, PASN_Sequence);
  1559. #endif
  1560.   public:
  1561.     H248_DigitMapValue(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1562.  
  1563.     enum OptionalFields {
  1564.       e_startTimer,
  1565.       e_shortTimer,
  1566.       e_longTimer,
  1567.       e_durationTimer
  1568.     };
  1569.  
  1570.     PASN_Integer m_startTimer;
  1571.     PASN_Integer m_shortTimer;
  1572.     PASN_Integer m_longTimer;
  1573.     PASN_IA5String m_digitMapBody;
  1574.     PASN_Integer m_durationTimer;
  1575.  
  1576.     PINDEX GetDataLength() const;
  1577.     BOOL Decode(PASN_Stream & strm);
  1578.     void Encode(PASN_Stream & strm) const;
  1579. #ifndef PASN_NOPRINTON
  1580.     void PrintOn(ostream & strm) const;
  1581. #endif
  1582.     Comparison Compare(const PObject & obj) const;
  1583.     PObject * Clone() const;
  1584. };
  1585.  
  1586.  
  1587. //
  1588. // ServiceChangeAddress
  1589. //
  1590.  
  1591. class H248_IP4Address;
  1592. class H248_IP6Address;
  1593. class H248_DomainName;
  1594. class H248_PathName;
  1595.  
  1596. class H248_ServiceChangeAddress : public PASN_Choice
  1597. {
  1598. #ifndef PASN_LEANANDMEAN
  1599.     PCLASSINFO(H248_ServiceChangeAddress, PASN_Choice);
  1600. #endif
  1601.   public:
  1602.     H248_ServiceChangeAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1603.  
  1604.     enum Choices {
  1605.       e_portNumber,
  1606.       e_ip4Address,
  1607.       e_ip6Address,
  1608.       e_domainName,
  1609.       e_deviceName,
  1610.       e_mtpAddress
  1611.     };
  1612.  
  1613. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1614.     operator H248_IP4Address &() const;
  1615. #else
  1616.     operator H248_IP4Address &();
  1617.     operator const H248_IP4Address &() const;
  1618. #endif
  1619. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1620.     operator H248_IP6Address &() const;
  1621. #else
  1622.     operator H248_IP6Address &();
  1623.     operator const H248_IP6Address &() const;
  1624. #endif
  1625. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1626.     operator H248_DomainName &() const;
  1627. #else
  1628.     operator H248_DomainName &();
  1629.     operator const H248_DomainName &() const;
  1630. #endif
  1631. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1632.     operator H248_PathName &() const;
  1633. #else
  1634.     operator H248_PathName &();
  1635.     operator const H248_PathName &() const;
  1636. #endif
  1637.  
  1638.     BOOL CreateObject();
  1639.     PObject * Clone() const;
  1640. };
  1641.  
  1642.  
  1643. //
  1644. // ServiceChangeMethod
  1645. //
  1646.  
  1647. class H248_ServiceChangeMethod : public PASN_Enumeration
  1648. {
  1649. #ifndef PASN_LEANANDMEAN
  1650.     PCLASSINFO(H248_ServiceChangeMethod, PASN_Enumeration);
  1651. #endif
  1652.   public:
  1653.     H248_ServiceChangeMethod(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1654.  
  1655.     enum Enumerations {
  1656.       e_failover,
  1657.       e_forced,
  1658.       e_graceful,
  1659.       e_restart,
  1660.       e_disconnected,
  1661.       e_handOff
  1662.     };
  1663.  
  1664.     H248_ServiceChangeMethod & operator=(unsigned v);
  1665.     PObject * Clone() const;
  1666. };
  1667.  
  1668.  
  1669. //
  1670. // ServiceChangeProfile
  1671. //
  1672.  
  1673. class H248_ServiceChangeProfile : public PASN_Sequence
  1674. {
  1675. #ifndef PASN_LEANANDMEAN
  1676.     PCLASSINFO(H248_ServiceChangeProfile, PASN_Sequence);
  1677. #endif
  1678.   public:
  1679.     H248_ServiceChangeProfile(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1680.  
  1681.     PASN_IA5String m_profileName;
  1682.  
  1683.     PINDEX GetDataLength() const;
  1684.     BOOL Decode(PASN_Stream & strm);
  1685.     void Encode(PASN_Stream & strm) const;
  1686. #ifndef PASN_NOPRINTON
  1687.     void PrintOn(ostream & strm) const;
  1688. #endif
  1689.     Comparison Compare(const PObject & obj) const;
  1690.     PObject * Clone() const;
  1691. };
  1692.  
  1693.  
  1694. //
  1695. // PackagesDescriptor
  1696. //
  1697.  
  1698. class H248_PackagesItem;
  1699.  
  1700. class H248_PackagesDescriptor : public PASN_Array
  1701. {
  1702. #ifndef PASN_LEANANDMEAN
  1703.     PCLASSINFO(H248_PackagesDescriptor, PASN_Array);
  1704. #endif
  1705.   public:
  1706.     H248_PackagesDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1707.  
  1708.     PASN_Object * CreateObject() const;
  1709.     H248_PackagesItem & operator[](PINDEX i) const;
  1710.     PObject * Clone() const;
  1711. };
  1712.  
  1713.  
  1714. //
  1715. // PackagesItem
  1716. //
  1717.  
  1718. class H248_PackagesItem : public PASN_Sequence
  1719. {
  1720. #ifndef PASN_LEANANDMEAN
  1721.     PCLASSINFO(H248_PackagesItem, PASN_Sequence);
  1722. #endif
  1723.   public:
  1724.     H248_PackagesItem(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1725.  
  1726.     H248_Name m_packageName;
  1727.     PASN_Integer m_packageVersion;
  1728.  
  1729.     PINDEX GetDataLength() const;
  1730.     BOOL Decode(PASN_Stream & strm);
  1731.     void Encode(PASN_Stream & strm) const;
  1732. #ifndef PASN_NOPRINTON
  1733.     void PrintOn(ostream & strm) const;
  1734. #endif
  1735.     Comparison Compare(const PObject & obj) const;
  1736.     PObject * Clone() const;
  1737. };
  1738.  
  1739.  
  1740. //
  1741. // StatisticsDescriptor
  1742. //
  1743.  
  1744. class H248_StatisticsParameter;
  1745.  
  1746. class H248_StatisticsDescriptor : public PASN_Array
  1747. {
  1748. #ifndef PASN_LEANANDMEAN
  1749.     PCLASSINFO(H248_StatisticsDescriptor, PASN_Array);
  1750. #endif
  1751.   public:
  1752.     H248_StatisticsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1753.  
  1754.     PASN_Object * CreateObject() const;
  1755.     H248_StatisticsParameter & operator[](PINDEX i) const;
  1756.     PObject * Clone() const;
  1757. };
  1758.  
  1759.  
  1760. //
  1761. // NonStandardIdentifier
  1762. //
  1763.  
  1764. class H248_H221NonStandard;
  1765.  
  1766. class H248_NonStandardIdentifier : public PASN_Choice
  1767. {
  1768. #ifndef PASN_LEANANDMEAN
  1769.     PCLASSINFO(H248_NonStandardIdentifier, PASN_Choice);
  1770. #endif
  1771.   public:
  1772.     H248_NonStandardIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1773.  
  1774.     enum Choices {
  1775.       e_object,
  1776.       e_h221NonStandard,
  1777.       e_experimental
  1778.     };
  1779.  
  1780. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1781.     operator H248_H221NonStandard &() const;
  1782. #else
  1783.     operator H248_H221NonStandard &();
  1784.     operator const H248_H221NonStandard &() const;
  1785. #endif
  1786.  
  1787.     BOOL CreateObject();
  1788.     PObject * Clone() const;
  1789. };
  1790.  
  1791.  
  1792. //
  1793. // H221NonStandard
  1794. //
  1795.  
  1796. class H248_H221NonStandard : public PASN_Sequence
  1797. {
  1798. #ifndef PASN_LEANANDMEAN
  1799.     PCLASSINFO(H248_H221NonStandard, PASN_Sequence);
  1800. #endif
  1801.   public:
  1802.     H248_H221NonStandard(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1803.  
  1804.     PASN_Integer m_t35CountryCode1;
  1805.     PASN_Integer m_t35CountryCode2;
  1806.     PASN_Integer m_t35Extension;
  1807.     PASN_Integer m_manufacturerCode;
  1808.  
  1809.     PINDEX GetDataLength() const;
  1810.     BOOL Decode(PASN_Stream & strm);
  1811.     void Encode(PASN_Stream & strm) const;
  1812. #ifndef PASN_NOPRINTON
  1813.     void PrintOn(ostream & strm) const;
  1814. #endif
  1815.     Comparison Compare(const PObject & obj) const;
  1816.     PObject * Clone() const;
  1817. };
  1818.  
  1819.  
  1820. //
  1821. // TimeNotation
  1822. //
  1823.  
  1824. class H248_TimeNotation : public PASN_Sequence
  1825. {
  1826. #ifndef PASN_LEANANDMEAN
  1827.     PCLASSINFO(H248_TimeNotation, PASN_Sequence);
  1828. #endif
  1829.   public:
  1830.     H248_TimeNotation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1831.  
  1832.     PASN_IA5String m_date;
  1833.     PASN_IA5String m_time;
  1834.  
  1835.     PINDEX GetDataLength() const;
  1836.     BOOL Decode(PASN_Stream & strm);
  1837.     void Encode(PASN_Stream & strm) const;
  1838. #ifndef PASN_NOPRINTON
  1839.     void PrintOn(ostream & strm) const;
  1840. #endif
  1841.     Comparison Compare(const PObject & obj) const;
  1842.     PObject * Clone() const;
  1843. };
  1844.  
  1845.  
  1846. //
  1847. // Value
  1848. //
  1849.  
  1850. class H248_Value : public PASN_Array
  1851. {
  1852. #ifndef PASN_LEANANDMEAN
  1853.     PCLASSINFO(H248_Value, PASN_Array);
  1854. #endif
  1855.   public:
  1856.     H248_Value(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1857.  
  1858.     PASN_Object * CreateObject() const;
  1859.     PASN_OctetString & operator[](PINDEX i) const;
  1860.     PObject * Clone() const;
  1861. };
  1862.  
  1863.  
  1864. //
  1865. // Message_messageBody
  1866. //
  1867.  
  1868. class H248_ErrorDescriptor;
  1869. class H248_ArrayOf_Transaction;
  1870.  
  1871. class H248_Message_messageBody : public PASN_Choice
  1872. {
  1873. #ifndef PASN_LEANANDMEAN
  1874.     PCLASSINFO(H248_Message_messageBody, PASN_Choice);
  1875. #endif
  1876.   public:
  1877.     H248_Message_messageBody(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1878.  
  1879.     enum Choices {
  1880.       e_messageError,
  1881.       e_transactions
  1882.     };
  1883.  
  1884. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1885.     operator H248_ErrorDescriptor &() const;
  1886. #else
  1887.     operator H248_ErrorDescriptor &();
  1888.     operator const H248_ErrorDescriptor &() const;
  1889. #endif
  1890. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1891.     operator H248_ArrayOf_Transaction &() const;
  1892. #else
  1893.     operator H248_ArrayOf_Transaction &();
  1894.     operator const H248_ArrayOf_Transaction &() const;
  1895. #endif
  1896.  
  1897.     BOOL CreateObject();
  1898.     PObject * Clone() const;
  1899. };
  1900.  
  1901.  
  1902. //
  1903. // ArrayOf_ActionRequest
  1904. //
  1905.  
  1906. class H248_ActionRequest;
  1907.  
  1908. class H248_ArrayOf_ActionRequest : public PASN_Array
  1909. {
  1910. #ifndef PASN_LEANANDMEAN
  1911.     PCLASSINFO(H248_ArrayOf_ActionRequest, PASN_Array);
  1912. #endif
  1913.   public:
  1914.     H248_ArrayOf_ActionRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1915.  
  1916.     PASN_Object * CreateObject() const;
  1917.     H248_ActionRequest & operator[](PINDEX i) const;
  1918.     PObject * Clone() const;
  1919. };
  1920.  
  1921.  
  1922. //
  1923. // TransactionReply_transactionResult
  1924. //
  1925.  
  1926. class H248_ErrorDescriptor;
  1927. class H248_ArrayOf_ActionReply;
  1928.  
  1929. class H248_TransactionReply_transactionResult : public PASN_Choice
  1930. {
  1931. #ifndef PASN_LEANANDMEAN
  1932.     PCLASSINFO(H248_TransactionReply_transactionResult, PASN_Choice);
  1933. #endif
  1934.   public:
  1935.     H248_TransactionReply_transactionResult(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1936.  
  1937.     enum Choices {
  1938.       e_transactionError,
  1939.       e_actionReplies
  1940.     };
  1941.  
  1942. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1943.     operator H248_ErrorDescriptor &() const;
  1944. #else
  1945.     operator H248_ErrorDescriptor &();
  1946.     operator const H248_ErrorDescriptor &() const;
  1947. #endif
  1948. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1949.     operator H248_ArrayOf_ActionReply &() const;
  1950. #else
  1951.     operator H248_ArrayOf_ActionReply &();
  1952.     operator const H248_ArrayOf_ActionReply &() const;
  1953. #endif
  1954.  
  1955.     BOOL CreateObject();
  1956.     PObject * Clone() const;
  1957. };
  1958.  
  1959.  
  1960. //
  1961. // ArrayOf_CommandRequest
  1962. //
  1963.  
  1964. class H248_CommandRequest;
  1965.  
  1966. class H248_ArrayOf_CommandRequest : public PASN_Array
  1967. {
  1968. #ifndef PASN_LEANANDMEAN
  1969.     PCLASSINFO(H248_ArrayOf_CommandRequest, PASN_Array);
  1970. #endif
  1971.   public:
  1972.     H248_ArrayOf_CommandRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1973.  
  1974.     PASN_Object * CreateObject() const;
  1975.     H248_CommandRequest & operator[](PINDEX i) const;
  1976.     PObject * Clone() const;
  1977. };
  1978.  
  1979.  
  1980. //
  1981. // ArrayOf_CommandReply
  1982. //
  1983.  
  1984. class H248_CommandReply;
  1985.  
  1986. class H248_ArrayOf_CommandReply : public PASN_Array
  1987. {
  1988. #ifndef PASN_LEANANDMEAN
  1989.     PCLASSINFO(H248_ArrayOf_CommandReply, PASN_Array);
  1990. #endif
  1991.   public:
  1992.     H248_ArrayOf_CommandReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1993.  
  1994.     PASN_Object * CreateObject() const;
  1995.     H248_CommandReply & operator[](PINDEX i) const;
  1996.     PObject * Clone() const;
  1997. };
  1998.  
  1999.  
  2000. //
  2001. // ArrayOf_TopologyRequest
  2002. //
  2003.  
  2004. class H248_TopologyRequest;
  2005.  
  2006. class H248_ArrayOf_TopologyRequest : public PASN_Array
  2007. {
  2008. #ifndef PASN_LEANANDMEAN
  2009.     PCLASSINFO(H248_ArrayOf_TopologyRequest, PASN_Array);
  2010. #endif
  2011.   public:
  2012.     H248_ArrayOf_TopologyRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2013.  
  2014.     PASN_Object * CreateObject() const;
  2015.     H248_TopologyRequest & operator[](PINDEX i) const;
  2016.     PObject * Clone() const;
  2017. };
  2018.  
  2019.  
  2020. //
  2021. // TopologyRequest_topologyDirection
  2022. //
  2023.  
  2024. class H248_TopologyRequest_topologyDirection : public PASN_Enumeration
  2025. {
  2026. #ifndef PASN_LEANANDMEAN
  2027.     PCLASSINFO(H248_TopologyRequest_topologyDirection, PASN_Enumeration);
  2028. #endif
  2029.   public:
  2030.     H248_TopologyRequest_topologyDirection(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  2031.  
  2032.     enum Enumerations {
  2033.       e_bothway,
  2034.       e_isolate,
  2035.       e_oneway
  2036.     };
  2037.  
  2038.     H248_TopologyRequest_topologyDirection & operator=(unsigned v);
  2039.     PObject * Clone() const;
  2040. };
  2041.  
  2042.  
  2043. //
  2044. // ArrayOf_AmmDescriptor
  2045. //
  2046.  
  2047. class H248_AmmDescriptor;
  2048.  
  2049. class H248_ArrayOf_AmmDescriptor : public PASN_Array
  2050. {
  2051. #ifndef PASN_LEANANDMEAN
  2052.     PCLASSINFO(H248_ArrayOf_AmmDescriptor, PASN_Array);
  2053. #endif
  2054.   public:
  2055.     H248_ArrayOf_AmmDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2056.  
  2057.     PASN_Object * CreateObject() const;
  2058.     H248_AmmDescriptor & operator[](PINDEX i) const;
  2059.     PObject * Clone() const;
  2060. };
  2061.  
  2062.  
  2063. //
  2064. // ArrayOf_IndAuditParameter
  2065. //
  2066.  
  2067. class H248_IndAuditParameter;
  2068.  
  2069. class H248_ArrayOf_IndAuditParameter : public PASN_Array
  2070. {
  2071. #ifndef PASN_LEANANDMEAN
  2072.     PCLASSINFO(H248_ArrayOf_IndAuditParameter, PASN_Array);
  2073. #endif
  2074.   public:
  2075.     H248_ArrayOf_IndAuditParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2076.  
  2077.     PASN_Object * CreateObject() const;
  2078.     H248_IndAuditParameter & operator[](PINDEX i) const;
  2079.     PObject * Clone() const;
  2080. };
  2081.  
  2082.  
  2083. //
  2084. // IndAudMediaDescriptor_streams
  2085. //
  2086.  
  2087. class H248_IndAudStreamParms;
  2088. class H248_ArrayOf_IndAudStreamDescriptor;
  2089.  
  2090. class H248_IndAudMediaDescriptor_streams : public PASN_Choice
  2091. {
  2092. #ifndef PASN_LEANANDMEAN
  2093.     PCLASSINFO(H248_IndAudMediaDescriptor_streams, PASN_Choice);
  2094. #endif
  2095.   public:
  2096.     H248_IndAudMediaDescriptor_streams(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2097.  
  2098.     enum Choices {
  2099.       e_oneStream,
  2100.       e_multiStream
  2101.     };
  2102.  
  2103. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2104.     operator H248_IndAudStreamParms &() const;
  2105. #else
  2106.     operator H248_IndAudStreamParms &();
  2107.     operator const H248_IndAudStreamParms &() const;
  2108. #endif
  2109. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2110.     operator H248_ArrayOf_IndAudStreamDescriptor &() const;
  2111. #else
  2112.     operator H248_ArrayOf_IndAudStreamDescriptor &();
  2113.     operator const H248_ArrayOf_IndAudStreamDescriptor &() const;
  2114. #endif
  2115.  
  2116.     BOOL CreateObject();
  2117.     PObject * Clone() const;
  2118. };
  2119.  
  2120.  
  2121. //
  2122. // ArrayOf_IndAudPropertyParm
  2123. //
  2124.  
  2125. class H248_IndAudPropertyParm;
  2126.  
  2127. class H248_ArrayOf_IndAudPropertyParm : public PASN_Array
  2128. {
  2129. #ifndef PASN_LEANANDMEAN
  2130.     PCLASSINFO(H248_ArrayOf_IndAudPropertyParm, PASN_Array);
  2131. #endif
  2132.   public:
  2133.     H248_ArrayOf_IndAudPropertyParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2134.  
  2135.     PASN_Object * CreateObject() const;
  2136.     H248_IndAudPropertyParm & operator[](PINDEX i) const;
  2137.     PObject * Clone() const;
  2138. };
  2139.  
  2140.  
  2141. //
  2142. // ArrayOf_ObservedEvent
  2143. //
  2144.  
  2145. class H248_ObservedEvent;
  2146.  
  2147. class H248_ArrayOf_ObservedEvent : public PASN_Array
  2148. {
  2149. #ifndef PASN_LEANANDMEAN
  2150.     PCLASSINFO(H248_ArrayOf_ObservedEvent, PASN_Array);
  2151. #endif
  2152.   public:
  2153.     H248_ArrayOf_ObservedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2154.  
  2155.     PASN_Object * CreateObject() const;
  2156.     H248_ObservedEvent & operator[](PINDEX i) const;
  2157.     PObject * Clone() const;
  2158. };
  2159.  
  2160.  
  2161. //
  2162. // ArrayOf_EventParameter
  2163. //
  2164.  
  2165. class H248_EventParameter;
  2166.  
  2167. class H248_ArrayOf_EventParameter : public PASN_Array
  2168. {
  2169. #ifndef PASN_LEANANDMEAN
  2170.     PCLASSINFO(H248_ArrayOf_EventParameter, PASN_Array);
  2171. #endif
  2172.   public:
  2173.     H248_ArrayOf_EventParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2174.  
  2175.     PASN_Object * CreateObject() const;
  2176.     H248_EventParameter & operator[](PINDEX i) const;
  2177.     PObject * Clone() const;
  2178. };
  2179.  
  2180.  
  2181. //
  2182. // EventParameter_extraInfo
  2183. //
  2184.  
  2185. class H248_Relation;
  2186.  
  2187. class H248_EventParameter_extraInfo : public PASN_Choice
  2188. {
  2189. #ifndef PASN_LEANANDMEAN
  2190.     PCLASSINFO(H248_EventParameter_extraInfo, PASN_Choice);
  2191. #endif
  2192.   public:
  2193.     H248_EventParameter_extraInfo(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2194.  
  2195.     enum Choices {
  2196.       e_relation,
  2197.       e_range,
  2198.       e_sublist
  2199.     };
  2200.  
  2201. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2202.     operator H248_Relation &() const;
  2203. #else
  2204.     operator H248_Relation &();
  2205.     operator const H248_Relation &() const;
  2206. #endif
  2207.  
  2208.     BOOL CreateObject();
  2209.     PObject * Clone() const;
  2210. };
  2211.  
  2212.  
  2213. //
  2214. // ArrayOf_WildcardField
  2215. //
  2216.  
  2217. class H248_WildcardField;
  2218.  
  2219. class H248_ArrayOf_WildcardField : public PASN_Array
  2220. {
  2221. #ifndef PASN_LEANANDMEAN
  2222.     PCLASSINFO(H248_ArrayOf_WildcardField, PASN_Array);
  2223. #endif
  2224.   public:
  2225.     H248_ArrayOf_WildcardField(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2226.  
  2227.     PASN_Object * CreateObject() const;
  2228.     H248_WildcardField & operator[](PINDEX i) const;
  2229.     PObject * Clone() const;
  2230. };
  2231.  
  2232.  
  2233. //
  2234. // MediaDescriptor_streams
  2235. //
  2236.  
  2237. class H248_StreamParms;
  2238. class H248_ArrayOf_StreamDescriptor;
  2239.  
  2240. class H248_MediaDescriptor_streams : public PASN_Choice
  2241. {
  2242. #ifndef PASN_LEANANDMEAN
  2243.     PCLASSINFO(H248_MediaDescriptor_streams, PASN_Choice);
  2244. #endif
  2245.   public:
  2246.     H248_MediaDescriptor_streams(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2247.  
  2248.     enum Choices {
  2249.       e_oneStream,
  2250.       e_multiStream
  2251.     };
  2252.  
  2253. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2254.     operator H248_StreamParms &() const;
  2255. #else
  2256.     operator H248_StreamParms &();
  2257.     operator const H248_StreamParms &() const;
  2258. #endif
  2259. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2260.     operator H248_ArrayOf_StreamDescriptor &() const;
  2261. #else
  2262.     operator H248_ArrayOf_StreamDescriptor &();
  2263.     operator const H248_ArrayOf_StreamDescriptor &() const;
  2264. #endif
  2265.  
  2266.     BOOL CreateObject();
  2267.     PObject * Clone() const;
  2268. };
  2269.  
  2270.  
  2271. //
  2272. // ArrayOf_PropertyParm
  2273. //
  2274.  
  2275. class H248_PropertyParm;
  2276.  
  2277. class H248_ArrayOf_PropertyParm : public PASN_Array
  2278. {
  2279. #ifndef PASN_LEANANDMEAN
  2280.     PCLASSINFO(H248_ArrayOf_PropertyParm, PASN_Array);
  2281. #endif
  2282.   public:
  2283.     H248_ArrayOf_PropertyParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2284.  
  2285.     PASN_Object * CreateObject() const;
  2286.     H248_PropertyParm & operator[](PINDEX i) const;
  2287.     PObject * Clone() const;
  2288. };
  2289.  
  2290.  
  2291. //
  2292. // ArrayOf_PASN_OctetString
  2293. //
  2294.  
  2295. class H248_ArrayOf_PASN_OctetString : public PASN_Array
  2296. {
  2297. #ifndef PASN_LEANANDMEAN
  2298.     PCLASSINFO(H248_ArrayOf_PASN_OctetString, PASN_Array);
  2299. #endif
  2300.   public:
  2301.     H248_ArrayOf_PASN_OctetString(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2302.  
  2303.     PASN_Object * CreateObject() const;
  2304.     PASN_OctetString & operator[](PINDEX i) const;
  2305.     PObject * Clone() const;
  2306. };
  2307.  
  2308.  
  2309. //
  2310. // PropertyParm_extraInfo
  2311. //
  2312.  
  2313. class H248_Relation;
  2314.  
  2315. class H248_PropertyParm_extraInfo : public PASN_Choice
  2316. {
  2317. #ifndef PASN_LEANANDMEAN
  2318.     PCLASSINFO(H248_PropertyParm_extraInfo, PASN_Choice);
  2319. #endif
  2320.   public:
  2321.     H248_PropertyParm_extraInfo(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2322.  
  2323.     enum Choices {
  2324.       e_relation,
  2325.       e_range,
  2326.       e_sublist
  2327.     };
  2328.  
  2329. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2330.     operator H248_Relation &() const;
  2331. #else
  2332.     operator H248_Relation &();
  2333.     operator const H248_Relation &() const;
  2334. #endif
  2335.  
  2336.     BOOL CreateObject();
  2337.     PObject * Clone() const;
  2338. };
  2339.  
  2340.  
  2341. //
  2342. // ArrayOf_PropertyGroup
  2343. //
  2344.  
  2345. class H248_PropertyGroup;
  2346.  
  2347. class H248_ArrayOf_PropertyGroup : public PASN_Array
  2348. {
  2349. #ifndef PASN_LEANANDMEAN
  2350.     PCLASSINFO(H248_ArrayOf_PropertyGroup, PASN_Array);
  2351. #endif
  2352.   public:
  2353.     H248_ArrayOf_PropertyGroup(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2354.  
  2355.     PASN_Object * CreateObject() const;
  2356.     H248_PropertyGroup & operator[](PINDEX i) const;
  2357.     PObject * Clone() const;
  2358. };
  2359.  
  2360.  
  2361. //
  2362. // ArrayOf_TerminationID
  2363. //
  2364.  
  2365. class H248_TerminationID;
  2366.  
  2367. class H248_ArrayOf_TerminationID : public PASN_Array
  2368. {
  2369. #ifndef PASN_LEANANDMEAN
  2370.     PCLASSINFO(H248_ArrayOf_TerminationID, PASN_Array);
  2371. #endif
  2372.   public:
  2373.     H248_ArrayOf_TerminationID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2374.  
  2375.     PASN_Object * CreateObject() const;
  2376.     H248_TerminationID & operator[](PINDEX i) const;
  2377.     PObject * Clone() const;
  2378. };
  2379.  
  2380.  
  2381. //
  2382. // ArrayOf_RequestedEvent
  2383. //
  2384.  
  2385. class H248_RequestedEvent;
  2386.  
  2387. class H248_ArrayOf_RequestedEvent : public PASN_Array
  2388. {
  2389. #ifndef PASN_LEANANDMEAN
  2390.     PCLASSINFO(H248_ArrayOf_RequestedEvent, PASN_Array);
  2391. #endif
  2392.   public:
  2393.     H248_ArrayOf_RequestedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2394.  
  2395.     PASN_Object * CreateObject() const;
  2396.     H248_RequestedEvent & operator[](PINDEX i) const;
  2397.     PObject * Clone() const;
  2398. };
  2399.  
  2400.  
  2401. //
  2402. // ArrayOf_SecondRequestedEvent
  2403. //
  2404.  
  2405. class H248_SecondRequestedEvent;
  2406.  
  2407. class H248_ArrayOf_SecondRequestedEvent : public PASN_Array
  2408. {
  2409. #ifndef PASN_LEANANDMEAN
  2410.     PCLASSINFO(H248_ArrayOf_SecondRequestedEvent, PASN_Array);
  2411. #endif
  2412.   public:
  2413.     H248_ArrayOf_SecondRequestedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2414.  
  2415.     PASN_Object * CreateObject() const;
  2416.     H248_SecondRequestedEvent & operator[](PINDEX i) const;
  2417.     PObject * Clone() const;
  2418. };
  2419.  
  2420.  
  2421. //
  2422. // ArrayOf_Signal
  2423. //
  2424.  
  2425. class H248_Signal;
  2426.  
  2427. class H248_ArrayOf_Signal : public PASN_Array
  2428. {
  2429. #ifndef PASN_LEANANDMEAN
  2430.     PCLASSINFO(H248_ArrayOf_Signal, PASN_Array);
  2431. #endif
  2432.   public:
  2433.     H248_ArrayOf_Signal(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2434.  
  2435.     PASN_Object * CreateObject() const;
  2436.     H248_Signal & operator[](PINDEX i) const;
  2437.     PObject * Clone() const;
  2438. };
  2439.  
  2440.  
  2441. //
  2442. // ArrayOf_SigParameter
  2443. //
  2444.  
  2445. class H248_SigParameter;
  2446.  
  2447. class H248_ArrayOf_SigParameter : public PASN_Array
  2448. {
  2449. #ifndef PASN_LEANANDMEAN
  2450.     PCLASSINFO(H248_ArrayOf_SigParameter, PASN_Array);
  2451. #endif
  2452.   public:
  2453.     H248_ArrayOf_SigParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2454.  
  2455.     PASN_Object * CreateObject() const;
  2456.     H248_SigParameter & operator[](PINDEX i) const;
  2457.     PObject * Clone() const;
  2458. };
  2459.  
  2460.  
  2461. //
  2462. // SigParameter_extraInfo
  2463. //
  2464.  
  2465. class H248_Relation;
  2466.  
  2467. class H248_SigParameter_extraInfo : public PASN_Choice
  2468. {
  2469. #ifndef PASN_LEANANDMEAN
  2470.     PCLASSINFO(H248_SigParameter_extraInfo, PASN_Choice);
  2471. #endif
  2472.   public:
  2473.     H248_SigParameter_extraInfo(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2474.  
  2475.     enum Choices {
  2476.       e_relation,
  2477.       e_range,
  2478.       e_sublist
  2479.     };
  2480.  
  2481. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2482.     operator H248_Relation &() const;
  2483. #else
  2484.     operator H248_Relation &();
  2485.     operator const H248_Relation &() const;
  2486. #endif
  2487.  
  2488.     BOOL CreateObject();
  2489.     PObject * Clone() const;
  2490. };
  2491.  
  2492.  
  2493. //
  2494. // ArrayOf_ModemType
  2495. //
  2496.  
  2497. class H248_ModemType;
  2498.  
  2499. class H248_ArrayOf_ModemType : public PASN_Array
  2500. {
  2501. #ifndef PASN_LEANANDMEAN
  2502.     PCLASSINFO(H248_ArrayOf_ModemType, PASN_Array);
  2503. #endif
  2504.   public:
  2505.     H248_ArrayOf_ModemType(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2506.  
  2507.     PASN_Object * CreateObject() const;
  2508.     H248_ModemType & operator[](PINDEX i) const;
  2509.     PObject * Clone() const;
  2510. };
  2511.  
  2512.  
  2513. //
  2514. // ArrayOf_Transaction
  2515. //
  2516.  
  2517. class H248_Transaction;
  2518.  
  2519. class H248_ArrayOf_Transaction : public PASN_Array
  2520. {
  2521. #ifndef PASN_LEANANDMEAN
  2522.     PCLASSINFO(H248_ArrayOf_Transaction, PASN_Array);
  2523. #endif
  2524.   public:
  2525.     H248_ArrayOf_Transaction(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2526.  
  2527.     PASN_Object * CreateObject() const;
  2528.     H248_Transaction & operator[](PINDEX i) const;
  2529.     PObject * Clone() const;
  2530. };
  2531.  
  2532.  
  2533. //
  2534. // ArrayOf_ActionReply
  2535. //
  2536.  
  2537. class H248_ActionReply;
  2538.  
  2539. class H248_ArrayOf_ActionReply : public PASN_Array
  2540. {
  2541. #ifndef PASN_LEANANDMEAN
  2542.     PCLASSINFO(H248_ArrayOf_ActionReply, PASN_Array);
  2543. #endif
  2544.   public:
  2545.     H248_ArrayOf_ActionReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2546.  
  2547.     PASN_Object * CreateObject() const;
  2548.     H248_ActionReply & operator[](PINDEX i) const;
  2549.     PObject * Clone() const;
  2550. };
  2551.  
  2552.  
  2553. //
  2554. // ArrayOf_IndAudStreamDescriptor
  2555. //
  2556.  
  2557. class H248_IndAudStreamDescriptor;
  2558.  
  2559. class H248_ArrayOf_IndAudStreamDescriptor : public PASN_Array
  2560. {
  2561. #ifndef PASN_LEANANDMEAN
  2562.     PCLASSINFO(H248_ArrayOf_IndAudStreamDescriptor, PASN_Array);
  2563. #endif
  2564.   public:
  2565.     H248_ArrayOf_IndAudStreamDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2566.  
  2567.     PASN_Object * CreateObject() const;
  2568.     H248_IndAudStreamDescriptor & operator[](PINDEX i) const;
  2569.     PObject * Clone() const;
  2570. };
  2571.  
  2572.  
  2573. //
  2574. // ArrayOf_StreamDescriptor
  2575. //
  2576.  
  2577. class H248_StreamDescriptor;
  2578.  
  2579. class H248_ArrayOf_StreamDescriptor : public PASN_Array
  2580. {
  2581. #ifndef PASN_LEANANDMEAN
  2582.     PCLASSINFO(H248_ArrayOf_StreamDescriptor, PASN_Array);
  2583. #endif
  2584.   public:
  2585.     H248_ArrayOf_StreamDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2586.  
  2587.     PASN_Object * CreateObject() const;
  2588.     H248_StreamDescriptor & operator[](PINDEX i) const;
  2589.     PObject * Clone() const;
  2590. };
  2591.  
  2592.  
  2593. //
  2594. // AuthenticationHeader
  2595. //
  2596.  
  2597. class H248_AuthenticationHeader : public PASN_Sequence
  2598. {
  2599. #ifndef PASN_LEANANDMEAN
  2600.     PCLASSINFO(H248_AuthenticationHeader, PASN_Sequence);
  2601. #endif
  2602.   public:
  2603.     H248_AuthenticationHeader(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2604.  
  2605.     H248_SecurityParmIndex m_secParmIndex;
  2606.     H248_SequenceNum m_seqNum;
  2607.     H248_AuthData m_ad;
  2608.  
  2609.     PINDEX GetDataLength() const;
  2610.     BOOL Decode(PASN_Stream & strm);
  2611.     void Encode(PASN_Stream & strm) const;
  2612. #ifndef PASN_NOPRINTON
  2613.     void PrintOn(ostream & strm) const;
  2614. #endif
  2615.     Comparison Compare(const PObject & obj) const;
  2616.     PObject * Clone() const;
  2617. };
  2618.  
  2619.  
  2620. //
  2621. // Message
  2622. //
  2623.  
  2624. class H248_Message : public PASN_Sequence
  2625. {
  2626. #ifndef PASN_LEANANDMEAN
  2627.     PCLASSINFO(H248_Message, PASN_Sequence);
  2628. #endif
  2629.   public:
  2630.     H248_Message(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2631.  
  2632.     PASN_Integer m_version;
  2633.     H248_MId m_mId;
  2634.     H248_Message_messageBody m_messageBody;
  2635.  
  2636.     PINDEX GetDataLength() const;
  2637.     BOOL Decode(PASN_Stream & strm);
  2638.     void Encode(PASN_Stream & strm) const;
  2639. #ifndef PASN_NOPRINTON
  2640.     void PrintOn(ostream & strm) const;
  2641. #endif
  2642.     Comparison Compare(const PObject & obj) const;
  2643.     PObject * Clone() const;
  2644. };
  2645.  
  2646.  
  2647. //
  2648. // TransactionRequest
  2649. //
  2650.  
  2651. class H248_TransactionRequest : public PASN_Sequence
  2652. {
  2653. #ifndef PASN_LEANANDMEAN
  2654.     PCLASSINFO(H248_TransactionRequest, PASN_Sequence);
  2655. #endif
  2656.   public:
  2657.     H248_TransactionRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2658.  
  2659.     H248_TransactionId m_transactionId;
  2660.     H248_ArrayOf_ActionRequest m_actions;
  2661.  
  2662.     PINDEX GetDataLength() const;
  2663.     BOOL Decode(PASN_Stream & strm);
  2664.     void Encode(PASN_Stream & strm) const;
  2665. #ifndef PASN_NOPRINTON
  2666.     void PrintOn(ostream & strm) const;
  2667. #endif
  2668.     Comparison Compare(const PObject & obj) const;
  2669.     PObject * Clone() const;
  2670. };
  2671.  
  2672.  
  2673. //
  2674. // TransactionReply
  2675. //
  2676.  
  2677. class H248_TransactionReply : public PASN_Sequence
  2678. {
  2679. #ifndef PASN_LEANANDMEAN
  2680.     PCLASSINFO(H248_TransactionReply, PASN_Sequence);
  2681. #endif
  2682.   public:
  2683.     H248_TransactionReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2684.  
  2685.     enum OptionalFields {
  2686.       e_immAckRequired
  2687.     };
  2688.  
  2689.     H248_TransactionId m_transactionId;
  2690.     PASN_Null m_immAckRequired;
  2691.     H248_TransactionReply_transactionResult m_transactionResult;
  2692.  
  2693.     PINDEX GetDataLength() const;
  2694.     BOOL Decode(PASN_Stream & strm);
  2695.     void Encode(PASN_Stream & strm) const;
  2696. #ifndef PASN_NOPRINTON
  2697.     void PrintOn(ostream & strm) const;
  2698. #endif
  2699.     Comparison Compare(const PObject & obj) const;
  2700.     PObject * Clone() const;
  2701. };
  2702.  
  2703.  
  2704. //
  2705. // ErrorDescriptor
  2706. //
  2707.  
  2708. class H248_ErrorDescriptor : public PASN_Sequence
  2709. {
  2710. #ifndef PASN_LEANANDMEAN
  2711.     PCLASSINFO(H248_ErrorDescriptor, PASN_Sequence);
  2712. #endif
  2713.   public:
  2714.     H248_ErrorDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2715.  
  2716.     enum OptionalFields {
  2717.       e_errorText
  2718.     };
  2719.  
  2720.     H248_ErrorCode m_errorCode;
  2721.     H248_ErrorText m_errorText;
  2722.  
  2723.     PINDEX GetDataLength() const;
  2724.     BOOL Decode(PASN_Stream & strm);
  2725.     void Encode(PASN_Stream & strm) const;
  2726. #ifndef PASN_NOPRINTON
  2727.     void PrintOn(ostream & strm) const;
  2728. #endif
  2729.     Comparison Compare(const PObject & obj) const;
  2730.     PObject * Clone() const;
  2731. };
  2732.  
  2733.  
  2734. //
  2735. // ContextRequest
  2736. //
  2737.  
  2738. class H248_ContextRequest : public PASN_Sequence
  2739. {
  2740. #ifndef PASN_LEANANDMEAN
  2741.     PCLASSINFO(H248_ContextRequest, PASN_Sequence);
  2742. #endif
  2743.   public:
  2744.     H248_ContextRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2745.  
  2746.     enum OptionalFields {
  2747.       e_priority,
  2748.       e_emergency,
  2749.       e_topologyReq
  2750.     };
  2751.  
  2752.     PASN_Integer m_priority;
  2753.     PASN_Boolean m_emergency;
  2754.     H248_ArrayOf_TopologyRequest m_topologyReq;
  2755.  
  2756.     PINDEX GetDataLength() const;
  2757.     BOOL Decode(PASN_Stream & strm);
  2758.     void Encode(PASN_Stream & strm) const;
  2759. #ifndef PASN_NOPRINTON
  2760.     void PrintOn(ostream & strm) const;
  2761. #endif
  2762.     Comparison Compare(const PObject & obj) const;
  2763.     PObject * Clone() const;
  2764. };
  2765.  
  2766.  
  2767. //
  2768. // CommandRequest
  2769. //
  2770.  
  2771. class H248_CommandRequest : public PASN_Sequence
  2772. {
  2773. #ifndef PASN_LEANANDMEAN
  2774.     PCLASSINFO(H248_CommandRequest, PASN_Sequence);
  2775. #endif
  2776.   public:
  2777.     H248_CommandRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2778.  
  2779.     enum OptionalFields {
  2780.       e_optional,
  2781.       e_wildcardReturn
  2782.     };
  2783.  
  2784.     H248_Command m_command;
  2785.     PASN_Null m_optional;
  2786.     PASN_Null m_wildcardReturn;
  2787.  
  2788.     PINDEX GetDataLength() const;
  2789.     BOOL Decode(PASN_Stream & strm);
  2790.     void Encode(PASN_Stream & strm) const;
  2791. #ifndef PASN_NOPRINTON
  2792.     void PrintOn(ostream & strm) const;
  2793. #endif
  2794.     Comparison Compare(const PObject & obj) const;
  2795.     PObject * Clone() const;
  2796. };
  2797.  
  2798.  
  2799. //
  2800. // AmmRequest
  2801. //
  2802.  
  2803. class H248_AmmRequest : public PASN_Sequence
  2804. {
  2805. #ifndef PASN_LEANANDMEAN
  2806.     PCLASSINFO(H248_AmmRequest, PASN_Sequence);
  2807. #endif
  2808.   public:
  2809.     H248_AmmRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2810.  
  2811.     H248_TerminationIDList m_terminationID;
  2812.     H248_ArrayOf_AmmDescriptor m_descriptors;
  2813.  
  2814.     PINDEX GetDataLength() const;
  2815.     BOOL Decode(PASN_Stream & strm);
  2816.     void Encode(PASN_Stream & strm) const;
  2817. #ifndef PASN_NOPRINTON
  2818.     void PrintOn(ostream & strm) const;
  2819. #endif
  2820.     Comparison Compare(const PObject & obj) const;
  2821.     PObject * Clone() const;
  2822. };
  2823.  
  2824.  
  2825. //
  2826. // AmmsReply
  2827. //
  2828.  
  2829. class H248_AmmsReply : public PASN_Sequence
  2830. {
  2831. #ifndef PASN_LEANANDMEAN
  2832.     PCLASSINFO(H248_AmmsReply, PASN_Sequence);
  2833. #endif
  2834.   public:
  2835.     H248_AmmsReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2836.  
  2837.     enum OptionalFields {
  2838.       e_terminationAudit
  2839.     };
  2840.  
  2841.     H248_TerminationIDList m_terminationID;
  2842.     H248_TerminationAudit m_terminationAudit;
  2843.  
  2844.     PINDEX GetDataLength() const;
  2845.     BOOL Decode(PASN_Stream & strm);
  2846.     void Encode(PASN_Stream & strm) const;
  2847. #ifndef PASN_NOPRINTON
  2848.     void PrintOn(ostream & strm) const;
  2849. #endif
  2850.     Comparison Compare(const PObject & obj) const;
  2851.     PObject * Clone() const;
  2852. };
  2853.  
  2854.  
  2855. //
  2856. // AuditDescriptor
  2857. //
  2858.  
  2859. class H248_AuditDescriptor : public PASN_Sequence
  2860. {
  2861. #ifndef PASN_LEANANDMEAN
  2862.     PCLASSINFO(H248_AuditDescriptor, PASN_Sequence);
  2863. #endif
  2864.   public:
  2865.     H248_AuditDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2866.  
  2867.     enum OptionalFields {
  2868.       e_auditToken,
  2869.       e_auditPropertyToken
  2870.     };
  2871.  
  2872.     PASN_BitString m_auditToken;
  2873.     H248_ArrayOf_IndAuditParameter m_auditPropertyToken;
  2874.  
  2875.     PINDEX GetDataLength() const;
  2876.     BOOL Decode(PASN_Stream & strm);
  2877.     void Encode(PASN_Stream & strm) const;
  2878. #ifndef PASN_NOPRINTON
  2879.     void PrintOn(ostream & strm) const;
  2880. #endif
  2881.     Comparison Compare(const PObject & obj) const;
  2882.     PObject * Clone() const;
  2883. };
  2884.  
  2885.  
  2886. //
  2887. // IndAudLocalControlDescriptor
  2888. //
  2889.  
  2890. class H248_IndAudLocalControlDescriptor : public PASN_Sequence
  2891. {
  2892. #ifndef PASN_LEANANDMEAN
  2893.     PCLASSINFO(H248_IndAudLocalControlDescriptor, PASN_Sequence);
  2894. #endif
  2895.   public:
  2896.     H248_IndAudLocalControlDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2897.  
  2898.     enum OptionalFields {
  2899.       e_streamMode,
  2900.       e_reserveValue,
  2901.       e_reserveGroup,
  2902.       e_propertyParms
  2903.     };
  2904.  
  2905.     PASN_Null m_streamMode;
  2906.     PASN_Null m_reserveValue;
  2907.     PASN_Null m_reserveGroup;
  2908.     H248_ArrayOf_IndAudPropertyParm m_propertyParms;
  2909.  
  2910.     PINDEX GetDataLength() const;
  2911.     BOOL Decode(PASN_Stream & strm);
  2912.     void Encode(PASN_Stream & strm) const;
  2913. #ifndef PASN_NOPRINTON
  2914.     void PrintOn(ostream & strm) const;
  2915. #endif
  2916.     Comparison Compare(const PObject & obj) const;
  2917.     PObject * Clone() const;
  2918. };
  2919.  
  2920.  
  2921. //
  2922. // IndAudPropertyParm
  2923. //
  2924.  
  2925. class H248_IndAudPropertyParm : public PASN_Sequence
  2926. {
  2927. #ifndef PASN_LEANANDMEAN
  2928.     PCLASSINFO(H248_IndAudPropertyParm, PASN_Sequence);
  2929. #endif
  2930.   public:
  2931.     H248_IndAudPropertyParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2932.  
  2933.     H248_PkgdName m_name;
  2934.  
  2935.     PINDEX GetDataLength() const;
  2936.     BOOL Decode(PASN_Stream & strm);
  2937.     void Encode(PASN_Stream & strm) const;
  2938. #ifndef PASN_NOPRINTON
  2939.     void PrintOn(ostream & strm) const;
  2940. #endif
  2941.     Comparison Compare(const PObject & obj) const;
  2942.     PObject * Clone() const;
  2943. };
  2944.  
  2945.  
  2946. //
  2947. // IndAudLocalRemoteDescriptor
  2948. //
  2949.  
  2950. class H248_IndAudLocalRemoteDescriptor : public PASN_Sequence
  2951. {
  2952. #ifndef PASN_LEANANDMEAN
  2953.     PCLASSINFO(H248_IndAudLocalRemoteDescriptor, PASN_Sequence);
  2954. #endif
  2955.   public:
  2956.     H248_IndAudLocalRemoteDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2957.  
  2958.     enum OptionalFields {
  2959.       e_propGroupID
  2960.     };
  2961.  
  2962.     PASN_Integer m_propGroupID;
  2963.     H248_IndAudPropertyGroup m_propGrps;
  2964.  
  2965.     PINDEX GetDataLength() const;
  2966.     BOOL Decode(PASN_Stream & strm);
  2967.     void Encode(PASN_Stream & strm) const;
  2968. #ifndef PASN_NOPRINTON
  2969.     void PrintOn(ostream & strm) const;
  2970. #endif
  2971.     Comparison Compare(const PObject & obj) const;
  2972.     PObject * Clone() const;
  2973. };
  2974.  
  2975.  
  2976. //
  2977. // IndAudTerminationStateDescriptor
  2978. //
  2979.  
  2980. class H248_IndAudTerminationStateDescriptor : public PASN_Sequence
  2981. {
  2982. #ifndef PASN_LEANANDMEAN
  2983.     PCLASSINFO(H248_IndAudTerminationStateDescriptor, PASN_Sequence);
  2984. #endif
  2985.   public:
  2986.     H248_IndAudTerminationStateDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2987.  
  2988.     enum OptionalFields {
  2989.       e_eventBufferControl,
  2990.       e_serviceState
  2991.     };
  2992.  
  2993.     H248_ArrayOf_IndAudPropertyParm m_propertyParms;
  2994.     PASN_Null m_eventBufferControl;
  2995.     PASN_Null m_serviceState;
  2996.  
  2997.     PINDEX GetDataLength() const;
  2998.     BOOL Decode(PASN_Stream & strm);
  2999.     void Encode(PASN_Stream & strm) const;
  3000. #ifndef PASN_NOPRINTON
  3001.     void PrintOn(ostream & strm) const;
  3002. #endif
  3003.     Comparison Compare(const PObject & obj) const;
  3004.     PObject * Clone() const;
  3005. };
  3006.  
  3007.  
  3008. //
  3009. // IndAudEventsDescriptor
  3010. //
  3011.  
  3012. class H248_IndAudEventsDescriptor : public PASN_Sequence
  3013. {
  3014. #ifndef PASN_LEANANDMEAN
  3015.     PCLASSINFO(H248_IndAudEventsDescriptor, PASN_Sequence);
  3016. #endif
  3017.   public:
  3018.     H248_IndAudEventsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3019.  
  3020.     enum OptionalFields {
  3021.       e_requestID,
  3022.       e_streamID
  3023.     };
  3024.  
  3025.     H248_RequestID m_requestID;
  3026.     H248_PkgdName m_pkgdName;
  3027.     H248_StreamID m_streamID;
  3028.  
  3029.     PINDEX GetDataLength() const;
  3030.     BOOL Decode(PASN_Stream & strm);
  3031.     void Encode(PASN_Stream & strm) const;
  3032. #ifndef PASN_NOPRINTON
  3033.     void PrintOn(ostream & strm) const;
  3034. #endif
  3035.     Comparison Compare(const PObject & obj) const;
  3036.     PObject * Clone() const;
  3037. };
  3038.  
  3039.  
  3040. //
  3041. // IndAudEventBufferDescriptor
  3042. //
  3043.  
  3044. class H248_IndAudEventBufferDescriptor : public PASN_Sequence
  3045. {
  3046. #ifndef PASN_LEANANDMEAN
  3047.     PCLASSINFO(H248_IndAudEventBufferDescriptor, PASN_Sequence);
  3048. #endif
  3049.   public:
  3050.     H248_IndAudEventBufferDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3051.  
  3052.     enum OptionalFields {
  3053.       e_streamID
  3054.     };
  3055.  
  3056.     H248_PkgdName m_eventName;
  3057.     H248_StreamID m_streamID;
  3058.  
  3059.     PINDEX GetDataLength() const;
  3060.     BOOL Decode(PASN_Stream & strm);
  3061.     void Encode(PASN_Stream & strm) const;
  3062. #ifndef PASN_NOPRINTON
  3063.     void PrintOn(ostream & strm) const;
  3064. #endif
  3065.     Comparison Compare(const PObject & obj) const;
  3066.     PObject * Clone() const;
  3067. };
  3068.  
  3069.  
  3070. //
  3071. // IndAudSignal
  3072. //
  3073.  
  3074. class H248_IndAudSignal : public PASN_Sequence
  3075. {
  3076. #ifndef PASN_LEANANDMEAN
  3077.     PCLASSINFO(H248_IndAudSignal, PASN_Sequence);
  3078. #endif
  3079.   public:
  3080.     H248_IndAudSignal(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3081.  
  3082.     enum OptionalFields {
  3083.       e_streamID
  3084.     };
  3085.  
  3086.     H248_PkgdName m_signalName;
  3087.     H248_StreamID m_streamID;
  3088.  
  3089.     PINDEX GetDataLength() const;
  3090.     BOOL Decode(PASN_Stream & strm);
  3091.     void Encode(PASN_Stream & strm) const;
  3092. #ifndef PASN_NOPRINTON
  3093.     void PrintOn(ostream & strm) const;
  3094. #endif
  3095.     Comparison Compare(const PObject & obj) const;
  3096.     PObject * Clone() const;
  3097. };
  3098.  
  3099.  
  3100. //
  3101. // IndAudDigitMapDescriptor
  3102. //
  3103.  
  3104. class H248_IndAudDigitMapDescriptor : public PASN_Sequence
  3105. {
  3106. #ifndef PASN_LEANANDMEAN
  3107.     PCLASSINFO(H248_IndAudDigitMapDescriptor, PASN_Sequence);
  3108. #endif
  3109.   public:
  3110.     H248_IndAudDigitMapDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3111.  
  3112.     enum OptionalFields {
  3113.       e_digitMapName
  3114.     };
  3115.  
  3116.     H248_DigitMapName m_digitMapName;
  3117.  
  3118.     PINDEX GetDataLength() const;
  3119.     BOOL Decode(PASN_Stream & strm);
  3120.     void Encode(PASN_Stream & strm) const;
  3121. #ifndef PASN_NOPRINTON
  3122.     void PrintOn(ostream & strm) const;
  3123. #endif
  3124.     Comparison Compare(const PObject & obj) const;
  3125.     PObject * Clone() const;
  3126. };
  3127.  
  3128.  
  3129. //
  3130. // IndAudStatisticsDescriptor
  3131. //
  3132.  
  3133. class H248_IndAudStatisticsDescriptor : public PASN_Sequence
  3134. {
  3135. #ifndef PASN_LEANANDMEAN
  3136.     PCLASSINFO(H248_IndAudStatisticsDescriptor, PASN_Sequence);
  3137. #endif
  3138.   public:
  3139.     H248_IndAudStatisticsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3140.  
  3141.     H248_PkgdName m_statName;
  3142.  
  3143.     PINDEX GetDataLength() const;
  3144.     BOOL Decode(PASN_Stream & strm);
  3145.     void Encode(PASN_Stream & strm) const;
  3146. #ifndef PASN_NOPRINTON
  3147.     void PrintOn(ostream & strm) const;
  3148. #endif
  3149.     Comparison Compare(const PObject & obj) const;
  3150.     PObject * Clone() const;
  3151. };
  3152.  
  3153.  
  3154. //
  3155. // IndAudPackagesDescriptor
  3156. //
  3157.  
  3158. class H248_IndAudPackagesDescriptor : public PASN_Sequence
  3159. {
  3160. #ifndef PASN_LEANANDMEAN
  3161.     PCLASSINFO(H248_IndAudPackagesDescriptor, PASN_Sequence);
  3162. #endif
  3163.   public:
  3164.     H248_IndAudPackagesDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3165.  
  3166.     H248_Name m_packageName;
  3167.     PASN_Integer m_packageVersion;
  3168.  
  3169.     PINDEX GetDataLength() const;
  3170.     BOOL Decode(PASN_Stream & strm);
  3171.     void Encode(PASN_Stream & strm) const;
  3172. #ifndef PASN_NOPRINTON
  3173.     void PrintOn(ostream & strm) const;
  3174. #endif
  3175.     Comparison Compare(const PObject & obj) const;
  3176.     PObject * Clone() const;
  3177. };
  3178.  
  3179.  
  3180. //
  3181. // NotifyReply
  3182. //
  3183.  
  3184. class H248_NotifyReply : public PASN_Sequence
  3185. {
  3186. #ifndef PASN_LEANANDMEAN
  3187.     PCLASSINFO(H248_NotifyReply, PASN_Sequence);
  3188. #endif
  3189.   public:
  3190.     H248_NotifyReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3191.  
  3192.     enum OptionalFields {
  3193.       e_errorDescriptor
  3194.     };
  3195.  
  3196.     H248_TerminationIDList m_terminationID;
  3197.     H248_ErrorDescriptor m_errorDescriptor;
  3198.  
  3199.     PINDEX GetDataLength() const;
  3200.     BOOL Decode(PASN_Stream & strm);
  3201.     void Encode(PASN_Stream & strm) const;
  3202. #ifndef PASN_NOPRINTON
  3203.     void PrintOn(ostream & strm) const;
  3204. #endif
  3205.     Comparison Compare(const PObject & obj) const;
  3206.     PObject * Clone() const;
  3207. };
  3208.  
  3209.  
  3210. //
  3211. // ObservedEventsDescriptor
  3212. //
  3213.  
  3214. class H248_ObservedEventsDescriptor : public PASN_Sequence
  3215. {
  3216. #ifndef PASN_LEANANDMEAN
  3217.     PCLASSINFO(H248_ObservedEventsDescriptor, PASN_Sequence);
  3218. #endif
  3219.   public:
  3220.     H248_ObservedEventsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3221.  
  3222.     H248_RequestID m_requestId;
  3223.     H248_ArrayOf_ObservedEvent m_observedEventLst;
  3224.  
  3225.     PINDEX GetDataLength() const;
  3226.     BOOL Decode(PASN_Stream & strm);
  3227.     void Encode(PASN_Stream & strm) const;
  3228. #ifndef PASN_NOPRINTON
  3229.     void PrintOn(ostream & strm) const;
  3230. #endif
  3231.     Comparison Compare(const PObject & obj) const;
  3232.     PObject * Clone() const;
  3233. };
  3234.  
  3235.  
  3236. //
  3237. // EventName
  3238. //
  3239.  
  3240. class H248_EventName : public H248_PkgdName
  3241. {
  3242. #ifndef PASN_LEANANDMEAN
  3243.     PCLASSINFO(H248_EventName, H248_PkgdName);
  3244. #endif
  3245.   public:
  3246.     H248_EventName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  3247.  
  3248.     H248_EventName(const char * v);
  3249.     H248_EventName(const PString & v);
  3250.     H248_EventName(const PBYTEArray & v);
  3251.  
  3252.     H248_EventName & operator=(const char * v);
  3253.     H248_EventName & operator=(const PString & v);
  3254.     H248_EventName & operator=(const PBYTEArray & v);
  3255.     PObject * Clone() const;
  3256. };
  3257.  
  3258.  
  3259. //
  3260. // EventParameter
  3261. //
  3262.  
  3263. class H248_EventParameter : public PASN_Sequence
  3264. {
  3265. #ifndef PASN_LEANANDMEAN
  3266.     PCLASSINFO(H248_EventParameter, PASN_Sequence);
  3267. #endif
  3268.   public:
  3269.     H248_EventParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3270.  
  3271.     enum OptionalFields {
  3272.       e_extraInfo
  3273.     };
  3274.  
  3275.     H248_Name m_eventParameterName;
  3276.     H248_Value m_value;
  3277.     H248_EventParameter_extraInfo m_extraInfo;
  3278.  
  3279.     PINDEX GetDataLength() const;
  3280.     BOOL Decode(PASN_Stream & strm);
  3281.     void Encode(PASN_Stream & strm) const;
  3282. #ifndef PASN_NOPRINTON
  3283.     void PrintOn(ostream & strm) const;
  3284. #endif
  3285.     Comparison Compare(const PObject & obj) const;
  3286.     PObject * Clone() const;
  3287. };
  3288.  
  3289.  
  3290. //
  3291. // ServiceChangeReply
  3292. //
  3293.  
  3294. class H248_ServiceChangeReply : public PASN_Sequence
  3295. {
  3296. #ifndef PASN_LEANANDMEAN
  3297.     PCLASSINFO(H248_ServiceChangeReply, PASN_Sequence);
  3298. #endif
  3299.   public:
  3300.     H248_ServiceChangeReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3301.  
  3302.     H248_TerminationIDList m_terminationID;
  3303.     H248_ServiceChangeResult m_serviceChangeResult;
  3304.  
  3305.     PINDEX GetDataLength() const;
  3306.     BOOL Decode(PASN_Stream & strm);
  3307.     void Encode(PASN_Stream & strm) const;
  3308. #ifndef PASN_NOPRINTON
  3309.     void PrintOn(ostream & strm) const;
  3310. #endif
  3311.     Comparison Compare(const PObject & obj) const;
  3312.     PObject * Clone() const;
  3313. };
  3314.  
  3315.  
  3316. //
  3317. // TerminationID
  3318. //
  3319.  
  3320. class H248_TerminationID : public PASN_Sequence
  3321. {
  3322. #ifndef PASN_LEANANDMEAN
  3323.     PCLASSINFO(H248_TerminationID, PASN_Sequence);
  3324. #endif
  3325.   public:
  3326.     H248_TerminationID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3327.  
  3328.     H248_ArrayOf_WildcardField m_wildcard;
  3329.     PASN_OctetString m_id;
  3330.  
  3331.     PINDEX GetDataLength() const;
  3332.     BOOL Decode(PASN_Stream & strm);
  3333.     void Encode(PASN_Stream & strm) const;
  3334. #ifndef PASN_NOPRINTON
  3335.     void PrintOn(ostream & strm) const;
  3336. #endif
  3337.     Comparison Compare(const PObject & obj) const;
  3338.     PObject * Clone() const;
  3339. };
  3340.  
  3341.  
  3342. //
  3343. // LocalControlDescriptor
  3344. //
  3345.  
  3346. class H248_LocalControlDescriptor : public PASN_Sequence
  3347. {
  3348. #ifndef PASN_LEANANDMEAN
  3349.     PCLASSINFO(H248_LocalControlDescriptor, PASN_Sequence);
  3350. #endif
  3351.   public:
  3352.     H248_LocalControlDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3353.  
  3354.     enum OptionalFields {
  3355.       e_streamMode,
  3356.       e_reserveValue,
  3357.       e_reserveGroup
  3358.     };
  3359.  
  3360.     H248_StreamMode m_streamMode;
  3361.     PASN_Boolean m_reserveValue;
  3362.     PASN_Boolean m_reserveGroup;
  3363.     H248_ArrayOf_PropertyParm m_propertyParms;
  3364.  
  3365.     PINDEX GetDataLength() const;
  3366.     BOOL Decode(PASN_Stream & strm);
  3367.     void Encode(PASN_Stream & strm) const;
  3368. #ifndef PASN_NOPRINTON
  3369.     void PrintOn(ostream & strm) const;
  3370. #endif
  3371.     Comparison Compare(const PObject & obj) const;
  3372.     PObject * Clone() const;
  3373. };
  3374.  
  3375.  
  3376. //
  3377. // PropertyParm
  3378. //
  3379.  
  3380. class H248_PropertyParm : public PASN_Sequence
  3381. {
  3382. #ifndef PASN_LEANANDMEAN
  3383.     PCLASSINFO(H248_PropertyParm, PASN_Sequence);
  3384. #endif
  3385.   public:
  3386.     H248_PropertyParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3387.  
  3388.     enum OptionalFields {
  3389.       e_extraInfo
  3390.     };
  3391.  
  3392.     H248_PkgdName m_name;
  3393.     H248_ArrayOf_PASN_OctetString m_value;
  3394.     H248_PropertyParm_extraInfo m_extraInfo;
  3395.  
  3396.     PINDEX GetDataLength() const;
  3397.     BOOL Decode(PASN_Stream & strm);
  3398.     void Encode(PASN_Stream & strm) const;
  3399. #ifndef PASN_NOPRINTON
  3400.     void PrintOn(ostream & strm) const;
  3401. #endif
  3402.     Comparison Compare(const PObject & obj) const;
  3403.     PObject * Clone() const;
  3404. };
  3405.  
  3406.  
  3407. //
  3408. // LocalRemoteDescriptor
  3409. //
  3410.  
  3411. class H248_LocalRemoteDescriptor : public PASN_Sequence
  3412. {
  3413. #ifndef PASN_LEANANDMEAN
  3414.     PCLASSINFO(H248_LocalRemoteDescriptor, PASN_Sequence);
  3415. #endif
  3416.   public:
  3417.     H248_LocalRemoteDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3418.  
  3419.     H248_ArrayOf_PropertyGroup m_propGrps;
  3420.  
  3421.     PINDEX GetDataLength() const;
  3422.     BOOL Decode(PASN_Stream & strm);
  3423.     void Encode(PASN_Stream & strm) const;
  3424. #ifndef PASN_NOPRINTON
  3425.     void PrintOn(ostream & strm) const;
  3426. #endif
  3427.     Comparison Compare(const PObject & obj) const;
  3428.     PObject * Clone() const;
  3429. };
  3430.  
  3431.  
  3432. //
  3433. // TerminationStateDescriptor
  3434. //
  3435.  
  3436. class H248_TerminationStateDescriptor : public PASN_Sequence
  3437. {
  3438. #ifndef PASN_LEANANDMEAN
  3439.     PCLASSINFO(H248_TerminationStateDescriptor, PASN_Sequence);
  3440. #endif
  3441.   public:
  3442.     H248_TerminationStateDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3443.  
  3444.     enum OptionalFields {
  3445.       e_eventBufferControl,
  3446.       e_serviceState
  3447.     };
  3448.  
  3449.     H248_ArrayOf_PropertyParm m_propertyParms;
  3450.     H248_EventBufferControl m_eventBufferControl;
  3451.     H248_ServiceState m_serviceState;
  3452.  
  3453.     PINDEX GetDataLength() const;
  3454.     BOOL Decode(PASN_Stream & strm);
  3455.     void Encode(PASN_Stream & strm) const;
  3456. #ifndef PASN_NOPRINTON
  3457.     void PrintOn(ostream & strm) const;
  3458. #endif
  3459.     Comparison Compare(const PObject & obj) const;
  3460.     PObject * Clone() const;
  3461. };
  3462.  
  3463.  
  3464. //
  3465. // EventsDescriptor
  3466. //
  3467.  
  3468. class H248_EventsDescriptor : public PASN_Sequence
  3469. {
  3470. #ifndef PASN_LEANANDMEAN
  3471.     PCLASSINFO(H248_EventsDescriptor, PASN_Sequence);
  3472. #endif
  3473.   public:
  3474.     H248_EventsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3475.  
  3476.     enum OptionalFields {
  3477.       e_requestID
  3478.     };
  3479.  
  3480.     H248_RequestID m_requestID;
  3481.     H248_ArrayOf_RequestedEvent m_eventList;
  3482.  
  3483.     PINDEX GetDataLength() const;
  3484.     BOOL Decode(PASN_Stream & strm);
  3485.     void Encode(PASN_Stream & strm) const;
  3486. #ifndef PASN_NOPRINTON
  3487.     void PrintOn(ostream & strm) const;
  3488. #endif
  3489.     Comparison Compare(const PObject & obj) const;
  3490.     PObject * Clone() const;
  3491. };
  3492.  
  3493.  
  3494. //
  3495. // SecondEventsDescriptor
  3496. //
  3497.  
  3498. class H248_SecondEventsDescriptor : public PASN_Sequence
  3499. {
  3500. #ifndef PASN_LEANANDMEAN
  3501.     PCLASSINFO(H248_SecondEventsDescriptor, PASN_Sequence);
  3502. #endif
  3503.   public:
  3504.     H248_SecondEventsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3505.  
  3506.     enum OptionalFields {
  3507.       e_requestID
  3508.     };
  3509.  
  3510.     H248_RequestID m_requestID;
  3511.     H248_ArrayOf_SecondRequestedEvent m_eventList;
  3512.  
  3513.     PINDEX GetDataLength() const;
  3514.     BOOL Decode(PASN_Stream & strm);
  3515.     void Encode(PASN_Stream & strm) const;
  3516. #ifndef PASN_NOPRINTON
  3517.     void PrintOn(ostream & strm) const;
  3518. #endif
  3519.     Comparison Compare(const PObject & obj) const;
  3520.     PObject * Clone() const;
  3521. };
  3522.  
  3523.  
  3524. //
  3525. // SecondRequestedActions
  3526. //
  3527.  
  3528. class H248_SecondRequestedActions : public PASN_Sequence
  3529. {
  3530. #ifndef PASN_LEANANDMEAN
  3531.     PCLASSINFO(H248_SecondRequestedActions, PASN_Sequence);
  3532. #endif
  3533.   public:
  3534.     H248_SecondRequestedActions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3535.  
  3536.     enum OptionalFields {
  3537.       e_keepActive,
  3538.       e_eventDM,
  3539.       e_signalsDescriptor
  3540.     };
  3541.  
  3542.     PASN_Boolean m_keepActive;
  3543.     H248_EventDM m_eventDM;
  3544.     H248_SignalsDescriptor m_signalsDescriptor;
  3545.  
  3546.     PINDEX GetDataLength() const;
  3547.     BOOL Decode(PASN_Stream & strm);
  3548.     void Encode(PASN_Stream & strm) const;
  3549. #ifndef PASN_NOPRINTON
  3550.     void PrintOn(ostream & strm) const;
  3551. #endif
  3552.     Comparison Compare(const PObject & obj) const;
  3553.     PObject * Clone() const;
  3554. };
  3555.  
  3556.  
  3557. //
  3558. // EventSpec
  3559. //
  3560.  
  3561. class H248_EventSpec : public PASN_Sequence
  3562. {
  3563. #ifndef PASN_LEANANDMEAN
  3564.     PCLASSINFO(H248_EventSpec, PASN_Sequence);
  3565. #endif
  3566.   public:
  3567.     H248_EventSpec(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3568.  
  3569.     enum OptionalFields {
  3570.       e_streamID
  3571.     };
  3572.  
  3573.     H248_EventName m_eventName;
  3574.     H248_StreamID m_streamID;
  3575.     H248_ArrayOf_EventParameter m_eventParList;
  3576.  
  3577.     PINDEX GetDataLength() const;
  3578.     BOOL Decode(PASN_Stream & strm);
  3579.     void Encode(PASN_Stream & strm) const;
  3580. #ifndef PASN_NOPRINTON
  3581.     void PrintOn(ostream & strm) const;
  3582. #endif
  3583.     Comparison Compare(const PObject & obj) const;
  3584.     PObject * Clone() const;
  3585. };
  3586.  
  3587.  
  3588. //
  3589. // SeqSigList
  3590. //
  3591.  
  3592. class H248_SeqSigList : public PASN_Sequence
  3593. {
  3594. #ifndef PASN_LEANANDMEAN
  3595.     PCLASSINFO(H248_SeqSigList, PASN_Sequence);
  3596. #endif
  3597.   public:
  3598.     H248_SeqSigList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3599.  
  3600.     PASN_Integer m_id;
  3601.     H248_ArrayOf_Signal m_signalList;
  3602.  
  3603.     PINDEX GetDataLength() const;
  3604.     BOOL Decode(PASN_Stream & strm);
  3605.     void Encode(PASN_Stream & strm) const;
  3606. #ifndef PASN_NOPRINTON
  3607.     void PrintOn(ostream & strm) const;
  3608. #endif
  3609.     Comparison Compare(const PObject & obj) const;
  3610.     PObject * Clone() const;
  3611. };
  3612.  
  3613.  
  3614. //
  3615. // Signal
  3616. //
  3617.  
  3618. class H248_Signal : public PASN_Sequence
  3619. {
  3620. #ifndef PASN_LEANANDMEAN
  3621.     PCLASSINFO(H248_Signal, PASN_Sequence);
  3622. #endif
  3623.   public:
  3624.     H248_Signal(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3625.  
  3626.     enum OptionalFields {
  3627.       e_streamID,
  3628.       e_sigType,
  3629.       e_duration,
  3630.       e_notifyCompletion,
  3631.       e_keepActive
  3632.     };
  3633.  
  3634.     H248_SignalName m_signalName;
  3635.     H248_StreamID m_streamID;
  3636.     H248_SignalType m_sigType;
  3637.     PASN_Integer m_duration;
  3638.     H248_NotifyCompletion m_notifyCompletion;
  3639.     PASN_Boolean m_keepActive;
  3640.     H248_ArrayOf_SigParameter m_sigParList;
  3641.  
  3642.     PINDEX GetDataLength() const;
  3643.     BOOL Decode(PASN_Stream & strm);
  3644.     void Encode(PASN_Stream & strm) const;
  3645. #ifndef PASN_NOPRINTON
  3646.     void PrintOn(ostream & strm) const;
  3647. #endif
  3648.     Comparison Compare(const PObject & obj) const;
  3649.     PObject * Clone() const;
  3650. };
  3651.  
  3652.  
  3653. //
  3654. // SigParameter
  3655. //
  3656.  
  3657. class H248_SigParameter : public PASN_Sequence
  3658. {
  3659. #ifndef PASN_LEANANDMEAN
  3660.     PCLASSINFO(H248_SigParameter, PASN_Sequence);
  3661. #endif
  3662.   public:
  3663.     H248_SigParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3664.  
  3665.     enum OptionalFields {
  3666.       e_extraInfo
  3667.     };
  3668.  
  3669.     H248_Name m_sigParameterName;
  3670.     H248_Value m_value;
  3671.     H248_SigParameter_extraInfo m_extraInfo;
  3672.  
  3673.     PINDEX GetDataLength() const;
  3674.     BOOL Decode(PASN_Stream & strm);
  3675.     void Encode(PASN_Stream & strm) const;
  3676. #ifndef PASN_NOPRINTON
  3677.     void PrintOn(ostream & strm) const;
  3678. #endif
  3679.     Comparison Compare(const PObject & obj) const;
  3680.     PObject * Clone() const;
  3681. };
  3682.  
  3683.  
  3684. //
  3685. // DigitMapDescriptor
  3686. //
  3687.  
  3688. class H248_DigitMapDescriptor : public PASN_Sequence
  3689. {
  3690. #ifndef PASN_LEANANDMEAN
  3691.     PCLASSINFO(H248_DigitMapDescriptor, PASN_Sequence);
  3692. #endif
  3693.   public:
  3694.     H248_DigitMapDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3695.  
  3696.     enum OptionalFields {
  3697.       e_digitMapName,
  3698.       e_digitMapValue
  3699.     };
  3700.  
  3701.     H248_DigitMapName m_digitMapName;
  3702.     H248_DigitMapValue m_digitMapValue;
  3703.  
  3704.     PINDEX GetDataLength() const;
  3705.     BOOL Decode(PASN_Stream & strm);
  3706.     void Encode(PASN_Stream & strm) const;
  3707. #ifndef PASN_NOPRINTON
  3708.     void PrintOn(ostream & strm) const;
  3709. #endif
  3710.     Comparison Compare(const PObject & obj) const;
  3711.     PObject * Clone() const;
  3712. };
  3713.  
  3714.  
  3715. //
  3716. // ServiceChangeResParm
  3717. //
  3718.  
  3719. class H248_ServiceChangeResParm : public PASN_Sequence
  3720. {
  3721. #ifndef PASN_LEANANDMEAN
  3722.     PCLASSINFO(H248_ServiceChangeResParm, PASN_Sequence);
  3723. #endif
  3724.   public:
  3725.     H248_ServiceChangeResParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3726.  
  3727.     enum OptionalFields {
  3728.       e_serviceChangeMgcId,
  3729.       e_serviceChangeAddress,
  3730.       e_serviceChangeVersion,
  3731.       e_serviceChangeProfile,
  3732.       e_timestamp
  3733.     };
  3734.  
  3735.     H248_MId m_serviceChangeMgcId;
  3736.     H248_ServiceChangeAddress m_serviceChangeAddress;
  3737.     PASN_Integer m_serviceChangeVersion;
  3738.     H248_ServiceChangeProfile m_serviceChangeProfile;
  3739.     H248_TimeNotation m_timestamp;
  3740.  
  3741.     PINDEX GetDataLength() const;
  3742.     BOOL Decode(PASN_Stream & strm);
  3743.     void Encode(PASN_Stream & strm) const;
  3744. #ifndef PASN_NOPRINTON
  3745.     void PrintOn(ostream & strm) const;
  3746. #endif
  3747.     Comparison Compare(const PObject & obj) const;
  3748.     PObject * Clone() const;
  3749. };
  3750.  
  3751.  
  3752. //
  3753. // StatisticsParameter
  3754. //
  3755.  
  3756. class H248_StatisticsParameter : public PASN_Sequence
  3757. {
  3758. #ifndef PASN_LEANANDMEAN
  3759.     PCLASSINFO(H248_StatisticsParameter, PASN_Sequence);
  3760. #endif
  3761.   public:
  3762.     H248_StatisticsParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3763.  
  3764.     enum OptionalFields {
  3765.       e_statValue
  3766.     };
  3767.  
  3768.     H248_PkgdName m_statName;
  3769.     H248_Value m_statValue;
  3770.  
  3771.     PINDEX GetDataLength() const;
  3772.     BOOL Decode(PASN_Stream & strm);
  3773.     void Encode(PASN_Stream & strm) const;
  3774. #ifndef PASN_NOPRINTON
  3775.     void PrintOn(ostream & strm) const;
  3776. #endif
  3777.     Comparison Compare(const PObject & obj) const;
  3778.     PObject * Clone() const;
  3779. };
  3780.  
  3781.  
  3782. //
  3783. // NonStandardData
  3784. //
  3785.  
  3786. class H248_NonStandardData : public PASN_Sequence
  3787. {
  3788. #ifndef PASN_LEANANDMEAN
  3789.     PCLASSINFO(H248_NonStandardData, PASN_Sequence);
  3790. #endif
  3791.   public:
  3792.     H248_NonStandardData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3793.  
  3794.     H248_NonStandardIdentifier m_nonStandardIdentifier;
  3795.     PASN_OctetString m_data;
  3796.  
  3797.     PINDEX GetDataLength() const;
  3798.     BOOL Decode(PASN_Stream & strm);
  3799.     void Encode(PASN_Stream & strm) const;
  3800. #ifndef PASN_NOPRINTON
  3801.     void PrintOn(ostream & strm) const;
  3802. #endif
  3803.     Comparison Compare(const PObject & obj) const;
  3804.     PObject * Clone() const;
  3805. };
  3806.  
  3807.  
  3808. //
  3809. // MegacoMessage
  3810. //
  3811.  
  3812. class H248_MegacoMessage : public PASN_Sequence
  3813. {
  3814. #ifndef PASN_LEANANDMEAN
  3815.     PCLASSINFO(H248_MegacoMessage, PASN_Sequence);
  3816. #endif
  3817.   public:
  3818.     H248_MegacoMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3819.  
  3820.     enum OptionalFields {
  3821.       e_authHeader
  3822.     };
  3823.  
  3824.     H248_AuthenticationHeader m_authHeader;
  3825.     H248_Message m_mess;
  3826.  
  3827.     PINDEX GetDataLength() const;
  3828.     BOOL Decode(PASN_Stream & strm);
  3829.     void Encode(PASN_Stream & strm) const;
  3830. #ifndef PASN_NOPRINTON
  3831.     void PrintOn(ostream & strm) const;
  3832. #endif
  3833.     Comparison Compare(const PObject & obj) const;
  3834.     PObject * Clone() const;
  3835. };
  3836.  
  3837.  
  3838. //
  3839. // ActionRequest
  3840. //
  3841.  
  3842. class H248_ActionRequest : public PASN_Sequence
  3843. {
  3844. #ifndef PASN_LEANANDMEAN
  3845.     PCLASSINFO(H248_ActionRequest, PASN_Sequence);
  3846. #endif
  3847.   public:
  3848.     H248_ActionRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3849.  
  3850.     enum OptionalFields {
  3851.       e_contextRequest,
  3852.       e_contextAttrAuditReq
  3853.     };
  3854.  
  3855.     H248_ContextID m_contextId;
  3856.     H248_ContextRequest m_contextRequest;
  3857.     H248_ContextAttrAuditRequest m_contextAttrAuditReq;
  3858.     H248_ArrayOf_CommandRequest m_commandRequests;
  3859.  
  3860.     PINDEX GetDataLength() const;
  3861.     BOOL Decode(PASN_Stream & strm);
  3862.     void Encode(PASN_Stream & strm) const;
  3863. #ifndef PASN_NOPRINTON
  3864.     void PrintOn(ostream & strm) const;
  3865. #endif
  3866.     Comparison Compare(const PObject & obj) const;
  3867.     PObject * Clone() const;
  3868. };
  3869.  
  3870.  
  3871. //
  3872. // ActionReply
  3873. //
  3874.  
  3875. class H248_ActionReply : public PASN_Sequence
  3876. {
  3877. #ifndef PASN_LEANANDMEAN
  3878.     PCLASSINFO(H248_ActionReply, PASN_Sequence);
  3879. #endif
  3880.   public:
  3881.     H248_ActionReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3882.  
  3883.     enum OptionalFields {
  3884.       e_errorDescriptor,
  3885.       e_contextReply
  3886.     };
  3887.  
  3888.     H248_ContextID m_contextId;
  3889.     H248_ErrorDescriptor m_errorDescriptor;
  3890.     H248_ContextRequest m_contextReply;
  3891.     H248_ArrayOf_CommandReply m_commandReply;
  3892.  
  3893.     PINDEX GetDataLength() const;
  3894.     BOOL Decode(PASN_Stream & strm);
  3895.     void Encode(PASN_Stream & strm) const;
  3896. #ifndef PASN_NOPRINTON
  3897.     void PrintOn(ostream & strm) const;
  3898. #endif
  3899.     Comparison Compare(const PObject & obj) const;
  3900.     PObject * Clone() const;
  3901. };
  3902.  
  3903.  
  3904. //
  3905. // TopologyRequest
  3906. //
  3907.  
  3908. class H248_TopologyRequest : public PASN_Sequence
  3909. {
  3910. #ifndef PASN_LEANANDMEAN
  3911.     PCLASSINFO(H248_TopologyRequest, PASN_Sequence);
  3912. #endif
  3913.   public:
  3914.     H248_TopologyRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3915.  
  3916.     enum OptionalFields {
  3917.       e_streamID
  3918.     };
  3919.  
  3920.     H248_TerminationID m_terminationFrom;
  3921.     H248_TerminationID m_terminationTo;
  3922.     H248_TopologyRequest_topologyDirection m_topologyDirection;
  3923.     H248_StreamID m_streamID;
  3924.  
  3925.     PINDEX GetDataLength() const;
  3926.     BOOL Decode(PASN_Stream & strm);
  3927.     void Encode(PASN_Stream & strm) const;
  3928. #ifndef PASN_NOPRINTON
  3929.     void PrintOn(ostream & strm) const;
  3930. #endif
  3931.     Comparison Compare(const PObject & obj) const;
  3932.     PObject * Clone() const;
  3933. };
  3934.  
  3935.  
  3936. //
  3937. // SubtractRequest
  3938. //
  3939.  
  3940. class H248_SubtractRequest : public PASN_Sequence
  3941. {
  3942. #ifndef PASN_LEANANDMEAN
  3943.     PCLASSINFO(H248_SubtractRequest, PASN_Sequence);
  3944. #endif
  3945.   public:
  3946.     H248_SubtractRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3947.  
  3948.     enum OptionalFields {
  3949.       e_auditDescriptor
  3950.     };
  3951.  
  3952.     H248_TerminationIDList m_terminationID;
  3953.     H248_AuditDescriptor m_auditDescriptor;
  3954.  
  3955.     PINDEX GetDataLength() const;
  3956.     BOOL Decode(PASN_Stream & strm);
  3957.     void Encode(PASN_Stream & strm) const;
  3958. #ifndef PASN_NOPRINTON
  3959.     void PrintOn(ostream & strm) const;
  3960. #endif
  3961.     Comparison Compare(const PObject & obj) const;
  3962.     PObject * Clone() const;
  3963. };
  3964.  
  3965.  
  3966. //
  3967. // AuditRequest
  3968. //
  3969.  
  3970. class H248_AuditRequest : public PASN_Sequence
  3971. {
  3972. #ifndef PASN_LEANANDMEAN
  3973.     PCLASSINFO(H248_AuditRequest, PASN_Sequence);
  3974. #endif
  3975.   public:
  3976.     H248_AuditRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3977.  
  3978.     H248_TerminationID m_terminationID;
  3979.     H248_AuditDescriptor m_auditDescriptor;
  3980.  
  3981.     PINDEX GetDataLength() const;
  3982.     BOOL Decode(PASN_Stream & strm);
  3983.     void Encode(PASN_Stream & strm) const;
  3984. #ifndef PASN_NOPRINTON
  3985.     void PrintOn(ostream & strm) const;
  3986. #endif
  3987.     Comparison Compare(const PObject & obj) const;
  3988.     PObject * Clone() const;
  3989. };
  3990.  
  3991.  
  3992. //
  3993. // AuditResult
  3994. //
  3995.  
  3996. class H248_AuditResult : public PASN_Sequence
  3997. {
  3998. #ifndef PASN_LEANANDMEAN
  3999.     PCLASSINFO(H248_AuditResult, PASN_Sequence);
  4000. #endif
  4001.   public:
  4002.     H248_AuditResult(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4003.  
  4004.     H248_TerminationID m_terminationID;
  4005.     H248_TerminationAudit m_terminationAuditResult;
  4006.  
  4007.     PINDEX GetDataLength() const;
  4008.     BOOL Decode(PASN_Stream & strm);
  4009.     void Encode(PASN_Stream & strm) const;
  4010. #ifndef PASN_NOPRINTON
  4011.     void PrintOn(ostream & strm) const;
  4012. #endif
  4013.     Comparison Compare(const PObject & obj) const;
  4014.     PObject * Clone() const;
  4015. };
  4016.  
  4017.  
  4018. //
  4019. // IndAudMediaDescriptor
  4020. //
  4021.  
  4022. class H248_IndAudMediaDescriptor : public PASN_Sequence
  4023. {
  4024. #ifndef PASN_LEANANDMEAN
  4025.     PCLASSINFO(H248_IndAudMediaDescriptor, PASN_Sequence);
  4026. #endif
  4027.   public:
  4028.     H248_IndAudMediaDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4029.  
  4030.     enum OptionalFields {
  4031.       e_termStateDescr,
  4032.       e_streams
  4033.     };
  4034.  
  4035.     H248_IndAudTerminationStateDescriptor m_termStateDescr;
  4036.     H248_IndAudMediaDescriptor_streams m_streams;
  4037.  
  4038.     PINDEX GetDataLength() const;
  4039.     BOOL Decode(PASN_Stream & strm);
  4040.     void Encode(PASN_Stream & strm) const;
  4041. #ifndef PASN_NOPRINTON
  4042.     void PrintOn(ostream & strm) const;
  4043. #endif
  4044.     Comparison Compare(const PObject & obj) const;
  4045.     PObject * Clone() const;
  4046. };
  4047.  
  4048.  
  4049. //
  4050. // IndAudStreamParms
  4051. //
  4052.  
  4053. class H248_IndAudStreamParms : public PASN_Sequence
  4054. {
  4055. #ifndef PASN_LEANANDMEAN
  4056.     PCLASSINFO(H248_IndAudStreamParms, PASN_Sequence);
  4057. #endif
  4058.   public:
  4059.     H248_IndAudStreamParms(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4060.  
  4061.     enum OptionalFields {
  4062.       e_localControlDescriptor,
  4063.       e_localDescriptor,
  4064.       e_remoteDescriptor
  4065.     };
  4066.  
  4067.     H248_IndAudLocalControlDescriptor m_localControlDescriptor;
  4068.     H248_IndAudLocalRemoteDescriptor m_localDescriptor;
  4069.     H248_IndAudLocalRemoteDescriptor m_remoteDescriptor;
  4070.  
  4071.     PINDEX GetDataLength() const;
  4072.     BOOL Decode(PASN_Stream & strm);
  4073.     void Encode(PASN_Stream & strm) const;
  4074. #ifndef PASN_NOPRINTON
  4075.     void PrintOn(ostream & strm) const;
  4076. #endif
  4077.     Comparison Compare(const PObject & obj) const;
  4078.     PObject * Clone() const;
  4079. };
  4080.  
  4081.  
  4082. //
  4083. // IndAudSeqSigList
  4084. //
  4085.  
  4086. class H248_IndAudSeqSigList : public PASN_Sequence
  4087. {
  4088. #ifndef PASN_LEANANDMEAN
  4089.     PCLASSINFO(H248_IndAudSeqSigList, PASN_Sequence);
  4090. #endif
  4091.   public:
  4092.     H248_IndAudSeqSigList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4093.  
  4094.     enum OptionalFields {
  4095.       e_signalList
  4096.     };
  4097.  
  4098.     PASN_Integer m_id;
  4099.     H248_IndAudSignal m_signalList;
  4100.  
  4101.     PINDEX GetDataLength() const;
  4102.     BOOL Decode(PASN_Stream & strm);
  4103.     void Encode(PASN_Stream & strm) const;
  4104. #ifndef PASN_NOPRINTON
  4105.     void PrintOn(ostream & strm) const;
  4106. #endif
  4107.     Comparison Compare(const PObject & obj) const;
  4108.     PObject * Clone() const;
  4109. };
  4110.  
  4111.  
  4112. //
  4113. // NotifyRequest
  4114. //
  4115.  
  4116. class H248_NotifyRequest : public PASN_Sequence
  4117. {
  4118. #ifndef PASN_LEANANDMEAN
  4119.     PCLASSINFO(H248_NotifyRequest, PASN_Sequence);
  4120. #endif
  4121.   public:
  4122.     H248_NotifyRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4123.  
  4124.     enum OptionalFields {
  4125.       e_errorDescriptor
  4126.     };
  4127.  
  4128.     H248_TerminationIDList m_terminationID;
  4129.     H248_ObservedEventsDescriptor m_observedEventsDescriptor;
  4130.     H248_ErrorDescriptor m_errorDescriptor;
  4131.  
  4132.     PINDEX GetDataLength() const;
  4133.     BOOL Decode(PASN_Stream & strm);
  4134.     void Encode(PASN_Stream & strm) const;
  4135. #ifndef PASN_NOPRINTON
  4136.     void PrintOn(ostream & strm) const;
  4137. #endif
  4138.     Comparison Compare(const PObject & obj) const;
  4139.     PObject * Clone() const;
  4140. };
  4141.  
  4142.  
  4143. //
  4144. // ObservedEvent
  4145. //
  4146.  
  4147. class H248_ObservedEvent : public PASN_Sequence
  4148. {
  4149. #ifndef PASN_LEANANDMEAN
  4150.     PCLASSINFO(H248_ObservedEvent, PASN_Sequence);
  4151. #endif
  4152.   public:
  4153.     H248_ObservedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4154.  
  4155.     enum OptionalFields {
  4156.       e_streamID,
  4157.       e_timeNotation
  4158.     };
  4159.  
  4160.     H248_EventName m_eventName;
  4161.     H248_StreamID m_streamID;
  4162.     H248_ArrayOf_EventParameter m_eventParList;
  4163.     H248_TimeNotation m_timeNotation;
  4164.  
  4165.     PINDEX GetDataLength() const;
  4166.     BOOL Decode(PASN_Stream & strm);
  4167.     void Encode(PASN_Stream & strm) const;
  4168. #ifndef PASN_NOPRINTON
  4169.     void PrintOn(ostream & strm) const;
  4170. #endif
  4171.     Comparison Compare(const PObject & obj) const;
  4172.     PObject * Clone() const;
  4173. };
  4174.  
  4175.  
  4176. //
  4177. // MediaDescriptor
  4178. //
  4179.  
  4180. class H248_MediaDescriptor : public PASN_Sequence
  4181. {
  4182. #ifndef PASN_LEANANDMEAN
  4183.     PCLASSINFO(H248_MediaDescriptor, PASN_Sequence);
  4184. #endif
  4185.   public:
  4186.     H248_MediaDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4187.  
  4188.     enum OptionalFields {
  4189.       e_termStateDescr,
  4190.       e_streams
  4191.     };
  4192.  
  4193.     H248_TerminationStateDescriptor m_termStateDescr;
  4194.     H248_MediaDescriptor_streams m_streams;
  4195.  
  4196.     PINDEX GetDataLength() const;
  4197.     BOOL Decode(PASN_Stream & strm);
  4198.     void Encode(PASN_Stream & strm) const;
  4199. #ifndef PASN_NOPRINTON
  4200.     void PrintOn(ostream & strm) const;
  4201. #endif
  4202.     Comparison Compare(const PObject & obj) const;
  4203.     PObject * Clone() const;
  4204. };
  4205.  
  4206.  
  4207. //
  4208. // StreamParms
  4209. //
  4210.  
  4211. class H248_StreamParms : public PASN_Sequence
  4212. {
  4213. #ifndef PASN_LEANANDMEAN
  4214.     PCLASSINFO(H248_StreamParms, PASN_Sequence);
  4215. #endif
  4216.   public:
  4217.     H248_StreamParms(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4218.  
  4219.     enum OptionalFields {
  4220.       e_localControlDescriptor,
  4221.       e_localDescriptor,
  4222.       e_remoteDescriptor
  4223.     };
  4224.  
  4225.     H248_LocalControlDescriptor m_localControlDescriptor;
  4226.     H248_LocalRemoteDescriptor m_localDescriptor;
  4227.     H248_LocalRemoteDescriptor m_remoteDescriptor;
  4228.  
  4229.     PINDEX GetDataLength() const;
  4230.     BOOL Decode(PASN_Stream & strm);
  4231.     void Encode(PASN_Stream & strm) const;
  4232. #ifndef PASN_NOPRINTON
  4233.     void PrintOn(ostream & strm) const;
  4234. #endif
  4235.     Comparison Compare(const PObject & obj) const;
  4236.     PObject * Clone() const;
  4237. };
  4238.  
  4239.  
  4240. //
  4241. // MuxDescriptor
  4242. //
  4243.  
  4244. class H248_MuxDescriptor : public PASN_Sequence
  4245. {
  4246. #ifndef PASN_LEANANDMEAN
  4247.     PCLASSINFO(H248_MuxDescriptor, PASN_Sequence);
  4248. #endif
  4249.   public:
  4250.     H248_MuxDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4251.  
  4252.     enum OptionalFields {
  4253.       e_nonStandardData
  4254.     };
  4255.  
  4256.     H248_MuxType m_muxType;
  4257.     H248_ArrayOf_TerminationID m_termList;
  4258.     H248_NonStandardData m_nonStandardData;
  4259.  
  4260.     PINDEX GetDataLength() const;
  4261.     BOOL Decode(PASN_Stream & strm);
  4262.     void Encode(PASN_Stream & strm) const;
  4263. #ifndef PASN_NOPRINTON
  4264.     void PrintOn(ostream & strm) const;
  4265. #endif
  4266.     Comparison Compare(const PObject & obj) const;
  4267.     PObject * Clone() const;
  4268. };
  4269.  
  4270.  
  4271. //
  4272. // RequestedActions
  4273. //
  4274.  
  4275. class H248_RequestedActions : public PASN_Sequence
  4276. {
  4277. #ifndef PASN_LEANANDMEAN
  4278.     PCLASSINFO(H248_RequestedActions, PASN_Sequence);
  4279. #endif
  4280.   public:
  4281.     H248_RequestedActions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4282.  
  4283.     enum OptionalFields {
  4284.       e_keepActive,
  4285.       e_eventDM,
  4286.       e_secondEvent,
  4287.       e_signalsDescriptor
  4288.     };
  4289.  
  4290.     PASN_Boolean m_keepActive;
  4291.     H248_EventDM m_eventDM;
  4292.     H248_SecondEventsDescriptor m_secondEvent;
  4293.     H248_SignalsDescriptor m_signalsDescriptor;
  4294.  
  4295.     PINDEX GetDataLength() const;
  4296.     BOOL Decode(PASN_Stream & strm);
  4297.     void Encode(PASN_Stream & strm) const;
  4298. #ifndef PASN_NOPRINTON
  4299.     void PrintOn(ostream & strm) const;
  4300. #endif
  4301.     Comparison Compare(const PObject & obj) const;
  4302.     PObject * Clone() const;
  4303. };
  4304.  
  4305.  
  4306. //
  4307. // SecondRequestedEvent
  4308. //
  4309.  
  4310. class H248_SecondRequestedEvent : public PASN_Sequence
  4311. {
  4312. #ifndef PASN_LEANANDMEAN
  4313.     PCLASSINFO(H248_SecondRequestedEvent, PASN_Sequence);
  4314. #endif
  4315.   public:
  4316.     H248_SecondRequestedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4317.  
  4318.     enum OptionalFields {
  4319.       e_streamID,
  4320.       e_eventAction
  4321.     };
  4322.  
  4323.     H248_PkgdName m_pkgdName;
  4324.     H248_StreamID m_streamID;
  4325.     H248_SecondRequestedActions m_eventAction;
  4326.     H248_ArrayOf_EventParameter m_evParList;
  4327.  
  4328.     PINDEX GetDataLength() const;
  4329.     BOOL Decode(PASN_Stream & strm);
  4330.     void Encode(PASN_Stream & strm) const;
  4331. #ifndef PASN_NOPRINTON
  4332.     void PrintOn(ostream & strm) const;
  4333. #endif
  4334.     Comparison Compare(const PObject & obj) const;
  4335.     PObject * Clone() const;
  4336. };
  4337.  
  4338.  
  4339. //
  4340. // ModemDescriptor
  4341. //
  4342.  
  4343. class H248_ModemDescriptor : public PASN_Sequence
  4344. {
  4345. #ifndef PASN_LEANANDMEAN
  4346.     PCLASSINFO(H248_ModemDescriptor, PASN_Sequence);
  4347. #endif
  4348.   public:
  4349.     H248_ModemDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4350.  
  4351.     enum OptionalFields {
  4352.       e_nonStandardData
  4353.     };
  4354.  
  4355.     H248_ArrayOf_ModemType m_mtl;
  4356.     H248_ArrayOf_PropertyParm m_mpl;
  4357.     H248_NonStandardData m_nonStandardData;
  4358.  
  4359.     PINDEX GetDataLength() const;
  4360.     BOOL Decode(PASN_Stream & strm);
  4361.     void Encode(PASN_Stream & strm) const;
  4362. #ifndef PASN_NOPRINTON
  4363.     void PrintOn(ostream & strm) const;
  4364. #endif
  4365.     Comparison Compare(const PObject & obj) const;
  4366.     PObject * Clone() const;
  4367. };
  4368.  
  4369.  
  4370. //
  4371. // ServiceChangeParm
  4372. //
  4373.  
  4374. class H248_ServiceChangeParm : public PASN_Sequence
  4375. {
  4376. #ifndef PASN_LEANANDMEAN
  4377.     PCLASSINFO(H248_ServiceChangeParm, PASN_Sequence);
  4378. #endif
  4379.   public:
  4380.     H248_ServiceChangeParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4381.  
  4382.     enum OptionalFields {
  4383.       e_serviceChangeAddress,
  4384.       e_serviceChangeVersion,
  4385.       e_serviceChangeProfile,
  4386.       e_serviceChangeDelay,
  4387.       e_serviceChangeMgcId,
  4388.       e_timeStamp,
  4389.       e_nonStandardData,
  4390.       e_serviceChangeInfo
  4391.     };
  4392.  
  4393.     H248_ServiceChangeMethod m_serviceChangeMethod;
  4394.     H248_ServiceChangeAddress m_serviceChangeAddress;
  4395.     PASN_Integer m_serviceChangeVersion;
  4396.     H248_ServiceChangeProfile m_serviceChangeProfile;
  4397.     H248_Value m_serviceChangeReason;
  4398.     PASN_Integer m_serviceChangeDelay;
  4399.     H248_MId m_serviceChangeMgcId;
  4400.     H248_TimeNotation m_timeStamp;
  4401.     H248_NonStandardData m_nonStandardData;
  4402.     H248_AuditDescriptor m_serviceChangeInfo;
  4403.  
  4404.     PINDEX GetDataLength() const;
  4405.     BOOL Decode(PASN_Stream & strm);
  4406.     void Encode(PASN_Stream & strm) const;
  4407. #ifndef PASN_NOPRINTON
  4408.     void PrintOn(ostream & strm) const;
  4409. #endif
  4410.     Comparison Compare(const PObject & obj) const;
  4411.     PObject * Clone() const;
  4412. };
  4413.  
  4414.  
  4415. //
  4416. // IndAudStreamDescriptor
  4417. //
  4418.  
  4419. class H248_IndAudStreamDescriptor : public PASN_Sequence
  4420. {
  4421. #ifndef PASN_LEANANDMEAN
  4422.     PCLASSINFO(H248_IndAudStreamDescriptor, PASN_Sequence);
  4423. #endif
  4424.   public:
  4425.     H248_IndAudStreamDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4426.  
  4427.     H248_StreamID m_streamID;
  4428.     H248_IndAudStreamParms m_streamParms;
  4429.  
  4430.     PINDEX GetDataLength() const;
  4431.     BOOL Decode(PASN_Stream & strm);
  4432.     void Encode(PASN_Stream & strm) const;
  4433. #ifndef PASN_NOPRINTON
  4434.     void PrintOn(ostream & strm) const;
  4435. #endif
  4436.     Comparison Compare(const PObject & obj) const;
  4437.     PObject * Clone() const;
  4438. };
  4439.  
  4440.  
  4441. //
  4442. // ServiceChangeRequest
  4443. //
  4444.  
  4445. class H248_ServiceChangeRequest : public PASN_Sequence
  4446. {
  4447. #ifndef PASN_LEANANDMEAN
  4448.     PCLASSINFO(H248_ServiceChangeRequest, PASN_Sequence);
  4449. #endif
  4450.   public:
  4451.     H248_ServiceChangeRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4452.  
  4453.     H248_TerminationIDList m_terminationID;
  4454.     H248_ServiceChangeParm m_serviceChangeParms;
  4455.  
  4456.     PINDEX GetDataLength() const;
  4457.     BOOL Decode(PASN_Stream & strm);
  4458.     void Encode(PASN_Stream & strm) const;
  4459. #ifndef PASN_NOPRINTON
  4460.     void PrintOn(ostream & strm) const;
  4461. #endif
  4462.     Comparison Compare(const PObject & obj) const;
  4463.     PObject * Clone() const;
  4464. };
  4465.  
  4466.  
  4467. //
  4468. // StreamDescriptor
  4469. //
  4470.  
  4471. class H248_StreamDescriptor : public PASN_Sequence
  4472. {
  4473. #ifndef PASN_LEANANDMEAN
  4474.     PCLASSINFO(H248_StreamDescriptor, PASN_Sequence);
  4475. #endif
  4476.   public:
  4477.     H248_StreamDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4478.  
  4479.     H248_StreamID m_streamID;
  4480.     H248_StreamParms m_streamParms;
  4481.  
  4482.     PINDEX GetDataLength() const;
  4483.     BOOL Decode(PASN_Stream & strm);
  4484.     void Encode(PASN_Stream & strm) const;
  4485. #ifndef PASN_NOPRINTON
  4486.     void PrintOn(ostream & strm) const;
  4487. #endif
  4488.     Comparison Compare(const PObject & obj) const;
  4489.     PObject * Clone() const;
  4490. };
  4491.  
  4492.  
  4493. //
  4494. // RequestedEvent
  4495. //
  4496.  
  4497. class H248_RequestedEvent : public PASN_Sequence
  4498. {
  4499. #ifndef PASN_LEANANDMEAN
  4500.     PCLASSINFO(H248_RequestedEvent, PASN_Sequence);
  4501. #endif
  4502.   public:
  4503.     H248_RequestedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4504.  
  4505.     enum OptionalFields {
  4506.       e_streamID,
  4507.       e_eventAction
  4508.     };
  4509.  
  4510.     H248_PkgdName m_pkgdName;
  4511.     H248_StreamID m_streamID;
  4512.     H248_RequestedActions m_eventAction;
  4513.     H248_ArrayOf_EventParameter m_evParList;
  4514.  
  4515.     PINDEX GetDataLength() const;
  4516.     BOOL Decode(PASN_Stream & strm);
  4517.     void Encode(PASN_Stream & strm) const;
  4518. #ifndef PASN_NOPRINTON
  4519.     void PrintOn(ostream & strm) const;
  4520. #endif
  4521.     Comparison Compare(const PObject & obj) const;
  4522.     PObject * Clone() const;
  4523. };
  4524.  
  4525.  
  4526. #endif // __H248_H
  4527.  
  4528. #endif // if ! H323_DISABLE_H248
  4529.  
  4530.  
  4531. // End of h248.h
  4532.