4 // Code automatically generated by asnparse.
16 #include <ptclib/asner.h>
22 class MCS_ChannelId : public PASN_Integer
24 #ifndef PASN_LEANANDMEAN
25 PCLASSINFO(MCS_ChannelId, PASN_Integer);
28 MCS_ChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
30 MCS_ChannelId & operator=(int v);
31 MCS_ChannelId & operator=(unsigned v);
32 PObject * Clone() const;
40 class MCS_StaticChannelId : public PASN_Integer
42 #ifndef PASN_LEANANDMEAN
43 PCLASSINFO(MCS_StaticChannelId, PASN_Integer);
46 MCS_StaticChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
48 MCS_StaticChannelId & operator=(int v);
49 MCS_StaticChannelId & operator=(unsigned v);
50 PObject * Clone() const;
58 class MCS_DynamicChannelId : public PASN_Integer
60 #ifndef PASN_LEANANDMEAN
61 PCLASSINFO(MCS_DynamicChannelId, PASN_Integer);
64 MCS_DynamicChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
66 MCS_DynamicChannelId & operator=(int v);
67 MCS_DynamicChannelId & operator=(unsigned v);
68 PObject * Clone() const;
76 class MCS_UserId : public MCS_DynamicChannelId
78 #ifndef PASN_LEANANDMEAN
79 PCLASSINFO(MCS_UserId, MCS_DynamicChannelId);
82 MCS_UserId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
84 MCS_UserId & operator=(int v);
85 MCS_UserId & operator=(unsigned v);
86 PObject * Clone() const;
94 class MCS_PrivateChannelId : public MCS_DynamicChannelId
96 #ifndef PASN_LEANANDMEAN
97 PCLASSINFO(MCS_PrivateChannelId, MCS_DynamicChannelId);
100 MCS_PrivateChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
102 MCS_PrivateChannelId & operator=(int v);
103 MCS_PrivateChannelId & operator=(unsigned v);
104 PObject * Clone() const;
112 class MCS_AssignedChannelId : public MCS_DynamicChannelId
114 #ifndef PASN_LEANANDMEAN
115 PCLASSINFO(MCS_AssignedChannelId, MCS_DynamicChannelId);
118 MCS_AssignedChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
120 MCS_AssignedChannelId & operator=(int v);
121 MCS_AssignedChannelId & operator=(unsigned v);
122 PObject * Clone() const;
130 class MCS_TokenId : public PASN_Integer
132 #ifndef PASN_LEANANDMEAN
133 PCLASSINFO(MCS_TokenId, PASN_Integer);
136 MCS_TokenId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
138 MCS_TokenId & operator=(int v);
139 MCS_TokenId & operator=(unsigned v);
140 PObject * Clone() const;
148 class MCS_TokenStatus : public PASN_Enumeration
150 #ifndef PASN_LEANANDMEAN
151 PCLASSINFO(MCS_TokenStatus, PASN_Enumeration);
154 MCS_TokenStatus(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
167 MCS_TokenStatus & operator=(unsigned v);
168 PObject * Clone() const;
176 class MCS_DataPriority : public PASN_Enumeration
178 #ifndef PASN_LEANANDMEAN
179 PCLASSINFO(MCS_DataPriority, PASN_Enumeration);
182 MCS_DataPriority(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
191 MCS_DataPriority & operator=(unsigned v);
192 PObject * Clone() const;
200 class MCS_Segmentation : public PASN_BitString
202 #ifndef PASN_LEANANDMEAN
203 PCLASSINFO(MCS_Segmentation, PASN_BitString);
206 MCS_Segmentation(unsigned tag = UniversalBitString, TagClass tagClass = UniversalTagClass);
208 PObject * Clone() const;
216 class MCS_DomainParameters : public PASN_Sequence
218 #ifndef PASN_LEANANDMEAN
219 PCLASSINFO(MCS_DomainParameters, PASN_Sequence);
222 MCS_DomainParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
224 PASN_Integer m_maxChannelIds;
225 PASN_Integer m_maxUserIds;
226 PASN_Integer m_maxTokenIds;
227 PASN_Integer m_numPriorities;
228 PASN_Integer m_minThroughput;
229 PASN_Integer m_maxHeight;
230 PASN_Integer m_maxMCSPDUsize;
231 PASN_Integer m_protocolVersion;
233 PINDEX GetDataLength() const;
234 BOOL Decode(PASN_Stream & strm);
235 void Encode(PASN_Stream & strm) const;
236 #ifndef PASN_NOPRINTON
237 void PrintOn(ostream & strm) const;
239 Comparison Compare(const PObject & obj) const;
240 PObject * Clone() const;
248 class MCS_Connect_Initial : public PASN_Sequence
250 #ifndef PASN_LEANANDMEAN
251 PCLASSINFO(MCS_Connect_Initial, PASN_Sequence);
254 MCS_Connect_Initial(unsigned tag = 101, TagClass tagClass = ApplicationTagClass);
256 PASN_OctetString m_callingDomainSelector;
257 PASN_OctetString m_calledDomainSelector;
258 PASN_Boolean m_upwardFlag;
259 MCS_DomainParameters m_targetParameters;
260 MCS_DomainParameters m_minimumParameters;
261 MCS_DomainParameters m_maximumParameters;
262 PASN_OctetString m_userData;
264 PINDEX GetDataLength() const;
265 BOOL Decode(PASN_Stream & strm);
266 void Encode(PASN_Stream & strm) const;
267 #ifndef PASN_NOPRINTON
268 void PrintOn(ostream & strm) const;
270 Comparison Compare(const PObject & obj) const;
271 PObject * Clone() const;
276 // Connect-Additional
279 class MCS_Connect_Additional : public PASN_Sequence
281 #ifndef PASN_LEANANDMEAN
282 PCLASSINFO(MCS_Connect_Additional, PASN_Sequence);
285 MCS_Connect_Additional(unsigned tag = 103, TagClass tagClass = ApplicationTagClass);
287 PASN_Integer m_calledConnectId;
288 MCS_DataPriority m_dataPriority;
290 PINDEX GetDataLength() const;
291 BOOL Decode(PASN_Stream & strm);
292 void Encode(PASN_Stream & strm) const;
293 #ifndef PASN_NOPRINTON
294 void PrintOn(ostream & strm) const;
296 Comparison Compare(const PObject & obj) const;
297 PObject * Clone() const;
305 class MCS_PDin : public PASN_Sequence
307 #ifndef PASN_LEANANDMEAN
308 PCLASSINFO(MCS_PDin, PASN_Sequence);
311 MCS_PDin(unsigned tag = 0, TagClass tagClass = ApplicationTagClass);
313 PASN_Integer m_heightLimit;
315 PINDEX GetDataLength() const;
316 BOOL Decode(PASN_Stream & strm);
317 void Encode(PASN_Stream & strm) const;
318 #ifndef PASN_NOPRINTON
319 void PrintOn(ostream & strm) const;
321 Comparison Compare(const PObject & obj) const;
322 PObject * Clone() const;
330 class MCS_EDrq : public PASN_Sequence
332 #ifndef PASN_LEANANDMEAN
333 PCLASSINFO(MCS_EDrq, PASN_Sequence);
336 MCS_EDrq(unsigned tag = 1, TagClass tagClass = ApplicationTagClass);
338 PASN_Integer m_subHeight;
339 PASN_Integer m_subInterval;
341 PINDEX GetDataLength() const;
342 BOOL Decode(PASN_Stream & strm);
343 void Encode(PASN_Stream & strm) const;
344 #ifndef PASN_NOPRINTON
345 void PrintOn(ostream & strm) const;
347 Comparison Compare(const PObject & obj) const;
348 PObject * Clone() const;
356 class MCS_ChannelAttributes_static;
357 class MCS_ChannelAttributes_userId;
358 class MCS_ChannelAttributes_private;
359 class MCS_ChannelAttributes_assigned;
361 class MCS_ChannelAttributes : public PASN_Choice
363 #ifndef PASN_LEANANDMEAN
364 PCLASSINFO(MCS_ChannelAttributes, PASN_Choice);
367 MCS_ChannelAttributes(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
376 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
377 operator MCS_ChannelAttributes_static &() const;
379 operator MCS_ChannelAttributes_static &();
380 operator const MCS_ChannelAttributes_static &() const;
382 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
383 operator MCS_ChannelAttributes_userId &() const;
385 operator MCS_ChannelAttributes_userId &();
386 operator const MCS_ChannelAttributes_userId &() const;
388 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
389 operator MCS_ChannelAttributes_private &() const;
391 operator MCS_ChannelAttributes_private &();
392 operator const MCS_ChannelAttributes_private &() const;
394 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
395 operator MCS_ChannelAttributes_assigned &() const;
397 operator MCS_ChannelAttributes_assigned &();
398 operator const MCS_ChannelAttributes_assigned &() const;
402 PObject * Clone() const;
410 class MCS_TokenAttributes_grabbed;
411 class MCS_TokenAttributes_inhibited;
412 class MCS_TokenAttributes_giving;
413 class MCS_TokenAttributes_ungivable;
414 class MCS_TokenAttributes_given;
416 class MCS_TokenAttributes : public PASN_Choice
418 #ifndef PASN_LEANANDMEAN
419 PCLASSINFO(MCS_TokenAttributes, PASN_Choice);
422 MCS_TokenAttributes(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
432 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
433 operator MCS_TokenAttributes_grabbed &() const;
435 operator MCS_TokenAttributes_grabbed &();
436 operator const MCS_TokenAttributes_grabbed &() const;
438 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
439 operator MCS_TokenAttributes_inhibited &() const;
441 operator MCS_TokenAttributes_inhibited &();
442 operator const MCS_TokenAttributes_inhibited &() const;
444 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
445 operator MCS_TokenAttributes_giving &() const;
447 operator MCS_TokenAttributes_giving &();
448 operator const MCS_TokenAttributes_giving &() const;
450 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
451 operator MCS_TokenAttributes_ungivable &() const;
453 operator MCS_TokenAttributes_ungivable &();
454 operator const MCS_TokenAttributes_ungivable &() const;
456 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
457 operator MCS_TokenAttributes_given &() const;
459 operator MCS_TokenAttributes_given &();
460 operator const MCS_TokenAttributes_given &() const;
464 PObject * Clone() const;
472 class MCS_AUrq : public PASN_Sequence
474 #ifndef PASN_LEANANDMEAN
475 PCLASSINFO(MCS_AUrq, PASN_Sequence);
478 MCS_AUrq(unsigned tag = 10, TagClass tagClass = ApplicationTagClass);
481 PINDEX GetDataLength() const;
482 BOOL Decode(PASN_Stream & strm);
483 void Encode(PASN_Stream & strm) const;
484 #ifndef PASN_NOPRINTON
485 void PrintOn(ostream & strm) const;
487 PObject * Clone() const;
495 class MCS_CJrq : public PASN_Sequence
497 #ifndef PASN_LEANANDMEAN
498 PCLASSINFO(MCS_CJrq, PASN_Sequence);
501 MCS_CJrq(unsigned tag = 14, TagClass tagClass = ApplicationTagClass);
503 MCS_UserId m_initiator;
504 MCS_ChannelId m_channelId;
506 PINDEX GetDataLength() const;
507 BOOL Decode(PASN_Stream & strm);
508 void Encode(PASN_Stream & strm) const;
509 #ifndef PASN_NOPRINTON
510 void PrintOn(ostream & strm) const;
512 Comparison Compare(const PObject & obj) const;
513 PObject * Clone() const;
521 class MCS_CCrq : public PASN_Sequence
523 #ifndef PASN_LEANANDMEAN
524 PCLASSINFO(MCS_CCrq, PASN_Sequence);
527 MCS_CCrq(unsigned tag = 17, TagClass tagClass = ApplicationTagClass);
529 MCS_UserId m_initiator;
531 PINDEX GetDataLength() const;
532 BOOL Decode(PASN_Stream & strm);
533 void Encode(PASN_Stream & strm) const;
534 #ifndef PASN_NOPRINTON
535 void PrintOn(ostream & strm) const;
537 Comparison Compare(const PObject & obj) const;
538 PObject * Clone() const;
546 class MCS_CDrq : public PASN_Sequence
548 #ifndef PASN_LEANANDMEAN
549 PCLASSINFO(MCS_CDrq, PASN_Sequence);
552 MCS_CDrq(unsigned tag = 19, TagClass tagClass = ApplicationTagClass);
554 MCS_UserId m_initiator;
555 MCS_PrivateChannelId m_channelId;
557 PINDEX GetDataLength() const;
558 BOOL Decode(PASN_Stream & strm);
559 void Encode(PASN_Stream & strm) const;
560 #ifndef PASN_NOPRINTON
561 void PrintOn(ostream & strm) const;
563 Comparison Compare(const PObject & obj) const;
564 PObject * Clone() const;
572 class MCS_CDin : public PASN_Sequence
574 #ifndef PASN_LEANANDMEAN
575 PCLASSINFO(MCS_CDin, PASN_Sequence);
578 MCS_CDin(unsigned tag = 20, TagClass tagClass = ApplicationTagClass);
580 MCS_PrivateChannelId m_channelId;
582 PINDEX GetDataLength() const;
583 BOOL Decode(PASN_Stream & strm);
584 void Encode(PASN_Stream & strm) const;
585 #ifndef PASN_NOPRINTON
586 void PrintOn(ostream & strm) const;
588 Comparison Compare(const PObject & obj) const;
589 PObject * Clone() const;
597 class MCS_SDrq : public PASN_Sequence
599 #ifndef PASN_LEANANDMEAN
600 PCLASSINFO(MCS_SDrq, PASN_Sequence);
603 MCS_SDrq(unsigned tag = 25, TagClass tagClass = ApplicationTagClass);
605 MCS_UserId m_initiator;
606 MCS_ChannelId m_channelId;
607 MCS_DataPriority m_dataPriority;
608 MCS_Segmentation m_segmentation;
609 PASN_OctetString m_userData;
611 PINDEX GetDataLength() const;
612 BOOL Decode(PASN_Stream & strm);
613 void Encode(PASN_Stream & strm) const;
614 #ifndef PASN_NOPRINTON
615 void PrintOn(ostream & strm) const;
617 Comparison Compare(const PObject & obj) const;
618 PObject * Clone() const;
626 class MCS_SDin : public PASN_Sequence
628 #ifndef PASN_LEANANDMEAN
629 PCLASSINFO(MCS_SDin, PASN_Sequence);
632 MCS_SDin(unsigned tag = 26, TagClass tagClass = ApplicationTagClass);
634 MCS_UserId m_initiator;
635 MCS_ChannelId m_channelId;
636 MCS_DataPriority m_dataPriority;
637 MCS_Segmentation m_segmentation;
638 PASN_OctetString m_userData;
640 PINDEX GetDataLength() const;
641 BOOL Decode(PASN_Stream & strm);
642 void Encode(PASN_Stream & strm) const;
643 #ifndef PASN_NOPRINTON
644 void PrintOn(ostream & strm) const;
646 Comparison Compare(const PObject & obj) const;
647 PObject * Clone() const;
655 class MCS_USrq : public PASN_Sequence
657 #ifndef PASN_LEANANDMEAN
658 PCLASSINFO(MCS_USrq, PASN_Sequence);
661 MCS_USrq(unsigned tag = 27, TagClass tagClass = ApplicationTagClass);
663 MCS_UserId m_initiator;
664 MCS_ChannelId m_channelId;
665 MCS_DataPriority m_dataPriority;
666 MCS_Segmentation m_segmentation;
667 PASN_OctetString m_userData;
669 PINDEX GetDataLength() const;
670 BOOL Decode(PASN_Stream & strm);
671 void Encode(PASN_Stream & strm) const;
672 #ifndef PASN_NOPRINTON
673 void PrintOn(ostream & strm) const;
675 Comparison Compare(const PObject & obj) const;
676 PObject * Clone() const;
684 class MCS_USin : public PASN_Sequence
686 #ifndef PASN_LEANANDMEAN
687 PCLASSINFO(MCS_USin, PASN_Sequence);
690 MCS_USin(unsigned tag = 28, TagClass tagClass = ApplicationTagClass);
692 MCS_UserId m_initiator;
693 MCS_ChannelId m_channelId;
694 MCS_DataPriority m_dataPriority;
695 MCS_Segmentation m_segmentation;
696 PASN_OctetString m_userData;
698 PINDEX GetDataLength() const;
699 BOOL Decode(PASN_Stream & strm);
700 void Encode(PASN_Stream & strm) const;
701 #ifndef PASN_NOPRINTON
702 void PrintOn(ostream & strm) const;
704 Comparison Compare(const PObject & obj) const;
705 PObject * Clone() const;
713 class MCS_TGrq : public PASN_Sequence
715 #ifndef PASN_LEANANDMEAN
716 PCLASSINFO(MCS_TGrq, PASN_Sequence);
719 MCS_TGrq(unsigned tag = 29, TagClass tagClass = ApplicationTagClass);
721 MCS_UserId m_initiator;
722 MCS_TokenId m_tokenId;
724 PINDEX GetDataLength() const;
725 BOOL Decode(PASN_Stream & strm);
726 void Encode(PASN_Stream & strm) const;
727 #ifndef PASN_NOPRINTON
728 void PrintOn(ostream & strm) const;
730 Comparison Compare(const PObject & obj) const;
731 PObject * Clone() const;
739 class MCS_TIrq : public PASN_Sequence
741 #ifndef PASN_LEANANDMEAN
742 PCLASSINFO(MCS_TIrq, PASN_Sequence);
745 MCS_TIrq(unsigned tag = 31, TagClass tagClass = ApplicationTagClass);
747 MCS_UserId m_initiator;
748 MCS_TokenId m_tokenId;
750 PINDEX GetDataLength() const;
751 BOOL Decode(PASN_Stream & strm);
752 void Encode(PASN_Stream & strm) const;
753 #ifndef PASN_NOPRINTON
754 void PrintOn(ostream & strm) const;
756 Comparison Compare(const PObject & obj) const;
757 PObject * Clone() const;
765 class MCS_TVrq : public PASN_Sequence
767 #ifndef PASN_LEANANDMEAN
768 PCLASSINFO(MCS_TVrq, PASN_Sequence);
771 MCS_TVrq(unsigned tag = 33, TagClass tagClass = ApplicationTagClass);
773 MCS_UserId m_initiator;
774 MCS_TokenId m_tokenId;
775 MCS_UserId m_recipient;
777 PINDEX GetDataLength() const;
778 BOOL Decode(PASN_Stream & strm);
779 void Encode(PASN_Stream & strm) const;
780 #ifndef PASN_NOPRINTON
781 void PrintOn(ostream & strm) const;
783 Comparison Compare(const PObject & obj) const;
784 PObject * Clone() const;
792 class MCS_TVin : public PASN_Sequence
794 #ifndef PASN_LEANANDMEAN
795 PCLASSINFO(MCS_TVin, PASN_Sequence);
798 MCS_TVin(unsigned tag = 34, TagClass tagClass = ApplicationTagClass);
800 MCS_UserId m_initiator;
801 MCS_TokenId m_tokenId;
802 MCS_UserId m_recipient;
804 PINDEX GetDataLength() const;
805 BOOL Decode(PASN_Stream & strm);
806 void Encode(PASN_Stream & strm) const;
807 #ifndef PASN_NOPRINTON
808 void PrintOn(ostream & strm) const;
810 Comparison Compare(const PObject & obj) const;
811 PObject * Clone() const;
819 class MCS_TPrq : public PASN_Sequence
821 #ifndef PASN_LEANANDMEAN
822 PCLASSINFO(MCS_TPrq, PASN_Sequence);
825 MCS_TPrq(unsigned tag = 37, TagClass tagClass = ApplicationTagClass);
827 MCS_UserId m_initiator;
828 MCS_TokenId m_tokenId;
830 PINDEX GetDataLength() const;
831 BOOL Decode(PASN_Stream & strm);
832 void Encode(PASN_Stream & strm) const;
833 #ifndef PASN_NOPRINTON
834 void PrintOn(ostream & strm) const;
836 Comparison Compare(const PObject & obj) const;
837 PObject * Clone() const;
845 class MCS_TPin : public PASN_Sequence
847 #ifndef PASN_LEANANDMEAN
848 PCLASSINFO(MCS_TPin, PASN_Sequence);
851 MCS_TPin(unsigned tag = 38, TagClass tagClass = ApplicationTagClass);
853 MCS_UserId m_initiator;
854 MCS_TokenId m_tokenId;
856 PINDEX GetDataLength() const;
857 BOOL Decode(PASN_Stream & strm);
858 void Encode(PASN_Stream & strm) const;
859 #ifndef PASN_NOPRINTON
860 void PrintOn(ostream & strm) const;
862 Comparison Compare(const PObject & obj) const;
863 PObject * Clone() const;
871 class MCS_TRrq : public PASN_Sequence
873 #ifndef PASN_LEANANDMEAN
874 PCLASSINFO(MCS_TRrq, PASN_Sequence);
877 MCS_TRrq(unsigned tag = 39, TagClass tagClass = ApplicationTagClass);
879 MCS_UserId m_initiator;
880 MCS_TokenId m_tokenId;
882 PINDEX GetDataLength() const;
883 BOOL Decode(PASN_Stream & strm);
884 void Encode(PASN_Stream & strm) const;
885 #ifndef PASN_NOPRINTON
886 void PrintOn(ostream & strm) const;
888 Comparison Compare(const PObject & obj) const;
889 PObject * Clone() const;
897 class MCS_TTrq : public PASN_Sequence
899 #ifndef PASN_LEANANDMEAN
900 PCLASSINFO(MCS_TTrq, PASN_Sequence);
903 MCS_TTrq(unsigned tag = 41, TagClass tagClass = ApplicationTagClass);
905 MCS_UserId m_initiator;
906 MCS_TokenId m_tokenId;
908 PINDEX GetDataLength() const;
909 BOOL Decode(PASN_Stream & strm);
910 void Encode(PASN_Stream & strm) const;
911 #ifndef PASN_NOPRINTON
912 void PrintOn(ostream & strm) const;
914 Comparison Compare(const PObject & obj) const;
915 PObject * Clone() const;
923 class MCS_TTcf : public PASN_Sequence
925 #ifndef PASN_LEANANDMEAN
926 PCLASSINFO(MCS_TTcf, PASN_Sequence);
929 MCS_TTcf(unsigned tag = 42, TagClass tagClass = ApplicationTagClass);
931 MCS_UserId m_initiator;
932 MCS_TokenId m_tokenId;
933 MCS_TokenStatus m_tokenStatus;
935 PINDEX GetDataLength() const;
936 BOOL Decode(PASN_Stream & strm);
937 void Encode(PASN_Stream & strm) const;
938 #ifndef PASN_NOPRINTON
939 void PrintOn(ostream & strm) const;
941 Comparison Compare(const PObject & obj) const;
942 PObject * Clone() const;
950 class MCS_Reason : public PASN_Enumeration
952 #ifndef PASN_LEANANDMEAN
953 PCLASSINFO(MCS_Reason, PASN_Enumeration);
956 MCS_Reason(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
959 e_rn_domain_disconnected,
960 e_rn_provider_initiated,
966 MCS_Reason & operator=(unsigned v);
967 PObject * Clone() const;
975 class MCS_Result : public PASN_Enumeration
977 #ifndef PASN_LEANANDMEAN
978 PCLASSINFO(MCS_Result, PASN_Enumeration);
981 MCS_Result(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
986 e_rt_domain_not_hierarchical,
987 e_rt_no_such_channel,
992 e_rt_parameters_unacceptable,
993 e_rt_token_not_available,
994 e_rt_token_not_possessed,
995 e_rt_too_many_channels,
996 e_rt_too_many_tokens,
998 e_rt_unspecified_failure,
1002 MCS_Result & operator=(unsigned v);
1003 PObject * Clone() const;
1011 class MCS_Diagnostic : public PASN_Enumeration
1013 #ifndef PASN_LEANANDMEAN
1014 PCLASSINFO(MCS_Diagnostic, PASN_Enumeration);
1017 MCS_Diagnostic(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
1020 e_dc_inconsistent_merge,
1021 e_dc_forbidden_PDU_downward,
1022 e_dc_forbidden_PDU_upward,
1023 e_dc_invalid_BER_encoding,
1024 e_dc_invalid_PER_encoding,
1025 e_dc_misrouted_user,
1026 e_dc_unrequested_confirm,
1027 e_dc_wrong_transport_priority,
1028 e_dc_channel_id_conflict,
1029 e_dc_token_id_conflict,
1030 e_dc_not_user_id_channel,
1031 e_dc_too_many_channels,
1032 e_dc_too_many_tokens,
1036 MCS_Diagnostic & operator=(unsigned v);
1037 PObject * Clone() const;
1045 class MCS_Connect_Initial;
1046 class MCS_Connect_Response;
1047 class MCS_Connect_Additional;
1048 class MCS_Connect_Result;
1050 class MCS_ConnectMCSPDU : public PASN_Choice
1052 #ifndef PASN_LEANANDMEAN
1053 PCLASSINFO(MCS_ConnectMCSPDU, PASN_Choice);
1056 MCS_ConnectMCSPDU(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
1059 e_connect_initial = 101,
1061 e_connect_additional,
1065 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1066 operator MCS_Connect_Initial &() const;
1068 operator MCS_Connect_Initial &();
1069 operator const MCS_Connect_Initial &() const;
1071 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1072 operator MCS_Connect_Response &() const;
1074 operator MCS_Connect_Response &();
1075 operator const MCS_Connect_Response &() const;
1077 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1078 operator MCS_Connect_Additional &() const;
1080 operator MCS_Connect_Additional &();
1081 operator const MCS_Connect_Additional &() const;
1083 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1084 operator MCS_Connect_Result &() const;
1086 operator MCS_Connect_Result &();
1087 operator const MCS_Connect_Result &() const;
1090 BOOL CreateObject();
1091 PObject * Clone() const;
1143 class MCS_DomainMCSPDU : public PASN_Choice
1145 #ifndef PASN_LEANANDMEAN
1146 PCLASSINFO(MCS_DomainMCSPDU, PASN_Choice);
1149 MCS_DomainMCSPDU(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
1197 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1198 operator MCS_PDin &() const;
1200 operator MCS_PDin &();
1201 operator const MCS_PDin &() const;
1203 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1204 operator MCS_EDrq &() const;
1206 operator MCS_EDrq &();
1207 operator const MCS_EDrq &() const;
1209 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1210 operator MCS_MCrq &() const;
1212 operator MCS_MCrq &();
1213 operator const MCS_MCrq &() const;
1215 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1216 operator MCS_MCcf &() const;
1218 operator MCS_MCcf &();
1219 operator const MCS_MCcf &() const;
1221 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1222 operator MCS_PCin &() const;
1224 operator MCS_PCin &();
1225 operator const MCS_PCin &() const;
1227 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1228 operator MCS_MTrq &() const;
1230 operator MCS_MTrq &();
1231 operator const MCS_MTrq &() const;
1233 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1234 operator MCS_MTcf &() const;
1236 operator MCS_MTcf &();
1237 operator const MCS_MTcf &() const;
1239 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1240 operator MCS_PTin &() const;
1242 operator MCS_PTin &();
1243 operator const MCS_PTin &() const;
1245 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1246 operator MCS_DPum &() const;
1248 operator MCS_DPum &();
1249 operator const MCS_DPum &() const;
1251 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1252 operator MCS_RJum &() const;
1254 operator MCS_RJum &();
1255 operator const MCS_RJum &() const;
1257 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1258 operator MCS_AUrq &() const;
1260 operator MCS_AUrq &();
1261 operator const MCS_AUrq &() const;
1263 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1264 operator MCS_AUcf &() const;
1266 operator MCS_AUcf &();
1267 operator const MCS_AUcf &() const;
1269 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1270 operator MCS_DUrq &() const;
1272 operator MCS_DUrq &();
1273 operator const MCS_DUrq &() const;
1275 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1276 operator MCS_DUin &() const;
1278 operator MCS_DUin &();
1279 operator const MCS_DUin &() const;
1281 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1282 operator MCS_CJrq &() const;
1284 operator MCS_CJrq &();
1285 operator const MCS_CJrq &() const;
1287 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1288 operator MCS_CJcf &() const;
1290 operator MCS_CJcf &();
1291 operator const MCS_CJcf &() const;
1293 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1294 operator MCS_CLrq &() const;
1296 operator MCS_CLrq &();
1297 operator const MCS_CLrq &() const;
1299 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1300 operator MCS_CCrq &() const;
1302 operator MCS_CCrq &();
1303 operator const MCS_CCrq &() const;
1305 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1306 operator MCS_CCcf &() const;
1308 operator MCS_CCcf &();
1309 operator const MCS_CCcf &() const;
1311 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1312 operator MCS_CDrq &() const;
1314 operator MCS_CDrq &();
1315 operator const MCS_CDrq &() const;
1317 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1318 operator MCS_CDin &() const;
1320 operator MCS_CDin &();
1321 operator const MCS_CDin &() const;
1323 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1324 operator MCS_CArq &() const;
1326 operator MCS_CArq &();
1327 operator const MCS_CArq &() const;
1329 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1330 operator MCS_CAin &() const;
1332 operator MCS_CAin &();
1333 operator const MCS_CAin &() const;
1335 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1336 operator MCS_CErq &() const;
1338 operator MCS_CErq &();
1339 operator const MCS_CErq &() const;
1341 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1342 operator MCS_CEin &() const;
1344 operator MCS_CEin &();
1345 operator const MCS_CEin &() const;
1347 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1348 operator MCS_SDrq &() const;
1350 operator MCS_SDrq &();
1351 operator const MCS_SDrq &() const;
1353 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1354 operator MCS_SDin &() const;
1356 operator MCS_SDin &();
1357 operator const MCS_SDin &() const;
1359 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1360 operator MCS_USrq &() const;
1362 operator MCS_USrq &();
1363 operator const MCS_USrq &() const;
1365 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1366 operator MCS_USin &() const;
1368 operator MCS_USin &();
1369 operator const MCS_USin &() const;
1371 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1372 operator MCS_TGrq &() const;
1374 operator MCS_TGrq &();
1375 operator const MCS_TGrq &() const;
1377 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1378 operator MCS_TGcf &() const;
1380 operator MCS_TGcf &();
1381 operator const MCS_TGcf &() const;
1383 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1384 operator MCS_TIrq &() const;
1386 operator MCS_TIrq &();
1387 operator const MCS_TIrq &() const;
1389 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1390 operator MCS_TIcf &() const;
1392 operator MCS_TIcf &();
1393 operator const MCS_TIcf &() const;
1395 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1396 operator MCS_TVrq &() const;
1398 operator MCS_TVrq &();
1399 operator const MCS_TVrq &() const;
1401 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1402 operator MCS_TVin &() const;
1404 operator MCS_TVin &();
1405 operator const MCS_TVin &() const;
1407 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1408 operator MCS_TVrs &() const;
1410 operator MCS_TVrs &();
1411 operator const MCS_TVrs &() const;
1413 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1414 operator MCS_TVcf &() const;
1416 operator MCS_TVcf &();
1417 operator const MCS_TVcf &() const;
1419 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1420 operator MCS_TPrq &() const;
1422 operator MCS_TPrq &();
1423 operator const MCS_TPrq &() const;
1425 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1426 operator MCS_TPin &() const;
1428 operator MCS_TPin &();
1429 operator const MCS_TPin &() const;
1431 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1432 operator MCS_TRrq &() const;
1434 operator MCS_TRrq &();
1435 operator const MCS_TRrq &() const;
1437 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1438 operator MCS_TRcf &() const;
1440 operator MCS_TRcf &();
1441 operator const MCS_TRcf &() const;
1443 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1444 operator MCS_TTrq &() const;
1446 operator MCS_TTrq &();
1447 operator const MCS_TTrq &() const;
1449 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1450 operator MCS_TTcf &() const;
1452 operator MCS_TTcf &();
1453 operator const MCS_TTcf &() const;
1456 BOOL CreateObject();
1457 PObject * Clone() const;
1462 // ChannelAttributes_static
1465 class MCS_ChannelAttributes_static : public PASN_Sequence
1467 #ifndef PASN_LEANANDMEAN
1468 PCLASSINFO(MCS_ChannelAttributes_static, PASN_Sequence);
1471 MCS_ChannelAttributes_static(unsigned tag = 0, TagClass tagClass = ContextSpecificTagClass);
1473 MCS_StaticChannelId m_channelId;
1475 PINDEX GetDataLength() const;
1476 BOOL Decode(PASN_Stream & strm);
1477 void Encode(PASN_Stream & strm) const;
1478 #ifndef PASN_NOPRINTON
1479 void PrintOn(ostream & strm) const;
1481 Comparison Compare(const PObject & obj) const;
1482 PObject * Clone() const;
1487 // ChannelAttributes_userId
1490 class MCS_ChannelAttributes_userId : public PASN_Sequence
1492 #ifndef PASN_LEANANDMEAN
1493 PCLASSINFO(MCS_ChannelAttributes_userId, PASN_Sequence);
1496 MCS_ChannelAttributes_userId(unsigned tag = 1, TagClass tagClass = ContextSpecificTagClass);
1498 PASN_Boolean m_joined;
1499 MCS_UserId m_userId;
1501 PINDEX GetDataLength() const;
1502 BOOL Decode(PASN_Stream & strm);
1503 void Encode(PASN_Stream & strm) const;
1504 #ifndef PASN_NOPRINTON
1505 void PrintOn(ostream & strm) const;
1507 Comparison Compare(const PObject & obj) const;
1508 PObject * Clone() const;
1513 // ChannelAttributes_assigned
1516 class MCS_ChannelAttributes_assigned : public PASN_Sequence
1518 #ifndef PASN_LEANANDMEAN
1519 PCLASSINFO(MCS_ChannelAttributes_assigned, PASN_Sequence);
1522 MCS_ChannelAttributes_assigned(unsigned tag = 3, TagClass tagClass = ContextSpecificTagClass);
1524 MCS_AssignedChannelId m_channelId;
1526 PINDEX GetDataLength() const;
1527 BOOL Decode(PASN_Stream & strm);
1528 void Encode(PASN_Stream & strm) const;
1529 #ifndef PASN_NOPRINTON
1530 void PrintOn(ostream & strm) const;
1532 Comparison Compare(const PObject & obj) const;
1533 PObject * Clone() const;
1538 // ArrayOf_ChannelAttributes
1541 class MCS_ChannelAttributes;
1543 class MCS_ArrayOf_ChannelAttributes : public PASN_Array
1545 #ifndef PASN_LEANANDMEAN
1546 PCLASSINFO(MCS_ArrayOf_ChannelAttributes, PASN_Array);
1549 MCS_ArrayOf_ChannelAttributes(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
1551 PASN_Object * CreateObject() const;
1552 MCS_ChannelAttributes & operator[](PINDEX i) const;
1553 PObject * Clone() const;
1558 // ArrayOf_ChannelId
1561 class MCS_ChannelId;
1563 class MCS_ArrayOf_ChannelId : public PASN_Array
1565 #ifndef PASN_LEANANDMEAN
1566 PCLASSINFO(MCS_ArrayOf_ChannelId, PASN_Array);
1569 MCS_ArrayOf_ChannelId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
1571 PASN_Object * CreateObject() const;
1572 MCS_ChannelId & operator[](PINDEX i) const;
1573 PObject * Clone() const;
1583 class MCS_ArrayOf_UserId : public PASN_Array
1585 #ifndef PASN_LEANANDMEAN
1586 PCLASSINFO(MCS_ArrayOf_UserId, PASN_Array);
1589 MCS_ArrayOf_UserId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
1591 PASN_Object * CreateObject() const;
1592 MCS_UserId & operator[](PINDEX i) const;
1593 PObject * Clone() const;
1598 // TokenAttributes_grabbed
1601 class MCS_TokenAttributes_grabbed : public PASN_Sequence
1603 #ifndef PASN_LEANANDMEAN
1604 PCLASSINFO(MCS_TokenAttributes_grabbed, PASN_Sequence);
1607 MCS_TokenAttributes_grabbed(unsigned tag = 0, TagClass tagClass = ContextSpecificTagClass);
1609 MCS_TokenId m_tokenId;
1610 MCS_UserId m_grabber;
1612 PINDEX GetDataLength() const;
1613 BOOL Decode(PASN_Stream & strm);
1614 void Encode(PASN_Stream & strm) const;
1615 #ifndef PASN_NOPRINTON
1616 void PrintOn(ostream & strm) const;
1618 Comparison Compare(const PObject & obj) const;
1619 PObject * Clone() const;
1624 // TokenAttributes_inhibited
1627 class MCS_TokenAttributes_inhibited : public PASN_Sequence
1629 #ifndef PASN_LEANANDMEAN
1630 PCLASSINFO(MCS_TokenAttributes_inhibited, PASN_Sequence);
1633 MCS_TokenAttributes_inhibited(unsigned tag = 1, TagClass tagClass = ContextSpecificTagClass);
1635 MCS_TokenId m_tokenId;
1636 MCS_ArrayOf_UserId m_inhibitors;
1638 PINDEX GetDataLength() const;
1639 BOOL Decode(PASN_Stream & strm);
1640 void Encode(PASN_Stream & strm) const;
1641 #ifndef PASN_NOPRINTON
1642 void PrintOn(ostream & strm) const;
1644 Comparison Compare(const PObject & obj) const;
1645 PObject * Clone() const;
1650 // TokenAttributes_giving
1653 class MCS_TokenAttributes_giving : public PASN_Sequence
1655 #ifndef PASN_LEANANDMEAN
1656 PCLASSINFO(MCS_TokenAttributes_giving, PASN_Sequence);
1659 MCS_TokenAttributes_giving(unsigned tag = 2, TagClass tagClass = ContextSpecificTagClass);
1661 MCS_TokenId m_tokenId;
1662 MCS_UserId m_grabber;
1663 MCS_UserId m_recipient;
1665 PINDEX GetDataLength() const;
1666 BOOL Decode(PASN_Stream & strm);
1667 void Encode(PASN_Stream & strm) const;
1668 #ifndef PASN_NOPRINTON
1669 void PrintOn(ostream & strm) const;
1671 Comparison Compare(const PObject & obj) const;
1672 PObject * Clone() const;
1677 // TokenAttributes_ungivable
1680 class MCS_TokenAttributes_ungivable : public PASN_Sequence
1682 #ifndef PASN_LEANANDMEAN
1683 PCLASSINFO(MCS_TokenAttributes_ungivable, PASN_Sequence);
1686 MCS_TokenAttributes_ungivable(unsigned tag = 3, TagClass tagClass = ContextSpecificTagClass);
1688 MCS_TokenId m_tokenId;
1689 MCS_UserId m_grabber;
1691 PINDEX GetDataLength() const;
1692 BOOL Decode(PASN_Stream & strm);
1693 void Encode(PASN_Stream & strm) const;
1694 #ifndef PASN_NOPRINTON
1695 void PrintOn(ostream & strm) const;
1697 Comparison Compare(const PObject & obj) const;
1698 PObject * Clone() const;
1703 // TokenAttributes_given
1706 class MCS_TokenAttributes_given : public PASN_Sequence
1708 #ifndef PASN_LEANANDMEAN
1709 PCLASSINFO(MCS_TokenAttributes_given, PASN_Sequence);
1712 MCS_TokenAttributes_given(unsigned tag = 4, TagClass tagClass = ContextSpecificTagClass);
1714 MCS_TokenId m_tokenId;
1715 MCS_UserId m_recipient;
1717 PINDEX GetDataLength() const;
1718 BOOL Decode(PASN_Stream & strm);
1719 void Encode(PASN_Stream & strm) const;
1720 #ifndef PASN_NOPRINTON
1721 void PrintOn(ostream & strm) const;
1723 Comparison Compare(const PObject & obj) const;
1724 PObject * Clone() const;
1729 // ArrayOf_TokenAttributes
1732 class MCS_TokenAttributes;
1734 class MCS_ArrayOf_TokenAttributes : public PASN_Array
1736 #ifndef PASN_LEANANDMEAN
1737 PCLASSINFO(MCS_ArrayOf_TokenAttributes, PASN_Array);
1740 MCS_ArrayOf_TokenAttributes(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
1742 PASN_Object * CreateObject() const;
1743 MCS_TokenAttributes & operator[](PINDEX i) const;
1744 PObject * Clone() const;
1754 class MCS_ArrayOf_TokenId : public PASN_Array
1756 #ifndef PASN_LEANANDMEAN
1757 PCLASSINFO(MCS_ArrayOf_TokenId, PASN_Array);
1760 MCS_ArrayOf_TokenId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
1762 PASN_Object * CreateObject() const;
1763 MCS_TokenId & operator[](PINDEX i) const;
1764 PObject * Clone() const;
1772 class MCS_Connect_Response : public PASN_Sequence
1774 #ifndef PASN_LEANANDMEAN
1775 PCLASSINFO(MCS_Connect_Response, PASN_Sequence);
1778 MCS_Connect_Response(unsigned tag = 102, TagClass tagClass = ApplicationTagClass);
1780 MCS_Result m_result;
1781 PASN_Integer m_calledConnectId;
1782 MCS_DomainParameters m_domainParameters;
1783 PASN_OctetString m_userData;
1785 PINDEX GetDataLength() const;
1786 BOOL Decode(PASN_Stream & strm);
1787 void Encode(PASN_Stream & strm) const;
1788 #ifndef PASN_NOPRINTON
1789 void PrintOn(ostream & strm) const;
1791 Comparison Compare(const PObject & obj) const;
1792 PObject * Clone() const;
1800 class MCS_Connect_Result : public PASN_Sequence
1802 #ifndef PASN_LEANANDMEAN
1803 PCLASSINFO(MCS_Connect_Result, PASN_Sequence);
1806 MCS_Connect_Result(unsigned tag = 104, TagClass tagClass = ApplicationTagClass);
1808 MCS_Result m_result;
1810 PINDEX GetDataLength() const;
1811 BOOL Decode(PASN_Stream & strm);
1812 void Encode(PASN_Stream & strm) const;
1813 #ifndef PASN_NOPRINTON
1814 void PrintOn(ostream & strm) const;
1816 Comparison Compare(const PObject & obj) const;
1817 PObject * Clone() const;
1825 class MCS_MCrq : public PASN_Sequence
1827 #ifndef PASN_LEANANDMEAN
1828 PCLASSINFO(MCS_MCrq, PASN_Sequence);
1831 MCS_MCrq(unsigned tag = 2, TagClass tagClass = ApplicationTagClass);
1833 MCS_ArrayOf_ChannelAttributes m_mergeChannels;
1834 MCS_ArrayOf_ChannelId m_purgeChannelIds;
1836 PINDEX GetDataLength() const;
1837 BOOL Decode(PASN_Stream & strm);
1838 void Encode(PASN_Stream & strm) const;
1839 #ifndef PASN_NOPRINTON
1840 void PrintOn(ostream & strm) const;
1842 Comparison Compare(const PObject & obj) const;
1843 PObject * Clone() const;
1851 class MCS_MCcf : public PASN_Sequence
1853 #ifndef PASN_LEANANDMEAN
1854 PCLASSINFO(MCS_MCcf, PASN_Sequence);
1857 MCS_MCcf(unsigned tag = 3, TagClass tagClass = ApplicationTagClass);
1859 MCS_ArrayOf_ChannelAttributes m_mergeChannels;
1860 MCS_ArrayOf_ChannelId m_purgeChannelIds;
1862 PINDEX GetDataLength() const;
1863 BOOL Decode(PASN_Stream & strm);
1864 void Encode(PASN_Stream & strm) const;
1865 #ifndef PASN_NOPRINTON
1866 void PrintOn(ostream & strm) const;
1868 Comparison Compare(const PObject & obj) const;
1869 PObject * Clone() const;
1877 class MCS_PCin : public PASN_Sequence
1879 #ifndef PASN_LEANANDMEAN
1880 PCLASSINFO(MCS_PCin, PASN_Sequence);
1883 MCS_PCin(unsigned tag = 4, TagClass tagClass = ApplicationTagClass);
1885 MCS_ArrayOf_UserId m_detachUserIds;
1886 MCS_ArrayOf_ChannelId m_purgeChannelIds;
1888 PINDEX GetDataLength() const;
1889 BOOL Decode(PASN_Stream & strm);
1890 void Encode(PASN_Stream & strm) const;
1891 #ifndef PASN_NOPRINTON
1892 void PrintOn(ostream & strm) const;
1894 Comparison Compare(const PObject & obj) const;
1895 PObject * Clone() const;
1903 class MCS_MTrq : public PASN_Sequence
1905 #ifndef PASN_LEANANDMEAN
1906 PCLASSINFO(MCS_MTrq, PASN_Sequence);
1909 MCS_MTrq(unsigned tag = 5, TagClass tagClass = ApplicationTagClass);
1911 MCS_ArrayOf_TokenAttributes m_mergeTokens;
1912 MCS_ArrayOf_TokenId m_purgeTokenIds;
1914 PINDEX GetDataLength() const;
1915 BOOL Decode(PASN_Stream & strm);
1916 void Encode(PASN_Stream & strm) const;
1917 #ifndef PASN_NOPRINTON
1918 void PrintOn(ostream & strm) const;
1920 Comparison Compare(const PObject & obj) const;
1921 PObject * Clone() const;
1929 class MCS_MTcf : public PASN_Sequence
1931 #ifndef PASN_LEANANDMEAN
1932 PCLASSINFO(MCS_MTcf, PASN_Sequence);
1935 MCS_MTcf(unsigned tag = 6, TagClass tagClass = ApplicationTagClass);
1937 MCS_ArrayOf_TokenAttributes m_mergeTokens;
1938 MCS_ArrayOf_TokenId m_purgeTokenIds;
1940 PINDEX GetDataLength() const;
1941 BOOL Decode(PASN_Stream & strm);
1942 void Encode(PASN_Stream & strm) const;
1943 #ifndef PASN_NOPRINTON
1944 void PrintOn(ostream & strm) const;
1946 Comparison Compare(const PObject & obj) const;
1947 PObject * Clone() const;
1955 class MCS_PTin : public PASN_Sequence
1957 #ifndef PASN_LEANANDMEAN
1958 PCLASSINFO(MCS_PTin, PASN_Sequence);
1961 MCS_PTin(unsigned tag = 7, TagClass tagClass = ApplicationTagClass);
1963 MCS_ArrayOf_TokenId m_purgeTokenIds;
1965 PINDEX GetDataLength() const;
1966 BOOL Decode(PASN_Stream & strm);
1967 void Encode(PASN_Stream & strm) const;
1968 #ifndef PASN_NOPRINTON
1969 void PrintOn(ostream & strm) const;
1971 Comparison Compare(const PObject & obj) const;
1972 PObject * Clone() const;
1980 class MCS_DPum : public PASN_Sequence
1982 #ifndef PASN_LEANANDMEAN
1983 PCLASSINFO(MCS_DPum, PASN_Sequence);
1986 MCS_DPum(unsigned tag = 8, TagClass tagClass = ApplicationTagClass);
1988 MCS_Reason m_reason;
1990 PINDEX GetDataLength() const;
1991 BOOL Decode(PASN_Stream & strm);
1992 void Encode(PASN_Stream & strm) const;
1993 #ifndef PASN_NOPRINTON
1994 void PrintOn(ostream & strm) const;
1996 Comparison Compare(const PObject & obj) const;
1997 PObject * Clone() const;
2005 class MCS_RJum : public PASN_Sequence
2007 #ifndef PASN_LEANANDMEAN
2008 PCLASSINFO(MCS_RJum, PASN_Sequence);
2011 MCS_RJum(unsigned tag = 9, TagClass tagClass = ApplicationTagClass);
2013 MCS_Diagnostic m_diagnostic;
2014 PASN_OctetString m_initialOctets;
2016 PINDEX GetDataLength() const;
2017 BOOL Decode(PASN_Stream & strm);
2018 void Encode(PASN_Stream & strm) const;
2019 #ifndef PASN_NOPRINTON
2020 void PrintOn(ostream & strm) const;
2022 Comparison Compare(const PObject & obj) const;
2023 PObject * Clone() const;
2031 class MCS_AUcf : public PASN_Sequence
2033 #ifndef PASN_LEANANDMEAN
2034 PCLASSINFO(MCS_AUcf, PASN_Sequence);
2037 MCS_AUcf(unsigned tag = 11, TagClass tagClass = ApplicationTagClass);
2039 enum OptionalFields {
2043 MCS_Result m_result;
2044 MCS_UserId m_initiator;
2046 PINDEX GetDataLength() const;
2047 BOOL Decode(PASN_Stream & strm);
2048 void Encode(PASN_Stream & strm) const;
2049 #ifndef PASN_NOPRINTON
2050 void PrintOn(ostream & strm) const;
2052 Comparison Compare(const PObject & obj) const;
2053 PObject * Clone() const;
2061 class MCS_DUrq : public PASN_Sequence
2063 #ifndef PASN_LEANANDMEAN
2064 PCLASSINFO(MCS_DUrq, PASN_Sequence);
2067 MCS_DUrq(unsigned tag = 12, TagClass tagClass = ApplicationTagClass);
2069 MCS_Reason m_reason;
2070 MCS_ArrayOf_UserId m_userIds;
2072 PINDEX GetDataLength() const;
2073 BOOL Decode(PASN_Stream & strm);
2074 void Encode(PASN_Stream & strm) const;
2075 #ifndef PASN_NOPRINTON
2076 void PrintOn(ostream & strm) const;
2078 Comparison Compare(const PObject & obj) const;
2079 PObject * Clone() const;
2087 class MCS_DUin : public PASN_Sequence
2089 #ifndef PASN_LEANANDMEAN
2090 PCLASSINFO(MCS_DUin, PASN_Sequence);
2093 MCS_DUin(unsigned tag = 13, TagClass tagClass = ApplicationTagClass);
2095 MCS_Reason m_reason;
2096 MCS_ArrayOf_UserId m_userIds;
2098 PINDEX GetDataLength() const;
2099 BOOL Decode(PASN_Stream & strm);
2100 void Encode(PASN_Stream & strm) const;
2101 #ifndef PASN_NOPRINTON
2102 void PrintOn(ostream & strm) const;
2104 Comparison Compare(const PObject & obj) const;
2105 PObject * Clone() const;
2113 class MCS_CJcf : public PASN_Sequence
2115 #ifndef PASN_LEANANDMEAN
2116 PCLASSINFO(MCS_CJcf, PASN_Sequence);
2119 MCS_CJcf(unsigned tag = 15, TagClass tagClass = ApplicationTagClass);
2121 enum OptionalFields {
2125 MCS_Result m_result;
2126 MCS_UserId m_initiator;
2127 MCS_ChannelId m_requested;
2128 MCS_ChannelId m_channelId;
2130 PINDEX GetDataLength() const;
2131 BOOL Decode(PASN_Stream & strm);
2132 void Encode(PASN_Stream & strm) const;
2133 #ifndef PASN_NOPRINTON
2134 void PrintOn(ostream & strm) const;
2136 Comparison Compare(const PObject & obj) const;
2137 PObject * Clone() const;
2145 class MCS_CLrq : public PASN_Sequence
2147 #ifndef PASN_LEANANDMEAN
2148 PCLASSINFO(MCS_CLrq, PASN_Sequence);
2151 MCS_CLrq(unsigned tag = 16, TagClass tagClass = ApplicationTagClass);
2153 MCS_ArrayOf_ChannelId m_channelIds;
2155 PINDEX GetDataLength() const;
2156 BOOL Decode(PASN_Stream & strm);
2157 void Encode(PASN_Stream & strm) const;
2158 #ifndef PASN_NOPRINTON
2159 void PrintOn(ostream & strm) const;
2161 Comparison Compare(const PObject & obj) const;
2162 PObject * Clone() const;
2170 class MCS_CCcf : public PASN_Sequence
2172 #ifndef PASN_LEANANDMEAN
2173 PCLASSINFO(MCS_CCcf, PASN_Sequence);
2176 MCS_CCcf(unsigned tag = 18, TagClass tagClass = ApplicationTagClass);
2178 enum OptionalFields {
2182 MCS_Result m_result;
2183 MCS_UserId m_initiator;
2184 MCS_PrivateChannelId m_channelId;
2186 PINDEX GetDataLength() const;
2187 BOOL Decode(PASN_Stream & strm);
2188 void Encode(PASN_Stream & strm) const;
2189 #ifndef PASN_NOPRINTON
2190 void PrintOn(ostream & strm) const;
2192 Comparison Compare(const PObject & obj) const;
2193 PObject * Clone() const;
2201 class MCS_CArq : public PASN_Sequence
2203 #ifndef PASN_LEANANDMEAN
2204 PCLASSINFO(MCS_CArq, PASN_Sequence);
2207 MCS_CArq(unsigned tag = 21, TagClass tagClass = ApplicationTagClass);
2209 MCS_UserId m_initiator;
2210 MCS_PrivateChannelId m_channelId;
2211 MCS_ArrayOf_UserId m_userIds;
2213 PINDEX GetDataLength() const;
2214 BOOL Decode(PASN_Stream & strm);
2215 void Encode(PASN_Stream & strm) const;
2216 #ifndef PASN_NOPRINTON
2217 void PrintOn(ostream & strm) const;
2219 Comparison Compare(const PObject & obj) const;
2220 PObject * Clone() const;
2228 class MCS_CAin : public PASN_Sequence
2230 #ifndef PASN_LEANANDMEAN
2231 PCLASSINFO(MCS_CAin, PASN_Sequence);
2234 MCS_CAin(unsigned tag = 22, TagClass tagClass = ApplicationTagClass);
2236 MCS_UserId m_initiator;
2237 MCS_PrivateChannelId m_channelId;
2238 MCS_ArrayOf_UserId m_userIds;
2240 PINDEX GetDataLength() const;
2241 BOOL Decode(PASN_Stream & strm);
2242 void Encode(PASN_Stream & strm) const;
2243 #ifndef PASN_NOPRINTON
2244 void PrintOn(ostream & strm) const;
2246 Comparison Compare(const PObject & obj) const;
2247 PObject * Clone() const;
2255 class MCS_CErq : public PASN_Sequence
2257 #ifndef PASN_LEANANDMEAN
2258 PCLASSINFO(MCS_CErq, PASN_Sequence);
2261 MCS_CErq(unsigned tag = 23, TagClass tagClass = ApplicationTagClass);
2263 MCS_UserId m_initiator;
2264 MCS_PrivateChannelId m_channelId;
2265 MCS_ArrayOf_UserId m_userIds;
2267 PINDEX GetDataLength() const;
2268 BOOL Decode(PASN_Stream & strm);
2269 void Encode(PASN_Stream & strm) const;
2270 #ifndef PASN_NOPRINTON
2271 void PrintOn(ostream & strm) const;
2273 Comparison Compare(const PObject & obj) const;
2274 PObject * Clone() const;
2282 class MCS_CEin : public PASN_Sequence
2284 #ifndef PASN_LEANANDMEAN
2285 PCLASSINFO(MCS_CEin, PASN_Sequence);
2288 MCS_CEin(unsigned tag = 24, TagClass tagClass = ApplicationTagClass);
2290 MCS_PrivateChannelId m_channelId;
2291 MCS_ArrayOf_UserId m_userIds;
2293 PINDEX GetDataLength() const;
2294 BOOL Decode(PASN_Stream & strm);
2295 void Encode(PASN_Stream & strm) const;
2296 #ifndef PASN_NOPRINTON
2297 void PrintOn(ostream & strm) const;
2299 Comparison Compare(const PObject & obj) const;
2300 PObject * Clone() const;
2308 class MCS_TGcf : public PASN_Sequence
2310 #ifndef PASN_LEANANDMEAN
2311 PCLASSINFO(MCS_TGcf, PASN_Sequence);
2314 MCS_TGcf(unsigned tag = 30, TagClass tagClass = ApplicationTagClass);
2316 MCS_Result m_result;
2317 MCS_UserId m_initiator;
2318 MCS_TokenId m_tokenId;
2319 MCS_TokenStatus m_tokenStatus;
2321 PINDEX GetDataLength() const;
2322 BOOL Decode(PASN_Stream & strm);
2323 void Encode(PASN_Stream & strm) const;
2324 #ifndef PASN_NOPRINTON
2325 void PrintOn(ostream & strm) const;
2327 Comparison Compare(const PObject & obj) const;
2328 PObject * Clone() const;
2336 class MCS_TIcf : public PASN_Sequence
2338 #ifndef PASN_LEANANDMEAN
2339 PCLASSINFO(MCS_TIcf, PASN_Sequence);
2342 MCS_TIcf(unsigned tag = 32, TagClass tagClass = ApplicationTagClass);
2344 MCS_Result m_result;
2345 MCS_UserId m_initiator;
2346 MCS_TokenId m_tokenId;
2347 MCS_TokenStatus m_tokenStatus;
2349 PINDEX GetDataLength() const;
2350 BOOL Decode(PASN_Stream & strm);
2351 void Encode(PASN_Stream & strm) const;
2352 #ifndef PASN_NOPRINTON
2353 void PrintOn(ostream & strm) const;
2355 Comparison Compare(const PObject & obj) const;
2356 PObject * Clone() const;
2364 class MCS_TVrs : public PASN_Sequence
2366 #ifndef PASN_LEANANDMEAN
2367 PCLASSINFO(MCS_TVrs, PASN_Sequence);
2370 MCS_TVrs(unsigned tag = 35, TagClass tagClass = ApplicationTagClass);
2372 MCS_Result m_result;
2373 MCS_UserId m_recipient;
2374 MCS_TokenId m_tokenId;
2376 PINDEX GetDataLength() const;
2377 BOOL Decode(PASN_Stream & strm);
2378 void Encode(PASN_Stream & strm) const;
2379 #ifndef PASN_NOPRINTON
2380 void PrintOn(ostream & strm) const;
2382 Comparison Compare(const PObject & obj) const;
2383 PObject * Clone() const;
2391 class MCS_TVcf : public PASN_Sequence
2393 #ifndef PASN_LEANANDMEAN
2394 PCLASSINFO(MCS_TVcf, PASN_Sequence);
2397 MCS_TVcf(unsigned tag = 36, TagClass tagClass = ApplicationTagClass);
2399 MCS_Result m_result;
2400 MCS_UserId m_initiator;
2401 MCS_TokenId m_tokenId;
2402 MCS_TokenStatus m_tokenStatus;
2404 PINDEX GetDataLength() const;
2405 BOOL Decode(PASN_Stream & strm);
2406 void Encode(PASN_Stream & strm) const;
2407 #ifndef PASN_NOPRINTON
2408 void PrintOn(ostream & strm) const;
2410 Comparison Compare(const PObject & obj) const;
2411 PObject * Clone() const;
2419 class MCS_TRcf : public PASN_Sequence
2421 #ifndef PASN_LEANANDMEAN
2422 PCLASSINFO(MCS_TRcf, PASN_Sequence);
2425 MCS_TRcf(unsigned tag = 40, TagClass tagClass = ApplicationTagClass);
2427 MCS_Result m_result;
2428 MCS_UserId m_initiator;
2429 MCS_TokenId m_tokenId;
2430 MCS_TokenStatus m_tokenStatus;
2432 PINDEX GetDataLength() const;
2433 BOOL Decode(PASN_Stream & strm);
2434 void Encode(PASN_Stream & strm) const;
2435 #ifndef PASN_NOPRINTON
2436 void PrintOn(ostream & strm) const;
2438 Comparison Compare(const PObject & obj) const;
2439 PObject * Clone() const;
2444 // ChannelAttributes_private
2447 class MCS_ChannelAttributes_private : public PASN_Sequence
2449 #ifndef PASN_LEANANDMEAN
2450 PCLASSINFO(MCS_ChannelAttributes_private, PASN_Sequence);
2453 MCS_ChannelAttributes_private(unsigned tag = 2, TagClass tagClass = ContextSpecificTagClass);
2455 PASN_Boolean m_joined;
2456 MCS_PrivateChannelId m_channelId;
2457 MCS_UserId m_manager;
2458 MCS_ArrayOf_UserId m_admitted;
2460 PINDEX GetDataLength() const;
2461 BOOL Decode(PASN_Stream & strm);
2462 void Encode(PASN_Stream & strm) const;
2463 #ifndef PASN_NOPRINTON
2464 void PrintOn(ostream & strm) const;
2466 Comparison Compare(const PObject & obj) const;
2467 PObject * Clone() const;
2473 #endif // if ! H323_DISABLE_MCS