4 // Code automatically generated by asnparse.
13 #if ! H323_DISABLE_H225
16 // ArrayOf_EnumeratedParameter
19 H225_ArrayOf_EnumeratedParameter::H225_ArrayOf_EnumeratedParameter(unsigned tag
, PASN_Object::TagClass tagClass
)
20 : PASN_Array(tag
, tagClass
)
25 PASN_Object
* H225_ArrayOf_EnumeratedParameter::CreateObject() const
27 return new H225_EnumeratedParameter
;
31 H225_EnumeratedParameter
& H225_ArrayOf_EnumeratedParameter::operator[](PINDEX i
) const
33 return (H225_EnumeratedParameter
&)array
[i
];
37 PObject
* H225_ArrayOf_EnumeratedParameter::Clone() const
39 #ifndef PASN_LEANANDMEAN
40 PAssert(IsClass(H225_ArrayOf_EnumeratedParameter::Class()), PInvalidCast
);
42 return new H225_ArrayOf_EnumeratedParameter(*this);
47 // RTPSession_associatedSessionIds
50 H225_RTPSession_associatedSessionIds::H225_RTPSession_associatedSessionIds(unsigned tag
, PASN_Object::TagClass tagClass
)
51 : PASN_Array(tag
, tagClass
)
56 PASN_Object
* H225_RTPSession_associatedSessionIds::CreateObject() const
58 PASN_Integer
* obj
= new PASN_Integer
;
59 obj
->SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
64 PASN_Integer
& H225_RTPSession_associatedSessionIds::operator[](PINDEX i
) const
66 return (PASN_Integer
&)array
[i
];
70 PObject
* H225_RTPSession_associatedSessionIds::Clone() const
72 #ifndef PASN_LEANANDMEAN
73 PAssert(IsClass(H225_RTPSession_associatedSessionIds::Class()), PInvalidCast
);
75 return new H225_RTPSession_associatedSessionIds(*this);
80 // ArrayOf_AdmissionConfirm
83 H225_ArrayOf_AdmissionConfirm::H225_ArrayOf_AdmissionConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
84 : PASN_Array(tag
, tagClass
)
89 PASN_Object
* H225_ArrayOf_AdmissionConfirm::CreateObject() const
91 return new H225_AdmissionConfirm
;
95 H225_AdmissionConfirm
& H225_ArrayOf_AdmissionConfirm::operator[](PINDEX i
) const
97 return (H225_AdmissionConfirm
&)array
[i
];
101 PObject
* H225_ArrayOf_AdmissionConfirm::Clone() const
103 #ifndef PASN_LEANANDMEAN
104 PAssert(IsClass(H225_ArrayOf_AdmissionConfirm::Class()), PInvalidCast
);
106 return new H225_ArrayOf_AdmissionConfirm(*this);
114 H225_ArrayOf_Endpoint::H225_ArrayOf_Endpoint(unsigned tag
, PASN_Object::TagClass tagClass
)
115 : PASN_Array(tag
, tagClass
)
120 PASN_Object
* H225_ArrayOf_Endpoint::CreateObject() const
122 return new H225_Endpoint
;
126 H225_Endpoint
& H225_ArrayOf_Endpoint::operator[](PINDEX i
) const
128 return (H225_Endpoint
&)array
[i
];
132 PObject
* H225_ArrayOf_Endpoint::Clone() const
134 #ifndef PASN_LEANANDMEAN
135 PAssert(IsClass(H225_ArrayOf_Endpoint::Class()), PInvalidCast
);
137 return new H225_ArrayOf_Endpoint(*this);
142 // ArrayOf_AuthenticationMechanism
145 H225_ArrayOf_AuthenticationMechanism::H225_ArrayOf_AuthenticationMechanism(unsigned tag
, PASN_Object::TagClass tagClass
)
146 : PASN_Array(tag
, tagClass
)
151 PASN_Object
* H225_ArrayOf_AuthenticationMechanism::CreateObject() const
153 return new H235_AuthenticationMechanism
;
157 H235_AuthenticationMechanism
& H225_ArrayOf_AuthenticationMechanism::operator[](PINDEX i
) const
159 return (H235_AuthenticationMechanism
&)array
[i
];
163 PObject
* H225_ArrayOf_AuthenticationMechanism::Clone() const
165 #ifndef PASN_LEANANDMEAN
166 PAssert(IsClass(H225_ArrayOf_AuthenticationMechanism::Class()), PInvalidCast
);
168 return new H225_ArrayOf_AuthenticationMechanism(*this);
173 // ArrayOf_PASN_ObjectId
176 H225_ArrayOf_PASN_ObjectId::H225_ArrayOf_PASN_ObjectId(unsigned tag
, PASN_Object::TagClass tagClass
)
177 : PASN_Array(tag
, tagClass
)
182 PASN_Object
* H225_ArrayOf_PASN_ObjectId::CreateObject() const
184 return new PASN_ObjectId
;
188 PASN_ObjectId
& H225_ArrayOf_PASN_ObjectId::operator[](PINDEX i
) const
190 return (PASN_ObjectId
&)array
[i
];
194 PObject
* H225_ArrayOf_PASN_ObjectId::Clone() const
196 #ifndef PASN_LEANANDMEAN
197 PAssert(IsClass(H225_ArrayOf_PASN_ObjectId::Class()), PInvalidCast
);
199 return new H225_ArrayOf_PASN_ObjectId(*this);
204 // ArrayOf_IntegrityMechanism
207 H225_ArrayOf_IntegrityMechanism::H225_ArrayOf_IntegrityMechanism(unsigned tag
, PASN_Object::TagClass tagClass
)
208 : PASN_Array(tag
, tagClass
)
213 PASN_Object
* H225_ArrayOf_IntegrityMechanism::CreateObject() const
215 return new H225_IntegrityMechanism
;
219 H225_IntegrityMechanism
& H225_ArrayOf_IntegrityMechanism::operator[](PINDEX i
) const
221 return (H225_IntegrityMechanism
&)array
[i
];
225 PObject
* H225_ArrayOf_IntegrityMechanism::Clone() const
227 #ifndef PASN_LEANANDMEAN
228 PAssert(IsClass(H225_ArrayOf_IntegrityMechanism::Class()), PInvalidCast
);
230 return new H225_ArrayOf_IntegrityMechanism(*this);
235 // ArrayOf_AddressPattern
238 H225_ArrayOf_AddressPattern::H225_ArrayOf_AddressPattern(unsigned tag
, PASN_Object::TagClass tagClass
)
239 : PASN_Array(tag
, tagClass
)
244 PASN_Object
* H225_ArrayOf_AddressPattern::CreateObject() const
246 return new H225_AddressPattern
;
250 H225_AddressPattern
& H225_ArrayOf_AddressPattern::operator[](PINDEX i
) const
252 return (H225_AddressPattern
&)array
[i
];
256 PObject
* H225_ArrayOf_AddressPattern::Clone() const
258 #ifndef PASN_LEANANDMEAN
259 PAssert(IsClass(H225_ArrayOf_AddressPattern::Class()), PInvalidCast
);
261 return new H225_ArrayOf_AddressPattern(*this);
266 // ArrayOf_H248PackagesDescriptor
269 H225_ArrayOf_H248PackagesDescriptor::H225_ArrayOf_H248PackagesDescriptor(unsigned tag
, PASN_Object::TagClass tagClass
)
270 : PASN_Array(tag
, tagClass
)
275 PASN_Object
* H225_ArrayOf_H248PackagesDescriptor::CreateObject() const
277 return new H225_H248PackagesDescriptor
;
281 H225_H248PackagesDescriptor
& H225_ArrayOf_H248PackagesDescriptor::operator[](PINDEX i
) const
283 return (H225_H248PackagesDescriptor
&)array
[i
];
287 PObject
* H225_ArrayOf_H248PackagesDescriptor::Clone() const
289 #ifndef PASN_LEANANDMEAN
290 PAssert(IsClass(H225_ArrayOf_H248PackagesDescriptor::Class()), PInvalidCast
);
292 return new H225_ArrayOf_H248PackagesDescriptor(*this);
297 // RegistrationRequest_language
300 H225_RegistrationRequest_language::H225_RegistrationRequest_language(unsigned tag
, PASN_Object::TagClass tagClass
)
301 : PASN_Array(tag
, tagClass
)
306 PASN_Object
* H225_RegistrationRequest_language::CreateObject() const
308 PASN_IA5String
* obj
= new PASN_IA5String
;
309 obj
->SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
314 PASN_IA5String
& H225_RegistrationRequest_language::operator[](PINDEX i
) const
316 return (PASN_IA5String
&)array
[i
];
320 PObject
* H225_RegistrationRequest_language::Clone() const
322 #ifndef PASN_LEANANDMEAN
323 PAssert(IsClass(H225_RegistrationRequest_language::Class()), PInvalidCast
);
325 return new H225_RegistrationRequest_language(*this);
330 // ArrayOf_RasUsageSpecification
333 H225_ArrayOf_RasUsageSpecification::H225_ArrayOf_RasUsageSpecification(unsigned tag
, PASN_Object::TagClass tagClass
)
334 : PASN_Array(tag
, tagClass
)
339 PASN_Object
* H225_ArrayOf_RasUsageSpecification::CreateObject() const
341 return new H225_RasUsageSpecification
;
345 H225_RasUsageSpecification
& H225_ArrayOf_RasUsageSpecification::operator[](PINDEX i
) const
347 return (H225_RasUsageSpecification
&)array
[i
];
351 PObject
* H225_ArrayOf_RasUsageSpecification::Clone() const
353 #ifndef PASN_LEANANDMEAN
354 PAssert(IsClass(H225_ArrayOf_RasUsageSpecification::Class()), PInvalidCast
);
356 return new H225_ArrayOf_RasUsageSpecification(*this);
361 // RegistrationRejectReason_invalidTerminalAliases
364 H225_RegistrationRejectReason_invalidTerminalAliases::H225_RegistrationRejectReason_invalidTerminalAliases(unsigned tag
, PASN_Object::TagClass tagClass
)
365 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
370 #ifndef PASN_NOPRINTON
371 void H225_RegistrationRejectReason_invalidTerminalAliases::PrintOn(ostream
& strm
) const
373 int indent
= strm
.precision() + 2;
375 if (HasOptionalField(e_terminalAlias
))
376 strm
<< setw(indent
+16) << "terminalAlias = " << setprecision(indent
) << m_terminalAlias
<< '\n';
377 if (HasOptionalField(e_terminalAliasPattern
))
378 strm
<< setw(indent
+23) << "terminalAliasPattern = " << setprecision(indent
) << m_terminalAliasPattern
<< '\n';
379 if (HasOptionalField(e_supportedPrefixes
))
380 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
381 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
386 PObject::Comparison
H225_RegistrationRejectReason_invalidTerminalAliases::Compare(const PObject
& obj
) const
388 #ifndef PASN_LEANANDMEAN
389 PAssert(PIsDescendant(&obj
, H225_RegistrationRejectReason_invalidTerminalAliases
), PInvalidCast
);
391 const H225_RegistrationRejectReason_invalidTerminalAliases
& other
= (const H225_RegistrationRejectReason_invalidTerminalAliases
&)obj
;
395 if ((result
= m_terminalAlias
.Compare(other
.m_terminalAlias
)) != EqualTo
)
397 if ((result
= m_terminalAliasPattern
.Compare(other
.m_terminalAliasPattern
)) != EqualTo
)
399 if ((result
= m_supportedPrefixes
.Compare(other
.m_supportedPrefixes
)) != EqualTo
)
402 return PASN_Sequence::Compare(other
);
406 PINDEX
H225_RegistrationRejectReason_invalidTerminalAliases::GetDataLength() const
409 if (HasOptionalField(e_terminalAlias
))
410 length
+= m_terminalAlias
.GetObjectLength();
411 if (HasOptionalField(e_terminalAliasPattern
))
412 length
+= m_terminalAliasPattern
.GetObjectLength();
413 if (HasOptionalField(e_supportedPrefixes
))
414 length
+= m_supportedPrefixes
.GetObjectLength();
419 BOOL
H225_RegistrationRejectReason_invalidTerminalAliases::Decode(PASN_Stream
& strm
)
421 if (!PreambleDecode(strm
))
424 if (HasOptionalField(e_terminalAlias
) && !m_terminalAlias
.Decode(strm
))
426 if (HasOptionalField(e_terminalAliasPattern
) && !m_terminalAliasPattern
.Decode(strm
))
428 if (HasOptionalField(e_supportedPrefixes
) && !m_supportedPrefixes
.Decode(strm
))
431 return UnknownExtensionsDecode(strm
);
435 void H225_RegistrationRejectReason_invalidTerminalAliases::Encode(PASN_Stream
& strm
) const
437 PreambleEncode(strm
);
439 if (HasOptionalField(e_terminalAlias
))
440 m_terminalAlias
.Encode(strm
);
441 if (HasOptionalField(e_terminalAliasPattern
))
442 m_terminalAliasPattern
.Encode(strm
);
443 if (HasOptionalField(e_supportedPrefixes
))
444 m_supportedPrefixes
.Encode(strm
);
446 UnknownExtensionsEncode(strm
);
450 PObject
* H225_RegistrationRejectReason_invalidTerminalAliases::Clone() const
452 #ifndef PASN_LEANANDMEAN
453 PAssert(IsClass(H225_RegistrationRejectReason_invalidTerminalAliases::Class()), PInvalidCast
);
455 return new H225_RegistrationRejectReason_invalidTerminalAliases(*this);
460 // ArrayOf_QOSCapability
463 H225_ArrayOf_QOSCapability::H225_ArrayOf_QOSCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
464 : PASN_Array(tag
, tagClass
)
469 PASN_Object
* H225_ArrayOf_QOSCapability::CreateObject() const
471 return new H245_QOSCapability
;
475 H245_QOSCapability
& H225_ArrayOf_QOSCapability::operator[](PINDEX i
) const
477 return (H245_QOSCapability
&)array
[i
];
481 PObject
* H225_ArrayOf_QOSCapability::Clone() const
483 #ifndef PASN_LEANANDMEAN
484 PAssert(IsClass(H225_ArrayOf_QOSCapability::Class()), PInvalidCast
);
486 return new H225_ArrayOf_QOSCapability(*this);
491 // AdmissionConfirm_language
494 H225_AdmissionConfirm_language::H225_AdmissionConfirm_language(unsigned tag
, PASN_Object::TagClass tagClass
)
495 : PASN_Array(tag
, tagClass
)
500 PASN_Object
* H225_AdmissionConfirm_language::CreateObject() const
502 PASN_IA5String
* obj
= new PASN_IA5String
;
503 obj
->SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
508 PASN_IA5String
& H225_AdmissionConfirm_language::operator[](PINDEX i
) const
510 return (PASN_IA5String
&)array
[i
];
514 PObject
* H225_AdmissionConfirm_language::Clone() const
516 #ifndef PASN_LEANANDMEAN
517 PAssert(IsClass(H225_AdmissionConfirm_language::Class()), PInvalidCast
);
519 return new H225_AdmissionConfirm_language(*this);
524 // ArrayOf_PartyNumber
527 H225_ArrayOf_PartyNumber::H225_ArrayOf_PartyNumber(unsigned tag
, PASN_Object::TagClass tagClass
)
528 : PASN_Array(tag
, tagClass
)
533 PASN_Object
* H225_ArrayOf_PartyNumber::CreateObject() const
535 return new H225_PartyNumber
;
539 H225_PartyNumber
& H225_ArrayOf_PartyNumber::operator[](PINDEX i
) const
541 return (H225_PartyNumber
&)array
[i
];
545 PObject
* H225_ArrayOf_PartyNumber::Clone() const
547 #ifndef PASN_LEANANDMEAN
548 PAssert(IsClass(H225_ArrayOf_PartyNumber::Class()), PInvalidCast
);
550 return new H225_ArrayOf_PartyNumber(*this);
555 // ArrayOf_BandwidthDetails
558 H225_ArrayOf_BandwidthDetails::H225_ArrayOf_BandwidthDetails(unsigned tag
, PASN_Object::TagClass tagClass
)
559 : PASN_Array(tag
, tagClass
)
564 PASN_Object
* H225_ArrayOf_BandwidthDetails::CreateObject() const
566 return new H225_BandwidthDetails
;
570 H225_BandwidthDetails
& H225_ArrayOf_BandwidthDetails::operator[](PINDEX i
) const
572 return (H225_BandwidthDetails
&)array
[i
];
576 PObject
* H225_ArrayOf_BandwidthDetails::Clone() const
578 #ifndef PASN_LEANANDMEAN
579 PAssert(IsClass(H225_ArrayOf_BandwidthDetails::Class()), PInvalidCast
);
581 return new H225_ArrayOf_BandwidthDetails(*this);
586 // LocationRequest_language
589 H225_LocationRequest_language::H225_LocationRequest_language(unsigned tag
, PASN_Object::TagClass tagClass
)
590 : PASN_Array(tag
, tagClass
)
595 PASN_Object
* H225_LocationRequest_language::CreateObject() const
597 PASN_IA5String
* obj
= new PASN_IA5String
;
598 obj
->SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
603 PASN_IA5String
& H225_LocationRequest_language::operator[](PINDEX i
) const
605 return (PASN_IA5String
&)array
[i
];
609 PObject
* H225_LocationRequest_language::Clone() const
611 #ifndef PASN_LEANANDMEAN
612 PAssert(IsClass(H225_LocationRequest_language::Class()), PInvalidCast
);
614 return new H225_LocationRequest_language(*this);
619 // InfoRequestResponse_perCallInfo
622 H225_InfoRequestResponse_perCallInfo::H225_InfoRequestResponse_perCallInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
623 : PASN_Array(tag
, tagClass
)
628 PASN_Object
* H225_InfoRequestResponse_perCallInfo::CreateObject() const
630 return new H225_InfoRequestResponse_perCallInfo_subtype
;
634 H225_InfoRequestResponse_perCallInfo_subtype
& H225_InfoRequestResponse_perCallInfo::operator[](PINDEX i
) const
636 return (H225_InfoRequestResponse_perCallInfo_subtype
&)array
[i
];
640 PObject
* H225_InfoRequestResponse_perCallInfo::Clone() const
642 #ifndef PASN_LEANANDMEAN
643 PAssert(IsClass(H225_InfoRequestResponse_perCallInfo::Class()), PInvalidCast
);
645 return new H225_InfoRequestResponse_perCallInfo(*this);
650 // ServiceControlIndication_callSpecific
653 H225_ServiceControlIndication_callSpecific::H225_ServiceControlIndication_callSpecific(unsigned tag
, PASN_Object::TagClass tagClass
)
654 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
659 #ifndef PASN_NOPRINTON
660 void H225_ServiceControlIndication_callSpecific::PrintOn(ostream
& strm
) const
662 int indent
= strm
.precision() + 2;
664 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
665 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
666 strm
<< setw(indent
+15) << "answeredCall = " << setprecision(indent
) << m_answeredCall
<< '\n';
667 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
672 PObject::Comparison
H225_ServiceControlIndication_callSpecific::Compare(const PObject
& obj
) const
674 #ifndef PASN_LEANANDMEAN
675 PAssert(PIsDescendant(&obj
, H225_ServiceControlIndication_callSpecific
), PInvalidCast
);
677 const H225_ServiceControlIndication_callSpecific
& other
= (const H225_ServiceControlIndication_callSpecific
&)obj
;
681 if ((result
= m_callIdentifier
.Compare(other
.m_callIdentifier
)) != EqualTo
)
683 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
685 if ((result
= m_answeredCall
.Compare(other
.m_answeredCall
)) != EqualTo
)
688 return PASN_Sequence::Compare(other
);
692 PINDEX
H225_ServiceControlIndication_callSpecific::GetDataLength() const
695 length
+= m_callIdentifier
.GetObjectLength();
696 length
+= m_conferenceID
.GetObjectLength();
697 length
+= m_answeredCall
.GetObjectLength();
702 BOOL
H225_ServiceControlIndication_callSpecific::Decode(PASN_Stream
& strm
)
704 if (!PreambleDecode(strm
))
707 if (!m_callIdentifier
.Decode(strm
))
709 if (!m_conferenceID
.Decode(strm
))
711 if (!m_answeredCall
.Decode(strm
))
714 return UnknownExtensionsDecode(strm
);
718 void H225_ServiceControlIndication_callSpecific::Encode(PASN_Stream
& strm
) const
720 PreambleEncode(strm
);
722 m_callIdentifier
.Encode(strm
);
723 m_conferenceID
.Encode(strm
);
724 m_answeredCall
.Encode(strm
);
726 UnknownExtensionsEncode(strm
);
730 PObject
* H225_ServiceControlIndication_callSpecific::Clone() const
732 #ifndef PASN_LEANANDMEAN
733 PAssert(IsClass(H225_ServiceControlIndication_callSpecific::Class()), PInvalidCast
);
735 return new H225_ServiceControlIndication_callSpecific(*this);
740 #ifndef PASN_NOPRINTON
741 const static PASN_Names Names_H225_ServiceControlResponse_result
[]={
746 ,{"neededFeatureNotSupported",4}
750 // ServiceControlResponse_result
753 H225_ServiceControlResponse_result::H225_ServiceControlResponse_result(unsigned tag
, PASN_Object::TagClass tagClass
)
754 : PASN_Choice(tag
, tagClass
, 5, TRUE
755 #ifndef PASN_NOPRINTON
756 ,(const PASN_Names
*)Names_H225_ServiceControlResponse_result
,5
763 BOOL
H225_ServiceControlResponse_result::CreateObject()
765 choice
= (tag
<= e_neededFeatureNotSupported
) ? new PASN_Null() : NULL
;
766 return choice
!= NULL
;
770 PObject
* H225_ServiceControlResponse_result::Clone() const
772 #ifndef PASN_LEANANDMEAN
773 PAssert(IsClass(H225_ServiceControlResponse_result::Class()), PInvalidCast
);
775 return new H225_ServiceControlResponse_result(*this);
780 // TransportAddress_ipSourceRoute_route
783 H225_TransportAddress_ipSourceRoute_route::H225_TransportAddress_ipSourceRoute_route(unsigned tag
, PASN_Object::TagClass tagClass
)
784 : PASN_Array(tag
, tagClass
)
789 PASN_Object
* H225_TransportAddress_ipSourceRoute_route::CreateObject() const
791 PASN_OctetString
* obj
= new PASN_OctetString
;
792 obj
->SetConstraints(PASN_Object::FixedConstraint
, 4);
797 PASN_OctetString
& H225_TransportAddress_ipSourceRoute_route::operator[](PINDEX i
) const
799 return (PASN_OctetString
&)array
[i
];
803 PObject
* H225_TransportAddress_ipSourceRoute_route::Clone() const
805 #ifndef PASN_LEANANDMEAN
806 PAssert(IsClass(H225_TransportAddress_ipSourceRoute_route::Class()), PInvalidCast
);
808 return new H225_TransportAddress_ipSourceRoute_route(*this);
813 #ifndef PASN_NOPRINTON
814 const static PASN_Names Names_H225_TransportAddress_ipSourceRoute_routing
[]={
820 // TransportAddress_ipSourceRoute_routing
823 H225_TransportAddress_ipSourceRoute_routing::H225_TransportAddress_ipSourceRoute_routing(unsigned tag
, PASN_Object::TagClass tagClass
)
824 : PASN_Choice(tag
, tagClass
, 2, TRUE
825 #ifndef PASN_NOPRINTON
826 ,(const PASN_Names
*)Names_H225_TransportAddress_ipSourceRoute_routing
,2
833 BOOL
H225_TransportAddress_ipSourceRoute_routing::CreateObject()
835 choice
= (tag
<= e_loose
) ? new PASN_Null() : NULL
;
836 return choice
!= NULL
;
840 PObject
* H225_TransportAddress_ipSourceRoute_routing::Clone() const
842 #ifndef PASN_LEANANDMEAN
843 PAssert(IsClass(H225_TransportAddress_ipSourceRoute_routing::Class()), PInvalidCast
);
845 return new H225_TransportAddress_ipSourceRoute_routing(*this);
850 // ArrayOf_RTPSession
853 H225_ArrayOf_RTPSession::H225_ArrayOf_RTPSession(unsigned tag
, PASN_Object::TagClass tagClass
)
854 : PASN_Array(tag
, tagClass
)
859 PASN_Object
* H225_ArrayOf_RTPSession::CreateObject() const
861 return new H225_RTPSession
;
865 H225_RTPSession
& H225_ArrayOf_RTPSession::operator[](PINDEX i
) const
867 return (H225_RTPSession
&)array
[i
];
871 PObject
* H225_ArrayOf_RTPSession::Clone() const
873 #ifndef PASN_LEANANDMEAN
874 PAssert(IsClass(H225_ArrayOf_RTPSession::Class()), PInvalidCast
);
876 return new H225_ArrayOf_RTPSession(*this);
881 // ArrayOf_TransportChannelInfo
884 H225_ArrayOf_TransportChannelInfo::H225_ArrayOf_TransportChannelInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
885 : PASN_Array(tag
, tagClass
)
890 PASN_Object
* H225_ArrayOf_TransportChannelInfo::CreateObject() const
892 return new H225_TransportChannelInfo
;
896 H225_TransportChannelInfo
& H225_ArrayOf_TransportChannelInfo::operator[](PINDEX i
) const
898 return (H225_TransportChannelInfo
&)array
[i
];
902 PObject
* H225_ArrayOf_TransportChannelInfo::Clone() const
904 #ifndef PASN_LEANANDMEAN
905 PAssert(IsClass(H225_ArrayOf_TransportChannelInfo::Class()), PInvalidCast
);
907 return new H225_ArrayOf_TransportChannelInfo(*this);
912 // ArrayOf_ConferenceIdentifier
915 H225_ArrayOf_ConferenceIdentifier::H225_ArrayOf_ConferenceIdentifier(unsigned tag
, PASN_Object::TagClass tagClass
)
916 : PASN_Array(tag
, tagClass
)
921 PASN_Object
* H225_ArrayOf_ConferenceIdentifier::CreateObject() const
923 return new H225_ConferenceIdentifier
;
927 H225_ConferenceIdentifier
& H225_ArrayOf_ConferenceIdentifier::operator[](PINDEX i
) const
929 return (H225_ConferenceIdentifier
&)array
[i
];
933 PObject
* H225_ArrayOf_ConferenceIdentifier::Clone() const
935 #ifndef PASN_LEANANDMEAN
936 PAssert(IsClass(H225_ArrayOf_ConferenceIdentifier::Class()), PInvalidCast
);
938 return new H225_ArrayOf_ConferenceIdentifier(*this);
943 // InfoRequestResponse_perCallInfo_subtype_pdu
946 H225_InfoRequestResponse_perCallInfo_subtype_pdu::H225_InfoRequestResponse_perCallInfo_subtype_pdu(unsigned tag
, PASN_Object::TagClass tagClass
)
947 : PASN_Array(tag
, tagClass
)
952 PASN_Object
* H225_InfoRequestResponse_perCallInfo_subtype_pdu::CreateObject() const
954 return new H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype
;
958 H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype
& H225_InfoRequestResponse_perCallInfo_subtype_pdu::operator[](PINDEX i
) const
960 return (H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype
&)array
[i
];
964 PObject
* H225_InfoRequestResponse_perCallInfo_subtype_pdu::Clone() const
966 #ifndef PASN_LEANANDMEAN
967 PAssert(IsClass(H225_InfoRequestResponse_perCallInfo_subtype_pdu::Class()), PInvalidCast
);
969 return new H225_InfoRequestResponse_perCallInfo_subtype_pdu(*this);
977 H225_Status_UUIE::H225_Status_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
978 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
983 #ifndef PASN_NOPRINTON
984 void H225_Status_UUIE::PrintOn(ostream
& strm
) const
986 int indent
= strm
.precision() + 2;
988 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
989 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
990 if (HasOptionalField(e_tokens
))
991 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
992 if (HasOptionalField(e_cryptoTokens
))
993 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
994 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
999 PObject::Comparison
H225_Status_UUIE::Compare(const PObject
& obj
) const
1001 #ifndef PASN_LEANANDMEAN
1002 PAssert(PIsDescendant(&obj
, H225_Status_UUIE
), PInvalidCast
);
1004 const H225_Status_UUIE
& other
= (const H225_Status_UUIE
&)obj
;
1008 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
1010 if ((result
= m_callIdentifier
.Compare(other
.m_callIdentifier
)) != EqualTo
)
1012 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
1014 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
1017 return PASN_Sequence::Compare(other
);
1021 PINDEX
H225_Status_UUIE::GetDataLength() const
1024 length
+= m_protocolIdentifier
.GetObjectLength();
1025 length
+= m_callIdentifier
.GetObjectLength();
1026 if (HasOptionalField(e_tokens
))
1027 length
+= m_tokens
.GetObjectLength();
1028 if (HasOptionalField(e_cryptoTokens
))
1029 length
+= m_cryptoTokens
.GetObjectLength();
1034 BOOL
H225_Status_UUIE::Decode(PASN_Stream
& strm
)
1036 if (!PreambleDecode(strm
))
1039 if (!m_protocolIdentifier
.Decode(strm
))
1041 if (!m_callIdentifier
.Decode(strm
))
1043 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
1045 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
1048 return UnknownExtensionsDecode(strm
);
1052 void H225_Status_UUIE::Encode(PASN_Stream
& strm
) const
1054 PreambleEncode(strm
);
1056 m_protocolIdentifier
.Encode(strm
);
1057 m_callIdentifier
.Encode(strm
);
1058 if (HasOptionalField(e_tokens
))
1059 m_tokens
.Encode(strm
);
1060 if (HasOptionalField(e_cryptoTokens
))
1061 m_cryptoTokens
.Encode(strm
);
1063 UnknownExtensionsEncode(strm
);
1067 PObject
* H225_Status_UUIE::Clone() const
1069 #ifndef PASN_LEANANDMEAN
1070 PAssert(IsClass(H225_Status_UUIE::Class()), PInvalidCast
);
1072 return new H225_Status_UUIE(*this);
1077 // StatusInquiry-UUIE
1080 H225_StatusInquiry_UUIE::H225_StatusInquiry_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
1081 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
1086 #ifndef PASN_NOPRINTON
1087 void H225_StatusInquiry_UUIE::PrintOn(ostream
& strm
) const
1089 int indent
= strm
.precision() + 2;
1091 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
1092 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
1093 if (HasOptionalField(e_tokens
))
1094 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
1095 if (HasOptionalField(e_cryptoTokens
))
1096 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
1097 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1102 PObject::Comparison
H225_StatusInquiry_UUIE::Compare(const PObject
& obj
) const
1104 #ifndef PASN_LEANANDMEAN
1105 PAssert(PIsDescendant(&obj
, H225_StatusInquiry_UUIE
), PInvalidCast
);
1107 const H225_StatusInquiry_UUIE
& other
= (const H225_StatusInquiry_UUIE
&)obj
;
1111 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
1113 if ((result
= m_callIdentifier
.Compare(other
.m_callIdentifier
)) != EqualTo
)
1115 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
1117 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
1120 return PASN_Sequence::Compare(other
);
1124 PINDEX
H225_StatusInquiry_UUIE::GetDataLength() const
1127 length
+= m_protocolIdentifier
.GetObjectLength();
1128 length
+= m_callIdentifier
.GetObjectLength();
1129 if (HasOptionalField(e_tokens
))
1130 length
+= m_tokens
.GetObjectLength();
1131 if (HasOptionalField(e_cryptoTokens
))
1132 length
+= m_cryptoTokens
.GetObjectLength();
1137 BOOL
H225_StatusInquiry_UUIE::Decode(PASN_Stream
& strm
)
1139 if (!PreambleDecode(strm
))
1142 if (!m_protocolIdentifier
.Decode(strm
))
1144 if (!m_callIdentifier
.Decode(strm
))
1146 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
1148 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
1151 return UnknownExtensionsDecode(strm
);
1155 void H225_StatusInquiry_UUIE::Encode(PASN_Stream
& strm
) const
1157 PreambleEncode(strm
);
1159 m_protocolIdentifier
.Encode(strm
);
1160 m_callIdentifier
.Encode(strm
);
1161 if (HasOptionalField(e_tokens
))
1162 m_tokens
.Encode(strm
);
1163 if (HasOptionalField(e_cryptoTokens
))
1164 m_cryptoTokens
.Encode(strm
);
1166 UnknownExtensionsEncode(strm
);
1170 PObject
* H225_StatusInquiry_UUIE::Clone() const
1172 #ifndef PASN_LEANANDMEAN
1173 PAssert(IsClass(H225_StatusInquiry_UUIE::Class()), PInvalidCast
);
1175 return new H225_StatusInquiry_UUIE(*this);
1180 // SetupAcknowledge-UUIE
1183 H225_SetupAcknowledge_UUIE::H225_SetupAcknowledge_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
1184 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
1189 #ifndef PASN_NOPRINTON
1190 void H225_SetupAcknowledge_UUIE::PrintOn(ostream
& strm
) const
1192 int indent
= strm
.precision() + 2;
1194 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
1195 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
1196 if (HasOptionalField(e_tokens
))
1197 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
1198 if (HasOptionalField(e_cryptoTokens
))
1199 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
1200 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1205 PObject::Comparison
H225_SetupAcknowledge_UUIE::Compare(const PObject
& obj
) const
1207 #ifndef PASN_LEANANDMEAN
1208 PAssert(PIsDescendant(&obj
, H225_SetupAcknowledge_UUIE
), PInvalidCast
);
1210 const H225_SetupAcknowledge_UUIE
& other
= (const H225_SetupAcknowledge_UUIE
&)obj
;
1214 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
1216 if ((result
= m_callIdentifier
.Compare(other
.m_callIdentifier
)) != EqualTo
)
1218 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
1220 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
1223 return PASN_Sequence::Compare(other
);
1227 PINDEX
H225_SetupAcknowledge_UUIE::GetDataLength() const
1230 length
+= m_protocolIdentifier
.GetObjectLength();
1231 length
+= m_callIdentifier
.GetObjectLength();
1232 if (HasOptionalField(e_tokens
))
1233 length
+= m_tokens
.GetObjectLength();
1234 if (HasOptionalField(e_cryptoTokens
))
1235 length
+= m_cryptoTokens
.GetObjectLength();
1240 BOOL
H225_SetupAcknowledge_UUIE::Decode(PASN_Stream
& strm
)
1242 if (!PreambleDecode(strm
))
1245 if (!m_protocolIdentifier
.Decode(strm
))
1247 if (!m_callIdentifier
.Decode(strm
))
1249 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
1251 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
1254 return UnknownExtensionsDecode(strm
);
1258 void H225_SetupAcknowledge_UUIE::Encode(PASN_Stream
& strm
) const
1260 PreambleEncode(strm
);
1262 m_protocolIdentifier
.Encode(strm
);
1263 m_callIdentifier
.Encode(strm
);
1264 if (HasOptionalField(e_tokens
))
1265 m_tokens
.Encode(strm
);
1266 if (HasOptionalField(e_cryptoTokens
))
1267 m_cryptoTokens
.Encode(strm
);
1269 UnknownExtensionsEncode(strm
);
1273 PObject
* H225_SetupAcknowledge_UUIE::Clone() const
1275 #ifndef PASN_LEANANDMEAN
1276 PAssert(IsClass(H225_SetupAcknowledge_UUIE::Class()), PInvalidCast
);
1278 return new H225_SetupAcknowledge_UUIE(*this);
1286 H225_Notify_UUIE::H225_Notify_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
1287 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
1292 #ifndef PASN_NOPRINTON
1293 void H225_Notify_UUIE::PrintOn(ostream
& strm
) const
1295 int indent
= strm
.precision() + 2;
1297 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
1298 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
1299 if (HasOptionalField(e_tokens
))
1300 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
1301 if (HasOptionalField(e_cryptoTokens
))
1302 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
1303 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1308 PObject::Comparison
H225_Notify_UUIE::Compare(const PObject
& obj
) const
1310 #ifndef PASN_LEANANDMEAN
1311 PAssert(PIsDescendant(&obj
, H225_Notify_UUIE
), PInvalidCast
);
1313 const H225_Notify_UUIE
& other
= (const H225_Notify_UUIE
&)obj
;
1317 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
1319 if ((result
= m_callIdentifier
.Compare(other
.m_callIdentifier
)) != EqualTo
)
1321 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
1323 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
1326 return PASN_Sequence::Compare(other
);
1330 PINDEX
H225_Notify_UUIE::GetDataLength() const
1333 length
+= m_protocolIdentifier
.GetObjectLength();
1334 length
+= m_callIdentifier
.GetObjectLength();
1335 if (HasOptionalField(e_tokens
))
1336 length
+= m_tokens
.GetObjectLength();
1337 if (HasOptionalField(e_cryptoTokens
))
1338 length
+= m_cryptoTokens
.GetObjectLength();
1343 BOOL
H225_Notify_UUIE::Decode(PASN_Stream
& strm
)
1345 if (!PreambleDecode(strm
))
1348 if (!m_protocolIdentifier
.Decode(strm
))
1350 if (!m_callIdentifier
.Decode(strm
))
1352 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
1354 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
1357 return UnknownExtensionsDecode(strm
);
1361 void H225_Notify_UUIE::Encode(PASN_Stream
& strm
) const
1363 PreambleEncode(strm
);
1365 m_protocolIdentifier
.Encode(strm
);
1366 m_callIdentifier
.Encode(strm
);
1367 if (HasOptionalField(e_tokens
))
1368 m_tokens
.Encode(strm
);
1369 if (HasOptionalField(e_cryptoTokens
))
1370 m_cryptoTokens
.Encode(strm
);
1372 UnknownExtensionsEncode(strm
);
1376 PObject
* H225_Notify_UUIE::Clone() const
1378 #ifndef PASN_LEANANDMEAN
1379 PAssert(IsClass(H225_Notify_UUIE::Class()), PInvalidCast
);
1381 return new H225_Notify_UUIE(*this);
1389 H225_VendorIdentifier::H225_VendorIdentifier(unsigned tag
, PASN_Object::TagClass tagClass
)
1390 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 1)
1392 m_productId
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
1393 m_versionId
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
1397 #ifndef PASN_NOPRINTON
1398 void H225_VendorIdentifier::PrintOn(ostream
& strm
) const
1400 int indent
= strm
.precision() + 2;
1402 strm
<< setw(indent
+9) << "vendor = " << setprecision(indent
) << m_vendor
<< '\n';
1403 if (HasOptionalField(e_productId
))
1404 strm
<< setw(indent
+12) << "productId = " << setprecision(indent
) << m_productId
<< '\n';
1405 if (HasOptionalField(e_versionId
))
1406 strm
<< setw(indent
+12) << "versionId = " << setprecision(indent
) << m_versionId
<< '\n';
1407 if (HasOptionalField(e_enterpriseNumber
))
1408 strm
<< setw(indent
+19) << "enterpriseNumber = " << setprecision(indent
) << m_enterpriseNumber
<< '\n';
1409 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1414 PObject::Comparison
H225_VendorIdentifier::Compare(const PObject
& obj
) const
1416 #ifndef PASN_LEANANDMEAN
1417 PAssert(PIsDescendant(&obj
, H225_VendorIdentifier
), PInvalidCast
);
1419 const H225_VendorIdentifier
& other
= (const H225_VendorIdentifier
&)obj
;
1423 if ((result
= m_vendor
.Compare(other
.m_vendor
)) != EqualTo
)
1425 if ((result
= m_productId
.Compare(other
.m_productId
)) != EqualTo
)
1427 if ((result
= m_versionId
.Compare(other
.m_versionId
)) != EqualTo
)
1430 return PASN_Sequence::Compare(other
);
1434 PINDEX
H225_VendorIdentifier::GetDataLength() const
1437 length
+= m_vendor
.GetObjectLength();
1438 if (HasOptionalField(e_productId
))
1439 length
+= m_productId
.GetObjectLength();
1440 if (HasOptionalField(e_versionId
))
1441 length
+= m_versionId
.GetObjectLength();
1446 BOOL
H225_VendorIdentifier::Decode(PASN_Stream
& strm
)
1448 if (!PreambleDecode(strm
))
1451 if (!m_vendor
.Decode(strm
))
1453 if (HasOptionalField(e_productId
) && !m_productId
.Decode(strm
))
1455 if (HasOptionalField(e_versionId
) && !m_versionId
.Decode(strm
))
1457 if (!KnownExtensionDecode(strm
, e_enterpriseNumber
, m_enterpriseNumber
))
1460 return UnknownExtensionsDecode(strm
);
1464 void H225_VendorIdentifier::Encode(PASN_Stream
& strm
) const
1466 PreambleEncode(strm
);
1468 m_vendor
.Encode(strm
);
1469 if (HasOptionalField(e_productId
))
1470 m_productId
.Encode(strm
);
1471 if (HasOptionalField(e_versionId
))
1472 m_versionId
.Encode(strm
);
1473 KnownExtensionEncode(strm
, e_enterpriseNumber
, m_enterpriseNumber
);
1475 UnknownExtensionsEncode(strm
);
1479 PObject
* H225_VendorIdentifier::Clone() const
1481 #ifndef PASN_LEANANDMEAN
1482 PAssert(IsClass(H225_VendorIdentifier::Class()), PInvalidCast
);
1484 return new H225_VendorIdentifier(*this);
1489 // TunnelledProtocol
1492 H225_TunnelledProtocol::H225_TunnelledProtocol(unsigned tag
, PASN_Object::TagClass tagClass
)
1493 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
1495 m_subIdentifier
.SetConstraints(PASN_Object::FixedConstraint
, 1, 64);
1499 #ifndef PASN_NOPRINTON
1500 void H225_TunnelledProtocol::PrintOn(ostream
& strm
) const
1502 int indent
= strm
.precision() + 2;
1504 strm
<< setw(indent
+5) << "id = " << setprecision(indent
) << m_id
<< '\n';
1505 if (HasOptionalField(e_subIdentifier
))
1506 strm
<< setw(indent
+16) << "subIdentifier = " << setprecision(indent
) << m_subIdentifier
<< '\n';
1507 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1512 PObject::Comparison
H225_TunnelledProtocol::Compare(const PObject
& obj
) const
1514 #ifndef PASN_LEANANDMEAN
1515 PAssert(PIsDescendant(&obj
, H225_TunnelledProtocol
), PInvalidCast
);
1517 const H225_TunnelledProtocol
& other
= (const H225_TunnelledProtocol
&)obj
;
1521 if ((result
= m_id
.Compare(other
.m_id
)) != EqualTo
)
1523 if ((result
= m_subIdentifier
.Compare(other
.m_subIdentifier
)) != EqualTo
)
1526 return PASN_Sequence::Compare(other
);
1530 PINDEX
H225_TunnelledProtocol::GetDataLength() const
1533 length
+= m_id
.GetObjectLength();
1534 if (HasOptionalField(e_subIdentifier
))
1535 length
+= m_subIdentifier
.GetObjectLength();
1540 BOOL
H225_TunnelledProtocol::Decode(PASN_Stream
& strm
)
1542 if (!PreambleDecode(strm
))
1545 if (!m_id
.Decode(strm
))
1547 if (HasOptionalField(e_subIdentifier
) && !m_subIdentifier
.Decode(strm
))
1550 return UnknownExtensionsDecode(strm
);
1554 void H225_TunnelledProtocol::Encode(PASN_Stream
& strm
) const
1556 PreambleEncode(strm
);
1559 if (HasOptionalField(e_subIdentifier
))
1560 m_subIdentifier
.Encode(strm
);
1562 UnknownExtensionsEncode(strm
);
1566 PObject
* H225_TunnelledProtocol::Clone() const
1568 #ifndef PASN_LEANANDMEAN
1569 PAssert(IsClass(H225_TunnelledProtocol::Class()), PInvalidCast
);
1571 return new H225_TunnelledProtocol(*this);
1576 // NonStandardParameter
1579 H225_NonStandardParameter::H225_NonStandardParameter(unsigned tag
, PASN_Object::TagClass tagClass
)
1580 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
1585 #ifndef PASN_NOPRINTON
1586 void H225_NonStandardParameter::PrintOn(ostream
& strm
) const
1588 int indent
= strm
.precision() + 2;
1590 strm
<< setw(indent
+24) << "nonStandardIdentifier = " << setprecision(indent
) << m_nonStandardIdentifier
<< '\n';
1591 strm
<< setw(indent
+7) << "data = " << setprecision(indent
) << m_data
<< '\n';
1592 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1597 PObject::Comparison
H225_NonStandardParameter::Compare(const PObject
& obj
) const
1599 #ifndef PASN_LEANANDMEAN
1600 PAssert(PIsDescendant(&obj
, H225_NonStandardParameter
), PInvalidCast
);
1602 const H225_NonStandardParameter
& other
= (const H225_NonStandardParameter
&)obj
;
1606 if ((result
= m_nonStandardIdentifier
.Compare(other
.m_nonStandardIdentifier
)) != EqualTo
)
1608 if ((result
= m_data
.Compare(other
.m_data
)) != EqualTo
)
1611 return PASN_Sequence::Compare(other
);
1615 PINDEX
H225_NonStandardParameter::GetDataLength() const
1618 length
+= m_nonStandardIdentifier
.GetObjectLength();
1619 length
+= m_data
.GetObjectLength();
1624 BOOL
H225_NonStandardParameter::Decode(PASN_Stream
& strm
)
1626 if (!PreambleDecode(strm
))
1629 if (!m_nonStandardIdentifier
.Decode(strm
))
1631 if (!m_data
.Decode(strm
))
1634 return UnknownExtensionsDecode(strm
);
1638 void H225_NonStandardParameter::Encode(PASN_Stream
& strm
) const
1640 PreambleEncode(strm
);
1642 m_nonStandardIdentifier
.Encode(strm
);
1643 m_data
.Encode(strm
);
1645 UnknownExtensionsEncode(strm
);
1649 PObject
* H225_NonStandardParameter::Clone() const
1651 #ifndef PASN_LEANANDMEAN
1652 PAssert(IsClass(H225_NonStandardParameter::Class()), PInvalidCast
);
1654 return new H225_NonStandardParameter(*this);
1659 // PublicPartyNumber
1662 H225_PublicPartyNumber::H225_PublicPartyNumber(unsigned tag
, PASN_Object::TagClass tagClass
)
1663 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
1668 #ifndef PASN_NOPRINTON
1669 void H225_PublicPartyNumber::PrintOn(ostream
& strm
) const
1671 int indent
= strm
.precision() + 2;
1673 strm
<< setw(indent
+21) << "publicTypeOfNumber = " << setprecision(indent
) << m_publicTypeOfNumber
<< '\n';
1674 strm
<< setw(indent
+21) << "publicNumberDigits = " << setprecision(indent
) << m_publicNumberDigits
<< '\n';
1675 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1680 PObject::Comparison
H225_PublicPartyNumber::Compare(const PObject
& obj
) const
1682 #ifndef PASN_LEANANDMEAN
1683 PAssert(PIsDescendant(&obj
, H225_PublicPartyNumber
), PInvalidCast
);
1685 const H225_PublicPartyNumber
& other
= (const H225_PublicPartyNumber
&)obj
;
1689 if ((result
= m_publicTypeOfNumber
.Compare(other
.m_publicTypeOfNumber
)) != EqualTo
)
1691 if ((result
= m_publicNumberDigits
.Compare(other
.m_publicNumberDigits
)) != EqualTo
)
1694 return PASN_Sequence::Compare(other
);
1698 PINDEX
H225_PublicPartyNumber::GetDataLength() const
1701 length
+= m_publicTypeOfNumber
.GetObjectLength();
1702 length
+= m_publicNumberDigits
.GetObjectLength();
1707 BOOL
H225_PublicPartyNumber::Decode(PASN_Stream
& strm
)
1709 if (!PreambleDecode(strm
))
1712 if (!m_publicTypeOfNumber
.Decode(strm
))
1714 if (!m_publicNumberDigits
.Decode(strm
))
1717 return UnknownExtensionsDecode(strm
);
1721 void H225_PublicPartyNumber::Encode(PASN_Stream
& strm
) const
1723 PreambleEncode(strm
);
1725 m_publicTypeOfNumber
.Encode(strm
);
1726 m_publicNumberDigits
.Encode(strm
);
1728 UnknownExtensionsEncode(strm
);
1732 PObject
* H225_PublicPartyNumber::Clone() const
1734 #ifndef PASN_LEANANDMEAN
1735 PAssert(IsClass(H225_PublicPartyNumber::Class()), PInvalidCast
);
1737 return new H225_PublicPartyNumber(*this);
1742 // PrivatePartyNumber
1745 H225_PrivatePartyNumber::H225_PrivatePartyNumber(unsigned tag
, PASN_Object::TagClass tagClass
)
1746 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
1751 #ifndef PASN_NOPRINTON
1752 void H225_PrivatePartyNumber::PrintOn(ostream
& strm
) const
1754 int indent
= strm
.precision() + 2;
1756 strm
<< setw(indent
+22) << "privateTypeOfNumber = " << setprecision(indent
) << m_privateTypeOfNumber
<< '\n';
1757 strm
<< setw(indent
+22) << "privateNumberDigits = " << setprecision(indent
) << m_privateNumberDigits
<< '\n';
1758 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1763 PObject::Comparison
H225_PrivatePartyNumber::Compare(const PObject
& obj
) const
1765 #ifndef PASN_LEANANDMEAN
1766 PAssert(PIsDescendant(&obj
, H225_PrivatePartyNumber
), PInvalidCast
);
1768 const H225_PrivatePartyNumber
& other
= (const H225_PrivatePartyNumber
&)obj
;
1772 if ((result
= m_privateTypeOfNumber
.Compare(other
.m_privateTypeOfNumber
)) != EqualTo
)
1774 if ((result
= m_privateNumberDigits
.Compare(other
.m_privateNumberDigits
)) != EqualTo
)
1777 return PASN_Sequence::Compare(other
);
1781 PINDEX
H225_PrivatePartyNumber::GetDataLength() const
1784 length
+= m_privateTypeOfNumber
.GetObjectLength();
1785 length
+= m_privateNumberDigits
.GetObjectLength();
1790 BOOL
H225_PrivatePartyNumber::Decode(PASN_Stream
& strm
)
1792 if (!PreambleDecode(strm
))
1795 if (!m_privateTypeOfNumber
.Decode(strm
))
1797 if (!m_privateNumberDigits
.Decode(strm
))
1800 return UnknownExtensionsDecode(strm
);
1804 void H225_PrivatePartyNumber::Encode(PASN_Stream
& strm
) const
1806 PreambleEncode(strm
);
1808 m_privateTypeOfNumber
.Encode(strm
);
1809 m_privateNumberDigits
.Encode(strm
);
1811 UnknownExtensionsEncode(strm
);
1815 PObject
* H225_PrivatePartyNumber::Clone() const
1817 #ifndef PASN_LEANANDMEAN
1818 PAssert(IsClass(H225_PrivatePartyNumber::Class()), PInvalidCast
);
1820 return new H225_PrivatePartyNumber(*this);
1828 H225_ANSI_41_UIM::H225_ANSI_41_UIM(unsigned tag
, PASN_Object::TagClass tagClass
)
1829 : PASN_Sequence(tag
, tagClass
, 11, TRUE
, 0)
1831 m_imsi
.SetConstraints(PASN_Object::FixedConstraint
, 3, 16);
1832 m_min
.SetConstraints(PASN_Object::FixedConstraint
, 3, 16);
1833 m_mdn
.SetConstraints(PASN_Object::FixedConstraint
, 3, 16);
1834 m_msisdn
.SetConstraints(PASN_Object::FixedConstraint
, 3, 16);
1835 m_esn
.SetConstraints(PASN_Object::FixedConstraint
, 16);
1836 m_mscid
.SetConstraints(PASN_Object::FixedConstraint
, 3, 16);
1837 m_systemMyTypeCode
.SetConstraints(PASN_Object::FixedConstraint
, 1);
1838 m_systemAccessType
.SetConstraints(PASN_Object::FixedConstraint
, 1);
1839 m_qualificationInformationCode
.SetConstraints(PASN_Object::FixedConstraint
, 1);
1840 m_sesn
.SetConstraints(PASN_Object::FixedConstraint
, 16);
1841 m_soc
.SetConstraints(PASN_Object::FixedConstraint
, 3, 16);
1845 #ifndef PASN_NOPRINTON
1846 void H225_ANSI_41_UIM::PrintOn(ostream
& strm
) const
1848 int indent
= strm
.precision() + 2;
1850 if (HasOptionalField(e_imsi
))
1851 strm
<< setw(indent
+7) << "imsi = " << setprecision(indent
) << m_imsi
<< '\n';
1852 if (HasOptionalField(e_min
))
1853 strm
<< setw(indent
+6) << "min = " << setprecision(indent
) << m_min
<< '\n';
1854 if (HasOptionalField(e_mdn
))
1855 strm
<< setw(indent
+6) << "mdn = " << setprecision(indent
) << m_mdn
<< '\n';
1856 if (HasOptionalField(e_msisdn
))
1857 strm
<< setw(indent
+9) << "msisdn = " << setprecision(indent
) << m_msisdn
<< '\n';
1858 if (HasOptionalField(e_esn
))
1859 strm
<< setw(indent
+6) << "esn = " << setprecision(indent
) << m_esn
<< '\n';
1860 if (HasOptionalField(e_mscid
))
1861 strm
<< setw(indent
+8) << "mscid = " << setprecision(indent
) << m_mscid
<< '\n';
1862 strm
<< setw(indent
+12) << "system_id = " << setprecision(indent
) << m_system_id
<< '\n';
1863 if (HasOptionalField(e_systemMyTypeCode
))
1864 strm
<< setw(indent
+19) << "systemMyTypeCode = " << setprecision(indent
) << m_systemMyTypeCode
<< '\n';
1865 if (HasOptionalField(e_systemAccessType
))
1866 strm
<< setw(indent
+19) << "systemAccessType = " << setprecision(indent
) << m_systemAccessType
<< '\n';
1867 if (HasOptionalField(e_qualificationInformationCode
))
1868 strm
<< setw(indent
+31) << "qualificationInformationCode = " << setprecision(indent
) << m_qualificationInformationCode
<< '\n';
1869 if (HasOptionalField(e_sesn
))
1870 strm
<< setw(indent
+7) << "sesn = " << setprecision(indent
) << m_sesn
<< '\n';
1871 if (HasOptionalField(e_soc
))
1872 strm
<< setw(indent
+6) << "soc = " << setprecision(indent
) << m_soc
<< '\n';
1873 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1878 PObject::Comparison
H225_ANSI_41_UIM::Compare(const PObject
& obj
) const
1880 #ifndef PASN_LEANANDMEAN
1881 PAssert(PIsDescendant(&obj
, H225_ANSI_41_UIM
), PInvalidCast
);
1883 const H225_ANSI_41_UIM
& other
= (const H225_ANSI_41_UIM
&)obj
;
1887 if ((result
= m_imsi
.Compare(other
.m_imsi
)) != EqualTo
)
1889 if ((result
= m_min
.Compare(other
.m_min
)) != EqualTo
)
1891 if ((result
= m_mdn
.Compare(other
.m_mdn
)) != EqualTo
)
1893 if ((result
= m_msisdn
.Compare(other
.m_msisdn
)) != EqualTo
)
1895 if ((result
= m_esn
.Compare(other
.m_esn
)) != EqualTo
)
1897 if ((result
= m_mscid
.Compare(other
.m_mscid
)) != EqualTo
)
1899 if ((result
= m_system_id
.Compare(other
.m_system_id
)) != EqualTo
)
1901 if ((result
= m_systemMyTypeCode
.Compare(other
.m_systemMyTypeCode
)) != EqualTo
)
1903 if ((result
= m_systemAccessType
.Compare(other
.m_systemAccessType
)) != EqualTo
)
1905 if ((result
= m_qualificationInformationCode
.Compare(other
.m_qualificationInformationCode
)) != EqualTo
)
1907 if ((result
= m_sesn
.Compare(other
.m_sesn
)) != EqualTo
)
1909 if ((result
= m_soc
.Compare(other
.m_soc
)) != EqualTo
)
1912 return PASN_Sequence::Compare(other
);
1916 PINDEX
H225_ANSI_41_UIM::GetDataLength() const
1919 if (HasOptionalField(e_imsi
))
1920 length
+= m_imsi
.GetObjectLength();
1921 if (HasOptionalField(e_min
))
1922 length
+= m_min
.GetObjectLength();
1923 if (HasOptionalField(e_mdn
))
1924 length
+= m_mdn
.GetObjectLength();
1925 if (HasOptionalField(e_msisdn
))
1926 length
+= m_msisdn
.GetObjectLength();
1927 if (HasOptionalField(e_esn
))
1928 length
+= m_esn
.GetObjectLength();
1929 if (HasOptionalField(e_mscid
))
1930 length
+= m_mscid
.GetObjectLength();
1931 length
+= m_system_id
.GetObjectLength();
1932 if (HasOptionalField(e_systemMyTypeCode
))
1933 length
+= m_systemMyTypeCode
.GetObjectLength();
1934 if (HasOptionalField(e_systemAccessType
))
1935 length
+= m_systemAccessType
.GetObjectLength();
1936 if (HasOptionalField(e_qualificationInformationCode
))
1937 length
+= m_qualificationInformationCode
.GetObjectLength();
1938 if (HasOptionalField(e_sesn
))
1939 length
+= m_sesn
.GetObjectLength();
1940 if (HasOptionalField(e_soc
))
1941 length
+= m_soc
.GetObjectLength();
1946 BOOL
H225_ANSI_41_UIM::Decode(PASN_Stream
& strm
)
1948 if (!PreambleDecode(strm
))
1951 if (HasOptionalField(e_imsi
) && !m_imsi
.Decode(strm
))
1953 if (HasOptionalField(e_min
) && !m_min
.Decode(strm
))
1955 if (HasOptionalField(e_mdn
) && !m_mdn
.Decode(strm
))
1957 if (HasOptionalField(e_msisdn
) && !m_msisdn
.Decode(strm
))
1959 if (HasOptionalField(e_esn
) && !m_esn
.Decode(strm
))
1961 if (HasOptionalField(e_mscid
) && !m_mscid
.Decode(strm
))
1963 if (!m_system_id
.Decode(strm
))
1965 if (HasOptionalField(e_systemMyTypeCode
) && !m_systemMyTypeCode
.Decode(strm
))
1967 if (HasOptionalField(e_systemAccessType
) && !m_systemAccessType
.Decode(strm
))
1969 if (HasOptionalField(e_qualificationInformationCode
) && !m_qualificationInformationCode
.Decode(strm
))
1971 if (HasOptionalField(e_sesn
) && !m_sesn
.Decode(strm
))
1973 if (HasOptionalField(e_soc
) && !m_soc
.Decode(strm
))
1976 return UnknownExtensionsDecode(strm
);
1980 void H225_ANSI_41_UIM::Encode(PASN_Stream
& strm
) const
1982 PreambleEncode(strm
);
1984 if (HasOptionalField(e_imsi
))
1985 m_imsi
.Encode(strm
);
1986 if (HasOptionalField(e_min
))
1988 if (HasOptionalField(e_mdn
))
1990 if (HasOptionalField(e_msisdn
))
1991 m_msisdn
.Encode(strm
);
1992 if (HasOptionalField(e_esn
))
1994 if (HasOptionalField(e_mscid
))
1995 m_mscid
.Encode(strm
);
1996 m_system_id
.Encode(strm
);
1997 if (HasOptionalField(e_systemMyTypeCode
))
1998 m_systemMyTypeCode
.Encode(strm
);
1999 if (HasOptionalField(e_systemAccessType
))
2000 m_systemAccessType
.Encode(strm
);
2001 if (HasOptionalField(e_qualificationInformationCode
))
2002 m_qualificationInformationCode
.Encode(strm
);
2003 if (HasOptionalField(e_sesn
))
2004 m_sesn
.Encode(strm
);
2005 if (HasOptionalField(e_soc
))
2008 UnknownExtensionsEncode(strm
);
2012 PObject
* H225_ANSI_41_UIM::Clone() const
2014 #ifndef PASN_LEANANDMEAN
2015 PAssert(IsClass(H225_ANSI_41_UIM::Class()), PInvalidCast
);
2017 return new H225_ANSI_41_UIM(*this);
2022 // IsupPublicPartyNumber
2025 H225_IsupPublicPartyNumber::H225_IsupPublicPartyNumber(unsigned tag
, PASN_Object::TagClass tagClass
)
2026 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
2031 #ifndef PASN_NOPRINTON
2032 void H225_IsupPublicPartyNumber::PrintOn(ostream
& strm
) const
2034 int indent
= strm
.precision() + 2;
2036 strm
<< setw(indent
+18) << "natureOfAddress = " << setprecision(indent
) << m_natureOfAddress
<< '\n';
2037 strm
<< setw(indent
+10) << "address = " << setprecision(indent
) << m_address
<< '\n';
2038 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2043 PObject::Comparison
H225_IsupPublicPartyNumber::Compare(const PObject
& obj
) const
2045 #ifndef PASN_LEANANDMEAN
2046 PAssert(PIsDescendant(&obj
, H225_IsupPublicPartyNumber
), PInvalidCast
);
2048 const H225_IsupPublicPartyNumber
& other
= (const H225_IsupPublicPartyNumber
&)obj
;
2052 if ((result
= m_natureOfAddress
.Compare(other
.m_natureOfAddress
)) != EqualTo
)
2054 if ((result
= m_address
.Compare(other
.m_address
)) != EqualTo
)
2057 return PASN_Sequence::Compare(other
);
2061 PINDEX
H225_IsupPublicPartyNumber::GetDataLength() const
2064 length
+= m_natureOfAddress
.GetObjectLength();
2065 length
+= m_address
.GetObjectLength();
2070 BOOL
H225_IsupPublicPartyNumber::Decode(PASN_Stream
& strm
)
2072 if (!PreambleDecode(strm
))
2075 if (!m_natureOfAddress
.Decode(strm
))
2077 if (!m_address
.Decode(strm
))
2080 return UnknownExtensionsDecode(strm
);
2084 void H225_IsupPublicPartyNumber::Encode(PASN_Stream
& strm
) const
2086 PreambleEncode(strm
);
2088 m_natureOfAddress
.Encode(strm
);
2089 m_address
.Encode(strm
);
2091 UnknownExtensionsEncode(strm
);
2095 PObject
* H225_IsupPublicPartyNumber::Clone() const
2097 #ifndef PASN_LEANANDMEAN
2098 PAssert(IsClass(H225_IsupPublicPartyNumber::Class()), PInvalidCast
);
2100 return new H225_IsupPublicPartyNumber(*this);
2105 // IsupPrivatePartyNumber
2108 H225_IsupPrivatePartyNumber::H225_IsupPrivatePartyNumber(unsigned tag
, PASN_Object::TagClass tagClass
)
2109 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
2114 #ifndef PASN_NOPRINTON
2115 void H225_IsupPrivatePartyNumber::PrintOn(ostream
& strm
) const
2117 int indent
= strm
.precision() + 2;
2119 strm
<< setw(indent
+22) << "privateTypeOfNumber = " << setprecision(indent
) << m_privateTypeOfNumber
<< '\n';
2120 strm
<< setw(indent
+10) << "address = " << setprecision(indent
) << m_address
<< '\n';
2121 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2126 PObject::Comparison
H225_IsupPrivatePartyNumber::Compare(const PObject
& obj
) const
2128 #ifndef PASN_LEANANDMEAN
2129 PAssert(PIsDescendant(&obj
, H225_IsupPrivatePartyNumber
), PInvalidCast
);
2131 const H225_IsupPrivatePartyNumber
& other
= (const H225_IsupPrivatePartyNumber
&)obj
;
2135 if ((result
= m_privateTypeOfNumber
.Compare(other
.m_privateTypeOfNumber
)) != EqualTo
)
2137 if ((result
= m_address
.Compare(other
.m_address
)) != EqualTo
)
2140 return PASN_Sequence::Compare(other
);
2144 PINDEX
H225_IsupPrivatePartyNumber::GetDataLength() const
2147 length
+= m_privateTypeOfNumber
.GetObjectLength();
2148 length
+= m_address
.GetObjectLength();
2153 BOOL
H225_IsupPrivatePartyNumber::Decode(PASN_Stream
& strm
)
2155 if (!PreambleDecode(strm
))
2158 if (!m_privateTypeOfNumber
.Decode(strm
))
2160 if (!m_address
.Decode(strm
))
2163 return UnknownExtensionsDecode(strm
);
2167 void H225_IsupPrivatePartyNumber::Encode(PASN_Stream
& strm
) const
2169 PreambleEncode(strm
);
2171 m_privateTypeOfNumber
.Encode(strm
);
2172 m_address
.Encode(strm
);
2174 UnknownExtensionsEncode(strm
);
2178 PObject
* H225_IsupPrivatePartyNumber::Clone() const
2180 #ifndef PASN_LEANANDMEAN
2181 PAssert(IsClass(H225_IsupPrivatePartyNumber::Class()), PInvalidCast
);
2183 return new H225_IsupPrivatePartyNumber(*this);
2188 // AlternateTransportAddresses
2191 H225_AlternateTransportAddresses::H225_AlternateTransportAddresses(unsigned tag
, PASN_Object::TagClass tagClass
)
2192 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 1)
2197 #ifndef PASN_NOPRINTON
2198 void H225_AlternateTransportAddresses::PrintOn(ostream
& strm
) const
2200 int indent
= strm
.precision() + 2;
2202 if (HasOptionalField(e_annexE
))
2203 strm
<< setw(indent
+9) << "annexE = " << setprecision(indent
) << m_annexE
<< '\n';
2204 if (HasOptionalField(e_sctp
))
2205 strm
<< setw(indent
+7) << "sctp = " << setprecision(indent
) << m_sctp
<< '\n';
2206 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2211 PObject::Comparison
H225_AlternateTransportAddresses::Compare(const PObject
& obj
) const
2213 #ifndef PASN_LEANANDMEAN
2214 PAssert(PIsDescendant(&obj
, H225_AlternateTransportAddresses
), PInvalidCast
);
2216 const H225_AlternateTransportAddresses
& other
= (const H225_AlternateTransportAddresses
&)obj
;
2220 if ((result
= m_annexE
.Compare(other
.m_annexE
)) != EqualTo
)
2223 return PASN_Sequence::Compare(other
);
2227 PINDEX
H225_AlternateTransportAddresses::GetDataLength() const
2230 if (HasOptionalField(e_annexE
))
2231 length
+= m_annexE
.GetObjectLength();
2236 BOOL
H225_AlternateTransportAddresses::Decode(PASN_Stream
& strm
)
2238 if (!PreambleDecode(strm
))
2241 if (HasOptionalField(e_annexE
) && !m_annexE
.Decode(strm
))
2243 if (!KnownExtensionDecode(strm
, e_sctp
, m_sctp
))
2246 return UnknownExtensionsDecode(strm
);
2250 void H225_AlternateTransportAddresses::Encode(PASN_Stream
& strm
) const
2252 PreambleEncode(strm
);
2254 if (HasOptionalField(e_annexE
))
2255 m_annexE
.Encode(strm
);
2256 KnownExtensionEncode(strm
, e_sctp
, m_sctp
);
2258 UnknownExtensionsEncode(strm
);
2262 PObject
* H225_AlternateTransportAddresses::Clone() const
2264 #ifndef PASN_LEANANDMEAN
2265 PAssert(IsClass(H225_AlternateTransportAddresses::Class()), PInvalidCast
);
2267 return new H225_AlternateTransportAddresses(*this);
2275 H225_AlternateGK::H225_AlternateGK(unsigned tag
, PASN_Object::TagClass tagClass
)
2276 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
2278 m_priority
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
2282 #ifndef PASN_NOPRINTON
2283 void H225_AlternateGK::PrintOn(ostream
& strm
) const
2285 int indent
= strm
.precision() + 2;
2287 strm
<< setw(indent
+13) << "rasAddress = " << setprecision(indent
) << m_rasAddress
<< '\n';
2288 if (HasOptionalField(e_gatekeeperIdentifier
))
2289 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
2290 strm
<< setw(indent
+17) << "needToRegister = " << setprecision(indent
) << m_needToRegister
<< '\n';
2291 strm
<< setw(indent
+11) << "priority = " << setprecision(indent
) << m_priority
<< '\n';
2292 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2297 PObject::Comparison
H225_AlternateGK::Compare(const PObject
& obj
) const
2299 #ifndef PASN_LEANANDMEAN
2300 PAssert(PIsDescendant(&obj
, H225_AlternateGK
), PInvalidCast
);
2302 const H225_AlternateGK
& other
= (const H225_AlternateGK
&)obj
;
2306 if ((result
= m_rasAddress
.Compare(other
.m_rasAddress
)) != EqualTo
)
2308 if ((result
= m_gatekeeperIdentifier
.Compare(other
.m_gatekeeperIdentifier
)) != EqualTo
)
2310 if ((result
= m_needToRegister
.Compare(other
.m_needToRegister
)) != EqualTo
)
2312 if ((result
= m_priority
.Compare(other
.m_priority
)) != EqualTo
)
2315 return PASN_Sequence::Compare(other
);
2319 PINDEX
H225_AlternateGK::GetDataLength() const
2322 length
+= m_rasAddress
.GetObjectLength();
2323 if (HasOptionalField(e_gatekeeperIdentifier
))
2324 length
+= m_gatekeeperIdentifier
.GetObjectLength();
2325 length
+= m_needToRegister
.GetObjectLength();
2326 length
+= m_priority
.GetObjectLength();
2331 BOOL
H225_AlternateGK::Decode(PASN_Stream
& strm
)
2333 if (!PreambleDecode(strm
))
2336 if (!m_rasAddress
.Decode(strm
))
2338 if (HasOptionalField(e_gatekeeperIdentifier
) && !m_gatekeeperIdentifier
.Decode(strm
))
2340 if (!m_needToRegister
.Decode(strm
))
2342 if (!m_priority
.Decode(strm
))
2345 return UnknownExtensionsDecode(strm
);
2349 void H225_AlternateGK::Encode(PASN_Stream
& strm
) const
2351 PreambleEncode(strm
);
2353 m_rasAddress
.Encode(strm
);
2354 if (HasOptionalField(e_gatekeeperIdentifier
))
2355 m_gatekeeperIdentifier
.Encode(strm
);
2356 m_needToRegister
.Encode(strm
);
2357 m_priority
.Encode(strm
);
2359 UnknownExtensionsEncode(strm
);
2363 PObject
* H225_AlternateGK::Clone() const
2365 #ifndef PASN_LEANANDMEAN
2366 PAssert(IsClass(H225_AlternateGK::Class()), PInvalidCast
);
2368 return new H225_AlternateGK(*this);
2376 H225_AltGKInfo::H225_AltGKInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
2377 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
2382 #ifndef PASN_NOPRINTON
2383 void H225_AltGKInfo::PrintOn(ostream
& strm
) const
2385 int indent
= strm
.precision() + 2;
2387 strm
<< setw(indent
+22) << "alternateGatekeeper = " << setprecision(indent
) << m_alternateGatekeeper
<< '\n';
2388 strm
<< setw(indent
+19) << "altGKisPermanent = " << setprecision(indent
) << m_altGKisPermanent
<< '\n';
2389 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2394 PObject::Comparison
H225_AltGKInfo::Compare(const PObject
& obj
) const
2396 #ifndef PASN_LEANANDMEAN
2397 PAssert(PIsDescendant(&obj
, H225_AltGKInfo
), PInvalidCast
);
2399 const H225_AltGKInfo
& other
= (const H225_AltGKInfo
&)obj
;
2403 if ((result
= m_alternateGatekeeper
.Compare(other
.m_alternateGatekeeper
)) != EqualTo
)
2405 if ((result
= m_altGKisPermanent
.Compare(other
.m_altGKisPermanent
)) != EqualTo
)
2408 return PASN_Sequence::Compare(other
);
2412 PINDEX
H225_AltGKInfo::GetDataLength() const
2415 length
+= m_alternateGatekeeper
.GetObjectLength();
2416 length
+= m_altGKisPermanent
.GetObjectLength();
2421 BOOL
H225_AltGKInfo::Decode(PASN_Stream
& strm
)
2423 if (!PreambleDecode(strm
))
2426 if (!m_alternateGatekeeper
.Decode(strm
))
2428 if (!m_altGKisPermanent
.Decode(strm
))
2431 return UnknownExtensionsDecode(strm
);
2435 void H225_AltGKInfo::Encode(PASN_Stream
& strm
) const
2437 PreambleEncode(strm
);
2439 m_alternateGatekeeper
.Encode(strm
);
2440 m_altGKisPermanent
.Encode(strm
);
2442 UnknownExtensionsEncode(strm
);
2446 PObject
* H225_AltGKInfo::Clone() const
2448 #ifndef PASN_LEANANDMEAN
2449 PAssert(IsClass(H225_AltGKInfo::Class()), PInvalidCast
);
2451 return new H225_AltGKInfo(*this);
2456 // SecurityCapabilities
2459 H225_SecurityCapabilities::H225_SecurityCapabilities(unsigned tag
, PASN_Object::TagClass tagClass
)
2460 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
2465 #ifndef PASN_NOPRINTON
2466 void H225_SecurityCapabilities::PrintOn(ostream
& strm
) const
2468 int indent
= strm
.precision() + 2;
2470 if (HasOptionalField(e_nonStandard
))
2471 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
2472 strm
<< setw(indent
+13) << "encryption = " << setprecision(indent
) << m_encryption
<< '\n';
2473 strm
<< setw(indent
+16) << "authenticaton = " << setprecision(indent
) << m_authenticaton
<< '\n';
2474 strm
<< setw(indent
+12) << "integrity = " << setprecision(indent
) << m_integrity
<< '\n';
2475 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2480 PObject::Comparison
H225_SecurityCapabilities::Compare(const PObject
& obj
) const
2482 #ifndef PASN_LEANANDMEAN
2483 PAssert(PIsDescendant(&obj
, H225_SecurityCapabilities
), PInvalidCast
);
2485 const H225_SecurityCapabilities
& other
= (const H225_SecurityCapabilities
&)obj
;
2489 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
2491 if ((result
= m_encryption
.Compare(other
.m_encryption
)) != EqualTo
)
2493 if ((result
= m_authenticaton
.Compare(other
.m_authenticaton
)) != EqualTo
)
2495 if ((result
= m_integrity
.Compare(other
.m_integrity
)) != EqualTo
)
2498 return PASN_Sequence::Compare(other
);
2502 PINDEX
H225_SecurityCapabilities::GetDataLength() const
2505 if (HasOptionalField(e_nonStandard
))
2506 length
+= m_nonStandard
.GetObjectLength();
2507 length
+= m_encryption
.GetObjectLength();
2508 length
+= m_authenticaton
.GetObjectLength();
2509 length
+= m_integrity
.GetObjectLength();
2514 BOOL
H225_SecurityCapabilities::Decode(PASN_Stream
& strm
)
2516 if (!PreambleDecode(strm
))
2519 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
2521 if (!m_encryption
.Decode(strm
))
2523 if (!m_authenticaton
.Decode(strm
))
2525 if (!m_integrity
.Decode(strm
))
2528 return UnknownExtensionsDecode(strm
);
2532 void H225_SecurityCapabilities::Encode(PASN_Stream
& strm
) const
2534 PreambleEncode(strm
);
2536 if (HasOptionalField(e_nonStandard
))
2537 m_nonStandard
.Encode(strm
);
2538 m_encryption
.Encode(strm
);
2539 m_authenticaton
.Encode(strm
);
2540 m_integrity
.Encode(strm
);
2542 UnknownExtensionsEncode(strm
);
2546 PObject
* H225_SecurityCapabilities::Clone() const
2548 #ifndef PASN_LEANANDMEAN
2549 PAssert(IsClass(H225_SecurityCapabilities::Class()), PInvalidCast
);
2551 return new H225_SecurityCapabilities(*this);
2559 H225_QseriesOptions::H225_QseriesOptions(unsigned tag
, PASN_Object::TagClass tagClass
)
2560 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
2565 #ifndef PASN_NOPRINTON
2566 void H225_QseriesOptions::PrintOn(ostream
& strm
) const
2568 int indent
= strm
.precision() + 2;
2570 strm
<< setw(indent
+11) << "q932Full = " << setprecision(indent
) << m_q932Full
<< '\n';
2571 strm
<< setw(indent
+11) << "q951Full = " << setprecision(indent
) << m_q951Full
<< '\n';
2572 strm
<< setw(indent
+11) << "q952Full = " << setprecision(indent
) << m_q952Full
<< '\n';
2573 strm
<< setw(indent
+11) << "q953Full = " << setprecision(indent
) << m_q953Full
<< '\n';
2574 strm
<< setw(indent
+11) << "q955Full = " << setprecision(indent
) << m_q955Full
<< '\n';
2575 strm
<< setw(indent
+11) << "q956Full = " << setprecision(indent
) << m_q956Full
<< '\n';
2576 strm
<< setw(indent
+11) << "q957Full = " << setprecision(indent
) << m_q957Full
<< '\n';
2577 strm
<< setw(indent
+11) << "q954Info = " << setprecision(indent
) << m_q954Info
<< '\n';
2578 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2583 PObject::Comparison
H225_QseriesOptions::Compare(const PObject
& obj
) const
2585 #ifndef PASN_LEANANDMEAN
2586 PAssert(PIsDescendant(&obj
, H225_QseriesOptions
), PInvalidCast
);
2588 const H225_QseriesOptions
& other
= (const H225_QseriesOptions
&)obj
;
2592 if ((result
= m_q932Full
.Compare(other
.m_q932Full
)) != EqualTo
)
2594 if ((result
= m_q951Full
.Compare(other
.m_q951Full
)) != EqualTo
)
2596 if ((result
= m_q952Full
.Compare(other
.m_q952Full
)) != EqualTo
)
2598 if ((result
= m_q953Full
.Compare(other
.m_q953Full
)) != EqualTo
)
2600 if ((result
= m_q955Full
.Compare(other
.m_q955Full
)) != EqualTo
)
2602 if ((result
= m_q956Full
.Compare(other
.m_q956Full
)) != EqualTo
)
2604 if ((result
= m_q957Full
.Compare(other
.m_q957Full
)) != EqualTo
)
2606 if ((result
= m_q954Info
.Compare(other
.m_q954Info
)) != EqualTo
)
2609 return PASN_Sequence::Compare(other
);
2613 PINDEX
H225_QseriesOptions::GetDataLength() const
2616 length
+= m_q932Full
.GetObjectLength();
2617 length
+= m_q951Full
.GetObjectLength();
2618 length
+= m_q952Full
.GetObjectLength();
2619 length
+= m_q953Full
.GetObjectLength();
2620 length
+= m_q955Full
.GetObjectLength();
2621 length
+= m_q956Full
.GetObjectLength();
2622 length
+= m_q957Full
.GetObjectLength();
2623 length
+= m_q954Info
.GetObjectLength();
2628 BOOL
H225_QseriesOptions::Decode(PASN_Stream
& strm
)
2630 if (!PreambleDecode(strm
))
2633 if (!m_q932Full
.Decode(strm
))
2635 if (!m_q951Full
.Decode(strm
))
2637 if (!m_q952Full
.Decode(strm
))
2639 if (!m_q953Full
.Decode(strm
))
2641 if (!m_q955Full
.Decode(strm
))
2643 if (!m_q956Full
.Decode(strm
))
2645 if (!m_q957Full
.Decode(strm
))
2647 if (!m_q954Info
.Decode(strm
))
2650 return UnknownExtensionsDecode(strm
);
2654 void H225_QseriesOptions::Encode(PASN_Stream
& strm
) const
2656 PreambleEncode(strm
);
2658 m_q932Full
.Encode(strm
);
2659 m_q951Full
.Encode(strm
);
2660 m_q952Full
.Encode(strm
);
2661 m_q953Full
.Encode(strm
);
2662 m_q955Full
.Encode(strm
);
2663 m_q956Full
.Encode(strm
);
2664 m_q957Full
.Encode(strm
);
2665 m_q954Info
.Encode(strm
);
2667 UnknownExtensionsEncode(strm
);
2671 PObject
* H225_QseriesOptions::Clone() const
2673 #ifndef PASN_LEANANDMEAN
2674 PAssert(IsClass(H225_QseriesOptions::Class()), PInvalidCast
);
2676 return new H225_QseriesOptions(*this);
2684 H225_DataRate::H225_DataRate(unsigned tag
, PASN_Object::TagClass tagClass
)
2685 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
2687 m_channelMultiplier
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
2691 #ifndef PASN_NOPRINTON
2692 void H225_DataRate::PrintOn(ostream
& strm
) const
2694 int indent
= strm
.precision() + 2;
2696 if (HasOptionalField(e_nonStandardData
))
2697 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
2698 strm
<< setw(indent
+14) << "channelRate = " << setprecision(indent
) << m_channelRate
<< '\n';
2699 if (HasOptionalField(e_channelMultiplier
))
2700 strm
<< setw(indent
+20) << "channelMultiplier = " << setprecision(indent
) << m_channelMultiplier
<< '\n';
2701 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2706 PObject::Comparison
H225_DataRate::Compare(const PObject
& obj
) const
2708 #ifndef PASN_LEANANDMEAN
2709 PAssert(PIsDescendant(&obj
, H225_DataRate
), PInvalidCast
);
2711 const H225_DataRate
& other
= (const H225_DataRate
&)obj
;
2715 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
2717 if ((result
= m_channelRate
.Compare(other
.m_channelRate
)) != EqualTo
)
2719 if ((result
= m_channelMultiplier
.Compare(other
.m_channelMultiplier
)) != EqualTo
)
2722 return PASN_Sequence::Compare(other
);
2726 PINDEX
H225_DataRate::GetDataLength() const
2729 if (HasOptionalField(e_nonStandardData
))
2730 length
+= m_nonStandardData
.GetObjectLength();
2731 length
+= m_channelRate
.GetObjectLength();
2732 if (HasOptionalField(e_channelMultiplier
))
2733 length
+= m_channelMultiplier
.GetObjectLength();
2738 BOOL
H225_DataRate::Decode(PASN_Stream
& strm
)
2740 if (!PreambleDecode(strm
))
2743 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
2745 if (!m_channelRate
.Decode(strm
))
2747 if (HasOptionalField(e_channelMultiplier
) && !m_channelMultiplier
.Decode(strm
))
2750 return UnknownExtensionsDecode(strm
);
2754 void H225_DataRate::Encode(PASN_Stream
& strm
) const
2756 PreambleEncode(strm
);
2758 if (HasOptionalField(e_nonStandardData
))
2759 m_nonStandardData
.Encode(strm
);
2760 m_channelRate
.Encode(strm
);
2761 if (HasOptionalField(e_channelMultiplier
))
2762 m_channelMultiplier
.Encode(strm
);
2764 UnknownExtensionsEncode(strm
);
2768 PObject
* H225_DataRate::Clone() const
2770 #ifndef PASN_LEANANDMEAN
2771 PAssert(IsClass(H225_DataRate::Class()), PInvalidCast
);
2773 return new H225_DataRate(*this);
2781 H225_SupportedPrefix::H225_SupportedPrefix(unsigned tag
, PASN_Object::TagClass tagClass
)
2782 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
2787 #ifndef PASN_NOPRINTON
2788 void H225_SupportedPrefix::PrintOn(ostream
& strm
) const
2790 int indent
= strm
.precision() + 2;
2792 if (HasOptionalField(e_nonStandardData
))
2793 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
2794 strm
<< setw(indent
+9) << "prefix = " << setprecision(indent
) << m_prefix
<< '\n';
2795 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2800 PObject::Comparison
H225_SupportedPrefix::Compare(const PObject
& obj
) const
2802 #ifndef PASN_LEANANDMEAN
2803 PAssert(PIsDescendant(&obj
, H225_SupportedPrefix
), PInvalidCast
);
2805 const H225_SupportedPrefix
& other
= (const H225_SupportedPrefix
&)obj
;
2809 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
2811 if ((result
= m_prefix
.Compare(other
.m_prefix
)) != EqualTo
)
2814 return PASN_Sequence::Compare(other
);
2818 PINDEX
H225_SupportedPrefix::GetDataLength() const
2821 if (HasOptionalField(e_nonStandardData
))
2822 length
+= m_nonStandardData
.GetObjectLength();
2823 length
+= m_prefix
.GetObjectLength();
2828 BOOL
H225_SupportedPrefix::Decode(PASN_Stream
& strm
)
2830 if (!PreambleDecode(strm
))
2833 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
2835 if (!m_prefix
.Decode(strm
))
2838 return UnknownExtensionsDecode(strm
);
2842 void H225_SupportedPrefix::Encode(PASN_Stream
& strm
) const
2844 PreambleEncode(strm
);
2846 if (HasOptionalField(e_nonStandardData
))
2847 m_nonStandardData
.Encode(strm
);
2848 m_prefix
.Encode(strm
);
2850 UnknownExtensionsEncode(strm
);
2854 PObject
* H225_SupportedPrefix::Clone() const
2856 #ifndef PASN_LEANANDMEAN
2857 PAssert(IsClass(H225_SupportedPrefix::Class()), PInvalidCast
);
2859 return new H225_SupportedPrefix(*this);
2864 // CapacityReportingSpecification
2867 H225_CapacityReportingSpecification::H225_CapacityReportingSpecification(unsigned tag
, PASN_Object::TagClass tagClass
)
2868 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
2873 #ifndef PASN_NOPRINTON
2874 void H225_CapacityReportingSpecification::PrintOn(ostream
& strm
) const
2876 int indent
= strm
.precision() + 2;
2878 strm
<< setw(indent
+7) << "when = " << setprecision(indent
) << m_when
<< '\n';
2879 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2884 PObject::Comparison
H225_CapacityReportingSpecification::Compare(const PObject
& obj
) const
2886 #ifndef PASN_LEANANDMEAN
2887 PAssert(PIsDescendant(&obj
, H225_CapacityReportingSpecification
), PInvalidCast
);
2889 const H225_CapacityReportingSpecification
& other
= (const H225_CapacityReportingSpecification
&)obj
;
2893 if ((result
= m_when
.Compare(other
.m_when
)) != EqualTo
)
2896 return PASN_Sequence::Compare(other
);
2900 PINDEX
H225_CapacityReportingSpecification::GetDataLength() const
2903 length
+= m_when
.GetObjectLength();
2908 BOOL
H225_CapacityReportingSpecification::Decode(PASN_Stream
& strm
)
2910 if (!PreambleDecode(strm
))
2913 if (!m_when
.Decode(strm
))
2916 return UnknownExtensionsDecode(strm
);
2920 void H225_CapacityReportingSpecification::Encode(PASN_Stream
& strm
) const
2922 PreambleEncode(strm
);
2924 m_when
.Encode(strm
);
2926 UnknownExtensionsEncode(strm
);
2930 PObject
* H225_CapacityReportingSpecification::Clone() const
2932 #ifndef PASN_LEANANDMEAN
2933 PAssert(IsClass(H225_CapacityReportingSpecification::Class()), PInvalidCast
);
2935 return new H225_CapacityReportingSpecification(*this);
2943 H225_CallCapacityInfo::H225_CallCapacityInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
2944 : PASN_Sequence(tag
, tagClass
, 11, TRUE
, 1)
2949 #ifndef PASN_NOPRINTON
2950 void H225_CallCapacityInfo::PrintOn(ostream
& strm
) const
2952 int indent
= strm
.precision() + 2;
2954 if (HasOptionalField(e_voiceGwCallsAvailable
))
2955 strm
<< setw(indent
+24) << "voiceGwCallsAvailable = " << setprecision(indent
) << m_voiceGwCallsAvailable
<< '\n';
2956 if (HasOptionalField(e_h310GwCallsAvailable
))
2957 strm
<< setw(indent
+23) << "h310GwCallsAvailable = " << setprecision(indent
) << m_h310GwCallsAvailable
<< '\n';
2958 if (HasOptionalField(e_h320GwCallsAvailable
))
2959 strm
<< setw(indent
+23) << "h320GwCallsAvailable = " << setprecision(indent
) << m_h320GwCallsAvailable
<< '\n';
2960 if (HasOptionalField(e_h321GwCallsAvailable
))
2961 strm
<< setw(indent
+23) << "h321GwCallsAvailable = " << setprecision(indent
) << m_h321GwCallsAvailable
<< '\n';
2962 if (HasOptionalField(e_h322GwCallsAvailable
))
2963 strm
<< setw(indent
+23) << "h322GwCallsAvailable = " << setprecision(indent
) << m_h322GwCallsAvailable
<< '\n';
2964 if (HasOptionalField(e_h323GwCallsAvailable
))
2965 strm
<< setw(indent
+23) << "h323GwCallsAvailable = " << setprecision(indent
) << m_h323GwCallsAvailable
<< '\n';
2966 if (HasOptionalField(e_h324GwCallsAvailable
))
2967 strm
<< setw(indent
+23) << "h324GwCallsAvailable = " << setprecision(indent
) << m_h324GwCallsAvailable
<< '\n';
2968 if (HasOptionalField(e_t120OnlyGwCallsAvailable
))
2969 strm
<< setw(indent
+27) << "t120OnlyGwCallsAvailable = " << setprecision(indent
) << m_t120OnlyGwCallsAvailable
<< '\n';
2970 if (HasOptionalField(e_t38FaxAnnexbOnlyGwCallsAvailable
))
2971 strm
<< setw(indent
+35) << "t38FaxAnnexbOnlyGwCallsAvailable = " << setprecision(indent
) << m_t38FaxAnnexbOnlyGwCallsAvailable
<< '\n';
2972 if (HasOptionalField(e_terminalCallsAvailable
))
2973 strm
<< setw(indent
+25) << "terminalCallsAvailable = " << setprecision(indent
) << m_terminalCallsAvailable
<< '\n';
2974 if (HasOptionalField(e_mcuCallsAvailable
))
2975 strm
<< setw(indent
+20) << "mcuCallsAvailable = " << setprecision(indent
) << m_mcuCallsAvailable
<< '\n';
2976 if (HasOptionalField(e_sipGwCallsAvailable
))
2977 strm
<< setw(indent
+22) << "sipGwCallsAvailable = " << setprecision(indent
) << m_sipGwCallsAvailable
<< '\n';
2978 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2983 PObject::Comparison
H225_CallCapacityInfo::Compare(const PObject
& obj
) const
2985 #ifndef PASN_LEANANDMEAN
2986 PAssert(PIsDescendant(&obj
, H225_CallCapacityInfo
), PInvalidCast
);
2988 const H225_CallCapacityInfo
& other
= (const H225_CallCapacityInfo
&)obj
;
2992 if ((result
= m_voiceGwCallsAvailable
.Compare(other
.m_voiceGwCallsAvailable
)) != EqualTo
)
2994 if ((result
= m_h310GwCallsAvailable
.Compare(other
.m_h310GwCallsAvailable
)) != EqualTo
)
2996 if ((result
= m_h320GwCallsAvailable
.Compare(other
.m_h320GwCallsAvailable
)) != EqualTo
)
2998 if ((result
= m_h321GwCallsAvailable
.Compare(other
.m_h321GwCallsAvailable
)) != EqualTo
)
3000 if ((result
= m_h322GwCallsAvailable
.Compare(other
.m_h322GwCallsAvailable
)) != EqualTo
)
3002 if ((result
= m_h323GwCallsAvailable
.Compare(other
.m_h323GwCallsAvailable
)) != EqualTo
)
3004 if ((result
= m_h324GwCallsAvailable
.Compare(other
.m_h324GwCallsAvailable
)) != EqualTo
)
3006 if ((result
= m_t120OnlyGwCallsAvailable
.Compare(other
.m_t120OnlyGwCallsAvailable
)) != EqualTo
)
3008 if ((result
= m_t38FaxAnnexbOnlyGwCallsAvailable
.Compare(other
.m_t38FaxAnnexbOnlyGwCallsAvailable
)) != EqualTo
)
3010 if ((result
= m_terminalCallsAvailable
.Compare(other
.m_terminalCallsAvailable
)) != EqualTo
)
3012 if ((result
= m_mcuCallsAvailable
.Compare(other
.m_mcuCallsAvailable
)) != EqualTo
)
3015 return PASN_Sequence::Compare(other
);
3019 PINDEX
H225_CallCapacityInfo::GetDataLength() const
3022 if (HasOptionalField(e_voiceGwCallsAvailable
))
3023 length
+= m_voiceGwCallsAvailable
.GetObjectLength();
3024 if (HasOptionalField(e_h310GwCallsAvailable
))
3025 length
+= m_h310GwCallsAvailable
.GetObjectLength();
3026 if (HasOptionalField(e_h320GwCallsAvailable
))
3027 length
+= m_h320GwCallsAvailable
.GetObjectLength();
3028 if (HasOptionalField(e_h321GwCallsAvailable
))
3029 length
+= m_h321GwCallsAvailable
.GetObjectLength();
3030 if (HasOptionalField(e_h322GwCallsAvailable
))
3031 length
+= m_h322GwCallsAvailable
.GetObjectLength();
3032 if (HasOptionalField(e_h323GwCallsAvailable
))
3033 length
+= m_h323GwCallsAvailable
.GetObjectLength();
3034 if (HasOptionalField(e_h324GwCallsAvailable
))
3035 length
+= m_h324GwCallsAvailable
.GetObjectLength();
3036 if (HasOptionalField(e_t120OnlyGwCallsAvailable
))
3037 length
+= m_t120OnlyGwCallsAvailable
.GetObjectLength();
3038 if (HasOptionalField(e_t38FaxAnnexbOnlyGwCallsAvailable
))
3039 length
+= m_t38FaxAnnexbOnlyGwCallsAvailable
.GetObjectLength();
3040 if (HasOptionalField(e_terminalCallsAvailable
))
3041 length
+= m_terminalCallsAvailable
.GetObjectLength();
3042 if (HasOptionalField(e_mcuCallsAvailable
))
3043 length
+= m_mcuCallsAvailable
.GetObjectLength();
3048 BOOL
H225_CallCapacityInfo::Decode(PASN_Stream
& strm
)
3050 if (!PreambleDecode(strm
))
3053 if (HasOptionalField(e_voiceGwCallsAvailable
) && !m_voiceGwCallsAvailable
.Decode(strm
))
3055 if (HasOptionalField(e_h310GwCallsAvailable
) && !m_h310GwCallsAvailable
.Decode(strm
))
3057 if (HasOptionalField(e_h320GwCallsAvailable
) && !m_h320GwCallsAvailable
.Decode(strm
))
3059 if (HasOptionalField(e_h321GwCallsAvailable
) && !m_h321GwCallsAvailable
.Decode(strm
))
3061 if (HasOptionalField(e_h322GwCallsAvailable
) && !m_h322GwCallsAvailable
.Decode(strm
))
3063 if (HasOptionalField(e_h323GwCallsAvailable
) && !m_h323GwCallsAvailable
.Decode(strm
))
3065 if (HasOptionalField(e_h324GwCallsAvailable
) && !m_h324GwCallsAvailable
.Decode(strm
))
3067 if (HasOptionalField(e_t120OnlyGwCallsAvailable
) && !m_t120OnlyGwCallsAvailable
.Decode(strm
))
3069 if (HasOptionalField(e_t38FaxAnnexbOnlyGwCallsAvailable
) && !m_t38FaxAnnexbOnlyGwCallsAvailable
.Decode(strm
))
3071 if (HasOptionalField(e_terminalCallsAvailable
) && !m_terminalCallsAvailable
.Decode(strm
))
3073 if (HasOptionalField(e_mcuCallsAvailable
) && !m_mcuCallsAvailable
.Decode(strm
))
3075 if (!KnownExtensionDecode(strm
, e_sipGwCallsAvailable
, m_sipGwCallsAvailable
))
3078 return UnknownExtensionsDecode(strm
);
3082 void H225_CallCapacityInfo::Encode(PASN_Stream
& strm
) const
3084 PreambleEncode(strm
);
3086 if (HasOptionalField(e_voiceGwCallsAvailable
))
3087 m_voiceGwCallsAvailable
.Encode(strm
);
3088 if (HasOptionalField(e_h310GwCallsAvailable
))
3089 m_h310GwCallsAvailable
.Encode(strm
);
3090 if (HasOptionalField(e_h320GwCallsAvailable
))
3091 m_h320GwCallsAvailable
.Encode(strm
);
3092 if (HasOptionalField(e_h321GwCallsAvailable
))
3093 m_h321GwCallsAvailable
.Encode(strm
);
3094 if (HasOptionalField(e_h322GwCallsAvailable
))
3095 m_h322GwCallsAvailable
.Encode(strm
);
3096 if (HasOptionalField(e_h323GwCallsAvailable
))
3097 m_h323GwCallsAvailable
.Encode(strm
);
3098 if (HasOptionalField(e_h324GwCallsAvailable
))
3099 m_h324GwCallsAvailable
.Encode(strm
);
3100 if (HasOptionalField(e_t120OnlyGwCallsAvailable
))
3101 m_t120OnlyGwCallsAvailable
.Encode(strm
);
3102 if (HasOptionalField(e_t38FaxAnnexbOnlyGwCallsAvailable
))
3103 m_t38FaxAnnexbOnlyGwCallsAvailable
.Encode(strm
);
3104 if (HasOptionalField(e_terminalCallsAvailable
))
3105 m_terminalCallsAvailable
.Encode(strm
);
3106 if (HasOptionalField(e_mcuCallsAvailable
))
3107 m_mcuCallsAvailable
.Encode(strm
);
3108 KnownExtensionEncode(strm
, e_sipGwCallsAvailable
, m_sipGwCallsAvailable
);
3110 UnknownExtensionsEncode(strm
);
3114 PObject
* H225_CallCapacityInfo::Clone() const
3116 #ifndef PASN_LEANANDMEAN
3117 PAssert(IsClass(H225_CallCapacityInfo::Class()), PInvalidCast
);
3119 return new H225_CallCapacityInfo(*this);
3127 H225_CallsAvailable::H225_CallsAvailable(unsigned tag
, PASN_Object::TagClass tagClass
)
3128 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 1)
3130 m_calls
.SetConstraints(PASN_Object::FixedConstraint
, 0, 4294967295U);
3131 m_group
.SetConstraints(PASN_Object::FixedConstraint
, 1, 128);
3135 #ifndef PASN_NOPRINTON
3136 void H225_CallsAvailable::PrintOn(ostream
& strm
) const
3138 int indent
= strm
.precision() + 2;
3140 strm
<< setw(indent
+8) << "calls = " << setprecision(indent
) << m_calls
<< '\n';
3141 if (HasOptionalField(e_group
))
3142 strm
<< setw(indent
+8) << "group = " << setprecision(indent
) << m_group
<< '\n';
3143 if (HasOptionalField(e_carrier
))
3144 strm
<< setw(indent
+10) << "carrier = " << setprecision(indent
) << m_carrier
<< '\n';
3145 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3150 PObject::Comparison
H225_CallsAvailable::Compare(const PObject
& obj
) const
3152 #ifndef PASN_LEANANDMEAN
3153 PAssert(PIsDescendant(&obj
, H225_CallsAvailable
), PInvalidCast
);
3155 const H225_CallsAvailable
& other
= (const H225_CallsAvailable
&)obj
;
3159 if ((result
= m_calls
.Compare(other
.m_calls
)) != EqualTo
)
3161 if ((result
= m_group
.Compare(other
.m_group
)) != EqualTo
)
3164 return PASN_Sequence::Compare(other
);
3168 PINDEX
H225_CallsAvailable::GetDataLength() const
3171 length
+= m_calls
.GetObjectLength();
3172 if (HasOptionalField(e_group
))
3173 length
+= m_group
.GetObjectLength();
3178 BOOL
H225_CallsAvailable::Decode(PASN_Stream
& strm
)
3180 if (!PreambleDecode(strm
))
3183 if (!m_calls
.Decode(strm
))
3185 if (HasOptionalField(e_group
) && !m_group
.Decode(strm
))
3187 if (!KnownExtensionDecode(strm
, e_carrier
, m_carrier
))
3190 return UnknownExtensionsDecode(strm
);
3194 void H225_CallsAvailable::Encode(PASN_Stream
& strm
) const
3196 PreambleEncode(strm
);
3198 m_calls
.Encode(strm
);
3199 if (HasOptionalField(e_group
))
3200 m_group
.Encode(strm
);
3201 KnownExtensionEncode(strm
, e_carrier
, m_carrier
);
3203 UnknownExtensionsEncode(strm
);
3207 PObject
* H225_CallsAvailable::Clone() const
3209 #ifndef PASN_LEANANDMEAN
3210 PAssert(IsClass(H225_CallsAvailable::Class()), PInvalidCast
);
3212 return new H225_CallsAvailable(*this);
3220 H225_CicInfo::H225_CicInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
3221 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
3223 m_pointCode
.SetConstraints(PASN_Object::FixedConstraint
, 2, 5);
3227 #ifndef PASN_NOPRINTON
3228 void H225_CicInfo::PrintOn(ostream
& strm
) const
3230 int indent
= strm
.precision() + 2;
3232 strm
<< setw(indent
+6) << "cic = " << setprecision(indent
) << m_cic
<< '\n';
3233 strm
<< setw(indent
+12) << "pointCode = " << setprecision(indent
) << m_pointCode
<< '\n';
3234 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3239 PObject::Comparison
H225_CicInfo::Compare(const PObject
& obj
) const
3241 #ifndef PASN_LEANANDMEAN
3242 PAssert(PIsDescendant(&obj
, H225_CicInfo
), PInvalidCast
);
3244 const H225_CicInfo
& other
= (const H225_CicInfo
&)obj
;
3248 if ((result
= m_cic
.Compare(other
.m_cic
)) != EqualTo
)
3250 if ((result
= m_pointCode
.Compare(other
.m_pointCode
)) != EqualTo
)
3253 return PASN_Sequence::Compare(other
);
3257 PINDEX
H225_CicInfo::GetDataLength() const
3260 length
+= m_cic
.GetObjectLength();
3261 length
+= m_pointCode
.GetObjectLength();
3266 BOOL
H225_CicInfo::Decode(PASN_Stream
& strm
)
3268 if (!PreambleDecode(strm
))
3271 if (!m_cic
.Decode(strm
))
3273 if (!m_pointCode
.Decode(strm
))
3276 return UnknownExtensionsDecode(strm
);
3280 void H225_CicInfo::Encode(PASN_Stream
& strm
) const
3282 PreambleEncode(strm
);
3285 m_pointCode
.Encode(strm
);
3287 UnknownExtensionsEncode(strm
);
3291 PObject
* H225_CicInfo::Clone() const
3293 #ifndef PASN_LEANANDMEAN
3294 PAssert(IsClass(H225_CicInfo::Class()), PInvalidCast
);
3296 return new H225_CicInfo(*this);
3304 H225_GroupID::H225_GroupID(unsigned tag
, PASN_Object::TagClass tagClass
)
3305 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
3307 m_group
.SetConstraints(PASN_Object::FixedConstraint
, 1, 128);
3311 #ifndef PASN_NOPRINTON
3312 void H225_GroupID::PrintOn(ostream
& strm
) const
3314 int indent
= strm
.precision() + 2;
3316 if (HasOptionalField(e_member
))
3317 strm
<< setw(indent
+9) << "member = " << setprecision(indent
) << m_member
<< '\n';
3318 strm
<< setw(indent
+8) << "group = " << setprecision(indent
) << m_group
<< '\n';
3319 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3324 PObject::Comparison
H225_GroupID::Compare(const PObject
& obj
) const
3326 #ifndef PASN_LEANANDMEAN
3327 PAssert(PIsDescendant(&obj
, H225_GroupID
), PInvalidCast
);
3329 const H225_GroupID
& other
= (const H225_GroupID
&)obj
;
3333 if ((result
= m_member
.Compare(other
.m_member
)) != EqualTo
)
3335 if ((result
= m_group
.Compare(other
.m_group
)) != EqualTo
)
3338 return PASN_Sequence::Compare(other
);
3342 PINDEX
H225_GroupID::GetDataLength() const
3345 if (HasOptionalField(e_member
))
3346 length
+= m_member
.GetObjectLength();
3347 length
+= m_group
.GetObjectLength();
3352 BOOL
H225_GroupID::Decode(PASN_Stream
& strm
)
3354 if (!PreambleDecode(strm
))
3357 if (HasOptionalField(e_member
) && !m_member
.Decode(strm
))
3359 if (!m_group
.Decode(strm
))
3362 return UnknownExtensionsDecode(strm
);
3366 void H225_GroupID::Encode(PASN_Stream
& strm
) const
3368 PreambleEncode(strm
);
3370 if (HasOptionalField(e_member
))
3371 m_member
.Encode(strm
);
3372 m_group
.Encode(strm
);
3374 UnknownExtensionsEncode(strm
);
3378 PObject
* H225_GroupID::Clone() const
3380 #ifndef PASN_LEANANDMEAN
3381 PAssert(IsClass(H225_GroupID::Class()), PInvalidCast
);
3383 return new H225_GroupID(*this);
3388 // ServiceControlSession
3391 H225_ServiceControlSession::H225_ServiceControlSession(unsigned tag
, PASN_Object::TagClass tagClass
)
3392 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
3394 m_sessionId
.SetConstraints(PASN_Object::FixedConstraint
, 0, 255);
3398 #ifndef PASN_NOPRINTON
3399 void H225_ServiceControlSession::PrintOn(ostream
& strm
) const
3401 int indent
= strm
.precision() + 2;
3403 strm
<< setw(indent
+12) << "sessionId = " << setprecision(indent
) << m_sessionId
<< '\n';
3404 if (HasOptionalField(e_contents
))
3405 strm
<< setw(indent
+11) << "contents = " << setprecision(indent
) << m_contents
<< '\n';
3406 strm
<< setw(indent
+9) << "reason = " << setprecision(indent
) << m_reason
<< '\n';
3407 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3412 PObject::Comparison
H225_ServiceControlSession::Compare(const PObject
& obj
) const
3414 #ifndef PASN_LEANANDMEAN
3415 PAssert(PIsDescendant(&obj
, H225_ServiceControlSession
), PInvalidCast
);
3417 const H225_ServiceControlSession
& other
= (const H225_ServiceControlSession
&)obj
;
3421 if ((result
= m_sessionId
.Compare(other
.m_sessionId
)) != EqualTo
)
3423 if ((result
= m_contents
.Compare(other
.m_contents
)) != EqualTo
)
3425 if ((result
= m_reason
.Compare(other
.m_reason
)) != EqualTo
)
3428 return PASN_Sequence::Compare(other
);
3432 PINDEX
H225_ServiceControlSession::GetDataLength() const
3435 length
+= m_sessionId
.GetObjectLength();
3436 if (HasOptionalField(e_contents
))
3437 length
+= m_contents
.GetObjectLength();
3438 length
+= m_reason
.GetObjectLength();
3443 BOOL
H225_ServiceControlSession::Decode(PASN_Stream
& strm
)
3445 if (!PreambleDecode(strm
))
3448 if (!m_sessionId
.Decode(strm
))
3450 if (HasOptionalField(e_contents
) && !m_contents
.Decode(strm
))
3452 if (!m_reason
.Decode(strm
))
3455 return UnknownExtensionsDecode(strm
);
3459 void H225_ServiceControlSession::Encode(PASN_Stream
& strm
) const
3461 PreambleEncode(strm
);
3463 m_sessionId
.Encode(strm
);
3464 if (HasOptionalField(e_contents
))
3465 m_contents
.Encode(strm
);
3466 m_reason
.Encode(strm
);
3468 UnknownExtensionsEncode(strm
);
3472 PObject
* H225_ServiceControlSession::Clone() const
3474 #ifndef PASN_LEANANDMEAN
3475 PAssert(IsClass(H225_ServiceControlSession::Class()), PInvalidCast
);
3477 return new H225_ServiceControlSession(*this);
3482 // RasUsageInfoTypes
3485 H225_RasUsageInfoTypes::H225_RasUsageInfoTypes(unsigned tag
, PASN_Object::TagClass tagClass
)
3486 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
3491 #ifndef PASN_NOPRINTON
3492 void H225_RasUsageInfoTypes::PrintOn(ostream
& strm
) const
3494 int indent
= strm
.precision() + 2;
3496 strm
<< setw(indent
+24) << "nonStandardUsageTypes = " << setprecision(indent
) << m_nonStandardUsageTypes
<< '\n';
3497 if (HasOptionalField(e_startTime
))
3498 strm
<< setw(indent
+12) << "startTime = " << setprecision(indent
) << m_startTime
<< '\n';
3499 if (HasOptionalField(e_endTime
))
3500 strm
<< setw(indent
+10) << "endTime = " << setprecision(indent
) << m_endTime
<< '\n';
3501 if (HasOptionalField(e_terminationCause
))
3502 strm
<< setw(indent
+19) << "terminationCause = " << setprecision(indent
) << m_terminationCause
<< '\n';
3503 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3508 PObject::Comparison
H225_RasUsageInfoTypes::Compare(const PObject
& obj
) const
3510 #ifndef PASN_LEANANDMEAN
3511 PAssert(PIsDescendant(&obj
, H225_RasUsageInfoTypes
), PInvalidCast
);
3513 const H225_RasUsageInfoTypes
& other
= (const H225_RasUsageInfoTypes
&)obj
;
3517 if ((result
= m_nonStandardUsageTypes
.Compare(other
.m_nonStandardUsageTypes
)) != EqualTo
)
3519 if ((result
= m_startTime
.Compare(other
.m_startTime
)) != EqualTo
)
3521 if ((result
= m_endTime
.Compare(other
.m_endTime
)) != EqualTo
)
3523 if ((result
= m_terminationCause
.Compare(other
.m_terminationCause
)) != EqualTo
)
3526 return PASN_Sequence::Compare(other
);
3530 PINDEX
H225_RasUsageInfoTypes::GetDataLength() const
3533 length
+= m_nonStandardUsageTypes
.GetObjectLength();
3534 if (HasOptionalField(e_startTime
))
3535 length
+= m_startTime
.GetObjectLength();
3536 if (HasOptionalField(e_endTime
))
3537 length
+= m_endTime
.GetObjectLength();
3538 if (HasOptionalField(e_terminationCause
))
3539 length
+= m_terminationCause
.GetObjectLength();
3544 BOOL
H225_RasUsageInfoTypes::Decode(PASN_Stream
& strm
)
3546 if (!PreambleDecode(strm
))
3549 if (!m_nonStandardUsageTypes
.Decode(strm
))
3551 if (HasOptionalField(e_startTime
) && !m_startTime
.Decode(strm
))
3553 if (HasOptionalField(e_endTime
) && !m_endTime
.Decode(strm
))
3555 if (HasOptionalField(e_terminationCause
) && !m_terminationCause
.Decode(strm
))
3558 return UnknownExtensionsDecode(strm
);
3562 void H225_RasUsageInfoTypes::Encode(PASN_Stream
& strm
) const
3564 PreambleEncode(strm
);
3566 m_nonStandardUsageTypes
.Encode(strm
);
3567 if (HasOptionalField(e_startTime
))
3568 m_startTime
.Encode(strm
);
3569 if (HasOptionalField(e_endTime
))
3570 m_endTime
.Encode(strm
);
3571 if (HasOptionalField(e_terminationCause
))
3572 m_terminationCause
.Encode(strm
);
3574 UnknownExtensionsEncode(strm
);
3578 PObject
* H225_RasUsageInfoTypes::Clone() const
3580 #ifndef PASN_LEANANDMEAN
3581 PAssert(IsClass(H225_RasUsageInfoTypes::Class()), PInvalidCast
);
3583 return new H225_RasUsageInfoTypes(*this);
3588 // RasUsageSpecification
3591 H225_RasUsageSpecification::H225_RasUsageSpecification(unsigned tag
, PASN_Object::TagClass tagClass
)
3592 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
3597 #ifndef PASN_NOPRINTON
3598 void H225_RasUsageSpecification::PrintOn(ostream
& strm
) const
3600 int indent
= strm
.precision() + 2;
3602 strm
<< setw(indent
+7) << "when = " << setprecision(indent
) << m_when
<< '\n';
3603 if (HasOptionalField(e_callStartingPoint
))
3604 strm
<< setw(indent
+20) << "callStartingPoint = " << setprecision(indent
) << m_callStartingPoint
<< '\n';
3605 strm
<< setw(indent
+11) << "required = " << setprecision(indent
) << m_required
<< '\n';
3606 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3611 PObject::Comparison
H225_RasUsageSpecification::Compare(const PObject
& obj
) const
3613 #ifndef PASN_LEANANDMEAN
3614 PAssert(PIsDescendant(&obj
, H225_RasUsageSpecification
), PInvalidCast
);
3616 const H225_RasUsageSpecification
& other
= (const H225_RasUsageSpecification
&)obj
;
3620 if ((result
= m_when
.Compare(other
.m_when
)) != EqualTo
)
3622 if ((result
= m_callStartingPoint
.Compare(other
.m_callStartingPoint
)) != EqualTo
)
3624 if ((result
= m_required
.Compare(other
.m_required
)) != EqualTo
)
3627 return PASN_Sequence::Compare(other
);
3631 PINDEX
H225_RasUsageSpecification::GetDataLength() const
3634 length
+= m_when
.GetObjectLength();
3635 if (HasOptionalField(e_callStartingPoint
))
3636 length
+= m_callStartingPoint
.GetObjectLength();
3637 length
+= m_required
.GetObjectLength();
3642 BOOL
H225_RasUsageSpecification::Decode(PASN_Stream
& strm
)
3644 if (!PreambleDecode(strm
))
3647 if (!m_when
.Decode(strm
))
3649 if (HasOptionalField(e_callStartingPoint
) && !m_callStartingPoint
.Decode(strm
))
3651 if (!m_required
.Decode(strm
))
3654 return UnknownExtensionsDecode(strm
);
3658 void H225_RasUsageSpecification::Encode(PASN_Stream
& strm
) const
3660 PreambleEncode(strm
);
3662 m_when
.Encode(strm
);
3663 if (HasOptionalField(e_callStartingPoint
))
3664 m_callStartingPoint
.Encode(strm
);
3665 m_required
.Encode(strm
);
3667 UnknownExtensionsEncode(strm
);
3671 PObject
* H225_RasUsageSpecification::Clone() const
3673 #ifndef PASN_LEANANDMEAN
3674 PAssert(IsClass(H225_RasUsageSpecification::Class()), PInvalidCast
);
3676 return new H225_RasUsageSpecification(*this);
3681 // RasUsageInformation
3684 H225_RasUsageInformation::H225_RasUsageInformation(unsigned tag
, PASN_Object::TagClass tagClass
)
3685 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
3690 #ifndef PASN_NOPRINTON
3691 void H225_RasUsageInformation::PrintOn(ostream
& strm
) const
3693 int indent
= strm
.precision() + 2;
3695 strm
<< setw(indent
+25) << "nonStandardUsageFields = " << setprecision(indent
) << m_nonStandardUsageFields
<< '\n';
3696 if (HasOptionalField(e_alertingTime
))
3697 strm
<< setw(indent
+15) << "alertingTime = " << setprecision(indent
) << m_alertingTime
<< '\n';
3698 if (HasOptionalField(e_connectTime
))
3699 strm
<< setw(indent
+14) << "connectTime = " << setprecision(indent
) << m_connectTime
<< '\n';
3700 if (HasOptionalField(e_endTime
))
3701 strm
<< setw(indent
+10) << "endTime = " << setprecision(indent
) << m_endTime
<< '\n';
3702 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3707 PObject::Comparison
H225_RasUsageInformation::Compare(const PObject
& obj
) const
3709 #ifndef PASN_LEANANDMEAN
3710 PAssert(PIsDescendant(&obj
, H225_RasUsageInformation
), PInvalidCast
);
3712 const H225_RasUsageInformation
& other
= (const H225_RasUsageInformation
&)obj
;
3716 if ((result
= m_nonStandardUsageFields
.Compare(other
.m_nonStandardUsageFields
)) != EqualTo
)
3718 if ((result
= m_alertingTime
.Compare(other
.m_alertingTime
)) != EqualTo
)
3720 if ((result
= m_connectTime
.Compare(other
.m_connectTime
)) != EqualTo
)
3722 if ((result
= m_endTime
.Compare(other
.m_endTime
)) != EqualTo
)
3725 return PASN_Sequence::Compare(other
);
3729 PINDEX
H225_RasUsageInformation::GetDataLength() const
3732 length
+= m_nonStandardUsageFields
.GetObjectLength();
3733 if (HasOptionalField(e_alertingTime
))
3734 length
+= m_alertingTime
.GetObjectLength();
3735 if (HasOptionalField(e_connectTime
))
3736 length
+= m_connectTime
.GetObjectLength();
3737 if (HasOptionalField(e_endTime
))
3738 length
+= m_endTime
.GetObjectLength();
3743 BOOL
H225_RasUsageInformation::Decode(PASN_Stream
& strm
)
3745 if (!PreambleDecode(strm
))
3748 if (!m_nonStandardUsageFields
.Decode(strm
))
3750 if (HasOptionalField(e_alertingTime
) && !m_alertingTime
.Decode(strm
))
3752 if (HasOptionalField(e_connectTime
) && !m_connectTime
.Decode(strm
))
3754 if (HasOptionalField(e_endTime
) && !m_endTime
.Decode(strm
))
3757 return UnknownExtensionsDecode(strm
);
3761 void H225_RasUsageInformation::Encode(PASN_Stream
& strm
) const
3763 PreambleEncode(strm
);
3765 m_nonStandardUsageFields
.Encode(strm
);
3766 if (HasOptionalField(e_alertingTime
))
3767 m_alertingTime
.Encode(strm
);
3768 if (HasOptionalField(e_connectTime
))
3769 m_connectTime
.Encode(strm
);
3770 if (HasOptionalField(e_endTime
))
3771 m_endTime
.Encode(strm
);
3773 UnknownExtensionsEncode(strm
);
3777 PObject
* H225_RasUsageInformation::Clone() const
3779 #ifndef PASN_LEANANDMEAN
3780 PAssert(IsClass(H225_RasUsageInformation::Class()), PInvalidCast
);
3782 return new H225_RasUsageInformation(*this);
3790 H225_BandwidthDetails::H225_BandwidthDetails(unsigned tag
, PASN_Object::TagClass tagClass
)
3791 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
3796 #ifndef PASN_NOPRINTON
3797 void H225_BandwidthDetails::PrintOn(ostream
& strm
) const
3799 int indent
= strm
.precision() + 2;
3801 strm
<< setw(indent
+9) << "sender = " << setprecision(indent
) << m_sender
<< '\n';
3802 strm
<< setw(indent
+12) << "multicast = " << setprecision(indent
) << m_multicast
<< '\n';
3803 strm
<< setw(indent
+12) << "bandwidth = " << setprecision(indent
) << m_bandwidth
<< '\n';
3804 strm
<< setw(indent
+16) << "rtcpAddresses = " << setprecision(indent
) << m_rtcpAddresses
<< '\n';
3805 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3810 PObject::Comparison
H225_BandwidthDetails::Compare(const PObject
& obj
) const
3812 #ifndef PASN_LEANANDMEAN
3813 PAssert(PIsDescendant(&obj
, H225_BandwidthDetails
), PInvalidCast
);
3815 const H225_BandwidthDetails
& other
= (const H225_BandwidthDetails
&)obj
;
3819 if ((result
= m_sender
.Compare(other
.m_sender
)) != EqualTo
)
3821 if ((result
= m_multicast
.Compare(other
.m_multicast
)) != EqualTo
)
3823 if ((result
= m_bandwidth
.Compare(other
.m_bandwidth
)) != EqualTo
)
3825 if ((result
= m_rtcpAddresses
.Compare(other
.m_rtcpAddresses
)) != EqualTo
)
3828 return PASN_Sequence::Compare(other
);
3832 PINDEX
H225_BandwidthDetails::GetDataLength() const
3835 length
+= m_sender
.GetObjectLength();
3836 length
+= m_multicast
.GetObjectLength();
3837 length
+= m_bandwidth
.GetObjectLength();
3838 length
+= m_rtcpAddresses
.GetObjectLength();
3843 BOOL
H225_BandwidthDetails::Decode(PASN_Stream
& strm
)
3845 if (!PreambleDecode(strm
))
3848 if (!m_sender
.Decode(strm
))
3850 if (!m_multicast
.Decode(strm
))
3852 if (!m_bandwidth
.Decode(strm
))
3854 if (!m_rtcpAddresses
.Decode(strm
))
3857 return UnknownExtensionsDecode(strm
);
3861 void H225_BandwidthDetails::Encode(PASN_Stream
& strm
) const
3863 PreambleEncode(strm
);
3865 m_sender
.Encode(strm
);
3866 m_multicast
.Encode(strm
);
3867 m_bandwidth
.Encode(strm
);
3868 m_rtcpAddresses
.Encode(strm
);
3870 UnknownExtensionsEncode(strm
);
3874 PObject
* H225_BandwidthDetails::Clone() const
3876 #ifndef PASN_LEANANDMEAN
3877 PAssert(IsClass(H225_BandwidthDetails::Class()), PInvalidCast
);
3879 return new H225_BandwidthDetails(*this);
3884 // CallCreditServiceControl
3887 H225_CallCreditServiceControl::H225_CallCreditServiceControl(unsigned tag
, PASN_Object::TagClass tagClass
)
3888 : PASN_Sequence(tag
, tagClass
, 5, TRUE
, 0)
3890 m_amountString
.SetConstraints(PASN_Object::FixedConstraint
, 1, 512);
3891 m_callDurationLimit
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
3895 #ifndef PASN_NOPRINTON
3896 void H225_CallCreditServiceControl::PrintOn(ostream
& strm
) const
3898 int indent
= strm
.precision() + 2;
3900 if (HasOptionalField(e_amountString
))
3901 strm
<< setw(indent
+15) << "amountString = " << setprecision(indent
) << m_amountString
<< '\n';
3902 if (HasOptionalField(e_billingMode
))
3903 strm
<< setw(indent
+14) << "billingMode = " << setprecision(indent
) << m_billingMode
<< '\n';
3904 if (HasOptionalField(e_callDurationLimit
))
3905 strm
<< setw(indent
+20) << "callDurationLimit = " << setprecision(indent
) << m_callDurationLimit
<< '\n';
3906 if (HasOptionalField(e_enforceCallDurationLimit
))
3907 strm
<< setw(indent
+27) << "enforceCallDurationLimit = " << setprecision(indent
) << m_enforceCallDurationLimit
<< '\n';
3908 if (HasOptionalField(e_callStartingPoint
))
3909 strm
<< setw(indent
+20) << "callStartingPoint = " << setprecision(indent
) << m_callStartingPoint
<< '\n';
3910 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3915 PObject::Comparison
H225_CallCreditServiceControl::Compare(const PObject
& obj
) const
3917 #ifndef PASN_LEANANDMEAN
3918 PAssert(PIsDescendant(&obj
, H225_CallCreditServiceControl
), PInvalidCast
);
3920 const H225_CallCreditServiceControl
& other
= (const H225_CallCreditServiceControl
&)obj
;
3924 if ((result
= m_amountString
.Compare(other
.m_amountString
)) != EqualTo
)
3926 if ((result
= m_billingMode
.Compare(other
.m_billingMode
)) != EqualTo
)
3928 if ((result
= m_callDurationLimit
.Compare(other
.m_callDurationLimit
)) != EqualTo
)
3930 if ((result
= m_enforceCallDurationLimit
.Compare(other
.m_enforceCallDurationLimit
)) != EqualTo
)
3932 if ((result
= m_callStartingPoint
.Compare(other
.m_callStartingPoint
)) != EqualTo
)
3935 return PASN_Sequence::Compare(other
);
3939 PINDEX
H225_CallCreditServiceControl::GetDataLength() const
3942 if (HasOptionalField(e_amountString
))
3943 length
+= m_amountString
.GetObjectLength();
3944 if (HasOptionalField(e_billingMode
))
3945 length
+= m_billingMode
.GetObjectLength();
3946 if (HasOptionalField(e_callDurationLimit
))
3947 length
+= m_callDurationLimit
.GetObjectLength();
3948 if (HasOptionalField(e_enforceCallDurationLimit
))
3949 length
+= m_enforceCallDurationLimit
.GetObjectLength();
3950 if (HasOptionalField(e_callStartingPoint
))
3951 length
+= m_callStartingPoint
.GetObjectLength();
3956 BOOL
H225_CallCreditServiceControl::Decode(PASN_Stream
& strm
)
3958 if (!PreambleDecode(strm
))
3961 if (HasOptionalField(e_amountString
) && !m_amountString
.Decode(strm
))
3963 if (HasOptionalField(e_billingMode
) && !m_billingMode
.Decode(strm
))
3965 if (HasOptionalField(e_callDurationLimit
) && !m_callDurationLimit
.Decode(strm
))
3967 if (HasOptionalField(e_enforceCallDurationLimit
) && !m_enforceCallDurationLimit
.Decode(strm
))
3969 if (HasOptionalField(e_callStartingPoint
) && !m_callStartingPoint
.Decode(strm
))
3972 return UnknownExtensionsDecode(strm
);
3976 void H225_CallCreditServiceControl::Encode(PASN_Stream
& strm
) const
3978 PreambleEncode(strm
);
3980 if (HasOptionalField(e_amountString
))
3981 m_amountString
.Encode(strm
);
3982 if (HasOptionalField(e_billingMode
))
3983 m_billingMode
.Encode(strm
);
3984 if (HasOptionalField(e_callDurationLimit
))
3985 m_callDurationLimit
.Encode(strm
);
3986 if (HasOptionalField(e_enforceCallDurationLimit
))
3987 m_enforceCallDurationLimit
.Encode(strm
);
3988 if (HasOptionalField(e_callStartingPoint
))
3989 m_callStartingPoint
.Encode(strm
);
3991 UnknownExtensionsEncode(strm
);
3995 PObject
* H225_CallCreditServiceControl::Clone() const
3997 #ifndef PASN_LEANANDMEAN
3998 PAssert(IsClass(H225_CallCreditServiceControl::Class()), PInvalidCast
);
4000 return new H225_CallCreditServiceControl(*this);
4008 H225_GenericData::H225_GenericData(unsigned tag
, PASN_Object::TagClass tagClass
)
4009 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
4011 m_parameters
.SetConstraints(PASN_Object::FixedConstraint
, 1, 512);
4015 #ifndef PASN_NOPRINTON
4016 void H225_GenericData::PrintOn(ostream
& strm
) const
4018 int indent
= strm
.precision() + 2;
4020 strm
<< setw(indent
+5) << "id = " << setprecision(indent
) << m_id
<< '\n';
4021 if (HasOptionalField(e_parameters
))
4022 strm
<< setw(indent
+13) << "parameters = " << setprecision(indent
) << m_parameters
<< '\n';
4023 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4028 PObject::Comparison
H225_GenericData::Compare(const PObject
& obj
) const
4030 #ifndef PASN_LEANANDMEAN
4031 PAssert(PIsDescendant(&obj
, H225_GenericData
), PInvalidCast
);
4033 const H225_GenericData
& other
= (const H225_GenericData
&)obj
;
4037 if ((result
= m_id
.Compare(other
.m_id
)) != EqualTo
)
4039 if ((result
= m_parameters
.Compare(other
.m_parameters
)) != EqualTo
)
4042 return PASN_Sequence::Compare(other
);
4046 PINDEX
H225_GenericData::GetDataLength() const
4049 length
+= m_id
.GetObjectLength();
4050 if (HasOptionalField(e_parameters
))
4051 length
+= m_parameters
.GetObjectLength();
4056 BOOL
H225_GenericData::Decode(PASN_Stream
& strm
)
4058 if (!PreambleDecode(strm
))
4061 if (!m_id
.Decode(strm
))
4063 if (HasOptionalField(e_parameters
) && !m_parameters
.Decode(strm
))
4066 return UnknownExtensionsDecode(strm
);
4070 void H225_GenericData::Encode(PASN_Stream
& strm
) const
4072 PreambleEncode(strm
);
4075 if (HasOptionalField(e_parameters
))
4076 m_parameters
.Encode(strm
);
4078 UnknownExtensionsEncode(strm
);
4082 PObject
* H225_GenericData::Clone() const
4084 #ifndef PASN_LEANANDMEAN
4085 PAssert(IsClass(H225_GenericData::Class()), PInvalidCast
);
4087 return new H225_GenericData(*this);
4092 // EnumeratedParameter
4095 H225_EnumeratedParameter::H225_EnumeratedParameter(unsigned tag
, PASN_Object::TagClass tagClass
)
4096 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
4101 #ifndef PASN_NOPRINTON
4102 void H225_EnumeratedParameter::PrintOn(ostream
& strm
) const
4104 int indent
= strm
.precision() + 2;
4106 strm
<< setw(indent
+5) << "id = " << setprecision(indent
) << m_id
<< '\n';
4107 if (HasOptionalField(e_content
))
4108 strm
<< setw(indent
+10) << "content = " << setprecision(indent
) << m_content
<< '\n';
4109 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4114 PObject::Comparison
H225_EnumeratedParameter::Compare(const PObject
& obj
) const
4116 #ifndef PASN_LEANANDMEAN
4117 PAssert(PIsDescendant(&obj
, H225_EnumeratedParameter
), PInvalidCast
);
4119 const H225_EnumeratedParameter
& other
= (const H225_EnumeratedParameter
&)obj
;
4123 if ((result
= m_id
.Compare(other
.m_id
)) != EqualTo
)
4125 if ((result
= m_content
.Compare(other
.m_content
)) != EqualTo
)
4128 return PASN_Sequence::Compare(other
);
4132 PINDEX
H225_EnumeratedParameter::GetDataLength() const
4135 length
+= m_id
.GetObjectLength();
4136 if (HasOptionalField(e_content
))
4137 length
+= m_content
.GetObjectLength();
4142 BOOL
H225_EnumeratedParameter::Decode(PASN_Stream
& strm
)
4144 if (!PreambleDecode(strm
))
4147 if (!m_id
.Decode(strm
))
4149 if (HasOptionalField(e_content
) && !m_content
.Decode(strm
))
4152 return UnknownExtensionsDecode(strm
);
4156 void H225_EnumeratedParameter::Encode(PASN_Stream
& strm
) const
4158 PreambleEncode(strm
);
4161 if (HasOptionalField(e_content
))
4162 m_content
.Encode(strm
);
4164 UnknownExtensionsEncode(strm
);
4168 PObject
* H225_EnumeratedParameter::Clone() const
4170 #ifndef PASN_LEANANDMEAN
4171 PAssert(IsClass(H225_EnumeratedParameter::Class()), PInvalidCast
);
4173 return new H225_EnumeratedParameter(*this);
4181 H225_FeatureSet::H225_FeatureSet(unsigned tag
, PASN_Object::TagClass tagClass
)
4182 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
4187 #ifndef PASN_NOPRINTON
4188 void H225_FeatureSet::PrintOn(ostream
& strm
) const
4190 int indent
= strm
.precision() + 2;
4192 strm
<< setw(indent
+24) << "replacementFeatureSet = " << setprecision(indent
) << m_replacementFeatureSet
<< '\n';
4193 if (HasOptionalField(e_neededFeatures
))
4194 strm
<< setw(indent
+17) << "neededFeatures = " << setprecision(indent
) << m_neededFeatures
<< '\n';
4195 if (HasOptionalField(e_desiredFeatures
))
4196 strm
<< setw(indent
+18) << "desiredFeatures = " << setprecision(indent
) << m_desiredFeatures
<< '\n';
4197 if (HasOptionalField(e_supportedFeatures
))
4198 strm
<< setw(indent
+20) << "supportedFeatures = " << setprecision(indent
) << m_supportedFeatures
<< '\n';
4199 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4204 PObject::Comparison
H225_FeatureSet::Compare(const PObject
& obj
) const
4206 #ifndef PASN_LEANANDMEAN
4207 PAssert(PIsDescendant(&obj
, H225_FeatureSet
), PInvalidCast
);
4209 const H225_FeatureSet
& other
= (const H225_FeatureSet
&)obj
;
4213 if ((result
= m_replacementFeatureSet
.Compare(other
.m_replacementFeatureSet
)) != EqualTo
)
4215 if ((result
= m_neededFeatures
.Compare(other
.m_neededFeatures
)) != EqualTo
)
4217 if ((result
= m_desiredFeatures
.Compare(other
.m_desiredFeatures
)) != EqualTo
)
4219 if ((result
= m_supportedFeatures
.Compare(other
.m_supportedFeatures
)) != EqualTo
)
4222 return PASN_Sequence::Compare(other
);
4226 PINDEX
H225_FeatureSet::GetDataLength() const
4229 length
+= m_replacementFeatureSet
.GetObjectLength();
4230 if (HasOptionalField(e_neededFeatures
))
4231 length
+= m_neededFeatures
.GetObjectLength();
4232 if (HasOptionalField(e_desiredFeatures
))
4233 length
+= m_desiredFeatures
.GetObjectLength();
4234 if (HasOptionalField(e_supportedFeatures
))
4235 length
+= m_supportedFeatures
.GetObjectLength();
4240 BOOL
H225_FeatureSet::Decode(PASN_Stream
& strm
)
4242 if (!PreambleDecode(strm
))
4245 if (!m_replacementFeatureSet
.Decode(strm
))
4247 if (HasOptionalField(e_neededFeatures
) && !m_neededFeatures
.Decode(strm
))
4249 if (HasOptionalField(e_desiredFeatures
) && !m_desiredFeatures
.Decode(strm
))
4251 if (HasOptionalField(e_supportedFeatures
) && !m_supportedFeatures
.Decode(strm
))
4254 return UnknownExtensionsDecode(strm
);
4258 void H225_FeatureSet::Encode(PASN_Stream
& strm
) const
4260 PreambleEncode(strm
);
4262 m_replacementFeatureSet
.Encode(strm
);
4263 if (HasOptionalField(e_neededFeatures
))
4264 m_neededFeatures
.Encode(strm
);
4265 if (HasOptionalField(e_desiredFeatures
))
4266 m_desiredFeatures
.Encode(strm
);
4267 if (HasOptionalField(e_supportedFeatures
))
4268 m_supportedFeatures
.Encode(strm
);
4270 UnknownExtensionsEncode(strm
);
4274 PObject
* H225_FeatureSet::Clone() const
4276 #ifndef PASN_LEANANDMEAN
4277 PAssert(IsClass(H225_FeatureSet::Class()), PInvalidCast
);
4279 return new H225_FeatureSet(*this);
4287 H225_RTPSession::H225_RTPSession(unsigned tag
, PASN_Object::TagClass tagClass
)
4288 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 2)
4290 m_ssrc
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
4291 m_sessionId
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
4295 #ifndef PASN_NOPRINTON
4296 void H225_RTPSession::PrintOn(ostream
& strm
) const
4298 int indent
= strm
.precision() + 2;
4300 strm
<< setw(indent
+13) << "rtpAddress = " << setprecision(indent
) << m_rtpAddress
<< '\n';
4301 strm
<< setw(indent
+14) << "rtcpAddress = " << setprecision(indent
) << m_rtcpAddress
<< '\n';
4302 strm
<< setw(indent
+8) << "cname = " << setprecision(indent
) << m_cname
<< '\n';
4303 strm
<< setw(indent
+7) << "ssrc = " << setprecision(indent
) << m_ssrc
<< '\n';
4304 strm
<< setw(indent
+12) << "sessionId = " << setprecision(indent
) << m_sessionId
<< '\n';
4305 strm
<< setw(indent
+23) << "associatedSessionIds = " << setprecision(indent
) << m_associatedSessionIds
<< '\n';
4306 if (HasOptionalField(e_multicast
))
4307 strm
<< setw(indent
+12) << "multicast = " << setprecision(indent
) << m_multicast
<< '\n';
4308 if (HasOptionalField(e_bandwidth
))
4309 strm
<< setw(indent
+12) << "bandwidth = " << setprecision(indent
) << m_bandwidth
<< '\n';
4310 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4315 PObject::Comparison
H225_RTPSession::Compare(const PObject
& obj
) const
4317 #ifndef PASN_LEANANDMEAN
4318 PAssert(PIsDescendant(&obj
, H225_RTPSession
), PInvalidCast
);
4320 const H225_RTPSession
& other
= (const H225_RTPSession
&)obj
;
4324 if ((result
= m_rtpAddress
.Compare(other
.m_rtpAddress
)) != EqualTo
)
4326 if ((result
= m_rtcpAddress
.Compare(other
.m_rtcpAddress
)) != EqualTo
)
4328 if ((result
= m_cname
.Compare(other
.m_cname
)) != EqualTo
)
4330 if ((result
= m_ssrc
.Compare(other
.m_ssrc
)) != EqualTo
)
4332 if ((result
= m_sessionId
.Compare(other
.m_sessionId
)) != EqualTo
)
4334 if ((result
= m_associatedSessionIds
.Compare(other
.m_associatedSessionIds
)) != EqualTo
)
4337 return PASN_Sequence::Compare(other
);
4341 PINDEX
H225_RTPSession::GetDataLength() const
4344 length
+= m_rtpAddress
.GetObjectLength();
4345 length
+= m_rtcpAddress
.GetObjectLength();
4346 length
+= m_cname
.GetObjectLength();
4347 length
+= m_ssrc
.GetObjectLength();
4348 length
+= m_sessionId
.GetObjectLength();
4349 length
+= m_associatedSessionIds
.GetObjectLength();
4354 BOOL
H225_RTPSession::Decode(PASN_Stream
& strm
)
4356 if (!PreambleDecode(strm
))
4359 if (!m_rtpAddress
.Decode(strm
))
4361 if (!m_rtcpAddress
.Decode(strm
))
4363 if (!m_cname
.Decode(strm
))
4365 if (!m_ssrc
.Decode(strm
))
4367 if (!m_sessionId
.Decode(strm
))
4369 if (!m_associatedSessionIds
.Decode(strm
))
4371 if (!KnownExtensionDecode(strm
, e_multicast
, m_multicast
))
4373 if (!KnownExtensionDecode(strm
, e_bandwidth
, m_bandwidth
))
4376 return UnknownExtensionsDecode(strm
);
4380 void H225_RTPSession::Encode(PASN_Stream
& strm
) const
4382 PreambleEncode(strm
);
4384 m_rtpAddress
.Encode(strm
);
4385 m_rtcpAddress
.Encode(strm
);
4386 m_cname
.Encode(strm
);
4387 m_ssrc
.Encode(strm
);
4388 m_sessionId
.Encode(strm
);
4389 m_associatedSessionIds
.Encode(strm
);
4390 KnownExtensionEncode(strm
, e_multicast
, m_multicast
);
4391 KnownExtensionEncode(strm
, e_bandwidth
, m_bandwidth
);
4393 UnknownExtensionsEncode(strm
);
4397 PObject
* H225_RTPSession::Clone() const
4399 #ifndef PASN_LEANANDMEAN
4400 PAssert(IsClass(H225_RTPSession::Class()), PInvalidCast
);
4402 return new H225_RTPSession(*this);
4407 // GatekeeperConfirm
4410 H225_GatekeeperConfirm::H225_GatekeeperConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
4411 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 11)
4416 #ifndef PASN_NOPRINTON
4417 void H225_GatekeeperConfirm::PrintOn(ostream
& strm
) const
4419 int indent
= strm
.precision() + 2;
4421 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
4422 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
4423 if (HasOptionalField(e_nonStandardData
))
4424 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
4425 if (HasOptionalField(e_gatekeeperIdentifier
))
4426 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
4427 strm
<< setw(indent
+13) << "rasAddress = " << setprecision(indent
) << m_rasAddress
<< '\n';
4428 if (HasOptionalField(e_alternateGatekeeper
))
4429 strm
<< setw(indent
+22) << "alternateGatekeeper = " << setprecision(indent
) << m_alternateGatekeeper
<< '\n';
4430 if (HasOptionalField(e_authenticationMode
))
4431 strm
<< setw(indent
+21) << "authenticationMode = " << setprecision(indent
) << m_authenticationMode
<< '\n';
4432 if (HasOptionalField(e_tokens
))
4433 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
4434 if (HasOptionalField(e_cryptoTokens
))
4435 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
4436 if (HasOptionalField(e_algorithmOID
))
4437 strm
<< setw(indent
+15) << "algorithmOID = " << setprecision(indent
) << m_algorithmOID
<< '\n';
4438 if (HasOptionalField(e_integrity
))
4439 strm
<< setw(indent
+12) << "integrity = " << setprecision(indent
) << m_integrity
<< '\n';
4440 if (HasOptionalField(e_integrityCheckValue
))
4441 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
4442 if (HasOptionalField(e_featureSet
))
4443 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
4444 if (HasOptionalField(e_genericData
))
4445 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
4446 if (HasOptionalField(e_assignedGatekeeper
))
4447 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
4448 if (HasOptionalField(e_rehomingModel
))
4449 strm
<< setw(indent
+16) << "rehomingModel = " << setprecision(indent
) << m_rehomingModel
<< '\n';
4450 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4455 PObject::Comparison
H225_GatekeeperConfirm::Compare(const PObject
& obj
) const
4457 #ifndef PASN_LEANANDMEAN
4458 PAssert(PIsDescendant(&obj
, H225_GatekeeperConfirm
), PInvalidCast
);
4460 const H225_GatekeeperConfirm
& other
= (const H225_GatekeeperConfirm
&)obj
;
4464 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
4466 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
4468 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
4470 if ((result
= m_gatekeeperIdentifier
.Compare(other
.m_gatekeeperIdentifier
)) != EqualTo
)
4472 if ((result
= m_rasAddress
.Compare(other
.m_rasAddress
)) != EqualTo
)
4475 return PASN_Sequence::Compare(other
);
4479 PINDEX
H225_GatekeeperConfirm::GetDataLength() const
4482 length
+= m_requestSeqNum
.GetObjectLength();
4483 length
+= m_protocolIdentifier
.GetObjectLength();
4484 if (HasOptionalField(e_nonStandardData
))
4485 length
+= m_nonStandardData
.GetObjectLength();
4486 if (HasOptionalField(e_gatekeeperIdentifier
))
4487 length
+= m_gatekeeperIdentifier
.GetObjectLength();
4488 length
+= m_rasAddress
.GetObjectLength();
4493 BOOL
H225_GatekeeperConfirm::Decode(PASN_Stream
& strm
)
4495 if (!PreambleDecode(strm
))
4498 if (!m_requestSeqNum
.Decode(strm
))
4500 if (!m_protocolIdentifier
.Decode(strm
))
4502 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
4504 if (HasOptionalField(e_gatekeeperIdentifier
) && !m_gatekeeperIdentifier
.Decode(strm
))
4506 if (!m_rasAddress
.Decode(strm
))
4508 if (!KnownExtensionDecode(strm
, e_alternateGatekeeper
, m_alternateGatekeeper
))
4510 if (!KnownExtensionDecode(strm
, e_authenticationMode
, m_authenticationMode
))
4512 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
4514 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
4516 if (!KnownExtensionDecode(strm
, e_algorithmOID
, m_algorithmOID
))
4518 if (!KnownExtensionDecode(strm
, e_integrity
, m_integrity
))
4520 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
4522 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
4524 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
4526 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
4528 if (!KnownExtensionDecode(strm
, e_rehomingModel
, m_rehomingModel
))
4531 return UnknownExtensionsDecode(strm
);
4535 void H225_GatekeeperConfirm::Encode(PASN_Stream
& strm
) const
4537 PreambleEncode(strm
);
4539 m_requestSeqNum
.Encode(strm
);
4540 m_protocolIdentifier
.Encode(strm
);
4541 if (HasOptionalField(e_nonStandardData
))
4542 m_nonStandardData
.Encode(strm
);
4543 if (HasOptionalField(e_gatekeeperIdentifier
))
4544 m_gatekeeperIdentifier
.Encode(strm
);
4545 m_rasAddress
.Encode(strm
);
4546 KnownExtensionEncode(strm
, e_alternateGatekeeper
, m_alternateGatekeeper
);
4547 KnownExtensionEncode(strm
, e_authenticationMode
, m_authenticationMode
);
4548 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
4549 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
4550 KnownExtensionEncode(strm
, e_algorithmOID
, m_algorithmOID
);
4551 KnownExtensionEncode(strm
, e_integrity
, m_integrity
);
4552 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
4553 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
4554 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
4555 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
4556 KnownExtensionEncode(strm
, e_rehomingModel
, m_rehomingModel
);
4558 UnknownExtensionsEncode(strm
);
4562 PObject
* H225_GatekeeperConfirm::Clone() const
4564 #ifndef PASN_LEANANDMEAN
4565 PAssert(IsClass(H225_GatekeeperConfirm::Class()), PInvalidCast
);
4567 return new H225_GatekeeperConfirm(*this);
4575 H225_GatekeeperReject::H225_GatekeeperReject(unsigned tag
, PASN_Object::TagClass tagClass
)
4576 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 6)
4581 #ifndef PASN_NOPRINTON
4582 void H225_GatekeeperReject::PrintOn(ostream
& strm
) const
4584 int indent
= strm
.precision() + 2;
4586 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
4587 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
4588 if (HasOptionalField(e_nonStandardData
))
4589 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
4590 if (HasOptionalField(e_gatekeeperIdentifier
))
4591 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
4592 strm
<< setw(indent
+15) << "rejectReason = " << setprecision(indent
) << m_rejectReason
<< '\n';
4593 if (HasOptionalField(e_altGKInfo
))
4594 strm
<< setw(indent
+12) << "altGKInfo = " << setprecision(indent
) << m_altGKInfo
<< '\n';
4595 if (HasOptionalField(e_tokens
))
4596 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
4597 if (HasOptionalField(e_cryptoTokens
))
4598 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
4599 if (HasOptionalField(e_integrityCheckValue
))
4600 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
4601 if (HasOptionalField(e_featureSet
))
4602 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
4603 if (HasOptionalField(e_genericData
))
4604 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
4605 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4610 PObject::Comparison
H225_GatekeeperReject::Compare(const PObject
& obj
) const
4612 #ifndef PASN_LEANANDMEAN
4613 PAssert(PIsDescendant(&obj
, H225_GatekeeperReject
), PInvalidCast
);
4615 const H225_GatekeeperReject
& other
= (const H225_GatekeeperReject
&)obj
;
4619 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
4621 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
4623 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
4625 if ((result
= m_gatekeeperIdentifier
.Compare(other
.m_gatekeeperIdentifier
)) != EqualTo
)
4627 if ((result
= m_rejectReason
.Compare(other
.m_rejectReason
)) != EqualTo
)
4630 return PASN_Sequence::Compare(other
);
4634 PINDEX
H225_GatekeeperReject::GetDataLength() const
4637 length
+= m_requestSeqNum
.GetObjectLength();
4638 length
+= m_protocolIdentifier
.GetObjectLength();
4639 if (HasOptionalField(e_nonStandardData
))
4640 length
+= m_nonStandardData
.GetObjectLength();
4641 if (HasOptionalField(e_gatekeeperIdentifier
))
4642 length
+= m_gatekeeperIdentifier
.GetObjectLength();
4643 length
+= m_rejectReason
.GetObjectLength();
4648 BOOL
H225_GatekeeperReject::Decode(PASN_Stream
& strm
)
4650 if (!PreambleDecode(strm
))
4653 if (!m_requestSeqNum
.Decode(strm
))
4655 if (!m_protocolIdentifier
.Decode(strm
))
4657 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
4659 if (HasOptionalField(e_gatekeeperIdentifier
) && !m_gatekeeperIdentifier
.Decode(strm
))
4661 if (!m_rejectReason
.Decode(strm
))
4663 if (!KnownExtensionDecode(strm
, e_altGKInfo
, m_altGKInfo
))
4665 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
4667 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
4669 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
4671 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
4673 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
4676 return UnknownExtensionsDecode(strm
);
4680 void H225_GatekeeperReject::Encode(PASN_Stream
& strm
) const
4682 PreambleEncode(strm
);
4684 m_requestSeqNum
.Encode(strm
);
4685 m_protocolIdentifier
.Encode(strm
);
4686 if (HasOptionalField(e_nonStandardData
))
4687 m_nonStandardData
.Encode(strm
);
4688 if (HasOptionalField(e_gatekeeperIdentifier
))
4689 m_gatekeeperIdentifier
.Encode(strm
);
4690 m_rejectReason
.Encode(strm
);
4691 KnownExtensionEncode(strm
, e_altGKInfo
, m_altGKInfo
);
4692 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
4693 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
4694 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
4695 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
4696 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
4698 UnknownExtensionsEncode(strm
);
4702 PObject
* H225_GatekeeperReject::Clone() const
4704 #ifndef PASN_LEANANDMEAN
4705 PAssert(IsClass(H225_GatekeeperReject::Class()), PInvalidCast
);
4707 return new H225_GatekeeperReject(*this);
4712 // RegistrationReject
4715 H225_RegistrationReject::H225_RegistrationReject(unsigned tag
, PASN_Object::TagClass tagClass
)
4716 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 7)
4721 #ifndef PASN_NOPRINTON
4722 void H225_RegistrationReject::PrintOn(ostream
& strm
) const
4724 int indent
= strm
.precision() + 2;
4726 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
4727 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
4728 if (HasOptionalField(e_nonStandardData
))
4729 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
4730 strm
<< setw(indent
+15) << "rejectReason = " << setprecision(indent
) << m_rejectReason
<< '\n';
4731 if (HasOptionalField(e_gatekeeperIdentifier
))
4732 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
4733 if (HasOptionalField(e_altGKInfo
))
4734 strm
<< setw(indent
+12) << "altGKInfo = " << setprecision(indent
) << m_altGKInfo
<< '\n';
4735 if (HasOptionalField(e_tokens
))
4736 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
4737 if (HasOptionalField(e_cryptoTokens
))
4738 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
4739 if (HasOptionalField(e_integrityCheckValue
))
4740 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
4741 if (HasOptionalField(e_featureSet
))
4742 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
4743 if (HasOptionalField(e_genericData
))
4744 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
4745 if (HasOptionalField(e_assignedGatekeeper
))
4746 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
4747 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4752 PObject::Comparison
H225_RegistrationReject::Compare(const PObject
& obj
) const
4754 #ifndef PASN_LEANANDMEAN
4755 PAssert(PIsDescendant(&obj
, H225_RegistrationReject
), PInvalidCast
);
4757 const H225_RegistrationReject
& other
= (const H225_RegistrationReject
&)obj
;
4761 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
4763 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
4765 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
4767 if ((result
= m_rejectReason
.Compare(other
.m_rejectReason
)) != EqualTo
)
4769 if ((result
= m_gatekeeperIdentifier
.Compare(other
.m_gatekeeperIdentifier
)) != EqualTo
)
4772 return PASN_Sequence::Compare(other
);
4776 PINDEX
H225_RegistrationReject::GetDataLength() const
4779 length
+= m_requestSeqNum
.GetObjectLength();
4780 length
+= m_protocolIdentifier
.GetObjectLength();
4781 if (HasOptionalField(e_nonStandardData
))
4782 length
+= m_nonStandardData
.GetObjectLength();
4783 length
+= m_rejectReason
.GetObjectLength();
4784 if (HasOptionalField(e_gatekeeperIdentifier
))
4785 length
+= m_gatekeeperIdentifier
.GetObjectLength();
4790 BOOL
H225_RegistrationReject::Decode(PASN_Stream
& strm
)
4792 if (!PreambleDecode(strm
))
4795 if (!m_requestSeqNum
.Decode(strm
))
4797 if (!m_protocolIdentifier
.Decode(strm
))
4799 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
4801 if (!m_rejectReason
.Decode(strm
))
4803 if (HasOptionalField(e_gatekeeperIdentifier
) && !m_gatekeeperIdentifier
.Decode(strm
))
4805 if (!KnownExtensionDecode(strm
, e_altGKInfo
, m_altGKInfo
))
4807 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
4809 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
4811 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
4813 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
4815 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
4817 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
4820 return UnknownExtensionsDecode(strm
);
4824 void H225_RegistrationReject::Encode(PASN_Stream
& strm
) const
4826 PreambleEncode(strm
);
4828 m_requestSeqNum
.Encode(strm
);
4829 m_protocolIdentifier
.Encode(strm
);
4830 if (HasOptionalField(e_nonStandardData
))
4831 m_nonStandardData
.Encode(strm
);
4832 m_rejectReason
.Encode(strm
);
4833 if (HasOptionalField(e_gatekeeperIdentifier
))
4834 m_gatekeeperIdentifier
.Encode(strm
);
4835 KnownExtensionEncode(strm
, e_altGKInfo
, m_altGKInfo
);
4836 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
4837 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
4838 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
4839 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
4840 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
4841 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
4843 UnknownExtensionsEncode(strm
);
4847 PObject
* H225_RegistrationReject::Clone() const
4849 #ifndef PASN_LEANANDMEAN
4850 PAssert(IsClass(H225_RegistrationReject::Class()), PInvalidCast
);
4852 return new H225_RegistrationReject(*this);
4857 // UnregistrationRequest
4860 H225_UnregistrationRequest::H225_UnregistrationRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
4861 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 11)
4866 #ifndef PASN_NOPRINTON
4867 void H225_UnregistrationRequest::PrintOn(ostream
& strm
) const
4869 int indent
= strm
.precision() + 2;
4871 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
4872 strm
<< setw(indent
+20) << "callSignalAddress = " << setprecision(indent
) << m_callSignalAddress
<< '\n';
4873 if (HasOptionalField(e_endpointAlias
))
4874 strm
<< setw(indent
+16) << "endpointAlias = " << setprecision(indent
) << m_endpointAlias
<< '\n';
4875 if (HasOptionalField(e_nonStandardData
))
4876 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
4877 if (HasOptionalField(e_endpointIdentifier
))
4878 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
4879 if (HasOptionalField(e_alternateEndpoints
))
4880 strm
<< setw(indent
+21) << "alternateEndpoints = " << setprecision(indent
) << m_alternateEndpoints
<< '\n';
4881 if (HasOptionalField(e_gatekeeperIdentifier
))
4882 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
4883 if (HasOptionalField(e_tokens
))
4884 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
4885 if (HasOptionalField(e_cryptoTokens
))
4886 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
4887 if (HasOptionalField(e_integrityCheckValue
))
4888 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
4889 if (HasOptionalField(e_reason
))
4890 strm
<< setw(indent
+9) << "reason = " << setprecision(indent
) << m_reason
<< '\n';
4891 if (HasOptionalField(e_endpointAliasPattern
))
4892 strm
<< setw(indent
+23) << "endpointAliasPattern = " << setprecision(indent
) << m_endpointAliasPattern
<< '\n';
4893 if (HasOptionalField(e_supportedPrefixes
))
4894 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
4895 if (HasOptionalField(e_alternateGatekeeper
))
4896 strm
<< setw(indent
+22) << "alternateGatekeeper = " << setprecision(indent
) << m_alternateGatekeeper
<< '\n';
4897 if (HasOptionalField(e_genericData
))
4898 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
4899 if (HasOptionalField(e_assignedGatekeeper
))
4900 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
4901 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4906 PObject::Comparison
H225_UnregistrationRequest::Compare(const PObject
& obj
) const
4908 #ifndef PASN_LEANANDMEAN
4909 PAssert(PIsDescendant(&obj
, H225_UnregistrationRequest
), PInvalidCast
);
4911 const H225_UnregistrationRequest
& other
= (const H225_UnregistrationRequest
&)obj
;
4915 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
4917 if ((result
= m_callSignalAddress
.Compare(other
.m_callSignalAddress
)) != EqualTo
)
4919 if ((result
= m_endpointAlias
.Compare(other
.m_endpointAlias
)) != EqualTo
)
4921 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
4923 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
4926 return PASN_Sequence::Compare(other
);
4930 PINDEX
H225_UnregistrationRequest::GetDataLength() const
4933 length
+= m_requestSeqNum
.GetObjectLength();
4934 length
+= m_callSignalAddress
.GetObjectLength();
4935 if (HasOptionalField(e_endpointAlias
))
4936 length
+= m_endpointAlias
.GetObjectLength();
4937 if (HasOptionalField(e_nonStandardData
))
4938 length
+= m_nonStandardData
.GetObjectLength();
4939 if (HasOptionalField(e_endpointIdentifier
))
4940 length
+= m_endpointIdentifier
.GetObjectLength();
4945 BOOL
H225_UnregistrationRequest::Decode(PASN_Stream
& strm
)
4947 if (!PreambleDecode(strm
))
4950 if (!m_requestSeqNum
.Decode(strm
))
4952 if (!m_callSignalAddress
.Decode(strm
))
4954 if (HasOptionalField(e_endpointAlias
) && !m_endpointAlias
.Decode(strm
))
4956 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
4958 if (HasOptionalField(e_endpointIdentifier
) && !m_endpointIdentifier
.Decode(strm
))
4960 if (!KnownExtensionDecode(strm
, e_alternateEndpoints
, m_alternateEndpoints
))
4962 if (!KnownExtensionDecode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
))
4964 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
4966 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
4968 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
4970 if (!KnownExtensionDecode(strm
, e_reason
, m_reason
))
4972 if (!KnownExtensionDecode(strm
, e_endpointAliasPattern
, m_endpointAliasPattern
))
4974 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
4976 if (!KnownExtensionDecode(strm
, e_alternateGatekeeper
, m_alternateGatekeeper
))
4978 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
4980 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
4983 return UnknownExtensionsDecode(strm
);
4987 void H225_UnregistrationRequest::Encode(PASN_Stream
& strm
) const
4989 PreambleEncode(strm
);
4991 m_requestSeqNum
.Encode(strm
);
4992 m_callSignalAddress
.Encode(strm
);
4993 if (HasOptionalField(e_endpointAlias
))
4994 m_endpointAlias
.Encode(strm
);
4995 if (HasOptionalField(e_nonStandardData
))
4996 m_nonStandardData
.Encode(strm
);
4997 if (HasOptionalField(e_endpointIdentifier
))
4998 m_endpointIdentifier
.Encode(strm
);
4999 KnownExtensionEncode(strm
, e_alternateEndpoints
, m_alternateEndpoints
);
5000 KnownExtensionEncode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
);
5001 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
5002 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
5003 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
5004 KnownExtensionEncode(strm
, e_reason
, m_reason
);
5005 KnownExtensionEncode(strm
, e_endpointAliasPattern
, m_endpointAliasPattern
);
5006 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
5007 KnownExtensionEncode(strm
, e_alternateGatekeeper
, m_alternateGatekeeper
);
5008 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
5009 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
5011 UnknownExtensionsEncode(strm
);
5015 PObject
* H225_UnregistrationRequest::Clone() const
5017 #ifndef PASN_LEANANDMEAN
5018 PAssert(IsClass(H225_UnregistrationRequest::Class()), PInvalidCast
);
5020 return new H225_UnregistrationRequest(*this);
5025 // UnregistrationConfirm
5028 H225_UnregistrationConfirm::H225_UnregistrationConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
5029 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 5)
5034 #ifndef PASN_NOPRINTON
5035 void H225_UnregistrationConfirm::PrintOn(ostream
& strm
) const
5037 int indent
= strm
.precision() + 2;
5039 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
5040 if (HasOptionalField(e_nonStandardData
))
5041 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
5042 if (HasOptionalField(e_tokens
))
5043 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
5044 if (HasOptionalField(e_cryptoTokens
))
5045 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
5046 if (HasOptionalField(e_integrityCheckValue
))
5047 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
5048 if (HasOptionalField(e_genericData
))
5049 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
5050 if (HasOptionalField(e_assignedGatekeeper
))
5051 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
5052 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5057 PObject::Comparison
H225_UnregistrationConfirm::Compare(const PObject
& obj
) const
5059 #ifndef PASN_LEANANDMEAN
5060 PAssert(PIsDescendant(&obj
, H225_UnregistrationConfirm
), PInvalidCast
);
5062 const H225_UnregistrationConfirm
& other
= (const H225_UnregistrationConfirm
&)obj
;
5066 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
5068 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
5071 return PASN_Sequence::Compare(other
);
5075 PINDEX
H225_UnregistrationConfirm::GetDataLength() const
5078 length
+= m_requestSeqNum
.GetObjectLength();
5079 if (HasOptionalField(e_nonStandardData
))
5080 length
+= m_nonStandardData
.GetObjectLength();
5085 BOOL
H225_UnregistrationConfirm::Decode(PASN_Stream
& strm
)
5087 if (!PreambleDecode(strm
))
5090 if (!m_requestSeqNum
.Decode(strm
))
5092 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
5094 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
5096 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
5098 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
5100 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
5102 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
5105 return UnknownExtensionsDecode(strm
);
5109 void H225_UnregistrationConfirm::Encode(PASN_Stream
& strm
) const
5111 PreambleEncode(strm
);
5113 m_requestSeqNum
.Encode(strm
);
5114 if (HasOptionalField(e_nonStandardData
))
5115 m_nonStandardData
.Encode(strm
);
5116 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
5117 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
5118 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
5119 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
5120 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
5122 UnknownExtensionsEncode(strm
);
5126 PObject
* H225_UnregistrationConfirm::Clone() const
5128 #ifndef PASN_LEANANDMEAN
5129 PAssert(IsClass(H225_UnregistrationConfirm::Class()), PInvalidCast
);
5131 return new H225_UnregistrationConfirm(*this);
5136 // UnregistrationReject
5139 H225_UnregistrationReject::H225_UnregistrationReject(unsigned tag
, PASN_Object::TagClass tagClass
)
5140 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 5)
5145 #ifndef PASN_NOPRINTON
5146 void H225_UnregistrationReject::PrintOn(ostream
& strm
) const
5148 int indent
= strm
.precision() + 2;
5150 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
5151 strm
<< setw(indent
+15) << "rejectReason = " << setprecision(indent
) << m_rejectReason
<< '\n';
5152 if (HasOptionalField(e_nonStandardData
))
5153 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
5154 if (HasOptionalField(e_altGKInfo
))
5155 strm
<< setw(indent
+12) << "altGKInfo = " << setprecision(indent
) << m_altGKInfo
<< '\n';
5156 if (HasOptionalField(e_tokens
))
5157 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
5158 if (HasOptionalField(e_cryptoTokens
))
5159 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
5160 if (HasOptionalField(e_integrityCheckValue
))
5161 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
5162 if (HasOptionalField(e_genericData
))
5163 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
5164 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5169 PObject::Comparison
H225_UnregistrationReject::Compare(const PObject
& obj
) const
5171 #ifndef PASN_LEANANDMEAN
5172 PAssert(PIsDescendant(&obj
, H225_UnregistrationReject
), PInvalidCast
);
5174 const H225_UnregistrationReject
& other
= (const H225_UnregistrationReject
&)obj
;
5178 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
5180 if ((result
= m_rejectReason
.Compare(other
.m_rejectReason
)) != EqualTo
)
5182 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
5185 return PASN_Sequence::Compare(other
);
5189 PINDEX
H225_UnregistrationReject::GetDataLength() const
5192 length
+= m_requestSeqNum
.GetObjectLength();
5193 length
+= m_rejectReason
.GetObjectLength();
5194 if (HasOptionalField(e_nonStandardData
))
5195 length
+= m_nonStandardData
.GetObjectLength();
5200 BOOL
H225_UnregistrationReject::Decode(PASN_Stream
& strm
)
5202 if (!PreambleDecode(strm
))
5205 if (!m_requestSeqNum
.Decode(strm
))
5207 if (!m_rejectReason
.Decode(strm
))
5209 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
5211 if (!KnownExtensionDecode(strm
, e_altGKInfo
, m_altGKInfo
))
5213 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
5215 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
5217 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
5219 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
5222 return UnknownExtensionsDecode(strm
);
5226 void H225_UnregistrationReject::Encode(PASN_Stream
& strm
) const
5228 PreambleEncode(strm
);
5230 m_requestSeqNum
.Encode(strm
);
5231 m_rejectReason
.Encode(strm
);
5232 if (HasOptionalField(e_nonStandardData
))
5233 m_nonStandardData
.Encode(strm
);
5234 KnownExtensionEncode(strm
, e_altGKInfo
, m_altGKInfo
);
5235 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
5236 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
5237 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
5238 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
5240 UnknownExtensionsEncode(strm
);
5244 PObject
* H225_UnregistrationReject::Clone() const
5246 #ifndef PASN_LEANANDMEAN
5247 PAssert(IsClass(H225_UnregistrationReject::Class()), PInvalidCast
);
5249 return new H225_UnregistrationReject(*this);
5257 H225_AdmissionReject::H225_AdmissionReject(unsigned tag
, PASN_Object::TagClass tagClass
)
5258 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 9)
5263 #ifndef PASN_NOPRINTON
5264 void H225_AdmissionReject::PrintOn(ostream
& strm
) const
5266 int indent
= strm
.precision() + 2;
5268 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
5269 strm
<< setw(indent
+15) << "rejectReason = " << setprecision(indent
) << m_rejectReason
<< '\n';
5270 if (HasOptionalField(e_nonStandardData
))
5271 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
5272 if (HasOptionalField(e_altGKInfo
))
5273 strm
<< setw(indent
+12) << "altGKInfo = " << setprecision(indent
) << m_altGKInfo
<< '\n';
5274 if (HasOptionalField(e_tokens
))
5275 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
5276 if (HasOptionalField(e_cryptoTokens
))
5277 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
5278 if (HasOptionalField(e_callSignalAddress
))
5279 strm
<< setw(indent
+20) << "callSignalAddress = " << setprecision(indent
) << m_callSignalAddress
<< '\n';
5280 if (HasOptionalField(e_integrityCheckValue
))
5281 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
5282 if (HasOptionalField(e_serviceControl
))
5283 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
5284 if (HasOptionalField(e_featureSet
))
5285 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
5286 if (HasOptionalField(e_genericData
))
5287 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
5288 if (HasOptionalField(e_assignedGatekeeper
))
5289 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
5290 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5295 PObject::Comparison
H225_AdmissionReject::Compare(const PObject
& obj
) const
5297 #ifndef PASN_LEANANDMEAN
5298 PAssert(PIsDescendant(&obj
, H225_AdmissionReject
), PInvalidCast
);
5300 const H225_AdmissionReject
& other
= (const H225_AdmissionReject
&)obj
;
5304 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
5306 if ((result
= m_rejectReason
.Compare(other
.m_rejectReason
)) != EqualTo
)
5308 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
5311 return PASN_Sequence::Compare(other
);
5315 PINDEX
H225_AdmissionReject::GetDataLength() const
5318 length
+= m_requestSeqNum
.GetObjectLength();
5319 length
+= m_rejectReason
.GetObjectLength();
5320 if (HasOptionalField(e_nonStandardData
))
5321 length
+= m_nonStandardData
.GetObjectLength();
5326 BOOL
H225_AdmissionReject::Decode(PASN_Stream
& strm
)
5328 if (!PreambleDecode(strm
))
5331 if (!m_requestSeqNum
.Decode(strm
))
5333 if (!m_rejectReason
.Decode(strm
))
5335 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
5337 if (!KnownExtensionDecode(strm
, e_altGKInfo
, m_altGKInfo
))
5339 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
5341 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
5343 if (!KnownExtensionDecode(strm
, e_callSignalAddress
, m_callSignalAddress
))
5345 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
5347 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
5349 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
5351 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
5353 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
5356 return UnknownExtensionsDecode(strm
);
5360 void H225_AdmissionReject::Encode(PASN_Stream
& strm
) const
5362 PreambleEncode(strm
);
5364 m_requestSeqNum
.Encode(strm
);
5365 m_rejectReason
.Encode(strm
);
5366 if (HasOptionalField(e_nonStandardData
))
5367 m_nonStandardData
.Encode(strm
);
5368 KnownExtensionEncode(strm
, e_altGKInfo
, m_altGKInfo
);
5369 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
5370 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
5371 KnownExtensionEncode(strm
, e_callSignalAddress
, m_callSignalAddress
);
5372 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
5373 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
5374 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
5375 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
5376 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
5378 UnknownExtensionsEncode(strm
);
5382 PObject
* H225_AdmissionReject::Clone() const
5384 #ifndef PASN_LEANANDMEAN
5385 PAssert(IsClass(H225_AdmissionReject::Class()), PInvalidCast
);
5387 return new H225_AdmissionReject(*this);
5395 H225_BandwidthReject::H225_BandwidthReject(unsigned tag
, PASN_Object::TagClass tagClass
)
5396 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 5)
5401 #ifndef PASN_NOPRINTON
5402 void H225_BandwidthReject::PrintOn(ostream
& strm
) const
5404 int indent
= strm
.precision() + 2;
5406 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
5407 strm
<< setw(indent
+15) << "rejectReason = " << setprecision(indent
) << m_rejectReason
<< '\n';
5408 strm
<< setw(indent
+19) << "allowedBandWidth = " << setprecision(indent
) << m_allowedBandWidth
<< '\n';
5409 if (HasOptionalField(e_nonStandardData
))
5410 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
5411 if (HasOptionalField(e_altGKInfo
))
5412 strm
<< setw(indent
+12) << "altGKInfo = " << setprecision(indent
) << m_altGKInfo
<< '\n';
5413 if (HasOptionalField(e_tokens
))
5414 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
5415 if (HasOptionalField(e_cryptoTokens
))
5416 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
5417 if (HasOptionalField(e_integrityCheckValue
))
5418 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
5419 if (HasOptionalField(e_genericData
))
5420 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
5421 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5426 PObject::Comparison
H225_BandwidthReject::Compare(const PObject
& obj
) const
5428 #ifndef PASN_LEANANDMEAN
5429 PAssert(PIsDescendant(&obj
, H225_BandwidthReject
), PInvalidCast
);
5431 const H225_BandwidthReject
& other
= (const H225_BandwidthReject
&)obj
;
5435 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
5437 if ((result
= m_rejectReason
.Compare(other
.m_rejectReason
)) != EqualTo
)
5439 if ((result
= m_allowedBandWidth
.Compare(other
.m_allowedBandWidth
)) != EqualTo
)
5441 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
5444 return PASN_Sequence::Compare(other
);
5448 PINDEX
H225_BandwidthReject::GetDataLength() const
5451 length
+= m_requestSeqNum
.GetObjectLength();
5452 length
+= m_rejectReason
.GetObjectLength();
5453 length
+= m_allowedBandWidth
.GetObjectLength();
5454 if (HasOptionalField(e_nonStandardData
))
5455 length
+= m_nonStandardData
.GetObjectLength();
5460 BOOL
H225_BandwidthReject::Decode(PASN_Stream
& strm
)
5462 if (!PreambleDecode(strm
))
5465 if (!m_requestSeqNum
.Decode(strm
))
5467 if (!m_rejectReason
.Decode(strm
))
5469 if (!m_allowedBandWidth
.Decode(strm
))
5471 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
5473 if (!KnownExtensionDecode(strm
, e_altGKInfo
, m_altGKInfo
))
5475 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
5477 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
5479 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
5481 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
5484 return UnknownExtensionsDecode(strm
);
5488 void H225_BandwidthReject::Encode(PASN_Stream
& strm
) const
5490 PreambleEncode(strm
);
5492 m_requestSeqNum
.Encode(strm
);
5493 m_rejectReason
.Encode(strm
);
5494 m_allowedBandWidth
.Encode(strm
);
5495 if (HasOptionalField(e_nonStandardData
))
5496 m_nonStandardData
.Encode(strm
);
5497 KnownExtensionEncode(strm
, e_altGKInfo
, m_altGKInfo
);
5498 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
5499 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
5500 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
5501 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
5503 UnknownExtensionsEncode(strm
);
5507 PObject
* H225_BandwidthReject::Clone() const
5509 #ifndef PASN_LEANANDMEAN
5510 PAssert(IsClass(H225_BandwidthReject::Class()), PInvalidCast
);
5512 return new H225_BandwidthReject(*this);
5520 H225_LocationReject::H225_LocationReject(unsigned tag
, PASN_Object::TagClass tagClass
)
5521 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 7)
5526 #ifndef PASN_NOPRINTON
5527 void H225_LocationReject::PrintOn(ostream
& strm
) const
5529 int indent
= strm
.precision() + 2;
5531 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
5532 strm
<< setw(indent
+15) << "rejectReason = " << setprecision(indent
) << m_rejectReason
<< '\n';
5533 if (HasOptionalField(e_nonStandardData
))
5534 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
5535 if (HasOptionalField(e_altGKInfo
))
5536 strm
<< setw(indent
+12) << "altGKInfo = " << setprecision(indent
) << m_altGKInfo
<< '\n';
5537 if (HasOptionalField(e_tokens
))
5538 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
5539 if (HasOptionalField(e_cryptoTokens
))
5540 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
5541 if (HasOptionalField(e_integrityCheckValue
))
5542 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
5543 if (HasOptionalField(e_featureSet
))
5544 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
5545 if (HasOptionalField(e_genericData
))
5546 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
5547 if (HasOptionalField(e_serviceControl
))
5548 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
5549 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5554 PObject::Comparison
H225_LocationReject::Compare(const PObject
& obj
) const
5556 #ifndef PASN_LEANANDMEAN
5557 PAssert(PIsDescendant(&obj
, H225_LocationReject
), PInvalidCast
);
5559 const H225_LocationReject
& other
= (const H225_LocationReject
&)obj
;
5563 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
5565 if ((result
= m_rejectReason
.Compare(other
.m_rejectReason
)) != EqualTo
)
5567 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
5570 return PASN_Sequence::Compare(other
);
5574 PINDEX
H225_LocationReject::GetDataLength() const
5577 length
+= m_requestSeqNum
.GetObjectLength();
5578 length
+= m_rejectReason
.GetObjectLength();
5579 if (HasOptionalField(e_nonStandardData
))
5580 length
+= m_nonStandardData
.GetObjectLength();
5585 BOOL
H225_LocationReject::Decode(PASN_Stream
& strm
)
5587 if (!PreambleDecode(strm
))
5590 if (!m_requestSeqNum
.Decode(strm
))
5592 if (!m_rejectReason
.Decode(strm
))
5594 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
5596 if (!KnownExtensionDecode(strm
, e_altGKInfo
, m_altGKInfo
))
5598 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
5600 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
5602 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
5604 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
5606 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
5608 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
5611 return UnknownExtensionsDecode(strm
);
5615 void H225_LocationReject::Encode(PASN_Stream
& strm
) const
5617 PreambleEncode(strm
);
5619 m_requestSeqNum
.Encode(strm
);
5620 m_rejectReason
.Encode(strm
);
5621 if (HasOptionalField(e_nonStandardData
))
5622 m_nonStandardData
.Encode(strm
);
5623 KnownExtensionEncode(strm
, e_altGKInfo
, m_altGKInfo
);
5624 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
5625 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
5626 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
5627 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
5628 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
5629 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
5631 UnknownExtensionsEncode(strm
);
5635 PObject
* H225_LocationReject::Clone() const
5637 #ifndef PASN_LEANANDMEAN
5638 PAssert(IsClass(H225_LocationReject::Class()), PInvalidCast
);
5640 return new H225_LocationReject(*this);
5648 H225_DisengageReject::H225_DisengageReject(unsigned tag
, PASN_Object::TagClass tagClass
)
5649 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 5)
5654 #ifndef PASN_NOPRINTON
5655 void H225_DisengageReject::PrintOn(ostream
& strm
) const
5657 int indent
= strm
.precision() + 2;
5659 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
5660 strm
<< setw(indent
+15) << "rejectReason = " << setprecision(indent
) << m_rejectReason
<< '\n';
5661 if (HasOptionalField(e_nonStandardData
))
5662 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
5663 if (HasOptionalField(e_altGKInfo
))
5664 strm
<< setw(indent
+12) << "altGKInfo = " << setprecision(indent
) << m_altGKInfo
<< '\n';
5665 if (HasOptionalField(e_tokens
))
5666 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
5667 if (HasOptionalField(e_cryptoTokens
))
5668 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
5669 if (HasOptionalField(e_integrityCheckValue
))
5670 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
5671 if (HasOptionalField(e_genericData
))
5672 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
5673 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5678 PObject::Comparison
H225_DisengageReject::Compare(const PObject
& obj
) const
5680 #ifndef PASN_LEANANDMEAN
5681 PAssert(PIsDescendant(&obj
, H225_DisengageReject
), PInvalidCast
);
5683 const H225_DisengageReject
& other
= (const H225_DisengageReject
&)obj
;
5687 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
5689 if ((result
= m_rejectReason
.Compare(other
.m_rejectReason
)) != EqualTo
)
5691 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
5694 return PASN_Sequence::Compare(other
);
5698 PINDEX
H225_DisengageReject::GetDataLength() const
5701 length
+= m_requestSeqNum
.GetObjectLength();
5702 length
+= m_rejectReason
.GetObjectLength();
5703 if (HasOptionalField(e_nonStandardData
))
5704 length
+= m_nonStandardData
.GetObjectLength();
5709 BOOL
H225_DisengageReject::Decode(PASN_Stream
& strm
)
5711 if (!PreambleDecode(strm
))
5714 if (!m_requestSeqNum
.Decode(strm
))
5716 if (!m_rejectReason
.Decode(strm
))
5718 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
5720 if (!KnownExtensionDecode(strm
, e_altGKInfo
, m_altGKInfo
))
5722 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
5724 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
5726 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
5728 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
5731 return UnknownExtensionsDecode(strm
);
5735 void H225_DisengageReject::Encode(PASN_Stream
& strm
) const
5737 PreambleEncode(strm
);
5739 m_requestSeqNum
.Encode(strm
);
5740 m_rejectReason
.Encode(strm
);
5741 if (HasOptionalField(e_nonStandardData
))
5742 m_nonStandardData
.Encode(strm
);
5743 KnownExtensionEncode(strm
, e_altGKInfo
, m_altGKInfo
);
5744 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
5745 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
5746 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
5747 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
5749 UnknownExtensionsEncode(strm
);
5753 PObject
* H225_DisengageReject::Clone() const
5755 #ifndef PASN_LEANANDMEAN
5756 PAssert(IsClass(H225_DisengageReject::Class()), PInvalidCast
);
5758 return new H225_DisengageReject(*this);
5766 H225_InfoRequest::H225_InfoRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
5767 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 12)
5769 IncludeOptionalField(e_callIdentifier
);
5770 m_nextSegmentRequested
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
5774 #ifndef PASN_NOPRINTON
5775 void H225_InfoRequest::PrintOn(ostream
& strm
) const
5777 int indent
= strm
.precision() + 2;
5779 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
5780 strm
<< setw(indent
+21) << "callReferenceValue = " << setprecision(indent
) << m_callReferenceValue
<< '\n';
5781 if (HasOptionalField(e_nonStandardData
))
5782 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
5783 if (HasOptionalField(e_replyAddress
))
5784 strm
<< setw(indent
+15) << "replyAddress = " << setprecision(indent
) << m_replyAddress
<< '\n';
5785 if (HasOptionalField(e_callIdentifier
))
5786 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
5787 if (HasOptionalField(e_tokens
))
5788 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
5789 if (HasOptionalField(e_cryptoTokens
))
5790 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
5791 if (HasOptionalField(e_integrityCheckValue
))
5792 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
5793 if (HasOptionalField(e_uuiesRequested
))
5794 strm
<< setw(indent
+17) << "uuiesRequested = " << setprecision(indent
) << m_uuiesRequested
<< '\n';
5795 if (HasOptionalField(e_callLinkage
))
5796 strm
<< setw(indent
+14) << "callLinkage = " << setprecision(indent
) << m_callLinkage
<< '\n';
5797 if (HasOptionalField(e_usageInfoRequested
))
5798 strm
<< setw(indent
+21) << "usageInfoRequested = " << setprecision(indent
) << m_usageInfoRequested
<< '\n';
5799 if (HasOptionalField(e_segmentedResponseSupported
))
5800 strm
<< setw(indent
+29) << "segmentedResponseSupported = " << setprecision(indent
) << m_segmentedResponseSupported
<< '\n';
5801 if (HasOptionalField(e_nextSegmentRequested
))
5802 strm
<< setw(indent
+23) << "nextSegmentRequested = " << setprecision(indent
) << m_nextSegmentRequested
<< '\n';
5803 if (HasOptionalField(e_capacityInfoRequested
))
5804 strm
<< setw(indent
+24) << "capacityInfoRequested = " << setprecision(indent
) << m_capacityInfoRequested
<< '\n';
5805 if (HasOptionalField(e_genericData
))
5806 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
5807 if (HasOptionalField(e_assignedGatekeeper
))
5808 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
5809 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5814 PObject::Comparison
H225_InfoRequest::Compare(const PObject
& obj
) const
5816 #ifndef PASN_LEANANDMEAN
5817 PAssert(PIsDescendant(&obj
, H225_InfoRequest
), PInvalidCast
);
5819 const H225_InfoRequest
& other
= (const H225_InfoRequest
&)obj
;
5823 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
5825 if ((result
= m_callReferenceValue
.Compare(other
.m_callReferenceValue
)) != EqualTo
)
5827 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
5829 if ((result
= m_replyAddress
.Compare(other
.m_replyAddress
)) != EqualTo
)
5832 return PASN_Sequence::Compare(other
);
5836 PINDEX
H225_InfoRequest::GetDataLength() const
5839 length
+= m_requestSeqNum
.GetObjectLength();
5840 length
+= m_callReferenceValue
.GetObjectLength();
5841 if (HasOptionalField(e_nonStandardData
))
5842 length
+= m_nonStandardData
.GetObjectLength();
5843 if (HasOptionalField(e_replyAddress
))
5844 length
+= m_replyAddress
.GetObjectLength();
5849 BOOL
H225_InfoRequest::Decode(PASN_Stream
& strm
)
5851 if (!PreambleDecode(strm
))
5854 if (!m_requestSeqNum
.Decode(strm
))
5856 if (!m_callReferenceValue
.Decode(strm
))
5858 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
5860 if (HasOptionalField(e_replyAddress
) && !m_replyAddress
.Decode(strm
))
5862 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
5864 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
5866 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
5868 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
5870 if (!KnownExtensionDecode(strm
, e_uuiesRequested
, m_uuiesRequested
))
5872 if (!KnownExtensionDecode(strm
, e_callLinkage
, m_callLinkage
))
5874 if (!KnownExtensionDecode(strm
, e_usageInfoRequested
, m_usageInfoRequested
))
5876 if (!KnownExtensionDecode(strm
, e_segmentedResponseSupported
, m_segmentedResponseSupported
))
5878 if (!KnownExtensionDecode(strm
, e_nextSegmentRequested
, m_nextSegmentRequested
))
5880 if (!KnownExtensionDecode(strm
, e_capacityInfoRequested
, m_capacityInfoRequested
))
5882 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
5884 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
5887 return UnknownExtensionsDecode(strm
);
5891 void H225_InfoRequest::Encode(PASN_Stream
& strm
) const
5893 PreambleEncode(strm
);
5895 m_requestSeqNum
.Encode(strm
);
5896 m_callReferenceValue
.Encode(strm
);
5897 if (HasOptionalField(e_nonStandardData
))
5898 m_nonStandardData
.Encode(strm
);
5899 if (HasOptionalField(e_replyAddress
))
5900 m_replyAddress
.Encode(strm
);
5901 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
5902 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
5903 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
5904 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
5905 KnownExtensionEncode(strm
, e_uuiesRequested
, m_uuiesRequested
);
5906 KnownExtensionEncode(strm
, e_callLinkage
, m_callLinkage
);
5907 KnownExtensionEncode(strm
, e_usageInfoRequested
, m_usageInfoRequested
);
5908 KnownExtensionEncode(strm
, e_segmentedResponseSupported
, m_segmentedResponseSupported
);
5909 KnownExtensionEncode(strm
, e_nextSegmentRequested
, m_nextSegmentRequested
);
5910 KnownExtensionEncode(strm
, e_capacityInfoRequested
, m_capacityInfoRequested
);
5911 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
5912 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
5914 UnknownExtensionsEncode(strm
);
5918 PObject
* H225_InfoRequest::Clone() const
5920 #ifndef PASN_LEANANDMEAN
5921 PAssert(IsClass(H225_InfoRequest::Class()), PInvalidCast
);
5923 return new H225_InfoRequest(*this);
5931 H225_InfoRequestAck::H225_InfoRequestAck(unsigned tag
, PASN_Object::TagClass tagClass
)
5932 : PASN_Sequence(tag
, tagClass
, 4, TRUE
, 0)
5937 #ifndef PASN_NOPRINTON
5938 void H225_InfoRequestAck::PrintOn(ostream
& strm
) const
5940 int indent
= strm
.precision() + 2;
5942 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
5943 if (HasOptionalField(e_nonStandardData
))
5944 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
5945 if (HasOptionalField(e_tokens
))
5946 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
5947 if (HasOptionalField(e_cryptoTokens
))
5948 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
5949 if (HasOptionalField(e_integrityCheckValue
))
5950 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
5951 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5956 PObject::Comparison
H225_InfoRequestAck::Compare(const PObject
& obj
) const
5958 #ifndef PASN_LEANANDMEAN
5959 PAssert(PIsDescendant(&obj
, H225_InfoRequestAck
), PInvalidCast
);
5961 const H225_InfoRequestAck
& other
= (const H225_InfoRequestAck
&)obj
;
5965 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
5967 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
5969 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
5971 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
5973 if ((result
= m_integrityCheckValue
.Compare(other
.m_integrityCheckValue
)) != EqualTo
)
5976 return PASN_Sequence::Compare(other
);
5980 PINDEX
H225_InfoRequestAck::GetDataLength() const
5983 length
+= m_requestSeqNum
.GetObjectLength();
5984 if (HasOptionalField(e_nonStandardData
))
5985 length
+= m_nonStandardData
.GetObjectLength();
5986 if (HasOptionalField(e_tokens
))
5987 length
+= m_tokens
.GetObjectLength();
5988 if (HasOptionalField(e_cryptoTokens
))
5989 length
+= m_cryptoTokens
.GetObjectLength();
5990 if (HasOptionalField(e_integrityCheckValue
))
5991 length
+= m_integrityCheckValue
.GetObjectLength();
5996 BOOL
H225_InfoRequestAck::Decode(PASN_Stream
& strm
)
5998 if (!PreambleDecode(strm
))
6001 if (!m_requestSeqNum
.Decode(strm
))
6003 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
6005 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
6007 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
6009 if (HasOptionalField(e_integrityCheckValue
) && !m_integrityCheckValue
.Decode(strm
))
6012 return UnknownExtensionsDecode(strm
);
6016 void H225_InfoRequestAck::Encode(PASN_Stream
& strm
) const
6018 PreambleEncode(strm
);
6020 m_requestSeqNum
.Encode(strm
);
6021 if (HasOptionalField(e_nonStandardData
))
6022 m_nonStandardData
.Encode(strm
);
6023 if (HasOptionalField(e_tokens
))
6024 m_tokens
.Encode(strm
);
6025 if (HasOptionalField(e_cryptoTokens
))
6026 m_cryptoTokens
.Encode(strm
);
6027 if (HasOptionalField(e_integrityCheckValue
))
6028 m_integrityCheckValue
.Encode(strm
);
6030 UnknownExtensionsEncode(strm
);
6034 PObject
* H225_InfoRequestAck::Clone() const
6036 #ifndef PASN_LEANANDMEAN
6037 PAssert(IsClass(H225_InfoRequestAck::Class()), PInvalidCast
);
6039 return new H225_InfoRequestAck(*this);
6047 H225_InfoRequestNak::H225_InfoRequestNak(unsigned tag
, PASN_Object::TagClass tagClass
)
6048 : PASN_Sequence(tag
, tagClass
, 5, TRUE
, 0)
6053 #ifndef PASN_NOPRINTON
6054 void H225_InfoRequestNak::PrintOn(ostream
& strm
) const
6056 int indent
= strm
.precision() + 2;
6058 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
6059 if (HasOptionalField(e_nonStandardData
))
6060 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
6061 strm
<< setw(indent
+12) << "nakReason = " << setprecision(indent
) << m_nakReason
<< '\n';
6062 if (HasOptionalField(e_altGKInfo
))
6063 strm
<< setw(indent
+12) << "altGKInfo = " << setprecision(indent
) << m_altGKInfo
<< '\n';
6064 if (HasOptionalField(e_tokens
))
6065 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
6066 if (HasOptionalField(e_cryptoTokens
))
6067 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
6068 if (HasOptionalField(e_integrityCheckValue
))
6069 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
6070 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6075 PObject::Comparison
H225_InfoRequestNak::Compare(const PObject
& obj
) const
6077 #ifndef PASN_LEANANDMEAN
6078 PAssert(PIsDescendant(&obj
, H225_InfoRequestNak
), PInvalidCast
);
6080 const H225_InfoRequestNak
& other
= (const H225_InfoRequestNak
&)obj
;
6084 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
6086 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
6088 if ((result
= m_nakReason
.Compare(other
.m_nakReason
)) != EqualTo
)
6090 if ((result
= m_altGKInfo
.Compare(other
.m_altGKInfo
)) != EqualTo
)
6092 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
6094 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
6096 if ((result
= m_integrityCheckValue
.Compare(other
.m_integrityCheckValue
)) != EqualTo
)
6099 return PASN_Sequence::Compare(other
);
6103 PINDEX
H225_InfoRequestNak::GetDataLength() const
6106 length
+= m_requestSeqNum
.GetObjectLength();
6107 if (HasOptionalField(e_nonStandardData
))
6108 length
+= m_nonStandardData
.GetObjectLength();
6109 length
+= m_nakReason
.GetObjectLength();
6110 if (HasOptionalField(e_altGKInfo
))
6111 length
+= m_altGKInfo
.GetObjectLength();
6112 if (HasOptionalField(e_tokens
))
6113 length
+= m_tokens
.GetObjectLength();
6114 if (HasOptionalField(e_cryptoTokens
))
6115 length
+= m_cryptoTokens
.GetObjectLength();
6116 if (HasOptionalField(e_integrityCheckValue
))
6117 length
+= m_integrityCheckValue
.GetObjectLength();
6122 BOOL
H225_InfoRequestNak::Decode(PASN_Stream
& strm
)
6124 if (!PreambleDecode(strm
))
6127 if (!m_requestSeqNum
.Decode(strm
))
6129 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
6131 if (!m_nakReason
.Decode(strm
))
6133 if (HasOptionalField(e_altGKInfo
) && !m_altGKInfo
.Decode(strm
))
6135 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
6137 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
6139 if (HasOptionalField(e_integrityCheckValue
) && !m_integrityCheckValue
.Decode(strm
))
6142 return UnknownExtensionsDecode(strm
);
6146 void H225_InfoRequestNak::Encode(PASN_Stream
& strm
) const
6148 PreambleEncode(strm
);
6150 m_requestSeqNum
.Encode(strm
);
6151 if (HasOptionalField(e_nonStandardData
))
6152 m_nonStandardData
.Encode(strm
);
6153 m_nakReason
.Encode(strm
);
6154 if (HasOptionalField(e_altGKInfo
))
6155 m_altGKInfo
.Encode(strm
);
6156 if (HasOptionalField(e_tokens
))
6157 m_tokens
.Encode(strm
);
6158 if (HasOptionalField(e_cryptoTokens
))
6159 m_cryptoTokens
.Encode(strm
);
6160 if (HasOptionalField(e_integrityCheckValue
))
6161 m_integrityCheckValue
.Encode(strm
);
6163 UnknownExtensionsEncode(strm
);
6167 PObject
* H225_InfoRequestNak::Clone() const
6169 #ifndef PASN_LEANANDMEAN
6170 PAssert(IsClass(H225_InfoRequestNak::Class()), PInvalidCast
);
6172 return new H225_InfoRequestNak(*this);
6177 // NonStandardMessage
6180 H225_NonStandardMessage::H225_NonStandardMessage(unsigned tag
, PASN_Object::TagClass tagClass
)
6181 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 5)
6186 #ifndef PASN_NOPRINTON
6187 void H225_NonStandardMessage::PrintOn(ostream
& strm
) const
6189 int indent
= strm
.precision() + 2;
6191 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
6192 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
6193 if (HasOptionalField(e_tokens
))
6194 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
6195 if (HasOptionalField(e_cryptoTokens
))
6196 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
6197 if (HasOptionalField(e_integrityCheckValue
))
6198 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
6199 if (HasOptionalField(e_featureSet
))
6200 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
6201 if (HasOptionalField(e_genericData
))
6202 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
6203 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6208 PObject::Comparison
H225_NonStandardMessage::Compare(const PObject
& obj
) const
6210 #ifndef PASN_LEANANDMEAN
6211 PAssert(PIsDescendant(&obj
, H225_NonStandardMessage
), PInvalidCast
);
6213 const H225_NonStandardMessage
& other
= (const H225_NonStandardMessage
&)obj
;
6217 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
6219 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
6222 return PASN_Sequence::Compare(other
);
6226 PINDEX
H225_NonStandardMessage::GetDataLength() const
6229 length
+= m_requestSeqNum
.GetObjectLength();
6230 length
+= m_nonStandardData
.GetObjectLength();
6235 BOOL
H225_NonStandardMessage::Decode(PASN_Stream
& strm
)
6237 if (!PreambleDecode(strm
))
6240 if (!m_requestSeqNum
.Decode(strm
))
6242 if (!m_nonStandardData
.Decode(strm
))
6244 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
6246 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
6248 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
6250 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
6252 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
6255 return UnknownExtensionsDecode(strm
);
6259 void H225_NonStandardMessage::Encode(PASN_Stream
& strm
) const
6261 PreambleEncode(strm
);
6263 m_requestSeqNum
.Encode(strm
);
6264 m_nonStandardData
.Encode(strm
);
6265 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
6266 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
6267 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
6268 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
6269 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
6271 UnknownExtensionsEncode(strm
);
6275 PObject
* H225_NonStandardMessage::Clone() const
6277 #ifndef PASN_LEANANDMEAN
6278 PAssert(IsClass(H225_NonStandardMessage::Class()), PInvalidCast
);
6280 return new H225_NonStandardMessage(*this);
6285 // UnknownMessageResponse
6288 H225_UnknownMessageResponse::H225_UnknownMessageResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
6289 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 4)
6291 IncludeOptionalField(e_messageNotUnderstood
);
6295 #ifndef PASN_NOPRINTON
6296 void H225_UnknownMessageResponse::PrintOn(ostream
& strm
) const
6298 int indent
= strm
.precision() + 2;
6300 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
6301 if (HasOptionalField(e_tokens
))
6302 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
6303 if (HasOptionalField(e_cryptoTokens
))
6304 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
6305 if (HasOptionalField(e_integrityCheckValue
))
6306 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
6307 if (HasOptionalField(e_messageNotUnderstood
))
6308 strm
<< setw(indent
+23) << "messageNotUnderstood = " << setprecision(indent
) << m_messageNotUnderstood
<< '\n';
6309 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6314 PObject::Comparison
H225_UnknownMessageResponse::Compare(const PObject
& obj
) const
6316 #ifndef PASN_LEANANDMEAN
6317 PAssert(PIsDescendant(&obj
, H225_UnknownMessageResponse
), PInvalidCast
);
6319 const H225_UnknownMessageResponse
& other
= (const H225_UnknownMessageResponse
&)obj
;
6323 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
6326 return PASN_Sequence::Compare(other
);
6330 PINDEX
H225_UnknownMessageResponse::GetDataLength() const
6333 length
+= m_requestSeqNum
.GetObjectLength();
6338 BOOL
H225_UnknownMessageResponse::Decode(PASN_Stream
& strm
)
6340 if (!PreambleDecode(strm
))
6343 if (!m_requestSeqNum
.Decode(strm
))
6345 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
6347 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
6349 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
6351 if (!KnownExtensionDecode(strm
, e_messageNotUnderstood
, m_messageNotUnderstood
))
6354 return UnknownExtensionsDecode(strm
);
6358 void H225_UnknownMessageResponse::Encode(PASN_Stream
& strm
) const
6360 PreambleEncode(strm
);
6362 m_requestSeqNum
.Encode(strm
);
6363 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
6364 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
6365 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
6366 KnownExtensionEncode(strm
, e_messageNotUnderstood
, m_messageNotUnderstood
);
6368 UnknownExtensionsEncode(strm
);
6372 PObject
* H225_UnknownMessageResponse::Clone() const
6374 #ifndef PASN_LEANANDMEAN
6375 PAssert(IsClass(H225_UnknownMessageResponse::Class()), PInvalidCast
);
6377 return new H225_UnknownMessageResponse(*this);
6382 // RequestInProgress
6385 H225_RequestInProgress::H225_RequestInProgress(unsigned tag
, PASN_Object::TagClass tagClass
)
6386 : PASN_Sequence(tag
, tagClass
, 4, TRUE
, 0)
6388 m_delay
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
6392 #ifndef PASN_NOPRINTON
6393 void H225_RequestInProgress::PrintOn(ostream
& strm
) const
6395 int indent
= strm
.precision() + 2;
6397 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
6398 if (HasOptionalField(e_nonStandardData
))
6399 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
6400 if (HasOptionalField(e_tokens
))
6401 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
6402 if (HasOptionalField(e_cryptoTokens
))
6403 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
6404 if (HasOptionalField(e_integrityCheckValue
))
6405 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
6406 strm
<< setw(indent
+8) << "delay = " << setprecision(indent
) << m_delay
<< '\n';
6407 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6412 PObject::Comparison
H225_RequestInProgress::Compare(const PObject
& obj
) const
6414 #ifndef PASN_LEANANDMEAN
6415 PAssert(PIsDescendant(&obj
, H225_RequestInProgress
), PInvalidCast
);
6417 const H225_RequestInProgress
& other
= (const H225_RequestInProgress
&)obj
;
6421 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
6423 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
6425 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
6427 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
6429 if ((result
= m_integrityCheckValue
.Compare(other
.m_integrityCheckValue
)) != EqualTo
)
6431 if ((result
= m_delay
.Compare(other
.m_delay
)) != EqualTo
)
6434 return PASN_Sequence::Compare(other
);
6438 PINDEX
H225_RequestInProgress::GetDataLength() const
6441 length
+= m_requestSeqNum
.GetObjectLength();
6442 if (HasOptionalField(e_nonStandardData
))
6443 length
+= m_nonStandardData
.GetObjectLength();
6444 if (HasOptionalField(e_tokens
))
6445 length
+= m_tokens
.GetObjectLength();
6446 if (HasOptionalField(e_cryptoTokens
))
6447 length
+= m_cryptoTokens
.GetObjectLength();
6448 if (HasOptionalField(e_integrityCheckValue
))
6449 length
+= m_integrityCheckValue
.GetObjectLength();
6450 length
+= m_delay
.GetObjectLength();
6455 BOOL
H225_RequestInProgress::Decode(PASN_Stream
& strm
)
6457 if (!PreambleDecode(strm
))
6460 if (!m_requestSeqNum
.Decode(strm
))
6462 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
6464 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
6466 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
6468 if (HasOptionalField(e_integrityCheckValue
) && !m_integrityCheckValue
.Decode(strm
))
6470 if (!m_delay
.Decode(strm
))
6473 return UnknownExtensionsDecode(strm
);
6477 void H225_RequestInProgress::Encode(PASN_Stream
& strm
) const
6479 PreambleEncode(strm
);
6481 m_requestSeqNum
.Encode(strm
);
6482 if (HasOptionalField(e_nonStandardData
))
6483 m_nonStandardData
.Encode(strm
);
6484 if (HasOptionalField(e_tokens
))
6485 m_tokens
.Encode(strm
);
6486 if (HasOptionalField(e_cryptoTokens
))
6487 m_cryptoTokens
.Encode(strm
);
6488 if (HasOptionalField(e_integrityCheckValue
))
6489 m_integrityCheckValue
.Encode(strm
);
6490 m_delay
.Encode(strm
);
6492 UnknownExtensionsEncode(strm
);
6496 PObject
* H225_RequestInProgress::Clone() const
6498 #ifndef PASN_LEANANDMEAN
6499 PAssert(IsClass(H225_RequestInProgress::Class()), PInvalidCast
);
6501 return new H225_RequestInProgress(*this);
6506 // ResourcesAvailableConfirm
6509 H225_ResourcesAvailableConfirm::H225_ResourcesAvailableConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
6510 : PASN_Sequence(tag
, tagClass
, 4, TRUE
, 1)
6515 #ifndef PASN_NOPRINTON
6516 void H225_ResourcesAvailableConfirm::PrintOn(ostream
& strm
) const
6518 int indent
= strm
.precision() + 2;
6520 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
6521 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
6522 if (HasOptionalField(e_nonStandardData
))
6523 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
6524 if (HasOptionalField(e_tokens
))
6525 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
6526 if (HasOptionalField(e_cryptoTokens
))
6527 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
6528 if (HasOptionalField(e_integrityCheckValue
))
6529 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
6530 if (HasOptionalField(e_genericData
))
6531 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
6532 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6537 PObject::Comparison
H225_ResourcesAvailableConfirm::Compare(const PObject
& obj
) const
6539 #ifndef PASN_LEANANDMEAN
6540 PAssert(PIsDescendant(&obj
, H225_ResourcesAvailableConfirm
), PInvalidCast
);
6542 const H225_ResourcesAvailableConfirm
& other
= (const H225_ResourcesAvailableConfirm
&)obj
;
6546 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
6548 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
6550 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
6552 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
6554 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
6556 if ((result
= m_integrityCheckValue
.Compare(other
.m_integrityCheckValue
)) != EqualTo
)
6559 return PASN_Sequence::Compare(other
);
6563 PINDEX
H225_ResourcesAvailableConfirm::GetDataLength() const
6566 length
+= m_requestSeqNum
.GetObjectLength();
6567 length
+= m_protocolIdentifier
.GetObjectLength();
6568 if (HasOptionalField(e_nonStandardData
))
6569 length
+= m_nonStandardData
.GetObjectLength();
6570 if (HasOptionalField(e_tokens
))
6571 length
+= m_tokens
.GetObjectLength();
6572 if (HasOptionalField(e_cryptoTokens
))
6573 length
+= m_cryptoTokens
.GetObjectLength();
6574 if (HasOptionalField(e_integrityCheckValue
))
6575 length
+= m_integrityCheckValue
.GetObjectLength();
6580 BOOL
H225_ResourcesAvailableConfirm::Decode(PASN_Stream
& strm
)
6582 if (!PreambleDecode(strm
))
6585 if (!m_requestSeqNum
.Decode(strm
))
6587 if (!m_protocolIdentifier
.Decode(strm
))
6589 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
6591 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
6593 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
6595 if (HasOptionalField(e_integrityCheckValue
) && !m_integrityCheckValue
.Decode(strm
))
6597 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
6600 return UnknownExtensionsDecode(strm
);
6604 void H225_ResourcesAvailableConfirm::Encode(PASN_Stream
& strm
) const
6606 PreambleEncode(strm
);
6608 m_requestSeqNum
.Encode(strm
);
6609 m_protocolIdentifier
.Encode(strm
);
6610 if (HasOptionalField(e_nonStandardData
))
6611 m_nonStandardData
.Encode(strm
);
6612 if (HasOptionalField(e_tokens
))
6613 m_tokens
.Encode(strm
);
6614 if (HasOptionalField(e_cryptoTokens
))
6615 m_cryptoTokens
.Encode(strm
);
6616 if (HasOptionalField(e_integrityCheckValue
))
6617 m_integrityCheckValue
.Encode(strm
);
6618 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
6620 UnknownExtensionsEncode(strm
);
6624 PObject
* H225_ResourcesAvailableConfirm::Clone() const
6626 #ifndef PASN_LEANANDMEAN
6627 PAssert(IsClass(H225_ResourcesAvailableConfirm::Class()), PInvalidCast
);
6629 return new H225_ResourcesAvailableConfirm(*this);
6634 // ServiceControlIndication
6637 H225_ServiceControlIndication::H225_ServiceControlIndication(unsigned tag
, PASN_Object::TagClass tagClass
)
6638 : PASN_Sequence(tag
, tagClass
, 8, TRUE
, 0)
6643 #ifndef PASN_NOPRINTON
6644 void H225_ServiceControlIndication::PrintOn(ostream
& strm
) const
6646 int indent
= strm
.precision() + 2;
6648 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
6649 if (HasOptionalField(e_nonStandardData
))
6650 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
6651 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
6652 if (HasOptionalField(e_endpointIdentifier
))
6653 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
6654 if (HasOptionalField(e_callSpecific
))
6655 strm
<< setw(indent
+15) << "callSpecific = " << setprecision(indent
) << m_callSpecific
<< '\n';
6656 if (HasOptionalField(e_tokens
))
6657 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
6658 if (HasOptionalField(e_cryptoTokens
))
6659 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
6660 if (HasOptionalField(e_integrityCheckValue
))
6661 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
6662 if (HasOptionalField(e_featureSet
))
6663 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
6664 if (HasOptionalField(e_genericData
))
6665 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
6666 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6671 PObject::Comparison
H225_ServiceControlIndication::Compare(const PObject
& obj
) const
6673 #ifndef PASN_LEANANDMEAN
6674 PAssert(PIsDescendant(&obj
, H225_ServiceControlIndication
), PInvalidCast
);
6676 const H225_ServiceControlIndication
& other
= (const H225_ServiceControlIndication
&)obj
;
6680 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
6682 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
6684 if ((result
= m_serviceControl
.Compare(other
.m_serviceControl
)) != EqualTo
)
6686 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
6688 if ((result
= m_callSpecific
.Compare(other
.m_callSpecific
)) != EqualTo
)
6690 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
6692 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
6694 if ((result
= m_integrityCheckValue
.Compare(other
.m_integrityCheckValue
)) != EqualTo
)
6696 if ((result
= m_featureSet
.Compare(other
.m_featureSet
)) != EqualTo
)
6698 if ((result
= m_genericData
.Compare(other
.m_genericData
)) != EqualTo
)
6701 return PASN_Sequence::Compare(other
);
6705 PINDEX
H225_ServiceControlIndication::GetDataLength() const
6708 length
+= m_requestSeqNum
.GetObjectLength();
6709 if (HasOptionalField(e_nonStandardData
))
6710 length
+= m_nonStandardData
.GetObjectLength();
6711 length
+= m_serviceControl
.GetObjectLength();
6712 if (HasOptionalField(e_endpointIdentifier
))
6713 length
+= m_endpointIdentifier
.GetObjectLength();
6714 if (HasOptionalField(e_callSpecific
))
6715 length
+= m_callSpecific
.GetObjectLength();
6716 if (HasOptionalField(e_tokens
))
6717 length
+= m_tokens
.GetObjectLength();
6718 if (HasOptionalField(e_cryptoTokens
))
6719 length
+= m_cryptoTokens
.GetObjectLength();
6720 if (HasOptionalField(e_integrityCheckValue
))
6721 length
+= m_integrityCheckValue
.GetObjectLength();
6722 if (HasOptionalField(e_featureSet
))
6723 length
+= m_featureSet
.GetObjectLength();
6724 if (HasOptionalField(e_genericData
))
6725 length
+= m_genericData
.GetObjectLength();
6730 BOOL
H225_ServiceControlIndication::Decode(PASN_Stream
& strm
)
6732 if (!PreambleDecode(strm
))
6735 if (!m_requestSeqNum
.Decode(strm
))
6737 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
6739 if (!m_serviceControl
.Decode(strm
))
6741 if (HasOptionalField(e_endpointIdentifier
) && !m_endpointIdentifier
.Decode(strm
))
6743 if (HasOptionalField(e_callSpecific
) && !m_callSpecific
.Decode(strm
))
6745 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
6747 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
6749 if (HasOptionalField(e_integrityCheckValue
) && !m_integrityCheckValue
.Decode(strm
))
6751 if (HasOptionalField(e_featureSet
) && !m_featureSet
.Decode(strm
))
6753 if (HasOptionalField(e_genericData
) && !m_genericData
.Decode(strm
))
6756 return UnknownExtensionsDecode(strm
);
6760 void H225_ServiceControlIndication::Encode(PASN_Stream
& strm
) const
6762 PreambleEncode(strm
);
6764 m_requestSeqNum
.Encode(strm
);
6765 if (HasOptionalField(e_nonStandardData
))
6766 m_nonStandardData
.Encode(strm
);
6767 m_serviceControl
.Encode(strm
);
6768 if (HasOptionalField(e_endpointIdentifier
))
6769 m_endpointIdentifier
.Encode(strm
);
6770 if (HasOptionalField(e_callSpecific
))
6771 m_callSpecific
.Encode(strm
);
6772 if (HasOptionalField(e_tokens
))
6773 m_tokens
.Encode(strm
);
6774 if (HasOptionalField(e_cryptoTokens
))
6775 m_cryptoTokens
.Encode(strm
);
6776 if (HasOptionalField(e_integrityCheckValue
))
6777 m_integrityCheckValue
.Encode(strm
);
6778 if (HasOptionalField(e_featureSet
))
6779 m_featureSet
.Encode(strm
);
6780 if (HasOptionalField(e_genericData
))
6781 m_genericData
.Encode(strm
);
6783 UnknownExtensionsEncode(strm
);
6787 PObject
* H225_ServiceControlIndication::Clone() const
6789 #ifndef PASN_LEANANDMEAN
6790 PAssert(IsClass(H225_ServiceControlIndication::Class()), PInvalidCast
);
6792 return new H225_ServiceControlIndication(*this);
6797 // ServiceControlResponse
6800 H225_ServiceControlResponse::H225_ServiceControlResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
6801 : PASN_Sequence(tag
, tagClass
, 7, TRUE
, 0)
6806 #ifndef PASN_NOPRINTON
6807 void H225_ServiceControlResponse::PrintOn(ostream
& strm
) const
6809 int indent
= strm
.precision() + 2;
6811 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
6812 if (HasOptionalField(e_result
))
6813 strm
<< setw(indent
+9) << "result = " << setprecision(indent
) << m_result
<< '\n';
6814 if (HasOptionalField(e_nonStandardData
))
6815 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
6816 if (HasOptionalField(e_tokens
))
6817 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
6818 if (HasOptionalField(e_cryptoTokens
))
6819 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
6820 if (HasOptionalField(e_integrityCheckValue
))
6821 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
6822 if (HasOptionalField(e_featureSet
))
6823 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
6824 if (HasOptionalField(e_genericData
))
6825 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
6826 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6831 PObject::Comparison
H225_ServiceControlResponse::Compare(const PObject
& obj
) const
6833 #ifndef PASN_LEANANDMEAN
6834 PAssert(PIsDescendant(&obj
, H225_ServiceControlResponse
), PInvalidCast
);
6836 const H225_ServiceControlResponse
& other
= (const H225_ServiceControlResponse
&)obj
;
6840 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
6842 if ((result
= m_result
.Compare(other
.m_result
)) != EqualTo
)
6844 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
6846 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
6848 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
6850 if ((result
= m_integrityCheckValue
.Compare(other
.m_integrityCheckValue
)) != EqualTo
)
6852 if ((result
= m_featureSet
.Compare(other
.m_featureSet
)) != EqualTo
)
6854 if ((result
= m_genericData
.Compare(other
.m_genericData
)) != EqualTo
)
6857 return PASN_Sequence::Compare(other
);
6861 PINDEX
H225_ServiceControlResponse::GetDataLength() const
6864 length
+= m_requestSeqNum
.GetObjectLength();
6865 if (HasOptionalField(e_result
))
6866 length
+= m_result
.GetObjectLength();
6867 if (HasOptionalField(e_nonStandardData
))
6868 length
+= m_nonStandardData
.GetObjectLength();
6869 if (HasOptionalField(e_tokens
))
6870 length
+= m_tokens
.GetObjectLength();
6871 if (HasOptionalField(e_cryptoTokens
))
6872 length
+= m_cryptoTokens
.GetObjectLength();
6873 if (HasOptionalField(e_integrityCheckValue
))
6874 length
+= m_integrityCheckValue
.GetObjectLength();
6875 if (HasOptionalField(e_featureSet
))
6876 length
+= m_featureSet
.GetObjectLength();
6877 if (HasOptionalField(e_genericData
))
6878 length
+= m_genericData
.GetObjectLength();
6883 BOOL
H225_ServiceControlResponse::Decode(PASN_Stream
& strm
)
6885 if (!PreambleDecode(strm
))
6888 if (!m_requestSeqNum
.Decode(strm
))
6890 if (HasOptionalField(e_result
) && !m_result
.Decode(strm
))
6892 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
6894 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
6896 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
6898 if (HasOptionalField(e_integrityCheckValue
) && !m_integrityCheckValue
.Decode(strm
))
6900 if (HasOptionalField(e_featureSet
) && !m_featureSet
.Decode(strm
))
6902 if (HasOptionalField(e_genericData
) && !m_genericData
.Decode(strm
))
6905 return UnknownExtensionsDecode(strm
);
6909 void H225_ServiceControlResponse::Encode(PASN_Stream
& strm
) const
6911 PreambleEncode(strm
);
6913 m_requestSeqNum
.Encode(strm
);
6914 if (HasOptionalField(e_result
))
6915 m_result
.Encode(strm
);
6916 if (HasOptionalField(e_nonStandardData
))
6917 m_nonStandardData
.Encode(strm
);
6918 if (HasOptionalField(e_tokens
))
6919 m_tokens
.Encode(strm
);
6920 if (HasOptionalField(e_cryptoTokens
))
6921 m_cryptoTokens
.Encode(strm
);
6922 if (HasOptionalField(e_integrityCheckValue
))
6923 m_integrityCheckValue
.Encode(strm
);
6924 if (HasOptionalField(e_featureSet
))
6925 m_featureSet
.Encode(strm
);
6926 if (HasOptionalField(e_genericData
))
6927 m_genericData
.Encode(strm
);
6929 UnknownExtensionsEncode(strm
);
6933 PObject
* H225_ServiceControlResponse::Clone() const
6935 #ifndef PASN_LEANANDMEAN
6936 PAssert(IsClass(H225_ServiceControlResponse::Class()), PInvalidCast
);
6938 return new H225_ServiceControlResponse(*this);
6943 // H323-UU-PDU_tunnelledSignallingMessage
6946 H225_H323_UU_PDU_tunnelledSignallingMessage::H225_H323_UU_PDU_tunnelledSignallingMessage(unsigned tag
, PASN_Object::TagClass tagClass
)
6947 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
6952 #ifndef PASN_NOPRINTON
6953 void H225_H323_UU_PDU_tunnelledSignallingMessage::PrintOn(ostream
& strm
) const
6955 int indent
= strm
.precision() + 2;
6957 strm
<< setw(indent
+22) << "tunnelledProtocolID = " << setprecision(indent
) << m_tunnelledProtocolID
<< '\n';
6958 strm
<< setw(indent
+17) << "messageContent = " << setprecision(indent
) << m_messageContent
<< '\n';
6959 if (HasOptionalField(e_tunnellingRequired
))
6960 strm
<< setw(indent
+21) << "tunnellingRequired = " << setprecision(indent
) << m_tunnellingRequired
<< '\n';
6961 if (HasOptionalField(e_nonStandardData
))
6962 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
6963 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6968 PObject::Comparison
H225_H323_UU_PDU_tunnelledSignallingMessage::Compare(const PObject
& obj
) const
6970 #ifndef PASN_LEANANDMEAN
6971 PAssert(PIsDescendant(&obj
, H225_H323_UU_PDU_tunnelledSignallingMessage
), PInvalidCast
);
6973 const H225_H323_UU_PDU_tunnelledSignallingMessage
& other
= (const H225_H323_UU_PDU_tunnelledSignallingMessage
&)obj
;
6977 if ((result
= m_tunnelledProtocolID
.Compare(other
.m_tunnelledProtocolID
)) != EqualTo
)
6979 if ((result
= m_messageContent
.Compare(other
.m_messageContent
)) != EqualTo
)
6981 if ((result
= m_tunnellingRequired
.Compare(other
.m_tunnellingRequired
)) != EqualTo
)
6983 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
6986 return PASN_Sequence::Compare(other
);
6990 PINDEX
H225_H323_UU_PDU_tunnelledSignallingMessage::GetDataLength() const
6993 length
+= m_tunnelledProtocolID
.GetObjectLength();
6994 length
+= m_messageContent
.GetObjectLength();
6995 if (HasOptionalField(e_tunnellingRequired
))
6996 length
+= m_tunnellingRequired
.GetObjectLength();
6997 if (HasOptionalField(e_nonStandardData
))
6998 length
+= m_nonStandardData
.GetObjectLength();
7003 BOOL
H225_H323_UU_PDU_tunnelledSignallingMessage::Decode(PASN_Stream
& strm
)
7005 if (!PreambleDecode(strm
))
7008 if (!m_tunnelledProtocolID
.Decode(strm
))
7010 if (!m_messageContent
.Decode(strm
))
7012 if (HasOptionalField(e_tunnellingRequired
) && !m_tunnellingRequired
.Decode(strm
))
7014 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
7017 return UnknownExtensionsDecode(strm
);
7021 void H225_H323_UU_PDU_tunnelledSignallingMessage::Encode(PASN_Stream
& strm
) const
7023 PreambleEncode(strm
);
7025 m_tunnelledProtocolID
.Encode(strm
);
7026 m_messageContent
.Encode(strm
);
7027 if (HasOptionalField(e_tunnellingRequired
))
7028 m_tunnellingRequired
.Encode(strm
);
7029 if (HasOptionalField(e_nonStandardData
))
7030 m_nonStandardData
.Encode(strm
);
7032 UnknownExtensionsEncode(strm
);
7036 PObject
* H225_H323_UU_PDU_tunnelledSignallingMessage::Clone() const
7038 #ifndef PASN_LEANANDMEAN
7039 PAssert(IsClass(H225_H323_UU_PDU_tunnelledSignallingMessage::Class()), PInvalidCast
);
7041 return new H225_H323_UU_PDU_tunnelledSignallingMessage(*this);
7046 // TransportAddress_ipSourceRoute
7049 H225_TransportAddress_ipSourceRoute::H225_TransportAddress_ipSourceRoute(unsigned tag
, PASN_Object::TagClass tagClass
)
7050 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7052 m_ip
.SetConstraints(PASN_Object::FixedConstraint
, 4);
7053 m_port
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
7057 #ifndef PASN_NOPRINTON
7058 void H225_TransportAddress_ipSourceRoute::PrintOn(ostream
& strm
) const
7060 int indent
= strm
.precision() + 2;
7062 strm
<< setw(indent
+5) << "ip = " << setprecision(indent
) << m_ip
<< '\n';
7063 strm
<< setw(indent
+7) << "port = " << setprecision(indent
) << m_port
<< '\n';
7064 strm
<< setw(indent
+8) << "route = " << setprecision(indent
) << m_route
<< '\n';
7065 strm
<< setw(indent
+10) << "routing = " << setprecision(indent
) << m_routing
<< '\n';
7066 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7071 PObject::Comparison
H225_TransportAddress_ipSourceRoute::Compare(const PObject
& obj
) const
7073 #ifndef PASN_LEANANDMEAN
7074 PAssert(PIsDescendant(&obj
, H225_TransportAddress_ipSourceRoute
), PInvalidCast
);
7076 const H225_TransportAddress_ipSourceRoute
& other
= (const H225_TransportAddress_ipSourceRoute
&)obj
;
7080 if ((result
= m_ip
.Compare(other
.m_ip
)) != EqualTo
)
7082 if ((result
= m_port
.Compare(other
.m_port
)) != EqualTo
)
7084 if ((result
= m_route
.Compare(other
.m_route
)) != EqualTo
)
7086 if ((result
= m_routing
.Compare(other
.m_routing
)) != EqualTo
)
7089 return PASN_Sequence::Compare(other
);
7093 PINDEX
H225_TransportAddress_ipSourceRoute::GetDataLength() const
7096 length
+= m_ip
.GetObjectLength();
7097 length
+= m_port
.GetObjectLength();
7098 length
+= m_route
.GetObjectLength();
7099 length
+= m_routing
.GetObjectLength();
7104 BOOL
H225_TransportAddress_ipSourceRoute::Decode(PASN_Stream
& strm
)
7106 if (!PreambleDecode(strm
))
7109 if (!m_ip
.Decode(strm
))
7111 if (!m_port
.Decode(strm
))
7113 if (!m_route
.Decode(strm
))
7115 if (!m_routing
.Decode(strm
))
7118 return UnknownExtensionsDecode(strm
);
7122 void H225_TransportAddress_ipSourceRoute::Encode(PASN_Stream
& strm
) const
7124 PreambleEncode(strm
);
7127 m_port
.Encode(strm
);
7128 m_route
.Encode(strm
);
7129 m_routing
.Encode(strm
);
7131 UnknownExtensionsEncode(strm
);
7135 PObject
* H225_TransportAddress_ipSourceRoute::Clone() const
7137 #ifndef PASN_LEANANDMEAN
7138 PAssert(IsClass(H225_TransportAddress_ipSourceRoute::Class()), PInvalidCast
);
7140 return new H225_TransportAddress_ipSourceRoute(*this);
7145 // RegistrationConfirm_preGrantedARQ
7148 H225_RegistrationConfirm_preGrantedARQ::H225_RegistrationConfirm_preGrantedARQ(unsigned tag
, PASN_Object::TagClass tagClass
)
7149 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 4)
7151 m_irrFrequencyInCall
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
7155 #ifndef PASN_NOPRINTON
7156 void H225_RegistrationConfirm_preGrantedARQ::PrintOn(ostream
& strm
) const
7158 int indent
= strm
.precision() + 2;
7160 strm
<< setw(indent
+11) << "makeCall = " << setprecision(indent
) << m_makeCall
<< '\n';
7161 strm
<< setw(indent
+35) << "useGKCallSignalAddressToMakeCall = " << setprecision(indent
) << m_useGKCallSignalAddressToMakeCall
<< '\n';
7162 strm
<< setw(indent
+13) << "answerCall = " << setprecision(indent
) << m_answerCall
<< '\n';
7163 strm
<< setw(indent
+33) << "useGKCallSignalAddressToAnswer = " << setprecision(indent
) << m_useGKCallSignalAddressToAnswer
<< '\n';
7164 if (HasOptionalField(e_irrFrequencyInCall
))
7165 strm
<< setw(indent
+21) << "irrFrequencyInCall = " << setprecision(indent
) << m_irrFrequencyInCall
<< '\n';
7166 if (HasOptionalField(e_totalBandwidthRestriction
))
7167 strm
<< setw(indent
+28) << "totalBandwidthRestriction = " << setprecision(indent
) << m_totalBandwidthRestriction
<< '\n';
7168 if (HasOptionalField(e_alternateTransportAddresses
))
7169 strm
<< setw(indent
+30) << "alternateTransportAddresses = " << setprecision(indent
) << m_alternateTransportAddresses
<< '\n';
7170 if (HasOptionalField(e_useSpecifiedTransport
))
7171 strm
<< setw(indent
+24) << "useSpecifiedTransport = " << setprecision(indent
) << m_useSpecifiedTransport
<< '\n';
7172 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7177 PObject::Comparison
H225_RegistrationConfirm_preGrantedARQ::Compare(const PObject
& obj
) const
7179 #ifndef PASN_LEANANDMEAN
7180 PAssert(PIsDescendant(&obj
, H225_RegistrationConfirm_preGrantedARQ
), PInvalidCast
);
7182 const H225_RegistrationConfirm_preGrantedARQ
& other
= (const H225_RegistrationConfirm_preGrantedARQ
&)obj
;
7186 if ((result
= m_makeCall
.Compare(other
.m_makeCall
)) != EqualTo
)
7188 if ((result
= m_useGKCallSignalAddressToMakeCall
.Compare(other
.m_useGKCallSignalAddressToMakeCall
)) != EqualTo
)
7190 if ((result
= m_answerCall
.Compare(other
.m_answerCall
)) != EqualTo
)
7192 if ((result
= m_useGKCallSignalAddressToAnswer
.Compare(other
.m_useGKCallSignalAddressToAnswer
)) != EqualTo
)
7195 return PASN_Sequence::Compare(other
);
7199 PINDEX
H225_RegistrationConfirm_preGrantedARQ::GetDataLength() const
7202 length
+= m_makeCall
.GetObjectLength();
7203 length
+= m_useGKCallSignalAddressToMakeCall
.GetObjectLength();
7204 length
+= m_answerCall
.GetObjectLength();
7205 length
+= m_useGKCallSignalAddressToAnswer
.GetObjectLength();
7210 BOOL
H225_RegistrationConfirm_preGrantedARQ::Decode(PASN_Stream
& strm
)
7212 if (!PreambleDecode(strm
))
7215 if (!m_makeCall
.Decode(strm
))
7217 if (!m_useGKCallSignalAddressToMakeCall
.Decode(strm
))
7219 if (!m_answerCall
.Decode(strm
))
7221 if (!m_useGKCallSignalAddressToAnswer
.Decode(strm
))
7223 if (!KnownExtensionDecode(strm
, e_irrFrequencyInCall
, m_irrFrequencyInCall
))
7225 if (!KnownExtensionDecode(strm
, e_totalBandwidthRestriction
, m_totalBandwidthRestriction
))
7227 if (!KnownExtensionDecode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
))
7229 if (!KnownExtensionDecode(strm
, e_useSpecifiedTransport
, m_useSpecifiedTransport
))
7232 return UnknownExtensionsDecode(strm
);
7236 void H225_RegistrationConfirm_preGrantedARQ::Encode(PASN_Stream
& strm
) const
7238 PreambleEncode(strm
);
7240 m_makeCall
.Encode(strm
);
7241 m_useGKCallSignalAddressToMakeCall
.Encode(strm
);
7242 m_answerCall
.Encode(strm
);
7243 m_useGKCallSignalAddressToAnswer
.Encode(strm
);
7244 KnownExtensionEncode(strm
, e_irrFrequencyInCall
, m_irrFrequencyInCall
);
7245 KnownExtensionEncode(strm
, e_totalBandwidthRestriction
, m_totalBandwidthRestriction
);
7246 KnownExtensionEncode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
);
7247 KnownExtensionEncode(strm
, e_useSpecifiedTransport
, m_useSpecifiedTransport
);
7249 UnknownExtensionsEncode(strm
);
7253 PObject
* H225_RegistrationConfirm_preGrantedARQ::Clone() const
7255 #ifndef PASN_LEANANDMEAN
7256 PAssert(IsClass(H225_RegistrationConfirm_preGrantedARQ::Class()), PInvalidCast
);
7258 return new H225_RegistrationConfirm_preGrantedARQ(*this);
7266 H225_StimulusControl::H225_StimulusControl(unsigned tag
, PASN_Object::TagClass tagClass
)
7267 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
7272 #ifndef PASN_NOPRINTON
7273 void H225_StimulusControl::PrintOn(ostream
& strm
) const
7275 int indent
= strm
.precision() + 2;
7277 if (HasOptionalField(e_nonStandard
))
7278 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
7279 if (HasOptionalField(e_isText
))
7280 strm
<< setw(indent
+9) << "isText = " << setprecision(indent
) << m_isText
<< '\n';
7281 if (HasOptionalField(e_h248Message
))
7282 strm
<< setw(indent
+14) << "h248Message = " << setprecision(indent
) << m_h248Message
<< '\n';
7283 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7288 PObject::Comparison
H225_StimulusControl::Compare(const PObject
& obj
) const
7290 #ifndef PASN_LEANANDMEAN
7291 PAssert(PIsDescendant(&obj
, H225_StimulusControl
), PInvalidCast
);
7293 const H225_StimulusControl
& other
= (const H225_StimulusControl
&)obj
;
7297 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
7299 if ((result
= m_isText
.Compare(other
.m_isText
)) != EqualTo
)
7301 if ((result
= m_h248Message
.Compare(other
.m_h248Message
)) != EqualTo
)
7304 return PASN_Sequence::Compare(other
);
7308 PINDEX
H225_StimulusControl::GetDataLength() const
7311 if (HasOptionalField(e_nonStandard
))
7312 length
+= m_nonStandard
.GetObjectLength();
7313 if (HasOptionalField(e_isText
))
7314 length
+= m_isText
.GetObjectLength();
7315 if (HasOptionalField(e_h248Message
))
7316 length
+= m_h248Message
.GetObjectLength();
7321 BOOL
H225_StimulusControl::Decode(PASN_Stream
& strm
)
7323 if (!PreambleDecode(strm
))
7326 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
7328 if (HasOptionalField(e_isText
) && !m_isText
.Decode(strm
))
7330 if (HasOptionalField(e_h248Message
) && !m_h248Message
.Decode(strm
))
7333 return UnknownExtensionsDecode(strm
);
7337 void H225_StimulusControl::Encode(PASN_Stream
& strm
) const
7339 PreambleEncode(strm
);
7341 if (HasOptionalField(e_nonStandard
))
7342 m_nonStandard
.Encode(strm
);
7343 if (HasOptionalField(e_isText
))
7344 m_isText
.Encode(strm
);
7345 if (HasOptionalField(e_h248Message
))
7346 m_h248Message
.Encode(strm
);
7348 UnknownExtensionsEncode(strm
);
7352 PObject
* H225_StimulusControl::Clone() const
7354 #ifndef PASN_LEANANDMEAN
7355 PAssert(IsClass(H225_StimulusControl::Class()), PInvalidCast
);
7357 return new H225_StimulusControl(*this);
7365 H225_ConferenceList::H225_ConferenceList(unsigned tag
, PASN_Object::TagClass tagClass
)
7366 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
7371 #ifndef PASN_NOPRINTON
7372 void H225_ConferenceList::PrintOn(ostream
& strm
) const
7374 int indent
= strm
.precision() + 2;
7376 if (HasOptionalField(e_conferenceID
))
7377 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
7378 if (HasOptionalField(e_conferenceAlias
))
7379 strm
<< setw(indent
+18) << "conferenceAlias = " << setprecision(indent
) << m_conferenceAlias
<< '\n';
7380 if (HasOptionalField(e_nonStandardData
))
7381 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
7382 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7387 PObject::Comparison
H225_ConferenceList::Compare(const PObject
& obj
) const
7389 #ifndef PASN_LEANANDMEAN
7390 PAssert(PIsDescendant(&obj
, H225_ConferenceList
), PInvalidCast
);
7392 const H225_ConferenceList
& other
= (const H225_ConferenceList
&)obj
;
7396 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
7398 if ((result
= m_conferenceAlias
.Compare(other
.m_conferenceAlias
)) != EqualTo
)
7400 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
7403 return PASN_Sequence::Compare(other
);
7407 PINDEX
H225_ConferenceList::GetDataLength() const
7410 if (HasOptionalField(e_conferenceID
))
7411 length
+= m_conferenceID
.GetObjectLength();
7412 if (HasOptionalField(e_conferenceAlias
))
7413 length
+= m_conferenceAlias
.GetObjectLength();
7414 if (HasOptionalField(e_nonStandardData
))
7415 length
+= m_nonStandardData
.GetObjectLength();
7420 BOOL
H225_ConferenceList::Decode(PASN_Stream
& strm
)
7422 if (!PreambleDecode(strm
))
7425 if (HasOptionalField(e_conferenceID
) && !m_conferenceID
.Decode(strm
))
7427 if (HasOptionalField(e_conferenceAlias
) && !m_conferenceAlias
.Decode(strm
))
7429 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
7432 return UnknownExtensionsDecode(strm
);
7436 void H225_ConferenceList::Encode(PASN_Stream
& strm
) const
7438 PreambleEncode(strm
);
7440 if (HasOptionalField(e_conferenceID
))
7441 m_conferenceID
.Encode(strm
);
7442 if (HasOptionalField(e_conferenceAlias
))
7443 m_conferenceAlias
.Encode(strm
);
7444 if (HasOptionalField(e_nonStandardData
))
7445 m_nonStandardData
.Encode(strm
);
7447 UnknownExtensionsEncode(strm
);
7451 PObject
* H225_ConferenceList::Clone() const
7453 #ifndef PASN_LEANANDMEAN
7454 PAssert(IsClass(H225_ConferenceList::Class()), PInvalidCast
);
7456 return new H225_ConferenceList(*this);
7464 H225_GatewayInfo::H225_GatewayInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
7465 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
7470 #ifndef PASN_NOPRINTON
7471 void H225_GatewayInfo::PrintOn(ostream
& strm
) const
7473 int indent
= strm
.precision() + 2;
7475 if (HasOptionalField(e_protocol
))
7476 strm
<< setw(indent
+11) << "protocol = " << setprecision(indent
) << m_protocol
<< '\n';
7477 if (HasOptionalField(e_nonStandardData
))
7478 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
7479 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7484 PObject::Comparison
H225_GatewayInfo::Compare(const PObject
& obj
) const
7486 #ifndef PASN_LEANANDMEAN
7487 PAssert(PIsDescendant(&obj
, H225_GatewayInfo
), PInvalidCast
);
7489 const H225_GatewayInfo
& other
= (const H225_GatewayInfo
&)obj
;
7493 if ((result
= m_protocol
.Compare(other
.m_protocol
)) != EqualTo
)
7495 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
7498 return PASN_Sequence::Compare(other
);
7502 PINDEX
H225_GatewayInfo::GetDataLength() const
7505 if (HasOptionalField(e_protocol
))
7506 length
+= m_protocol
.GetObjectLength();
7507 if (HasOptionalField(e_nonStandardData
))
7508 length
+= m_nonStandardData
.GetObjectLength();
7513 BOOL
H225_GatewayInfo::Decode(PASN_Stream
& strm
)
7515 if (!PreambleDecode(strm
))
7518 if (HasOptionalField(e_protocol
) && !m_protocol
.Decode(strm
))
7520 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
7523 return UnknownExtensionsDecode(strm
);
7527 void H225_GatewayInfo::Encode(PASN_Stream
& strm
) const
7529 PreambleEncode(strm
);
7531 if (HasOptionalField(e_protocol
))
7532 m_protocol
.Encode(strm
);
7533 if (HasOptionalField(e_nonStandardData
))
7534 m_nonStandardData
.Encode(strm
);
7536 UnknownExtensionsEncode(strm
);
7540 PObject
* H225_GatewayInfo::Clone() const
7542 #ifndef PASN_LEANANDMEAN
7543 PAssert(IsClass(H225_GatewayInfo::Class()), PInvalidCast
);
7545 return new H225_GatewayInfo(*this);
7553 H225_H310Caps::H225_H310Caps(unsigned tag
, PASN_Object::TagClass tagClass
)
7554 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
7556 IncludeOptionalField(e_supportedPrefixes
);
7560 #ifndef PASN_NOPRINTON
7561 void H225_H310Caps::PrintOn(ostream
& strm
) const
7563 int indent
= strm
.precision() + 2;
7565 if (HasOptionalField(e_nonStandardData
))
7566 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
7567 if (HasOptionalField(e_dataRatesSupported
))
7568 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
7569 if (HasOptionalField(e_supportedPrefixes
))
7570 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
7571 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7576 PObject::Comparison
H225_H310Caps::Compare(const PObject
& obj
) const
7578 #ifndef PASN_LEANANDMEAN
7579 PAssert(PIsDescendant(&obj
, H225_H310Caps
), PInvalidCast
);
7581 const H225_H310Caps
& other
= (const H225_H310Caps
&)obj
;
7585 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
7588 return PASN_Sequence::Compare(other
);
7592 PINDEX
H225_H310Caps::GetDataLength() const
7595 if (HasOptionalField(e_nonStandardData
))
7596 length
+= m_nonStandardData
.GetObjectLength();
7601 BOOL
H225_H310Caps::Decode(PASN_Stream
& strm
)
7603 if (!PreambleDecode(strm
))
7606 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
7608 if (!KnownExtensionDecode(strm
, e_dataRatesSupported
, m_dataRatesSupported
))
7610 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
7613 return UnknownExtensionsDecode(strm
);
7617 void H225_H310Caps::Encode(PASN_Stream
& strm
) const
7619 PreambleEncode(strm
);
7621 if (HasOptionalField(e_nonStandardData
))
7622 m_nonStandardData
.Encode(strm
);
7623 KnownExtensionEncode(strm
, e_dataRatesSupported
, m_dataRatesSupported
);
7624 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
7626 UnknownExtensionsEncode(strm
);
7630 PObject
* H225_H310Caps::Clone() const
7632 #ifndef PASN_LEANANDMEAN
7633 PAssert(IsClass(H225_H310Caps::Class()), PInvalidCast
);
7635 return new H225_H310Caps(*this);
7643 H225_H320Caps::H225_H320Caps(unsigned tag
, PASN_Object::TagClass tagClass
)
7644 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
7646 IncludeOptionalField(e_supportedPrefixes
);
7650 #ifndef PASN_NOPRINTON
7651 void H225_H320Caps::PrintOn(ostream
& strm
) const
7653 int indent
= strm
.precision() + 2;
7655 if (HasOptionalField(e_nonStandardData
))
7656 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
7657 if (HasOptionalField(e_dataRatesSupported
))
7658 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
7659 if (HasOptionalField(e_supportedPrefixes
))
7660 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
7661 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7666 PObject::Comparison
H225_H320Caps::Compare(const PObject
& obj
) const
7668 #ifndef PASN_LEANANDMEAN
7669 PAssert(PIsDescendant(&obj
, H225_H320Caps
), PInvalidCast
);
7671 const H225_H320Caps
& other
= (const H225_H320Caps
&)obj
;
7675 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
7678 return PASN_Sequence::Compare(other
);
7682 PINDEX
H225_H320Caps::GetDataLength() const
7685 if (HasOptionalField(e_nonStandardData
))
7686 length
+= m_nonStandardData
.GetObjectLength();
7691 BOOL
H225_H320Caps::Decode(PASN_Stream
& strm
)
7693 if (!PreambleDecode(strm
))
7696 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
7698 if (!KnownExtensionDecode(strm
, e_dataRatesSupported
, m_dataRatesSupported
))
7700 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
7703 return UnknownExtensionsDecode(strm
);
7707 void H225_H320Caps::Encode(PASN_Stream
& strm
) const
7709 PreambleEncode(strm
);
7711 if (HasOptionalField(e_nonStandardData
))
7712 m_nonStandardData
.Encode(strm
);
7713 KnownExtensionEncode(strm
, e_dataRatesSupported
, m_dataRatesSupported
);
7714 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
7716 UnknownExtensionsEncode(strm
);
7720 PObject
* H225_H320Caps::Clone() const
7722 #ifndef PASN_LEANANDMEAN
7723 PAssert(IsClass(H225_H320Caps::Class()), PInvalidCast
);
7725 return new H225_H320Caps(*this);
7733 H225_H321Caps::H225_H321Caps(unsigned tag
, PASN_Object::TagClass tagClass
)
7734 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
7736 IncludeOptionalField(e_supportedPrefixes
);
7740 #ifndef PASN_NOPRINTON
7741 void H225_H321Caps::PrintOn(ostream
& strm
) const
7743 int indent
= strm
.precision() + 2;
7745 if (HasOptionalField(e_nonStandardData
))
7746 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
7747 if (HasOptionalField(e_dataRatesSupported
))
7748 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
7749 if (HasOptionalField(e_supportedPrefixes
))
7750 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
7751 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7756 PObject::Comparison
H225_H321Caps::Compare(const PObject
& obj
) const
7758 #ifndef PASN_LEANANDMEAN
7759 PAssert(PIsDescendant(&obj
, H225_H321Caps
), PInvalidCast
);
7761 const H225_H321Caps
& other
= (const H225_H321Caps
&)obj
;
7765 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
7768 return PASN_Sequence::Compare(other
);
7772 PINDEX
H225_H321Caps::GetDataLength() const
7775 if (HasOptionalField(e_nonStandardData
))
7776 length
+= m_nonStandardData
.GetObjectLength();
7781 BOOL
H225_H321Caps::Decode(PASN_Stream
& strm
)
7783 if (!PreambleDecode(strm
))
7786 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
7788 if (!KnownExtensionDecode(strm
, e_dataRatesSupported
, m_dataRatesSupported
))
7790 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
7793 return UnknownExtensionsDecode(strm
);
7797 void H225_H321Caps::Encode(PASN_Stream
& strm
) const
7799 PreambleEncode(strm
);
7801 if (HasOptionalField(e_nonStandardData
))
7802 m_nonStandardData
.Encode(strm
);
7803 KnownExtensionEncode(strm
, e_dataRatesSupported
, m_dataRatesSupported
);
7804 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
7806 UnknownExtensionsEncode(strm
);
7810 PObject
* H225_H321Caps::Clone() const
7812 #ifndef PASN_LEANANDMEAN
7813 PAssert(IsClass(H225_H321Caps::Class()), PInvalidCast
);
7815 return new H225_H321Caps(*this);
7823 H225_H322Caps::H225_H322Caps(unsigned tag
, PASN_Object::TagClass tagClass
)
7824 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
7826 IncludeOptionalField(e_supportedPrefixes
);
7830 #ifndef PASN_NOPRINTON
7831 void H225_H322Caps::PrintOn(ostream
& strm
) const
7833 int indent
= strm
.precision() + 2;
7835 if (HasOptionalField(e_nonStandardData
))
7836 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
7837 if (HasOptionalField(e_dataRatesSupported
))
7838 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
7839 if (HasOptionalField(e_supportedPrefixes
))
7840 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
7841 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7846 PObject::Comparison
H225_H322Caps::Compare(const PObject
& obj
) const
7848 #ifndef PASN_LEANANDMEAN
7849 PAssert(PIsDescendant(&obj
, H225_H322Caps
), PInvalidCast
);
7851 const H225_H322Caps
& other
= (const H225_H322Caps
&)obj
;
7855 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
7858 return PASN_Sequence::Compare(other
);
7862 PINDEX
H225_H322Caps::GetDataLength() const
7865 if (HasOptionalField(e_nonStandardData
))
7866 length
+= m_nonStandardData
.GetObjectLength();
7871 BOOL
H225_H322Caps::Decode(PASN_Stream
& strm
)
7873 if (!PreambleDecode(strm
))
7876 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
7878 if (!KnownExtensionDecode(strm
, e_dataRatesSupported
, m_dataRatesSupported
))
7880 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
7883 return UnknownExtensionsDecode(strm
);
7887 void H225_H322Caps::Encode(PASN_Stream
& strm
) const
7889 PreambleEncode(strm
);
7891 if (HasOptionalField(e_nonStandardData
))
7892 m_nonStandardData
.Encode(strm
);
7893 KnownExtensionEncode(strm
, e_dataRatesSupported
, m_dataRatesSupported
);
7894 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
7896 UnknownExtensionsEncode(strm
);
7900 PObject
* H225_H322Caps::Clone() const
7902 #ifndef PASN_LEANANDMEAN
7903 PAssert(IsClass(H225_H322Caps::Class()), PInvalidCast
);
7905 return new H225_H322Caps(*this);
7913 H225_H323Caps::H225_H323Caps(unsigned tag
, PASN_Object::TagClass tagClass
)
7914 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
7916 IncludeOptionalField(e_supportedPrefixes
);
7920 #ifndef PASN_NOPRINTON
7921 void H225_H323Caps::PrintOn(ostream
& strm
) const
7923 int indent
= strm
.precision() + 2;
7925 if (HasOptionalField(e_nonStandardData
))
7926 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
7927 if (HasOptionalField(e_dataRatesSupported
))
7928 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
7929 if (HasOptionalField(e_supportedPrefixes
))
7930 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
7931 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7936 PObject::Comparison
H225_H323Caps::Compare(const PObject
& obj
) const
7938 #ifndef PASN_LEANANDMEAN
7939 PAssert(PIsDescendant(&obj
, H225_H323Caps
), PInvalidCast
);
7941 const H225_H323Caps
& other
= (const H225_H323Caps
&)obj
;
7945 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
7948 return PASN_Sequence::Compare(other
);
7952 PINDEX
H225_H323Caps::GetDataLength() const
7955 if (HasOptionalField(e_nonStandardData
))
7956 length
+= m_nonStandardData
.GetObjectLength();
7961 BOOL
H225_H323Caps::Decode(PASN_Stream
& strm
)
7963 if (!PreambleDecode(strm
))
7966 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
7968 if (!KnownExtensionDecode(strm
, e_dataRatesSupported
, m_dataRatesSupported
))
7970 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
7973 return UnknownExtensionsDecode(strm
);
7977 void H225_H323Caps::Encode(PASN_Stream
& strm
) const
7979 PreambleEncode(strm
);
7981 if (HasOptionalField(e_nonStandardData
))
7982 m_nonStandardData
.Encode(strm
);
7983 KnownExtensionEncode(strm
, e_dataRatesSupported
, m_dataRatesSupported
);
7984 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
7986 UnknownExtensionsEncode(strm
);
7990 PObject
* H225_H323Caps::Clone() const
7992 #ifndef PASN_LEANANDMEAN
7993 PAssert(IsClass(H225_H323Caps::Class()), PInvalidCast
);
7995 return new H225_H323Caps(*this);
8003 H225_H324Caps::H225_H324Caps(unsigned tag
, PASN_Object::TagClass tagClass
)
8004 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
8006 IncludeOptionalField(e_supportedPrefixes
);
8010 #ifndef PASN_NOPRINTON
8011 void H225_H324Caps::PrintOn(ostream
& strm
) const
8013 int indent
= strm
.precision() + 2;
8015 if (HasOptionalField(e_nonStandardData
))
8016 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8017 if (HasOptionalField(e_dataRatesSupported
))
8018 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
8019 if (HasOptionalField(e_supportedPrefixes
))
8020 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
8021 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8026 PObject::Comparison
H225_H324Caps::Compare(const PObject
& obj
) const
8028 #ifndef PASN_LEANANDMEAN
8029 PAssert(PIsDescendant(&obj
, H225_H324Caps
), PInvalidCast
);
8031 const H225_H324Caps
& other
= (const H225_H324Caps
&)obj
;
8035 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8038 return PASN_Sequence::Compare(other
);
8042 PINDEX
H225_H324Caps::GetDataLength() const
8045 if (HasOptionalField(e_nonStandardData
))
8046 length
+= m_nonStandardData
.GetObjectLength();
8051 BOOL
H225_H324Caps::Decode(PASN_Stream
& strm
)
8053 if (!PreambleDecode(strm
))
8056 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8058 if (!KnownExtensionDecode(strm
, e_dataRatesSupported
, m_dataRatesSupported
))
8060 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
8063 return UnknownExtensionsDecode(strm
);
8067 void H225_H324Caps::Encode(PASN_Stream
& strm
) const
8069 PreambleEncode(strm
);
8071 if (HasOptionalField(e_nonStandardData
))
8072 m_nonStandardData
.Encode(strm
);
8073 KnownExtensionEncode(strm
, e_dataRatesSupported
, m_dataRatesSupported
);
8074 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
8076 UnknownExtensionsEncode(strm
);
8080 PObject
* H225_H324Caps::Clone() const
8082 #ifndef PASN_LEANANDMEAN
8083 PAssert(IsClass(H225_H324Caps::Class()), PInvalidCast
);
8085 return new H225_H324Caps(*this);
8093 H225_VoiceCaps::H225_VoiceCaps(unsigned tag
, PASN_Object::TagClass tagClass
)
8094 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
8096 IncludeOptionalField(e_supportedPrefixes
);
8100 #ifndef PASN_NOPRINTON
8101 void H225_VoiceCaps::PrintOn(ostream
& strm
) const
8103 int indent
= strm
.precision() + 2;
8105 if (HasOptionalField(e_nonStandardData
))
8106 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8107 if (HasOptionalField(e_dataRatesSupported
))
8108 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
8109 if (HasOptionalField(e_supportedPrefixes
))
8110 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
8111 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8116 PObject::Comparison
H225_VoiceCaps::Compare(const PObject
& obj
) const
8118 #ifndef PASN_LEANANDMEAN
8119 PAssert(PIsDescendant(&obj
, H225_VoiceCaps
), PInvalidCast
);
8121 const H225_VoiceCaps
& other
= (const H225_VoiceCaps
&)obj
;
8125 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8128 return PASN_Sequence::Compare(other
);
8132 PINDEX
H225_VoiceCaps::GetDataLength() const
8135 if (HasOptionalField(e_nonStandardData
))
8136 length
+= m_nonStandardData
.GetObjectLength();
8141 BOOL
H225_VoiceCaps::Decode(PASN_Stream
& strm
)
8143 if (!PreambleDecode(strm
))
8146 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8148 if (!KnownExtensionDecode(strm
, e_dataRatesSupported
, m_dataRatesSupported
))
8150 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
8153 return UnknownExtensionsDecode(strm
);
8157 void H225_VoiceCaps::Encode(PASN_Stream
& strm
) const
8159 PreambleEncode(strm
);
8161 if (HasOptionalField(e_nonStandardData
))
8162 m_nonStandardData
.Encode(strm
);
8163 KnownExtensionEncode(strm
, e_dataRatesSupported
, m_dataRatesSupported
);
8164 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
8166 UnknownExtensionsEncode(strm
);
8170 PObject
* H225_VoiceCaps::Clone() const
8172 #ifndef PASN_LEANANDMEAN
8173 PAssert(IsClass(H225_VoiceCaps::Class()), PInvalidCast
);
8175 return new H225_VoiceCaps(*this);
8183 H225_T120OnlyCaps::H225_T120OnlyCaps(unsigned tag
, PASN_Object::TagClass tagClass
)
8184 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
8186 IncludeOptionalField(e_supportedPrefixes
);
8190 #ifndef PASN_NOPRINTON
8191 void H225_T120OnlyCaps::PrintOn(ostream
& strm
) const
8193 int indent
= strm
.precision() + 2;
8195 if (HasOptionalField(e_nonStandardData
))
8196 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8197 if (HasOptionalField(e_dataRatesSupported
))
8198 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
8199 if (HasOptionalField(e_supportedPrefixes
))
8200 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
8201 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8206 PObject::Comparison
H225_T120OnlyCaps::Compare(const PObject
& obj
) const
8208 #ifndef PASN_LEANANDMEAN
8209 PAssert(PIsDescendant(&obj
, H225_T120OnlyCaps
), PInvalidCast
);
8211 const H225_T120OnlyCaps
& other
= (const H225_T120OnlyCaps
&)obj
;
8215 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8218 return PASN_Sequence::Compare(other
);
8222 PINDEX
H225_T120OnlyCaps::GetDataLength() const
8225 if (HasOptionalField(e_nonStandardData
))
8226 length
+= m_nonStandardData
.GetObjectLength();
8231 BOOL
H225_T120OnlyCaps::Decode(PASN_Stream
& strm
)
8233 if (!PreambleDecode(strm
))
8236 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8238 if (!KnownExtensionDecode(strm
, e_dataRatesSupported
, m_dataRatesSupported
))
8240 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
8243 return UnknownExtensionsDecode(strm
);
8247 void H225_T120OnlyCaps::Encode(PASN_Stream
& strm
) const
8249 PreambleEncode(strm
);
8251 if (HasOptionalField(e_nonStandardData
))
8252 m_nonStandardData
.Encode(strm
);
8253 KnownExtensionEncode(strm
, e_dataRatesSupported
, m_dataRatesSupported
);
8254 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
8256 UnknownExtensionsEncode(strm
);
8260 PObject
* H225_T120OnlyCaps::Clone() const
8262 #ifndef PASN_LEANANDMEAN
8263 PAssert(IsClass(H225_T120OnlyCaps::Class()), PInvalidCast
);
8265 return new H225_T120OnlyCaps(*this);
8270 // NonStandardProtocol
8273 H225_NonStandardProtocol::H225_NonStandardProtocol(unsigned tag
, PASN_Object::TagClass tagClass
)
8274 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
8279 #ifndef PASN_NOPRINTON
8280 void H225_NonStandardProtocol::PrintOn(ostream
& strm
) const
8282 int indent
= strm
.precision() + 2;
8284 if (HasOptionalField(e_nonStandardData
))
8285 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8286 if (HasOptionalField(e_dataRatesSupported
))
8287 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
8288 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
8289 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8294 PObject::Comparison
H225_NonStandardProtocol::Compare(const PObject
& obj
) const
8296 #ifndef PASN_LEANANDMEAN
8297 PAssert(PIsDescendant(&obj
, H225_NonStandardProtocol
), PInvalidCast
);
8299 const H225_NonStandardProtocol
& other
= (const H225_NonStandardProtocol
&)obj
;
8303 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8305 if ((result
= m_dataRatesSupported
.Compare(other
.m_dataRatesSupported
)) != EqualTo
)
8307 if ((result
= m_supportedPrefixes
.Compare(other
.m_supportedPrefixes
)) != EqualTo
)
8310 return PASN_Sequence::Compare(other
);
8314 PINDEX
H225_NonStandardProtocol::GetDataLength() const
8317 if (HasOptionalField(e_nonStandardData
))
8318 length
+= m_nonStandardData
.GetObjectLength();
8319 if (HasOptionalField(e_dataRatesSupported
))
8320 length
+= m_dataRatesSupported
.GetObjectLength();
8321 length
+= m_supportedPrefixes
.GetObjectLength();
8326 BOOL
H225_NonStandardProtocol::Decode(PASN_Stream
& strm
)
8328 if (!PreambleDecode(strm
))
8331 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8333 if (HasOptionalField(e_dataRatesSupported
) && !m_dataRatesSupported
.Decode(strm
))
8335 if (!m_supportedPrefixes
.Decode(strm
))
8338 return UnknownExtensionsDecode(strm
);
8342 void H225_NonStandardProtocol::Encode(PASN_Stream
& strm
) const
8344 PreambleEncode(strm
);
8346 if (HasOptionalField(e_nonStandardData
))
8347 m_nonStandardData
.Encode(strm
);
8348 if (HasOptionalField(e_dataRatesSupported
))
8349 m_dataRatesSupported
.Encode(strm
);
8350 m_supportedPrefixes
.Encode(strm
);
8352 UnknownExtensionsEncode(strm
);
8356 PObject
* H225_NonStandardProtocol::Clone() const
8358 #ifndef PASN_LEANANDMEAN
8359 PAssert(IsClass(H225_NonStandardProtocol::Class()), PInvalidCast
);
8361 return new H225_NonStandardProtocol(*this);
8366 // T38FaxAnnexbOnlyCaps
8369 H225_T38FaxAnnexbOnlyCaps::H225_T38FaxAnnexbOnlyCaps(unsigned tag
, PASN_Object::TagClass tagClass
)
8370 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
8375 #ifndef PASN_NOPRINTON
8376 void H225_T38FaxAnnexbOnlyCaps::PrintOn(ostream
& strm
) const
8378 int indent
= strm
.precision() + 2;
8380 if (HasOptionalField(e_nonStandardData
))
8381 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8382 if (HasOptionalField(e_dataRatesSupported
))
8383 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
8384 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
8385 strm
<< setw(indent
+17) << "t38FaxProtocol = " << setprecision(indent
) << m_t38FaxProtocol
<< '\n';
8386 strm
<< setw(indent
+16) << "t38FaxProfile = " << setprecision(indent
) << m_t38FaxProfile
<< '\n';
8387 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8392 PObject::Comparison
H225_T38FaxAnnexbOnlyCaps::Compare(const PObject
& obj
) const
8394 #ifndef PASN_LEANANDMEAN
8395 PAssert(PIsDescendant(&obj
, H225_T38FaxAnnexbOnlyCaps
), PInvalidCast
);
8397 const H225_T38FaxAnnexbOnlyCaps
& other
= (const H225_T38FaxAnnexbOnlyCaps
&)obj
;
8401 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8403 if ((result
= m_dataRatesSupported
.Compare(other
.m_dataRatesSupported
)) != EqualTo
)
8405 if ((result
= m_supportedPrefixes
.Compare(other
.m_supportedPrefixes
)) != EqualTo
)
8407 if ((result
= m_t38FaxProtocol
.Compare(other
.m_t38FaxProtocol
)) != EqualTo
)
8409 if ((result
= m_t38FaxProfile
.Compare(other
.m_t38FaxProfile
)) != EqualTo
)
8412 return PASN_Sequence::Compare(other
);
8416 PINDEX
H225_T38FaxAnnexbOnlyCaps::GetDataLength() const
8419 if (HasOptionalField(e_nonStandardData
))
8420 length
+= m_nonStandardData
.GetObjectLength();
8421 if (HasOptionalField(e_dataRatesSupported
))
8422 length
+= m_dataRatesSupported
.GetObjectLength();
8423 length
+= m_supportedPrefixes
.GetObjectLength();
8424 length
+= m_t38FaxProtocol
.GetObjectLength();
8425 length
+= m_t38FaxProfile
.GetObjectLength();
8430 BOOL
H225_T38FaxAnnexbOnlyCaps::Decode(PASN_Stream
& strm
)
8432 if (!PreambleDecode(strm
))
8435 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8437 if (HasOptionalField(e_dataRatesSupported
) && !m_dataRatesSupported
.Decode(strm
))
8439 if (!m_supportedPrefixes
.Decode(strm
))
8441 if (!m_t38FaxProtocol
.Decode(strm
))
8443 if (!m_t38FaxProfile
.Decode(strm
))
8446 return UnknownExtensionsDecode(strm
);
8450 void H225_T38FaxAnnexbOnlyCaps::Encode(PASN_Stream
& strm
) const
8452 PreambleEncode(strm
);
8454 if (HasOptionalField(e_nonStandardData
))
8455 m_nonStandardData
.Encode(strm
);
8456 if (HasOptionalField(e_dataRatesSupported
))
8457 m_dataRatesSupported
.Encode(strm
);
8458 m_supportedPrefixes
.Encode(strm
);
8459 m_t38FaxProtocol
.Encode(strm
);
8460 m_t38FaxProfile
.Encode(strm
);
8462 UnknownExtensionsEncode(strm
);
8466 PObject
* H225_T38FaxAnnexbOnlyCaps::Clone() const
8468 #ifndef PASN_LEANANDMEAN
8469 PAssert(IsClass(H225_T38FaxAnnexbOnlyCaps::Class()), PInvalidCast
);
8471 return new H225_T38FaxAnnexbOnlyCaps(*this);
8479 H225_SIPCaps::H225_SIPCaps(unsigned tag
, PASN_Object::TagClass tagClass
)
8480 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
8485 #ifndef PASN_NOPRINTON
8486 void H225_SIPCaps::PrintOn(ostream
& strm
) const
8488 int indent
= strm
.precision() + 2;
8490 if (HasOptionalField(e_nonStandardData
))
8491 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8492 if (HasOptionalField(e_dataRatesSupported
))
8493 strm
<< setw(indent
+21) << "dataRatesSupported = " << setprecision(indent
) << m_dataRatesSupported
<< '\n';
8494 if (HasOptionalField(e_supportedPrefixes
))
8495 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
8496 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8501 PObject::Comparison
H225_SIPCaps::Compare(const PObject
& obj
) const
8503 #ifndef PASN_LEANANDMEAN
8504 PAssert(PIsDescendant(&obj
, H225_SIPCaps
), PInvalidCast
);
8506 const H225_SIPCaps
& other
= (const H225_SIPCaps
&)obj
;
8510 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8512 if ((result
= m_dataRatesSupported
.Compare(other
.m_dataRatesSupported
)) != EqualTo
)
8514 if ((result
= m_supportedPrefixes
.Compare(other
.m_supportedPrefixes
)) != EqualTo
)
8517 return PASN_Sequence::Compare(other
);
8521 PINDEX
H225_SIPCaps::GetDataLength() const
8524 if (HasOptionalField(e_nonStandardData
))
8525 length
+= m_nonStandardData
.GetObjectLength();
8526 if (HasOptionalField(e_dataRatesSupported
))
8527 length
+= m_dataRatesSupported
.GetObjectLength();
8528 if (HasOptionalField(e_supportedPrefixes
))
8529 length
+= m_supportedPrefixes
.GetObjectLength();
8534 BOOL
H225_SIPCaps::Decode(PASN_Stream
& strm
)
8536 if (!PreambleDecode(strm
))
8539 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8541 if (HasOptionalField(e_dataRatesSupported
) && !m_dataRatesSupported
.Decode(strm
))
8543 if (HasOptionalField(e_supportedPrefixes
) && !m_supportedPrefixes
.Decode(strm
))
8546 return UnknownExtensionsDecode(strm
);
8550 void H225_SIPCaps::Encode(PASN_Stream
& strm
) const
8552 PreambleEncode(strm
);
8554 if (HasOptionalField(e_nonStandardData
))
8555 m_nonStandardData
.Encode(strm
);
8556 if (HasOptionalField(e_dataRatesSupported
))
8557 m_dataRatesSupported
.Encode(strm
);
8558 if (HasOptionalField(e_supportedPrefixes
))
8559 m_supportedPrefixes
.Encode(strm
);
8561 UnknownExtensionsEncode(strm
);
8565 PObject
* H225_SIPCaps::Clone() const
8567 #ifndef PASN_LEANANDMEAN
8568 PAssert(IsClass(H225_SIPCaps::Class()), PInvalidCast
);
8570 return new H225_SIPCaps(*this);
8578 H225_McuInfo::H225_McuInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
8579 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 1)
8584 #ifndef PASN_NOPRINTON
8585 void H225_McuInfo::PrintOn(ostream
& strm
) const
8587 int indent
= strm
.precision() + 2;
8589 if (HasOptionalField(e_nonStandardData
))
8590 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8591 if (HasOptionalField(e_protocol
))
8592 strm
<< setw(indent
+11) << "protocol = " << setprecision(indent
) << m_protocol
<< '\n';
8593 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8598 PObject::Comparison
H225_McuInfo::Compare(const PObject
& obj
) const
8600 #ifndef PASN_LEANANDMEAN
8601 PAssert(PIsDescendant(&obj
, H225_McuInfo
), PInvalidCast
);
8603 const H225_McuInfo
& other
= (const H225_McuInfo
&)obj
;
8607 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8610 return PASN_Sequence::Compare(other
);
8614 PINDEX
H225_McuInfo::GetDataLength() const
8617 if (HasOptionalField(e_nonStandardData
))
8618 length
+= m_nonStandardData
.GetObjectLength();
8623 BOOL
H225_McuInfo::Decode(PASN_Stream
& strm
)
8625 if (!PreambleDecode(strm
))
8628 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8630 if (!KnownExtensionDecode(strm
, e_protocol
, m_protocol
))
8633 return UnknownExtensionsDecode(strm
);
8637 void H225_McuInfo::Encode(PASN_Stream
& strm
) const
8639 PreambleEncode(strm
);
8641 if (HasOptionalField(e_nonStandardData
))
8642 m_nonStandardData
.Encode(strm
);
8643 KnownExtensionEncode(strm
, e_protocol
, m_protocol
);
8645 UnknownExtensionsEncode(strm
);
8649 PObject
* H225_McuInfo::Clone() const
8651 #ifndef PASN_LEANANDMEAN
8652 PAssert(IsClass(H225_McuInfo::Class()), PInvalidCast
);
8654 return new H225_McuInfo(*this);
8662 H225_TerminalInfo::H225_TerminalInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
8663 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
8668 #ifndef PASN_NOPRINTON
8669 void H225_TerminalInfo::PrintOn(ostream
& strm
) const
8671 int indent
= strm
.precision() + 2;
8673 if (HasOptionalField(e_nonStandardData
))
8674 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8675 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8680 PObject::Comparison
H225_TerminalInfo::Compare(const PObject
& obj
) const
8682 #ifndef PASN_LEANANDMEAN
8683 PAssert(PIsDescendant(&obj
, H225_TerminalInfo
), PInvalidCast
);
8685 const H225_TerminalInfo
& other
= (const H225_TerminalInfo
&)obj
;
8689 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8692 return PASN_Sequence::Compare(other
);
8696 PINDEX
H225_TerminalInfo::GetDataLength() const
8699 if (HasOptionalField(e_nonStandardData
))
8700 length
+= m_nonStandardData
.GetObjectLength();
8705 BOOL
H225_TerminalInfo::Decode(PASN_Stream
& strm
)
8707 if (!PreambleDecode(strm
))
8710 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8713 return UnknownExtensionsDecode(strm
);
8717 void H225_TerminalInfo::Encode(PASN_Stream
& strm
) const
8719 PreambleEncode(strm
);
8721 if (HasOptionalField(e_nonStandardData
))
8722 m_nonStandardData
.Encode(strm
);
8724 UnknownExtensionsEncode(strm
);
8728 PObject
* H225_TerminalInfo::Clone() const
8730 #ifndef PASN_LEANANDMEAN
8731 PAssert(IsClass(H225_TerminalInfo::Class()), PInvalidCast
);
8733 return new H225_TerminalInfo(*this);
8741 H225_GatekeeperInfo::H225_GatekeeperInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
8742 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
8747 #ifndef PASN_NOPRINTON
8748 void H225_GatekeeperInfo::PrintOn(ostream
& strm
) const
8750 int indent
= strm
.precision() + 2;
8752 if (HasOptionalField(e_nonStandardData
))
8753 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
8754 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8759 PObject::Comparison
H225_GatekeeperInfo::Compare(const PObject
& obj
) const
8761 #ifndef PASN_LEANANDMEAN
8762 PAssert(PIsDescendant(&obj
, H225_GatekeeperInfo
), PInvalidCast
);
8764 const H225_GatekeeperInfo
& other
= (const H225_GatekeeperInfo
&)obj
;
8768 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
8771 return PASN_Sequence::Compare(other
);
8775 PINDEX
H225_GatekeeperInfo::GetDataLength() const
8778 if (HasOptionalField(e_nonStandardData
))
8779 length
+= m_nonStandardData
.GetObjectLength();
8784 BOOL
H225_GatekeeperInfo::Decode(PASN_Stream
& strm
)
8786 if (!PreambleDecode(strm
))
8789 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
8792 return UnknownExtensionsDecode(strm
);
8796 void H225_GatekeeperInfo::Encode(PASN_Stream
& strm
) const
8798 PreambleEncode(strm
);
8800 if (HasOptionalField(e_nonStandardData
))
8801 m_nonStandardData
.Encode(strm
);
8803 UnknownExtensionsEncode(strm
);
8807 PObject
* H225_GatekeeperInfo::Clone() const
8809 #ifndef PASN_LEANANDMEAN
8810 PAssert(IsClass(H225_GatekeeperInfo::Class()), PInvalidCast
);
8812 return new H225_GatekeeperInfo(*this);
8817 // FeatureDescriptor
8820 H225_FeatureDescriptor::H225_FeatureDescriptor(unsigned tag
, PASN_Object::TagClass tagClass
)
8821 : H225_GenericData(tag
, tagClass
)
8826 PObject
* H225_FeatureDescriptor::Clone() const
8828 #ifndef PASN_LEANANDMEAN
8829 PAssert(IsClass(H225_FeatureDescriptor::Class()), PInvalidCast
);
8831 return new H225_FeatureDescriptor(*this);
8839 H225_CallCapacity::H225_CallCapacity(unsigned tag
, PASN_Object::TagClass tagClass
)
8840 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
8845 #ifndef PASN_NOPRINTON
8846 void H225_CallCapacity::PrintOn(ostream
& strm
) const
8848 int indent
= strm
.precision() + 2;
8850 if (HasOptionalField(e_maximumCallCapacity
))
8851 strm
<< setw(indent
+22) << "maximumCallCapacity = " << setprecision(indent
) << m_maximumCallCapacity
<< '\n';
8852 if (HasOptionalField(e_currentCallCapacity
))
8853 strm
<< setw(indent
+22) << "currentCallCapacity = " << setprecision(indent
) << m_currentCallCapacity
<< '\n';
8854 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8859 PObject::Comparison
H225_CallCapacity::Compare(const PObject
& obj
) const
8861 #ifndef PASN_LEANANDMEAN
8862 PAssert(PIsDescendant(&obj
, H225_CallCapacity
), PInvalidCast
);
8864 const H225_CallCapacity
& other
= (const H225_CallCapacity
&)obj
;
8868 if ((result
= m_maximumCallCapacity
.Compare(other
.m_maximumCallCapacity
)) != EqualTo
)
8870 if ((result
= m_currentCallCapacity
.Compare(other
.m_currentCallCapacity
)) != EqualTo
)
8873 return PASN_Sequence::Compare(other
);
8877 PINDEX
H225_CallCapacity::GetDataLength() const
8880 if (HasOptionalField(e_maximumCallCapacity
))
8881 length
+= m_maximumCallCapacity
.GetObjectLength();
8882 if (HasOptionalField(e_currentCallCapacity
))
8883 length
+= m_currentCallCapacity
.GetObjectLength();
8888 BOOL
H225_CallCapacity::Decode(PASN_Stream
& strm
)
8890 if (!PreambleDecode(strm
))
8893 if (HasOptionalField(e_maximumCallCapacity
) && !m_maximumCallCapacity
.Decode(strm
))
8895 if (HasOptionalField(e_currentCallCapacity
) && !m_currentCallCapacity
.Decode(strm
))
8898 return UnknownExtensionsDecode(strm
);
8902 void H225_CallCapacity::Encode(PASN_Stream
& strm
) const
8904 PreambleEncode(strm
);
8906 if (HasOptionalField(e_maximumCallCapacity
))
8907 m_maximumCallCapacity
.Encode(strm
);
8908 if (HasOptionalField(e_currentCallCapacity
))
8909 m_currentCallCapacity
.Encode(strm
);
8911 UnknownExtensionsEncode(strm
);
8915 PObject
* H225_CallCapacity::Clone() const
8917 #ifndef PASN_LEANANDMEAN
8918 PAssert(IsClass(H225_CallCapacity::Class()), PInvalidCast
);
8920 return new H225_CallCapacity(*this);
8925 // CircuitIdentifier
8928 H225_CircuitIdentifier::H225_CircuitIdentifier(unsigned tag
, PASN_Object::TagClass tagClass
)
8929 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 1)
8934 #ifndef PASN_NOPRINTON
8935 void H225_CircuitIdentifier::PrintOn(ostream
& strm
) const
8937 int indent
= strm
.precision() + 2;
8939 if (HasOptionalField(e_cic
))
8940 strm
<< setw(indent
+6) << "cic = " << setprecision(indent
) << m_cic
<< '\n';
8941 if (HasOptionalField(e_group
))
8942 strm
<< setw(indent
+8) << "group = " << setprecision(indent
) << m_group
<< '\n';
8943 if (HasOptionalField(e_carrier
))
8944 strm
<< setw(indent
+10) << "carrier = " << setprecision(indent
) << m_carrier
<< '\n';
8945 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8950 PObject::Comparison
H225_CircuitIdentifier::Compare(const PObject
& obj
) const
8952 #ifndef PASN_LEANANDMEAN
8953 PAssert(PIsDescendant(&obj
, H225_CircuitIdentifier
), PInvalidCast
);
8955 const H225_CircuitIdentifier
& other
= (const H225_CircuitIdentifier
&)obj
;
8959 if ((result
= m_cic
.Compare(other
.m_cic
)) != EqualTo
)
8961 if ((result
= m_group
.Compare(other
.m_group
)) != EqualTo
)
8964 return PASN_Sequence::Compare(other
);
8968 PINDEX
H225_CircuitIdentifier::GetDataLength() const
8971 if (HasOptionalField(e_cic
))
8972 length
+= m_cic
.GetObjectLength();
8973 if (HasOptionalField(e_group
))
8974 length
+= m_group
.GetObjectLength();
8979 BOOL
H225_CircuitIdentifier::Decode(PASN_Stream
& strm
)
8981 if (!PreambleDecode(strm
))
8984 if (HasOptionalField(e_cic
) && !m_cic
.Decode(strm
))
8986 if (HasOptionalField(e_group
) && !m_group
.Decode(strm
))
8988 if (!KnownExtensionDecode(strm
, e_carrier
, m_carrier
))
8991 return UnknownExtensionsDecode(strm
);
8995 void H225_CircuitIdentifier::Encode(PASN_Stream
& strm
) const
8997 PreambleEncode(strm
);
8999 if (HasOptionalField(e_cic
))
9001 if (HasOptionalField(e_group
))
9002 m_group
.Encode(strm
);
9003 KnownExtensionEncode(strm
, e_carrier
, m_carrier
);
9005 UnknownExtensionsEncode(strm
);
9009 PObject
* H225_CircuitIdentifier::Clone() const
9011 #ifndef PASN_LEANANDMEAN
9012 PAssert(IsClass(H225_CircuitIdentifier::Class()), PInvalidCast
);
9014 return new H225_CircuitIdentifier(*this);
9019 // RegistrationConfirm
9022 H225_RegistrationConfirm::H225_RegistrationConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
9023 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 20)
9025 IncludeOptionalField(e_willRespondToIRR
);
9026 IncludeOptionalField(e_maintainConnection
);
9030 #ifndef PASN_NOPRINTON
9031 void H225_RegistrationConfirm::PrintOn(ostream
& strm
) const
9033 int indent
= strm
.precision() + 2;
9035 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
9036 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
9037 if (HasOptionalField(e_nonStandardData
))
9038 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
9039 strm
<< setw(indent
+20) << "callSignalAddress = " << setprecision(indent
) << m_callSignalAddress
<< '\n';
9040 if (HasOptionalField(e_terminalAlias
))
9041 strm
<< setw(indent
+16) << "terminalAlias = " << setprecision(indent
) << m_terminalAlias
<< '\n';
9042 if (HasOptionalField(e_gatekeeperIdentifier
))
9043 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
9044 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
9045 if (HasOptionalField(e_alternateGatekeeper
))
9046 strm
<< setw(indent
+22) << "alternateGatekeeper = " << setprecision(indent
) << m_alternateGatekeeper
<< '\n';
9047 if (HasOptionalField(e_timeToLive
))
9048 strm
<< setw(indent
+13) << "timeToLive = " << setprecision(indent
) << m_timeToLive
<< '\n';
9049 if (HasOptionalField(e_tokens
))
9050 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
9051 if (HasOptionalField(e_cryptoTokens
))
9052 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
9053 if (HasOptionalField(e_integrityCheckValue
))
9054 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
9055 if (HasOptionalField(e_willRespondToIRR
))
9056 strm
<< setw(indent
+19) << "willRespondToIRR = " << setprecision(indent
) << m_willRespondToIRR
<< '\n';
9057 if (HasOptionalField(e_preGrantedARQ
))
9058 strm
<< setw(indent
+16) << "preGrantedARQ = " << setprecision(indent
) << m_preGrantedARQ
<< '\n';
9059 if (HasOptionalField(e_maintainConnection
))
9060 strm
<< setw(indent
+21) << "maintainConnection = " << setprecision(indent
) << m_maintainConnection
<< '\n';
9061 if (HasOptionalField(e_serviceControl
))
9062 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
9063 if (HasOptionalField(e_supportsAdditiveRegistration
))
9064 strm
<< setw(indent
+31) << "supportsAdditiveRegistration = " << setprecision(indent
) << m_supportsAdditiveRegistration
<< '\n';
9065 if (HasOptionalField(e_terminalAliasPattern
))
9066 strm
<< setw(indent
+23) << "terminalAliasPattern = " << setprecision(indent
) << m_terminalAliasPattern
<< '\n';
9067 if (HasOptionalField(e_supportedPrefixes
))
9068 strm
<< setw(indent
+20) << "supportedPrefixes = " << setprecision(indent
) << m_supportedPrefixes
<< '\n';
9069 if (HasOptionalField(e_usageSpec
))
9070 strm
<< setw(indent
+12) << "usageSpec = " << setprecision(indent
) << m_usageSpec
<< '\n';
9071 if (HasOptionalField(e_featureServerAlias
))
9072 strm
<< setw(indent
+21) << "featureServerAlias = " << setprecision(indent
) << m_featureServerAlias
<< '\n';
9073 if (HasOptionalField(e_capacityReportingSpec
))
9074 strm
<< setw(indent
+24) << "capacityReportingSpec = " << setprecision(indent
) << m_capacityReportingSpec
<< '\n';
9075 if (HasOptionalField(e_featureSet
))
9076 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
9077 if (HasOptionalField(e_genericData
))
9078 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
9079 if (HasOptionalField(e_assignedGatekeeper
))
9080 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
9081 if (HasOptionalField(e_rehomingModel
))
9082 strm
<< setw(indent
+16) << "rehomingModel = " << setprecision(indent
) << m_rehomingModel
<< '\n';
9083 if (HasOptionalField(e_transportQOS
))
9084 strm
<< setw(indent
+15) << "transportQOS = " << setprecision(indent
) << m_transportQOS
<< '\n';
9085 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9090 PObject::Comparison
H225_RegistrationConfirm::Compare(const PObject
& obj
) const
9092 #ifndef PASN_LEANANDMEAN
9093 PAssert(PIsDescendant(&obj
, H225_RegistrationConfirm
), PInvalidCast
);
9095 const H225_RegistrationConfirm
& other
= (const H225_RegistrationConfirm
&)obj
;
9099 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
9101 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
9103 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
9105 if ((result
= m_callSignalAddress
.Compare(other
.m_callSignalAddress
)) != EqualTo
)
9107 if ((result
= m_terminalAlias
.Compare(other
.m_terminalAlias
)) != EqualTo
)
9109 if ((result
= m_gatekeeperIdentifier
.Compare(other
.m_gatekeeperIdentifier
)) != EqualTo
)
9111 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
9114 return PASN_Sequence::Compare(other
);
9118 PINDEX
H225_RegistrationConfirm::GetDataLength() const
9121 length
+= m_requestSeqNum
.GetObjectLength();
9122 length
+= m_protocolIdentifier
.GetObjectLength();
9123 if (HasOptionalField(e_nonStandardData
))
9124 length
+= m_nonStandardData
.GetObjectLength();
9125 length
+= m_callSignalAddress
.GetObjectLength();
9126 if (HasOptionalField(e_terminalAlias
))
9127 length
+= m_terminalAlias
.GetObjectLength();
9128 if (HasOptionalField(e_gatekeeperIdentifier
))
9129 length
+= m_gatekeeperIdentifier
.GetObjectLength();
9130 length
+= m_endpointIdentifier
.GetObjectLength();
9135 BOOL
H225_RegistrationConfirm::Decode(PASN_Stream
& strm
)
9137 if (!PreambleDecode(strm
))
9140 if (!m_requestSeqNum
.Decode(strm
))
9142 if (!m_protocolIdentifier
.Decode(strm
))
9144 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
9146 if (!m_callSignalAddress
.Decode(strm
))
9148 if (HasOptionalField(e_terminalAlias
) && !m_terminalAlias
.Decode(strm
))
9150 if (HasOptionalField(e_gatekeeperIdentifier
) && !m_gatekeeperIdentifier
.Decode(strm
))
9152 if (!m_endpointIdentifier
.Decode(strm
))
9154 if (!KnownExtensionDecode(strm
, e_alternateGatekeeper
, m_alternateGatekeeper
))
9156 if (!KnownExtensionDecode(strm
, e_timeToLive
, m_timeToLive
))
9158 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
9160 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
9162 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
9164 if (!KnownExtensionDecode(strm
, e_willRespondToIRR
, m_willRespondToIRR
))
9166 if (!KnownExtensionDecode(strm
, e_preGrantedARQ
, m_preGrantedARQ
))
9168 if (!KnownExtensionDecode(strm
, e_maintainConnection
, m_maintainConnection
))
9170 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
9172 if (!KnownExtensionDecode(strm
, e_supportsAdditiveRegistration
, m_supportsAdditiveRegistration
))
9174 if (!KnownExtensionDecode(strm
, e_terminalAliasPattern
, m_terminalAliasPattern
))
9176 if (!KnownExtensionDecode(strm
, e_supportedPrefixes
, m_supportedPrefixes
))
9178 if (!KnownExtensionDecode(strm
, e_usageSpec
, m_usageSpec
))
9180 if (!KnownExtensionDecode(strm
, e_featureServerAlias
, m_featureServerAlias
))
9182 if (!KnownExtensionDecode(strm
, e_capacityReportingSpec
, m_capacityReportingSpec
))
9184 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
9186 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
9188 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
9190 if (!KnownExtensionDecode(strm
, e_rehomingModel
, m_rehomingModel
))
9192 if (!KnownExtensionDecode(strm
, e_transportQOS
, m_transportQOS
))
9195 return UnknownExtensionsDecode(strm
);
9199 void H225_RegistrationConfirm::Encode(PASN_Stream
& strm
) const
9201 PreambleEncode(strm
);
9203 m_requestSeqNum
.Encode(strm
);
9204 m_protocolIdentifier
.Encode(strm
);
9205 if (HasOptionalField(e_nonStandardData
))
9206 m_nonStandardData
.Encode(strm
);
9207 m_callSignalAddress
.Encode(strm
);
9208 if (HasOptionalField(e_terminalAlias
))
9209 m_terminalAlias
.Encode(strm
);
9210 if (HasOptionalField(e_gatekeeperIdentifier
))
9211 m_gatekeeperIdentifier
.Encode(strm
);
9212 m_endpointIdentifier
.Encode(strm
);
9213 KnownExtensionEncode(strm
, e_alternateGatekeeper
, m_alternateGatekeeper
);
9214 KnownExtensionEncode(strm
, e_timeToLive
, m_timeToLive
);
9215 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
9216 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
9217 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
9218 KnownExtensionEncode(strm
, e_willRespondToIRR
, m_willRespondToIRR
);
9219 KnownExtensionEncode(strm
, e_preGrantedARQ
, m_preGrantedARQ
);
9220 KnownExtensionEncode(strm
, e_maintainConnection
, m_maintainConnection
);
9221 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
9222 KnownExtensionEncode(strm
, e_supportsAdditiveRegistration
, m_supportsAdditiveRegistration
);
9223 KnownExtensionEncode(strm
, e_terminalAliasPattern
, m_terminalAliasPattern
);
9224 KnownExtensionEncode(strm
, e_supportedPrefixes
, m_supportedPrefixes
);
9225 KnownExtensionEncode(strm
, e_usageSpec
, m_usageSpec
);
9226 KnownExtensionEncode(strm
, e_featureServerAlias
, m_featureServerAlias
);
9227 KnownExtensionEncode(strm
, e_capacityReportingSpec
, m_capacityReportingSpec
);
9228 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
9229 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
9230 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
9231 KnownExtensionEncode(strm
, e_rehomingModel
, m_rehomingModel
);
9232 KnownExtensionEncode(strm
, e_transportQOS
, m_transportQOS
);
9234 UnknownExtensionsEncode(strm
);
9238 PObject
* H225_RegistrationConfirm::Clone() const
9240 #ifndef PASN_LEANANDMEAN
9241 PAssert(IsClass(H225_RegistrationConfirm::Class()), PInvalidCast
);
9243 return new H225_RegistrationConfirm(*this);
9251 H225_BandwidthRequest::H225_BandwidthRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
9252 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 12)
9254 IncludeOptionalField(e_callIdentifier
);
9255 IncludeOptionalField(e_answeredCall
);
9259 #ifndef PASN_NOPRINTON
9260 void H225_BandwidthRequest::PrintOn(ostream
& strm
) const
9262 int indent
= strm
.precision() + 2;
9264 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
9265 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
9266 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
9267 strm
<< setw(indent
+21) << "callReferenceValue = " << setprecision(indent
) << m_callReferenceValue
<< '\n';
9268 if (HasOptionalField(e_callType
))
9269 strm
<< setw(indent
+11) << "callType = " << setprecision(indent
) << m_callType
<< '\n';
9270 strm
<< setw(indent
+12) << "bandWidth = " << setprecision(indent
) << m_bandWidth
<< '\n';
9271 if (HasOptionalField(e_nonStandardData
))
9272 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
9273 if (HasOptionalField(e_callIdentifier
))
9274 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
9275 if (HasOptionalField(e_gatekeeperIdentifier
))
9276 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
9277 if (HasOptionalField(e_tokens
))
9278 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
9279 if (HasOptionalField(e_cryptoTokens
))
9280 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
9281 if (HasOptionalField(e_integrityCheckValue
))
9282 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
9283 if (HasOptionalField(e_answeredCall
))
9284 strm
<< setw(indent
+15) << "answeredCall = " << setprecision(indent
) << m_answeredCall
<< '\n';
9285 if (HasOptionalField(e_callLinkage
))
9286 strm
<< setw(indent
+14) << "callLinkage = " << setprecision(indent
) << m_callLinkage
<< '\n';
9287 if (HasOptionalField(e_capacity
))
9288 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
9289 if (HasOptionalField(e_usageInformation
))
9290 strm
<< setw(indent
+19) << "usageInformation = " << setprecision(indent
) << m_usageInformation
<< '\n';
9291 if (HasOptionalField(e_bandwidthDetails
))
9292 strm
<< setw(indent
+19) << "bandwidthDetails = " << setprecision(indent
) << m_bandwidthDetails
<< '\n';
9293 if (HasOptionalField(e_genericData
))
9294 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
9295 if (HasOptionalField(e_transportQOS
))
9296 strm
<< setw(indent
+15) << "transportQOS = " << setprecision(indent
) << m_transportQOS
<< '\n';
9297 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9302 PObject::Comparison
H225_BandwidthRequest::Compare(const PObject
& obj
) const
9304 #ifndef PASN_LEANANDMEAN
9305 PAssert(PIsDescendant(&obj
, H225_BandwidthRequest
), PInvalidCast
);
9307 const H225_BandwidthRequest
& other
= (const H225_BandwidthRequest
&)obj
;
9311 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
9313 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
9315 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
9317 if ((result
= m_callReferenceValue
.Compare(other
.m_callReferenceValue
)) != EqualTo
)
9319 if ((result
= m_callType
.Compare(other
.m_callType
)) != EqualTo
)
9321 if ((result
= m_bandWidth
.Compare(other
.m_bandWidth
)) != EqualTo
)
9323 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
9326 return PASN_Sequence::Compare(other
);
9330 PINDEX
H225_BandwidthRequest::GetDataLength() const
9333 length
+= m_requestSeqNum
.GetObjectLength();
9334 length
+= m_endpointIdentifier
.GetObjectLength();
9335 length
+= m_conferenceID
.GetObjectLength();
9336 length
+= m_callReferenceValue
.GetObjectLength();
9337 if (HasOptionalField(e_callType
))
9338 length
+= m_callType
.GetObjectLength();
9339 length
+= m_bandWidth
.GetObjectLength();
9340 if (HasOptionalField(e_nonStandardData
))
9341 length
+= m_nonStandardData
.GetObjectLength();
9346 BOOL
H225_BandwidthRequest::Decode(PASN_Stream
& strm
)
9348 if (!PreambleDecode(strm
))
9351 if (!m_requestSeqNum
.Decode(strm
))
9353 if (!m_endpointIdentifier
.Decode(strm
))
9355 if (!m_conferenceID
.Decode(strm
))
9357 if (!m_callReferenceValue
.Decode(strm
))
9359 if (HasOptionalField(e_callType
) && !m_callType
.Decode(strm
))
9361 if (!m_bandWidth
.Decode(strm
))
9363 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
9365 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
9367 if (!KnownExtensionDecode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
))
9369 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
9371 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
9373 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
9375 if (!KnownExtensionDecode(strm
, e_answeredCall
, m_answeredCall
))
9377 if (!KnownExtensionDecode(strm
, e_callLinkage
, m_callLinkage
))
9379 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
9381 if (!KnownExtensionDecode(strm
, e_usageInformation
, m_usageInformation
))
9383 if (!KnownExtensionDecode(strm
, e_bandwidthDetails
, m_bandwidthDetails
))
9385 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
9387 if (!KnownExtensionDecode(strm
, e_transportQOS
, m_transportQOS
))
9390 return UnknownExtensionsDecode(strm
);
9394 void H225_BandwidthRequest::Encode(PASN_Stream
& strm
) const
9396 PreambleEncode(strm
);
9398 m_requestSeqNum
.Encode(strm
);
9399 m_endpointIdentifier
.Encode(strm
);
9400 m_conferenceID
.Encode(strm
);
9401 m_callReferenceValue
.Encode(strm
);
9402 if (HasOptionalField(e_callType
))
9403 m_callType
.Encode(strm
);
9404 m_bandWidth
.Encode(strm
);
9405 if (HasOptionalField(e_nonStandardData
))
9406 m_nonStandardData
.Encode(strm
);
9407 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
9408 KnownExtensionEncode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
);
9409 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
9410 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
9411 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
9412 KnownExtensionEncode(strm
, e_answeredCall
, m_answeredCall
);
9413 KnownExtensionEncode(strm
, e_callLinkage
, m_callLinkage
);
9414 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
9415 KnownExtensionEncode(strm
, e_usageInformation
, m_usageInformation
);
9416 KnownExtensionEncode(strm
, e_bandwidthDetails
, m_bandwidthDetails
);
9417 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
9418 KnownExtensionEncode(strm
, e_transportQOS
, m_transportQOS
);
9420 UnknownExtensionsEncode(strm
);
9424 PObject
* H225_BandwidthRequest::Clone() const
9426 #ifndef PASN_LEANANDMEAN
9427 PAssert(IsClass(H225_BandwidthRequest::Class()), PInvalidCast
);
9429 return new H225_BandwidthRequest(*this);
9437 H225_BandwidthConfirm::H225_BandwidthConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
9438 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 6)
9443 #ifndef PASN_NOPRINTON
9444 void H225_BandwidthConfirm::PrintOn(ostream
& strm
) const
9446 int indent
= strm
.precision() + 2;
9448 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
9449 strm
<< setw(indent
+12) << "bandWidth = " << setprecision(indent
) << m_bandWidth
<< '\n';
9450 if (HasOptionalField(e_nonStandardData
))
9451 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
9452 if (HasOptionalField(e_tokens
))
9453 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
9454 if (HasOptionalField(e_cryptoTokens
))
9455 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
9456 if (HasOptionalField(e_integrityCheckValue
))
9457 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
9458 if (HasOptionalField(e_capacity
))
9459 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
9460 if (HasOptionalField(e_genericData
))
9461 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
9462 if (HasOptionalField(e_transportQOS
))
9463 strm
<< setw(indent
+15) << "transportQOS = " << setprecision(indent
) << m_transportQOS
<< '\n';
9464 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9469 PObject::Comparison
H225_BandwidthConfirm::Compare(const PObject
& obj
) const
9471 #ifndef PASN_LEANANDMEAN
9472 PAssert(PIsDescendant(&obj
, H225_BandwidthConfirm
), PInvalidCast
);
9474 const H225_BandwidthConfirm
& other
= (const H225_BandwidthConfirm
&)obj
;
9478 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
9480 if ((result
= m_bandWidth
.Compare(other
.m_bandWidth
)) != EqualTo
)
9482 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
9485 return PASN_Sequence::Compare(other
);
9489 PINDEX
H225_BandwidthConfirm::GetDataLength() const
9492 length
+= m_requestSeqNum
.GetObjectLength();
9493 length
+= m_bandWidth
.GetObjectLength();
9494 if (HasOptionalField(e_nonStandardData
))
9495 length
+= m_nonStandardData
.GetObjectLength();
9500 BOOL
H225_BandwidthConfirm::Decode(PASN_Stream
& strm
)
9502 if (!PreambleDecode(strm
))
9505 if (!m_requestSeqNum
.Decode(strm
))
9507 if (!m_bandWidth
.Decode(strm
))
9509 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
9511 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
9513 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
9515 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
9517 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
9519 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
9521 if (!KnownExtensionDecode(strm
, e_transportQOS
, m_transportQOS
))
9524 return UnknownExtensionsDecode(strm
);
9528 void H225_BandwidthConfirm::Encode(PASN_Stream
& strm
) const
9530 PreambleEncode(strm
);
9532 m_requestSeqNum
.Encode(strm
);
9533 m_bandWidth
.Encode(strm
);
9534 if (HasOptionalField(e_nonStandardData
))
9535 m_nonStandardData
.Encode(strm
);
9536 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
9537 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
9538 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
9539 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
9540 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
9541 KnownExtensionEncode(strm
, e_transportQOS
, m_transportQOS
);
9543 UnknownExtensionsEncode(strm
);
9547 PObject
* H225_BandwidthConfirm::Clone() const
9549 #ifndef PASN_LEANANDMEAN
9550 PAssert(IsClass(H225_BandwidthConfirm::Class()), PInvalidCast
);
9552 return new H225_BandwidthConfirm(*this);
9557 // ResourcesAvailableIndicate
9560 H225_ResourcesAvailableIndicate::H225_ResourcesAvailableIndicate(unsigned tag
, PASN_Object::TagClass tagClass
)
9561 : PASN_Sequence(tag
, tagClass
, 4, TRUE
, 2)
9566 #ifndef PASN_NOPRINTON
9567 void H225_ResourcesAvailableIndicate::PrintOn(ostream
& strm
) const
9569 int indent
= strm
.precision() + 2;
9571 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
9572 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
9573 if (HasOptionalField(e_nonStandardData
))
9574 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
9575 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
9576 strm
<< setw(indent
+12) << "protocols = " << setprecision(indent
) << m_protocols
<< '\n';
9577 strm
<< setw(indent
+23) << "almostOutOfResources = " << setprecision(indent
) << m_almostOutOfResources
<< '\n';
9578 if (HasOptionalField(e_tokens
))
9579 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
9580 if (HasOptionalField(e_cryptoTokens
))
9581 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
9582 if (HasOptionalField(e_integrityCheckValue
))
9583 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
9584 if (HasOptionalField(e_capacity
))
9585 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
9586 if (HasOptionalField(e_genericData
))
9587 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
9588 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9593 PObject::Comparison
H225_ResourcesAvailableIndicate::Compare(const PObject
& obj
) const
9595 #ifndef PASN_LEANANDMEAN
9596 PAssert(PIsDescendant(&obj
, H225_ResourcesAvailableIndicate
), PInvalidCast
);
9598 const H225_ResourcesAvailableIndicate
& other
= (const H225_ResourcesAvailableIndicate
&)obj
;
9602 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
9604 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
9606 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
9608 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
9610 if ((result
= m_protocols
.Compare(other
.m_protocols
)) != EqualTo
)
9612 if ((result
= m_almostOutOfResources
.Compare(other
.m_almostOutOfResources
)) != EqualTo
)
9614 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
9616 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
9618 if ((result
= m_integrityCheckValue
.Compare(other
.m_integrityCheckValue
)) != EqualTo
)
9621 return PASN_Sequence::Compare(other
);
9625 PINDEX
H225_ResourcesAvailableIndicate::GetDataLength() const
9628 length
+= m_requestSeqNum
.GetObjectLength();
9629 length
+= m_protocolIdentifier
.GetObjectLength();
9630 if (HasOptionalField(e_nonStandardData
))
9631 length
+= m_nonStandardData
.GetObjectLength();
9632 length
+= m_endpointIdentifier
.GetObjectLength();
9633 length
+= m_protocols
.GetObjectLength();
9634 length
+= m_almostOutOfResources
.GetObjectLength();
9635 if (HasOptionalField(e_tokens
))
9636 length
+= m_tokens
.GetObjectLength();
9637 if (HasOptionalField(e_cryptoTokens
))
9638 length
+= m_cryptoTokens
.GetObjectLength();
9639 if (HasOptionalField(e_integrityCheckValue
))
9640 length
+= m_integrityCheckValue
.GetObjectLength();
9645 BOOL
H225_ResourcesAvailableIndicate::Decode(PASN_Stream
& strm
)
9647 if (!PreambleDecode(strm
))
9650 if (!m_requestSeqNum
.Decode(strm
))
9652 if (!m_protocolIdentifier
.Decode(strm
))
9654 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
9656 if (!m_endpointIdentifier
.Decode(strm
))
9658 if (!m_protocols
.Decode(strm
))
9660 if (!m_almostOutOfResources
.Decode(strm
))
9662 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
9664 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
9666 if (HasOptionalField(e_integrityCheckValue
) && !m_integrityCheckValue
.Decode(strm
))
9668 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
9670 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
9673 return UnknownExtensionsDecode(strm
);
9677 void H225_ResourcesAvailableIndicate::Encode(PASN_Stream
& strm
) const
9679 PreambleEncode(strm
);
9681 m_requestSeqNum
.Encode(strm
);
9682 m_protocolIdentifier
.Encode(strm
);
9683 if (HasOptionalField(e_nonStandardData
))
9684 m_nonStandardData
.Encode(strm
);
9685 m_endpointIdentifier
.Encode(strm
);
9686 m_protocols
.Encode(strm
);
9687 m_almostOutOfResources
.Encode(strm
);
9688 if (HasOptionalField(e_tokens
))
9689 m_tokens
.Encode(strm
);
9690 if (HasOptionalField(e_cryptoTokens
))
9691 m_cryptoTokens
.Encode(strm
);
9692 if (HasOptionalField(e_integrityCheckValue
))
9693 m_integrityCheckValue
.Encode(strm
);
9694 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
9695 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
9697 UnknownExtensionsEncode(strm
);
9701 PObject
* H225_ResourcesAvailableIndicate::Clone() const
9703 #ifndef PASN_LEANANDMEAN
9704 PAssert(IsClass(H225_ResourcesAvailableIndicate::Class()), PInvalidCast
);
9706 return new H225_ResourcesAvailableIndicate(*this);
9714 H225_H323_UU_PDU::H225_H323_UU_PDU(unsigned tag
, PASN_Object::TagClass tagClass
)
9715 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 9)
9717 IncludeOptionalField(e_h245Tunneling
);
9721 #ifndef PASN_NOPRINTON
9722 void H225_H323_UU_PDU::PrintOn(ostream
& strm
) const
9724 int indent
= strm
.precision() + 2;
9726 strm
<< setw(indent
+20) << "h323_message_body = " << setprecision(indent
) << m_h323_message_body
<< '\n';
9727 if (HasOptionalField(e_nonStandardData
))
9728 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
9729 if (HasOptionalField(e_h4501SupplementaryService
))
9730 strm
<< setw(indent
+28) << "h4501SupplementaryService = " << setprecision(indent
) << m_h4501SupplementaryService
<< '\n';
9731 if (HasOptionalField(e_h245Tunneling
))
9732 strm
<< setw(indent
+16) << "h245Tunneling = " << setprecision(indent
) << m_h245Tunneling
<< '\n';
9733 if (HasOptionalField(e_h245Control
))
9734 strm
<< setw(indent
+14) << "h245Control = " << setprecision(indent
) << m_h245Control
<< '\n';
9735 if (HasOptionalField(e_nonStandardControl
))
9736 strm
<< setw(indent
+21) << "nonStandardControl = " << setprecision(indent
) << m_nonStandardControl
<< '\n';
9737 if (HasOptionalField(e_callLinkage
))
9738 strm
<< setw(indent
+14) << "callLinkage = " << setprecision(indent
) << m_callLinkage
<< '\n';
9739 if (HasOptionalField(e_tunnelledSignallingMessage
))
9740 strm
<< setw(indent
+29) << "tunnelledSignallingMessage = " << setprecision(indent
) << m_tunnelledSignallingMessage
<< '\n';
9741 if (HasOptionalField(e_provisionalRespToH245Tunneling
))
9742 strm
<< setw(indent
+33) << "provisionalRespToH245Tunneling = " << setprecision(indent
) << m_provisionalRespToH245Tunneling
<< '\n';
9743 if (HasOptionalField(e_stimulusControl
))
9744 strm
<< setw(indent
+18) << "stimulusControl = " << setprecision(indent
) << m_stimulusControl
<< '\n';
9745 if (HasOptionalField(e_genericData
))
9746 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
9747 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9752 PObject::Comparison
H225_H323_UU_PDU::Compare(const PObject
& obj
) const
9754 #ifndef PASN_LEANANDMEAN
9755 PAssert(PIsDescendant(&obj
, H225_H323_UU_PDU
), PInvalidCast
);
9757 const H225_H323_UU_PDU
& other
= (const H225_H323_UU_PDU
&)obj
;
9761 if ((result
= m_h323_message_body
.Compare(other
.m_h323_message_body
)) != EqualTo
)
9763 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
9766 return PASN_Sequence::Compare(other
);
9770 PINDEX
H225_H323_UU_PDU::GetDataLength() const
9773 length
+= m_h323_message_body
.GetObjectLength();
9774 if (HasOptionalField(e_nonStandardData
))
9775 length
+= m_nonStandardData
.GetObjectLength();
9780 BOOL
H225_H323_UU_PDU::Decode(PASN_Stream
& strm
)
9782 if (!PreambleDecode(strm
))
9785 if (!m_h323_message_body
.Decode(strm
))
9787 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
9789 if (!KnownExtensionDecode(strm
, e_h4501SupplementaryService
, m_h4501SupplementaryService
))
9791 if (!KnownExtensionDecode(strm
, e_h245Tunneling
, m_h245Tunneling
))
9793 if (!KnownExtensionDecode(strm
, e_h245Control
, m_h245Control
))
9795 if (!KnownExtensionDecode(strm
, e_nonStandardControl
, m_nonStandardControl
))
9797 if (!KnownExtensionDecode(strm
, e_callLinkage
, m_callLinkage
))
9799 if (!KnownExtensionDecode(strm
, e_tunnelledSignallingMessage
, m_tunnelledSignallingMessage
))
9801 if (!KnownExtensionDecode(strm
, e_provisionalRespToH245Tunneling
, m_provisionalRespToH245Tunneling
))
9803 if (!KnownExtensionDecode(strm
, e_stimulusControl
, m_stimulusControl
))
9805 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
9808 return UnknownExtensionsDecode(strm
);
9812 void H225_H323_UU_PDU::Encode(PASN_Stream
& strm
) const
9814 PreambleEncode(strm
);
9816 m_h323_message_body
.Encode(strm
);
9817 if (HasOptionalField(e_nonStandardData
))
9818 m_nonStandardData
.Encode(strm
);
9819 KnownExtensionEncode(strm
, e_h4501SupplementaryService
, m_h4501SupplementaryService
);
9820 KnownExtensionEncode(strm
, e_h245Tunneling
, m_h245Tunneling
);
9821 KnownExtensionEncode(strm
, e_h245Control
, m_h245Control
);
9822 KnownExtensionEncode(strm
, e_nonStandardControl
, m_nonStandardControl
);
9823 KnownExtensionEncode(strm
, e_callLinkage
, m_callLinkage
);
9824 KnownExtensionEncode(strm
, e_tunnelledSignallingMessage
, m_tunnelledSignallingMessage
);
9825 KnownExtensionEncode(strm
, e_provisionalRespToH245Tunneling
, m_provisionalRespToH245Tunneling
);
9826 KnownExtensionEncode(strm
, e_stimulusControl
, m_stimulusControl
);
9827 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
9829 UnknownExtensionsEncode(strm
);
9833 PObject
* H225_H323_UU_PDU::Clone() const
9835 #ifndef PASN_LEANANDMEAN
9836 PAssert(IsClass(H225_H323_UU_PDU::Class()), PInvalidCast
);
9838 return new H225_H323_UU_PDU(*this);
9843 // ReleaseComplete-UUIE
9846 H225_ReleaseComplete_UUIE::H225_ReleaseComplete_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
9847 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 9)
9849 IncludeOptionalField(e_callIdentifier
);
9853 #ifndef PASN_NOPRINTON
9854 void H225_ReleaseComplete_UUIE::PrintOn(ostream
& strm
) const
9856 int indent
= strm
.precision() + 2;
9858 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
9859 if (HasOptionalField(e_reason
))
9860 strm
<< setw(indent
+9) << "reason = " << setprecision(indent
) << m_reason
<< '\n';
9861 if (HasOptionalField(e_callIdentifier
))
9862 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
9863 if (HasOptionalField(e_tokens
))
9864 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
9865 if (HasOptionalField(e_cryptoTokens
))
9866 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
9867 if (HasOptionalField(e_busyAddress
))
9868 strm
<< setw(indent
+14) << "busyAddress = " << setprecision(indent
) << m_busyAddress
<< '\n';
9869 if (HasOptionalField(e_presentationIndicator
))
9870 strm
<< setw(indent
+24) << "presentationIndicator = " << setprecision(indent
) << m_presentationIndicator
<< '\n';
9871 if (HasOptionalField(e_screeningIndicator
))
9872 strm
<< setw(indent
+21) << "screeningIndicator = " << setprecision(indent
) << m_screeningIndicator
<< '\n';
9873 if (HasOptionalField(e_capacity
))
9874 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
9875 if (HasOptionalField(e_serviceControl
))
9876 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
9877 if (HasOptionalField(e_featureSet
))
9878 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
9879 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9884 PObject::Comparison
H225_ReleaseComplete_UUIE::Compare(const PObject
& obj
) const
9886 #ifndef PASN_LEANANDMEAN
9887 PAssert(PIsDescendant(&obj
, H225_ReleaseComplete_UUIE
), PInvalidCast
);
9889 const H225_ReleaseComplete_UUIE
& other
= (const H225_ReleaseComplete_UUIE
&)obj
;
9893 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
9895 if ((result
= m_reason
.Compare(other
.m_reason
)) != EqualTo
)
9898 return PASN_Sequence::Compare(other
);
9902 PINDEX
H225_ReleaseComplete_UUIE::GetDataLength() const
9905 length
+= m_protocolIdentifier
.GetObjectLength();
9906 if (HasOptionalField(e_reason
))
9907 length
+= m_reason
.GetObjectLength();
9912 BOOL
H225_ReleaseComplete_UUIE::Decode(PASN_Stream
& strm
)
9914 if (!PreambleDecode(strm
))
9917 if (!m_protocolIdentifier
.Decode(strm
))
9919 if (HasOptionalField(e_reason
) && !m_reason
.Decode(strm
))
9921 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
9923 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
9925 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
9927 if (!KnownExtensionDecode(strm
, e_busyAddress
, m_busyAddress
))
9929 if (!KnownExtensionDecode(strm
, e_presentationIndicator
, m_presentationIndicator
))
9931 if (!KnownExtensionDecode(strm
, e_screeningIndicator
, m_screeningIndicator
))
9933 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
9935 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
9937 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
9940 return UnknownExtensionsDecode(strm
);
9944 void H225_ReleaseComplete_UUIE::Encode(PASN_Stream
& strm
) const
9946 PreambleEncode(strm
);
9948 m_protocolIdentifier
.Encode(strm
);
9949 if (HasOptionalField(e_reason
))
9950 m_reason
.Encode(strm
);
9951 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
9952 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
9953 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
9954 KnownExtensionEncode(strm
, e_busyAddress
, m_busyAddress
);
9955 KnownExtensionEncode(strm
, e_presentationIndicator
, m_presentationIndicator
);
9956 KnownExtensionEncode(strm
, e_screeningIndicator
, m_screeningIndicator
);
9957 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
9958 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
9959 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
9961 UnknownExtensionsEncode(strm
);
9965 PObject
* H225_ReleaseComplete_UUIE::Clone() const
9967 #ifndef PASN_LEANANDMEAN
9968 PAssert(IsClass(H225_ReleaseComplete_UUIE::Class()), PInvalidCast
);
9970 return new H225_ReleaseComplete_UUIE(*this);
9978 H225_EndpointType::H225_EndpointType(unsigned tag
, PASN_Object::TagClass tagClass
)
9979 : PASN_Sequence(tag
, tagClass
, 6, TRUE
, 2)
9981 m_set
.SetConstraints(PASN_Object::FixedConstraint
, 32);
9985 #ifndef PASN_NOPRINTON
9986 void H225_EndpointType::PrintOn(ostream
& strm
) const
9988 int indent
= strm
.precision() + 2;
9990 if (HasOptionalField(e_nonStandardData
))
9991 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
9992 if (HasOptionalField(e_vendor
))
9993 strm
<< setw(indent
+9) << "vendor = " << setprecision(indent
) << m_vendor
<< '\n';
9994 if (HasOptionalField(e_gatekeeper
))
9995 strm
<< setw(indent
+13) << "gatekeeper = " << setprecision(indent
) << m_gatekeeper
<< '\n';
9996 if (HasOptionalField(e_gateway
))
9997 strm
<< setw(indent
+10) << "gateway = " << setprecision(indent
) << m_gateway
<< '\n';
9998 if (HasOptionalField(e_mcu
))
9999 strm
<< setw(indent
+6) << "mcu = " << setprecision(indent
) << m_mcu
<< '\n';
10000 if (HasOptionalField(e_terminal
))
10001 strm
<< setw(indent
+11) << "terminal = " << setprecision(indent
) << m_terminal
<< '\n';
10002 strm
<< setw(indent
+5) << "mc = " << setprecision(indent
) << m_mc
<< '\n';
10003 strm
<< setw(indent
+16) << "undefinedNode = " << setprecision(indent
) << m_undefinedNode
<< '\n';
10004 if (HasOptionalField(e_set
))
10005 strm
<< setw(indent
+6) << "set = " << setprecision(indent
) << m_set
<< '\n';
10006 if (HasOptionalField(e_supportedTunnelledProtocols
))
10007 strm
<< setw(indent
+30) << "supportedTunnelledProtocols = " << setprecision(indent
) << m_supportedTunnelledProtocols
<< '\n';
10008 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10013 PObject::Comparison
H225_EndpointType::Compare(const PObject
& obj
) const
10015 #ifndef PASN_LEANANDMEAN
10016 PAssert(PIsDescendant(&obj
, H225_EndpointType
), PInvalidCast
);
10018 const H225_EndpointType
& other
= (const H225_EndpointType
&)obj
;
10022 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
10024 if ((result
= m_vendor
.Compare(other
.m_vendor
)) != EqualTo
)
10026 if ((result
= m_gatekeeper
.Compare(other
.m_gatekeeper
)) != EqualTo
)
10028 if ((result
= m_gateway
.Compare(other
.m_gateway
)) != EqualTo
)
10030 if ((result
= m_mcu
.Compare(other
.m_mcu
)) != EqualTo
)
10032 if ((result
= m_terminal
.Compare(other
.m_terminal
)) != EqualTo
)
10034 if ((result
= m_mc
.Compare(other
.m_mc
)) != EqualTo
)
10036 if ((result
= m_undefinedNode
.Compare(other
.m_undefinedNode
)) != EqualTo
)
10039 return PASN_Sequence::Compare(other
);
10043 PINDEX
H225_EndpointType::GetDataLength() const
10046 if (HasOptionalField(e_nonStandardData
))
10047 length
+= m_nonStandardData
.GetObjectLength();
10048 if (HasOptionalField(e_vendor
))
10049 length
+= m_vendor
.GetObjectLength();
10050 if (HasOptionalField(e_gatekeeper
))
10051 length
+= m_gatekeeper
.GetObjectLength();
10052 if (HasOptionalField(e_gateway
))
10053 length
+= m_gateway
.GetObjectLength();
10054 if (HasOptionalField(e_mcu
))
10055 length
+= m_mcu
.GetObjectLength();
10056 if (HasOptionalField(e_terminal
))
10057 length
+= m_terminal
.GetObjectLength();
10058 length
+= m_mc
.GetObjectLength();
10059 length
+= m_undefinedNode
.GetObjectLength();
10064 BOOL
H225_EndpointType::Decode(PASN_Stream
& strm
)
10066 if (!PreambleDecode(strm
))
10069 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
10071 if (HasOptionalField(e_vendor
) && !m_vendor
.Decode(strm
))
10073 if (HasOptionalField(e_gatekeeper
) && !m_gatekeeper
.Decode(strm
))
10075 if (HasOptionalField(e_gateway
) && !m_gateway
.Decode(strm
))
10077 if (HasOptionalField(e_mcu
) && !m_mcu
.Decode(strm
))
10079 if (HasOptionalField(e_terminal
) && !m_terminal
.Decode(strm
))
10081 if (!m_mc
.Decode(strm
))
10083 if (!m_undefinedNode
.Decode(strm
))
10085 if (!KnownExtensionDecode(strm
, e_set
, m_set
))
10087 if (!KnownExtensionDecode(strm
, e_supportedTunnelledProtocols
, m_supportedTunnelledProtocols
))
10090 return UnknownExtensionsDecode(strm
);
10094 void H225_EndpointType::Encode(PASN_Stream
& strm
) const
10096 PreambleEncode(strm
);
10098 if (HasOptionalField(e_nonStandardData
))
10099 m_nonStandardData
.Encode(strm
);
10100 if (HasOptionalField(e_vendor
))
10101 m_vendor
.Encode(strm
);
10102 if (HasOptionalField(e_gatekeeper
))
10103 m_gatekeeper
.Encode(strm
);
10104 if (HasOptionalField(e_gateway
))
10105 m_gateway
.Encode(strm
);
10106 if (HasOptionalField(e_mcu
))
10107 m_mcu
.Encode(strm
);
10108 if (HasOptionalField(e_terminal
))
10109 m_terminal
.Encode(strm
);
10111 m_undefinedNode
.Encode(strm
);
10112 KnownExtensionEncode(strm
, e_set
, m_set
);
10113 KnownExtensionEncode(strm
, e_supportedTunnelledProtocols
, m_supportedTunnelledProtocols
);
10115 UnknownExtensionsEncode(strm
);
10119 PObject
* H225_EndpointType::Clone() const
10121 #ifndef PASN_LEANANDMEAN
10122 PAssert(IsClass(H225_EndpointType::Class()), PInvalidCast
);
10124 return new H225_EndpointType(*this);
10132 H225_CircuitInfo::H225_CircuitInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
10133 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
10138 #ifndef PASN_NOPRINTON
10139 void H225_CircuitInfo::PrintOn(ostream
& strm
) const
10141 int indent
= strm
.precision() + 2;
10143 if (HasOptionalField(e_sourceCircuitID
))
10144 strm
<< setw(indent
+18) << "sourceCircuitID = " << setprecision(indent
) << m_sourceCircuitID
<< '\n';
10145 if (HasOptionalField(e_destinationCircuitID
))
10146 strm
<< setw(indent
+23) << "destinationCircuitID = " << setprecision(indent
) << m_destinationCircuitID
<< '\n';
10147 if (HasOptionalField(e_genericData
))
10148 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
10149 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10154 PObject::Comparison
H225_CircuitInfo::Compare(const PObject
& obj
) const
10156 #ifndef PASN_LEANANDMEAN
10157 PAssert(PIsDescendant(&obj
, H225_CircuitInfo
), PInvalidCast
);
10159 const H225_CircuitInfo
& other
= (const H225_CircuitInfo
&)obj
;
10163 if ((result
= m_sourceCircuitID
.Compare(other
.m_sourceCircuitID
)) != EqualTo
)
10165 if ((result
= m_destinationCircuitID
.Compare(other
.m_destinationCircuitID
)) != EqualTo
)
10167 if ((result
= m_genericData
.Compare(other
.m_genericData
)) != EqualTo
)
10170 return PASN_Sequence::Compare(other
);
10174 PINDEX
H225_CircuitInfo::GetDataLength() const
10177 if (HasOptionalField(e_sourceCircuitID
))
10178 length
+= m_sourceCircuitID
.GetObjectLength();
10179 if (HasOptionalField(e_destinationCircuitID
))
10180 length
+= m_destinationCircuitID
.GetObjectLength();
10181 if (HasOptionalField(e_genericData
))
10182 length
+= m_genericData
.GetObjectLength();
10187 BOOL
H225_CircuitInfo::Decode(PASN_Stream
& strm
)
10189 if (!PreambleDecode(strm
))
10192 if (HasOptionalField(e_sourceCircuitID
) && !m_sourceCircuitID
.Decode(strm
))
10194 if (HasOptionalField(e_destinationCircuitID
) && !m_destinationCircuitID
.Decode(strm
))
10196 if (HasOptionalField(e_genericData
) && !m_genericData
.Decode(strm
))
10199 return UnknownExtensionsDecode(strm
);
10203 void H225_CircuitInfo::Encode(PASN_Stream
& strm
) const
10205 PreambleEncode(strm
);
10207 if (HasOptionalField(e_sourceCircuitID
))
10208 m_sourceCircuitID
.Encode(strm
);
10209 if (HasOptionalField(e_destinationCircuitID
))
10210 m_destinationCircuitID
.Encode(strm
);
10211 if (HasOptionalField(e_genericData
))
10212 m_genericData
.Encode(strm
);
10214 UnknownExtensionsEncode(strm
);
10218 PObject
* H225_CircuitInfo::Clone() const
10220 #ifndef PASN_LEANANDMEAN
10221 PAssert(IsClass(H225_CircuitInfo::Class()), PInvalidCast
);
10223 return new H225_CircuitInfo(*this);
10228 // GatekeeperRequest
10231 H225_GatekeeperRequest::H225_GatekeeperRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
10232 : PASN_Sequence(tag
, tagClass
, 4, TRUE
, 12)
10234 // IncludeOptionalField(e_supportsAssignedGK);
10238 #ifndef PASN_NOPRINTON
10239 void H225_GatekeeperRequest::PrintOn(ostream
& strm
) const
10241 int indent
= strm
.precision() + 2;
10243 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
10244 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
10245 if (HasOptionalField(e_nonStandardData
))
10246 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
10247 strm
<< setw(indent
+13) << "rasAddress = " << setprecision(indent
) << m_rasAddress
<< '\n';
10248 strm
<< setw(indent
+15) << "endpointType = " << setprecision(indent
) << m_endpointType
<< '\n';
10249 if (HasOptionalField(e_gatekeeperIdentifier
))
10250 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
10251 if (HasOptionalField(e_callServices
))
10252 strm
<< setw(indent
+15) << "callServices = " << setprecision(indent
) << m_callServices
<< '\n';
10253 if (HasOptionalField(e_endpointAlias
))
10254 strm
<< setw(indent
+16) << "endpointAlias = " << setprecision(indent
) << m_endpointAlias
<< '\n';
10255 if (HasOptionalField(e_alternateEndpoints
))
10256 strm
<< setw(indent
+21) << "alternateEndpoints = " << setprecision(indent
) << m_alternateEndpoints
<< '\n';
10257 if (HasOptionalField(e_tokens
))
10258 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
10259 if (HasOptionalField(e_cryptoTokens
))
10260 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
10261 if (HasOptionalField(e_authenticationCapability
))
10262 strm
<< setw(indent
+27) << "authenticationCapability = " << setprecision(indent
) << m_authenticationCapability
<< '\n';
10263 if (HasOptionalField(e_algorithmOIDs
))
10264 strm
<< setw(indent
+16) << "algorithmOIDs = " << setprecision(indent
) << m_algorithmOIDs
<< '\n';
10265 if (HasOptionalField(e_integrity
))
10266 strm
<< setw(indent
+12) << "integrity = " << setprecision(indent
) << m_integrity
<< '\n';
10267 if (HasOptionalField(e_integrityCheckValue
))
10268 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
10269 if (HasOptionalField(e_supportsAltGK
))
10270 strm
<< setw(indent
+16) << "supportsAltGK = " << setprecision(indent
) << m_supportsAltGK
<< '\n';
10271 if (HasOptionalField(e_featureSet
))
10272 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
10273 if (HasOptionalField(e_genericData
))
10274 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
10275 if (HasOptionalField(e_supportsAssignedGK
))
10276 strm
<< setw(indent
+21) << "supportsAssignedGK = " << setprecision(indent
) << m_supportsAssignedGK
<< '\n';
10277 if (HasOptionalField(e_assignedGatekeeper
))
10278 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
10279 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10284 PObject::Comparison
H225_GatekeeperRequest::Compare(const PObject
& obj
) const
10286 #ifndef PASN_LEANANDMEAN
10287 PAssert(PIsDescendant(&obj
, H225_GatekeeperRequest
), PInvalidCast
);
10289 const H225_GatekeeperRequest
& other
= (const H225_GatekeeperRequest
&)obj
;
10293 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
10295 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
10297 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
10299 if ((result
= m_rasAddress
.Compare(other
.m_rasAddress
)) != EqualTo
)
10301 if ((result
= m_endpointType
.Compare(other
.m_endpointType
)) != EqualTo
)
10303 if ((result
= m_gatekeeperIdentifier
.Compare(other
.m_gatekeeperIdentifier
)) != EqualTo
)
10305 if ((result
= m_callServices
.Compare(other
.m_callServices
)) != EqualTo
)
10307 if ((result
= m_endpointAlias
.Compare(other
.m_endpointAlias
)) != EqualTo
)
10310 return PASN_Sequence::Compare(other
);
10314 PINDEX
H225_GatekeeperRequest::GetDataLength() const
10317 length
+= m_requestSeqNum
.GetObjectLength();
10318 length
+= m_protocolIdentifier
.GetObjectLength();
10319 if (HasOptionalField(e_nonStandardData
))
10320 length
+= m_nonStandardData
.GetObjectLength();
10321 length
+= m_rasAddress
.GetObjectLength();
10322 length
+= m_endpointType
.GetObjectLength();
10323 if (HasOptionalField(e_gatekeeperIdentifier
))
10324 length
+= m_gatekeeperIdentifier
.GetObjectLength();
10325 if (HasOptionalField(e_callServices
))
10326 length
+= m_callServices
.GetObjectLength();
10327 if (HasOptionalField(e_endpointAlias
))
10328 length
+= m_endpointAlias
.GetObjectLength();
10333 BOOL
H225_GatekeeperRequest::Decode(PASN_Stream
& strm
)
10335 if (!PreambleDecode(strm
))
10338 if (!m_requestSeqNum
.Decode(strm
))
10340 if (!m_protocolIdentifier
.Decode(strm
))
10342 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
10344 if (!m_rasAddress
.Decode(strm
))
10346 if (!m_endpointType
.Decode(strm
))
10348 if (HasOptionalField(e_gatekeeperIdentifier
) && !m_gatekeeperIdentifier
.Decode(strm
))
10350 if (HasOptionalField(e_callServices
) && !m_callServices
.Decode(strm
))
10352 if (HasOptionalField(e_endpointAlias
) && !m_endpointAlias
.Decode(strm
))
10354 if (!KnownExtensionDecode(strm
, e_alternateEndpoints
, m_alternateEndpoints
))
10356 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
10358 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
10360 if (!KnownExtensionDecode(strm
, e_authenticationCapability
, m_authenticationCapability
))
10362 if (!KnownExtensionDecode(strm
, e_algorithmOIDs
, m_algorithmOIDs
))
10364 if (!KnownExtensionDecode(strm
, e_integrity
, m_integrity
))
10366 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
10368 if (!KnownExtensionDecode(strm
, e_supportsAltGK
, m_supportsAltGK
))
10370 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
10372 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
10374 if (!KnownExtensionDecode(strm
, e_supportsAssignedGK
, m_supportsAssignedGK
))
10376 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
10379 return UnknownExtensionsDecode(strm
);
10383 void H225_GatekeeperRequest::Encode(PASN_Stream
& strm
) const
10385 PreambleEncode(strm
);
10387 m_requestSeqNum
.Encode(strm
);
10388 m_protocolIdentifier
.Encode(strm
);
10389 if (HasOptionalField(e_nonStandardData
))
10390 m_nonStandardData
.Encode(strm
);
10391 m_rasAddress
.Encode(strm
);
10392 m_endpointType
.Encode(strm
);
10393 if (HasOptionalField(e_gatekeeperIdentifier
))
10394 m_gatekeeperIdentifier
.Encode(strm
);
10395 if (HasOptionalField(e_callServices
))
10396 m_callServices
.Encode(strm
);
10397 if (HasOptionalField(e_endpointAlias
))
10398 m_endpointAlias
.Encode(strm
);
10399 KnownExtensionEncode(strm
, e_alternateEndpoints
, m_alternateEndpoints
);
10400 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
10401 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
10402 KnownExtensionEncode(strm
, e_authenticationCapability
, m_authenticationCapability
);
10403 KnownExtensionEncode(strm
, e_algorithmOIDs
, m_algorithmOIDs
);
10404 KnownExtensionEncode(strm
, e_integrity
, m_integrity
);
10405 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
10406 KnownExtensionEncode(strm
, e_supportsAltGK
, m_supportsAltGK
);
10407 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
10408 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
10409 KnownExtensionEncode(strm
, e_supportsAssignedGK
, m_supportsAssignedGK
);
10410 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
10412 UnknownExtensionsEncode(strm
);
10416 PObject
* H225_GatekeeperRequest::Clone() const
10418 #ifndef PASN_LEANANDMEAN
10419 PAssert(IsClass(H225_GatekeeperRequest::Class()), PInvalidCast
);
10421 return new H225_GatekeeperRequest(*this);
10426 // RegistrationRequest
10429 H225_RegistrationRequest::H225_RegistrationRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
10430 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 27)
10432 IncludeOptionalField(e_keepAlive
);
10433 IncludeOptionalField(e_willSupplyUUIEs
);
10434 IncludeOptionalField(e_maintainConnection
);
10435 // Removed for backwards interoperabililty. Problems with the messages being parsed on previous versions
10436 // IncludeOptionalField(e_supportsAssignedGK);
10440 #ifndef PASN_NOPRINTON
10441 void H225_RegistrationRequest::PrintOn(ostream
& strm
) const
10443 int indent
= strm
.precision() + 2;
10445 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
10446 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
10447 if (HasOptionalField(e_nonStandardData
))
10448 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
10449 strm
<< setw(indent
+20) << "discoveryComplete = " << setprecision(indent
) << m_discoveryComplete
<< '\n';
10450 strm
<< setw(indent
+20) << "callSignalAddress = " << setprecision(indent
) << m_callSignalAddress
<< '\n';
10451 strm
<< setw(indent
+13) << "rasAddress = " << setprecision(indent
) << m_rasAddress
<< '\n';
10452 strm
<< setw(indent
+15) << "terminalType = " << setprecision(indent
) << m_terminalType
<< '\n';
10453 if (HasOptionalField(e_terminalAlias
))
10454 strm
<< setw(indent
+16) << "terminalAlias = " << setprecision(indent
) << m_terminalAlias
<< '\n';
10455 if (HasOptionalField(e_gatekeeperIdentifier
))
10456 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
10457 strm
<< setw(indent
+17) << "endpointVendor = " << setprecision(indent
) << m_endpointVendor
<< '\n';
10458 if (HasOptionalField(e_alternateEndpoints
))
10459 strm
<< setw(indent
+21) << "alternateEndpoints = " << setprecision(indent
) << m_alternateEndpoints
<< '\n';
10460 if (HasOptionalField(e_timeToLive
))
10461 strm
<< setw(indent
+13) << "timeToLive = " << setprecision(indent
) << m_timeToLive
<< '\n';
10462 if (HasOptionalField(e_tokens
))
10463 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
10464 if (HasOptionalField(e_cryptoTokens
))
10465 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
10466 if (HasOptionalField(e_integrityCheckValue
))
10467 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
10468 if (HasOptionalField(e_keepAlive
))
10469 strm
<< setw(indent
+12) << "keepAlive = " << setprecision(indent
) << m_keepAlive
<< '\n';
10470 if (HasOptionalField(e_endpointIdentifier
))
10471 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
10472 if (HasOptionalField(e_willSupplyUUIEs
))
10473 strm
<< setw(indent
+18) << "willSupplyUUIEs = " << setprecision(indent
) << m_willSupplyUUIEs
<< '\n';
10474 if (HasOptionalField(e_maintainConnection
))
10475 strm
<< setw(indent
+21) << "maintainConnection = " << setprecision(indent
) << m_maintainConnection
<< '\n';
10476 if (HasOptionalField(e_alternateTransportAddresses
))
10477 strm
<< setw(indent
+30) << "alternateTransportAddresses = " << setprecision(indent
) << m_alternateTransportAddresses
<< '\n';
10478 if (HasOptionalField(e_additiveRegistration
))
10479 strm
<< setw(indent
+23) << "additiveRegistration = " << setprecision(indent
) << m_additiveRegistration
<< '\n';
10480 if (HasOptionalField(e_terminalAliasPattern
))
10481 strm
<< setw(indent
+23) << "terminalAliasPattern = " << setprecision(indent
) << m_terminalAliasPattern
<< '\n';
10482 if (HasOptionalField(e_supportsAltGK
))
10483 strm
<< setw(indent
+16) << "supportsAltGK = " << setprecision(indent
) << m_supportsAltGK
<< '\n';
10484 if (HasOptionalField(e_usageReportingCapability
))
10485 strm
<< setw(indent
+27) << "usageReportingCapability = " << setprecision(indent
) << m_usageReportingCapability
<< '\n';
10486 if (HasOptionalField(e_multipleCalls
))
10487 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
10488 if (HasOptionalField(e_supportedH248Packages
))
10489 strm
<< setw(indent
+24) << "supportedH248Packages = " << setprecision(indent
) << m_supportedH248Packages
<< '\n';
10490 if (HasOptionalField(e_callCreditCapability
))
10491 strm
<< setw(indent
+23) << "callCreditCapability = " << setprecision(indent
) << m_callCreditCapability
<< '\n';
10492 if (HasOptionalField(e_capacityReportingCapability
))
10493 strm
<< setw(indent
+30) << "capacityReportingCapability = " << setprecision(indent
) << m_capacityReportingCapability
<< '\n';
10494 if (HasOptionalField(e_capacity
))
10495 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
10496 if (HasOptionalField(e_featureSet
))
10497 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
10498 if (HasOptionalField(e_genericData
))
10499 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
10500 if (HasOptionalField(e_restart
))
10501 strm
<< setw(indent
+10) << "restart = " << setprecision(indent
) << m_restart
<< '\n';
10502 if (HasOptionalField(e_supportsACFSequences
))
10503 strm
<< setw(indent
+23) << "supportsACFSequences = " << setprecision(indent
) << m_supportsACFSequences
<< '\n';
10504 if (HasOptionalField(e_supportsAssignedGK
))
10505 strm
<< setw(indent
+21) << "supportsAssignedGK = " << setprecision(indent
) << m_supportsAssignedGK
<< '\n';
10506 if (HasOptionalField(e_assignedGatekeeper
))
10507 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
10508 if (HasOptionalField(e_transportQOS
))
10509 strm
<< setw(indent
+15) << "transportQOS = " << setprecision(indent
) << m_transportQOS
<< '\n';
10510 if (HasOptionalField(e_language
))
10511 strm
<< setw(indent
+11) << "language = " << setprecision(indent
) << m_language
<< '\n';
10512 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10517 PObject::Comparison
H225_RegistrationRequest::Compare(const PObject
& obj
) const
10519 #ifndef PASN_LEANANDMEAN
10520 PAssert(PIsDescendant(&obj
, H225_RegistrationRequest
), PInvalidCast
);
10522 const H225_RegistrationRequest
& other
= (const H225_RegistrationRequest
&)obj
;
10526 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
10528 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
10530 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
10532 if ((result
= m_discoveryComplete
.Compare(other
.m_discoveryComplete
)) != EqualTo
)
10534 if ((result
= m_callSignalAddress
.Compare(other
.m_callSignalAddress
)) != EqualTo
)
10536 if ((result
= m_rasAddress
.Compare(other
.m_rasAddress
)) != EqualTo
)
10538 if ((result
= m_terminalType
.Compare(other
.m_terminalType
)) != EqualTo
)
10540 if ((result
= m_terminalAlias
.Compare(other
.m_terminalAlias
)) != EqualTo
)
10542 if ((result
= m_gatekeeperIdentifier
.Compare(other
.m_gatekeeperIdentifier
)) != EqualTo
)
10544 if ((result
= m_endpointVendor
.Compare(other
.m_endpointVendor
)) != EqualTo
)
10547 return PASN_Sequence::Compare(other
);
10551 PINDEX
H225_RegistrationRequest::GetDataLength() const
10554 length
+= m_requestSeqNum
.GetObjectLength();
10555 length
+= m_protocolIdentifier
.GetObjectLength();
10556 if (HasOptionalField(e_nonStandardData
))
10557 length
+= m_nonStandardData
.GetObjectLength();
10558 length
+= m_discoveryComplete
.GetObjectLength();
10559 length
+= m_callSignalAddress
.GetObjectLength();
10560 length
+= m_rasAddress
.GetObjectLength();
10561 length
+= m_terminalType
.GetObjectLength();
10562 if (HasOptionalField(e_terminalAlias
))
10563 length
+= m_terminalAlias
.GetObjectLength();
10564 if (HasOptionalField(e_gatekeeperIdentifier
))
10565 length
+= m_gatekeeperIdentifier
.GetObjectLength();
10566 length
+= m_endpointVendor
.GetObjectLength();
10571 BOOL
H225_RegistrationRequest::Decode(PASN_Stream
& strm
)
10573 if (!PreambleDecode(strm
))
10576 if (!m_requestSeqNum
.Decode(strm
))
10578 if (!m_protocolIdentifier
.Decode(strm
))
10580 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
10582 if (!m_discoveryComplete
.Decode(strm
))
10584 if (!m_callSignalAddress
.Decode(strm
))
10586 if (!m_rasAddress
.Decode(strm
))
10588 if (!m_terminalType
.Decode(strm
))
10590 if (HasOptionalField(e_terminalAlias
) && !m_terminalAlias
.Decode(strm
))
10592 if (HasOptionalField(e_gatekeeperIdentifier
) && !m_gatekeeperIdentifier
.Decode(strm
))
10594 if (!m_endpointVendor
.Decode(strm
))
10596 if (!KnownExtensionDecode(strm
, e_alternateEndpoints
, m_alternateEndpoints
))
10598 if (!KnownExtensionDecode(strm
, e_timeToLive
, m_timeToLive
))
10600 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
10602 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
10604 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
10606 if (!KnownExtensionDecode(strm
, e_keepAlive
, m_keepAlive
))
10608 if (!KnownExtensionDecode(strm
, e_endpointIdentifier
, m_endpointIdentifier
))
10610 if (!KnownExtensionDecode(strm
, e_willSupplyUUIEs
, m_willSupplyUUIEs
))
10612 if (!KnownExtensionDecode(strm
, e_maintainConnection
, m_maintainConnection
))
10614 if (!KnownExtensionDecode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
))
10616 if (!KnownExtensionDecode(strm
, e_additiveRegistration
, m_additiveRegistration
))
10618 if (!KnownExtensionDecode(strm
, e_terminalAliasPattern
, m_terminalAliasPattern
))
10620 if (!KnownExtensionDecode(strm
, e_supportsAltGK
, m_supportsAltGK
))
10622 if (!KnownExtensionDecode(strm
, e_usageReportingCapability
, m_usageReportingCapability
))
10624 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
10626 if (!KnownExtensionDecode(strm
, e_supportedH248Packages
, m_supportedH248Packages
))
10628 if (!KnownExtensionDecode(strm
, e_callCreditCapability
, m_callCreditCapability
))
10630 if (!KnownExtensionDecode(strm
, e_capacityReportingCapability
, m_capacityReportingCapability
))
10632 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
10634 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
10636 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
10638 if (!KnownExtensionDecode(strm
, e_restart
, m_restart
))
10640 if (!KnownExtensionDecode(strm
, e_supportsACFSequences
, m_supportsACFSequences
))
10642 if (!KnownExtensionDecode(strm
, e_supportsAssignedGK
, m_supportsAssignedGK
))
10644 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
10646 if (!KnownExtensionDecode(strm
, e_transportQOS
, m_transportQOS
))
10648 if (!KnownExtensionDecode(strm
, e_language
, m_language
))
10651 return UnknownExtensionsDecode(strm
);
10655 void H225_RegistrationRequest::Encode(PASN_Stream
& strm
) const
10657 PreambleEncode(strm
);
10659 m_requestSeqNum
.Encode(strm
);
10660 m_protocolIdentifier
.Encode(strm
);
10661 if (HasOptionalField(e_nonStandardData
))
10662 m_nonStandardData
.Encode(strm
);
10663 m_discoveryComplete
.Encode(strm
);
10664 m_callSignalAddress
.Encode(strm
);
10665 m_rasAddress
.Encode(strm
);
10666 m_terminalType
.Encode(strm
);
10667 if (HasOptionalField(e_terminalAlias
))
10668 m_terminalAlias
.Encode(strm
);
10669 if (HasOptionalField(e_gatekeeperIdentifier
))
10670 m_gatekeeperIdentifier
.Encode(strm
);
10671 m_endpointVendor
.Encode(strm
);
10672 KnownExtensionEncode(strm
, e_alternateEndpoints
, m_alternateEndpoints
);
10673 KnownExtensionEncode(strm
, e_timeToLive
, m_timeToLive
);
10674 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
10675 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
10676 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
10677 KnownExtensionEncode(strm
, e_keepAlive
, m_keepAlive
);
10678 KnownExtensionEncode(strm
, e_endpointIdentifier
, m_endpointIdentifier
);
10679 KnownExtensionEncode(strm
, e_willSupplyUUIEs
, m_willSupplyUUIEs
);
10680 KnownExtensionEncode(strm
, e_maintainConnection
, m_maintainConnection
);
10681 KnownExtensionEncode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
);
10682 KnownExtensionEncode(strm
, e_additiveRegistration
, m_additiveRegistration
);
10683 KnownExtensionEncode(strm
, e_terminalAliasPattern
, m_terminalAliasPattern
);
10684 KnownExtensionEncode(strm
, e_supportsAltGK
, m_supportsAltGK
);
10685 KnownExtensionEncode(strm
, e_usageReportingCapability
, m_usageReportingCapability
);
10686 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
10687 KnownExtensionEncode(strm
, e_supportedH248Packages
, m_supportedH248Packages
);
10688 KnownExtensionEncode(strm
, e_callCreditCapability
, m_callCreditCapability
);
10689 KnownExtensionEncode(strm
, e_capacityReportingCapability
, m_capacityReportingCapability
);
10690 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
10691 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
10692 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
10693 KnownExtensionEncode(strm
, e_restart
, m_restart
);
10694 KnownExtensionEncode(strm
, e_supportsACFSequences
, m_supportsACFSequences
);
10695 KnownExtensionEncode(strm
, e_supportsAssignedGK
, m_supportsAssignedGK
);
10696 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
10697 KnownExtensionEncode(strm
, e_transportQOS
, m_transportQOS
);
10698 KnownExtensionEncode(strm
, e_language
, m_language
);
10700 UnknownExtensionsEncode(strm
);
10704 PObject
* H225_RegistrationRequest::Clone() const
10706 #ifndef PASN_LEANANDMEAN
10707 PAssert(IsClass(H225_RegistrationRequest::Class()), PInvalidCast
);
10709 return new H225_RegistrationRequest(*this);
10714 // AdmissionRequest
10717 H225_AdmissionRequest::H225_AdmissionRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
10718 : PASN_Sequence(tag
, tagClass
, 7, TRUE
, 19)
10720 IncludeOptionalField(e_canMapAlias
);
10721 IncludeOptionalField(e_callIdentifier
);
10722 IncludeOptionalField(e_willSupplyUUIEs
);
10723 IncludeOptionalField(e_canMapSrcAlias
);
10727 #ifndef PASN_NOPRINTON
10728 void H225_AdmissionRequest::PrintOn(ostream
& strm
) const
10730 int indent
= strm
.precision() + 2;
10732 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
10733 strm
<< setw(indent
+11) << "callType = " << setprecision(indent
) << m_callType
<< '\n';
10734 if (HasOptionalField(e_callModel
))
10735 strm
<< setw(indent
+12) << "callModel = " << setprecision(indent
) << m_callModel
<< '\n';
10736 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
10737 if (HasOptionalField(e_destinationInfo
))
10738 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
10739 if (HasOptionalField(e_destCallSignalAddress
))
10740 strm
<< setw(indent
+24) << "destCallSignalAddress = " << setprecision(indent
) << m_destCallSignalAddress
<< '\n';
10741 if (HasOptionalField(e_destExtraCallInfo
))
10742 strm
<< setw(indent
+20) << "destExtraCallInfo = " << setprecision(indent
) << m_destExtraCallInfo
<< '\n';
10743 strm
<< setw(indent
+10) << "srcInfo = " << setprecision(indent
) << m_srcInfo
<< '\n';
10744 if (HasOptionalField(e_srcCallSignalAddress
))
10745 strm
<< setw(indent
+23) << "srcCallSignalAddress = " << setprecision(indent
) << m_srcCallSignalAddress
<< '\n';
10746 strm
<< setw(indent
+12) << "bandWidth = " << setprecision(indent
) << m_bandWidth
<< '\n';
10747 strm
<< setw(indent
+21) << "callReferenceValue = " << setprecision(indent
) << m_callReferenceValue
<< '\n';
10748 if (HasOptionalField(e_nonStandardData
))
10749 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
10750 if (HasOptionalField(e_callServices
))
10751 strm
<< setw(indent
+15) << "callServices = " << setprecision(indent
) << m_callServices
<< '\n';
10752 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
10753 strm
<< setw(indent
+11) << "activeMC = " << setprecision(indent
) << m_activeMC
<< '\n';
10754 strm
<< setw(indent
+13) << "answerCall = " << setprecision(indent
) << m_answerCall
<< '\n';
10755 if (HasOptionalField(e_canMapAlias
))
10756 strm
<< setw(indent
+14) << "canMapAlias = " << setprecision(indent
) << m_canMapAlias
<< '\n';
10757 if (HasOptionalField(e_callIdentifier
))
10758 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
10759 if (HasOptionalField(e_srcAlternatives
))
10760 strm
<< setw(indent
+18) << "srcAlternatives = " << setprecision(indent
) << m_srcAlternatives
<< '\n';
10761 if (HasOptionalField(e_destAlternatives
))
10762 strm
<< setw(indent
+19) << "destAlternatives = " << setprecision(indent
) << m_destAlternatives
<< '\n';
10763 if (HasOptionalField(e_gatekeeperIdentifier
))
10764 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
10765 if (HasOptionalField(e_tokens
))
10766 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
10767 if (HasOptionalField(e_cryptoTokens
))
10768 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
10769 if (HasOptionalField(e_integrityCheckValue
))
10770 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
10771 if (HasOptionalField(e_transportQOS
))
10772 strm
<< setw(indent
+15) << "transportQOS = " << setprecision(indent
) << m_transportQOS
<< '\n';
10773 if (HasOptionalField(e_willSupplyUUIEs
))
10774 strm
<< setw(indent
+18) << "willSupplyUUIEs = " << setprecision(indent
) << m_willSupplyUUIEs
<< '\n';
10775 if (HasOptionalField(e_callLinkage
))
10776 strm
<< setw(indent
+14) << "callLinkage = " << setprecision(indent
) << m_callLinkage
<< '\n';
10777 if (HasOptionalField(e_gatewayDataRate
))
10778 strm
<< setw(indent
+18) << "gatewayDataRate = " << setprecision(indent
) << m_gatewayDataRate
<< '\n';
10779 if (HasOptionalField(e_capacity
))
10780 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
10781 if (HasOptionalField(e_circuitInfo
))
10782 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
10783 if (HasOptionalField(e_desiredProtocols
))
10784 strm
<< setw(indent
+19) << "desiredProtocols = " << setprecision(indent
) << m_desiredProtocols
<< '\n';
10785 if (HasOptionalField(e_desiredTunnelledProtocol
))
10786 strm
<< setw(indent
+27) << "desiredTunnelledProtocol = " << setprecision(indent
) << m_desiredTunnelledProtocol
<< '\n';
10787 if (HasOptionalField(e_featureSet
))
10788 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
10789 if (HasOptionalField(e_genericData
))
10790 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
10791 if (HasOptionalField(e_canMapSrcAlias
))
10792 strm
<< setw(indent
+17) << "canMapSrcAlias = " << setprecision(indent
) << m_canMapSrcAlias
<< '\n';
10793 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10798 PObject::Comparison
H225_AdmissionRequest::Compare(const PObject
& obj
) const
10800 #ifndef PASN_LEANANDMEAN
10801 PAssert(PIsDescendant(&obj
, H225_AdmissionRequest
), PInvalidCast
);
10803 const H225_AdmissionRequest
& other
= (const H225_AdmissionRequest
&)obj
;
10807 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
10809 if ((result
= m_callType
.Compare(other
.m_callType
)) != EqualTo
)
10811 if ((result
= m_callModel
.Compare(other
.m_callModel
)) != EqualTo
)
10813 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
10815 if ((result
= m_destinationInfo
.Compare(other
.m_destinationInfo
)) != EqualTo
)
10817 if ((result
= m_destCallSignalAddress
.Compare(other
.m_destCallSignalAddress
)) != EqualTo
)
10819 if ((result
= m_destExtraCallInfo
.Compare(other
.m_destExtraCallInfo
)) != EqualTo
)
10821 if ((result
= m_srcInfo
.Compare(other
.m_srcInfo
)) != EqualTo
)
10823 if ((result
= m_srcCallSignalAddress
.Compare(other
.m_srcCallSignalAddress
)) != EqualTo
)
10825 if ((result
= m_bandWidth
.Compare(other
.m_bandWidth
)) != EqualTo
)
10827 if ((result
= m_callReferenceValue
.Compare(other
.m_callReferenceValue
)) != EqualTo
)
10829 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
10831 if ((result
= m_callServices
.Compare(other
.m_callServices
)) != EqualTo
)
10833 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
10835 if ((result
= m_activeMC
.Compare(other
.m_activeMC
)) != EqualTo
)
10837 if ((result
= m_answerCall
.Compare(other
.m_answerCall
)) != EqualTo
)
10840 return PASN_Sequence::Compare(other
);
10844 PINDEX
H225_AdmissionRequest::GetDataLength() const
10847 length
+= m_requestSeqNum
.GetObjectLength();
10848 length
+= m_callType
.GetObjectLength();
10849 if (HasOptionalField(e_callModel
))
10850 length
+= m_callModel
.GetObjectLength();
10851 length
+= m_endpointIdentifier
.GetObjectLength();
10852 if (HasOptionalField(e_destinationInfo
))
10853 length
+= m_destinationInfo
.GetObjectLength();
10854 if (HasOptionalField(e_destCallSignalAddress
))
10855 length
+= m_destCallSignalAddress
.GetObjectLength();
10856 if (HasOptionalField(e_destExtraCallInfo
))
10857 length
+= m_destExtraCallInfo
.GetObjectLength();
10858 length
+= m_srcInfo
.GetObjectLength();
10859 if (HasOptionalField(e_srcCallSignalAddress
))
10860 length
+= m_srcCallSignalAddress
.GetObjectLength();
10861 length
+= m_bandWidth
.GetObjectLength();
10862 length
+= m_callReferenceValue
.GetObjectLength();
10863 if (HasOptionalField(e_nonStandardData
))
10864 length
+= m_nonStandardData
.GetObjectLength();
10865 if (HasOptionalField(e_callServices
))
10866 length
+= m_callServices
.GetObjectLength();
10867 length
+= m_conferenceID
.GetObjectLength();
10868 length
+= m_activeMC
.GetObjectLength();
10869 length
+= m_answerCall
.GetObjectLength();
10874 BOOL
H225_AdmissionRequest::Decode(PASN_Stream
& strm
)
10876 if (!PreambleDecode(strm
))
10879 if (!m_requestSeqNum
.Decode(strm
))
10881 if (!m_callType
.Decode(strm
))
10883 if (HasOptionalField(e_callModel
) && !m_callModel
.Decode(strm
))
10885 if (!m_endpointIdentifier
.Decode(strm
))
10887 if (HasOptionalField(e_destinationInfo
) && !m_destinationInfo
.Decode(strm
))
10889 if (HasOptionalField(e_destCallSignalAddress
) && !m_destCallSignalAddress
.Decode(strm
))
10891 if (HasOptionalField(e_destExtraCallInfo
) && !m_destExtraCallInfo
.Decode(strm
))
10893 if (!m_srcInfo
.Decode(strm
))
10895 if (HasOptionalField(e_srcCallSignalAddress
) && !m_srcCallSignalAddress
.Decode(strm
))
10897 if (!m_bandWidth
.Decode(strm
))
10899 if (!m_callReferenceValue
.Decode(strm
))
10901 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
10903 if (HasOptionalField(e_callServices
) && !m_callServices
.Decode(strm
))
10905 if (!m_conferenceID
.Decode(strm
))
10907 if (!m_activeMC
.Decode(strm
))
10909 if (!m_answerCall
.Decode(strm
))
10911 if (!KnownExtensionDecode(strm
, e_canMapAlias
, m_canMapAlias
))
10913 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
10915 if (!KnownExtensionDecode(strm
, e_srcAlternatives
, m_srcAlternatives
))
10917 if (!KnownExtensionDecode(strm
, e_destAlternatives
, m_destAlternatives
))
10919 if (!KnownExtensionDecode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
))
10921 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
10923 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
10925 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
10927 if (!KnownExtensionDecode(strm
, e_transportQOS
, m_transportQOS
))
10929 if (!KnownExtensionDecode(strm
, e_willSupplyUUIEs
, m_willSupplyUUIEs
))
10931 if (!KnownExtensionDecode(strm
, e_callLinkage
, m_callLinkage
))
10933 if (!KnownExtensionDecode(strm
, e_gatewayDataRate
, m_gatewayDataRate
))
10935 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
10937 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
10939 if (!KnownExtensionDecode(strm
, e_desiredProtocols
, m_desiredProtocols
))
10941 if (!KnownExtensionDecode(strm
, e_desiredTunnelledProtocol
, m_desiredTunnelledProtocol
))
10943 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
10945 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
10947 if (!KnownExtensionDecode(strm
, e_canMapSrcAlias
, m_canMapSrcAlias
))
10950 return UnknownExtensionsDecode(strm
);
10954 void H225_AdmissionRequest::Encode(PASN_Stream
& strm
) const
10956 PreambleEncode(strm
);
10958 m_requestSeqNum
.Encode(strm
);
10959 m_callType
.Encode(strm
);
10960 if (HasOptionalField(e_callModel
))
10961 m_callModel
.Encode(strm
);
10962 m_endpointIdentifier
.Encode(strm
);
10963 if (HasOptionalField(e_destinationInfo
))
10964 m_destinationInfo
.Encode(strm
);
10965 if (HasOptionalField(e_destCallSignalAddress
))
10966 m_destCallSignalAddress
.Encode(strm
);
10967 if (HasOptionalField(e_destExtraCallInfo
))
10968 m_destExtraCallInfo
.Encode(strm
);
10969 m_srcInfo
.Encode(strm
);
10970 if (HasOptionalField(e_srcCallSignalAddress
))
10971 m_srcCallSignalAddress
.Encode(strm
);
10972 m_bandWidth
.Encode(strm
);
10973 m_callReferenceValue
.Encode(strm
);
10974 if (HasOptionalField(e_nonStandardData
))
10975 m_nonStandardData
.Encode(strm
);
10976 if (HasOptionalField(e_callServices
))
10977 m_callServices
.Encode(strm
);
10978 m_conferenceID
.Encode(strm
);
10979 m_activeMC
.Encode(strm
);
10980 m_answerCall
.Encode(strm
);
10981 KnownExtensionEncode(strm
, e_canMapAlias
, m_canMapAlias
);
10982 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
10983 KnownExtensionEncode(strm
, e_srcAlternatives
, m_srcAlternatives
);
10984 KnownExtensionEncode(strm
, e_destAlternatives
, m_destAlternatives
);
10985 KnownExtensionEncode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
);
10986 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
10987 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
10988 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
10989 KnownExtensionEncode(strm
, e_transportQOS
, m_transportQOS
);
10990 KnownExtensionEncode(strm
, e_willSupplyUUIEs
, m_willSupplyUUIEs
);
10991 KnownExtensionEncode(strm
, e_callLinkage
, m_callLinkage
);
10992 KnownExtensionEncode(strm
, e_gatewayDataRate
, m_gatewayDataRate
);
10993 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
10994 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
10995 KnownExtensionEncode(strm
, e_desiredProtocols
, m_desiredProtocols
);
10996 KnownExtensionEncode(strm
, e_desiredTunnelledProtocol
, m_desiredTunnelledProtocol
);
10997 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
10998 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
10999 KnownExtensionEncode(strm
, e_canMapSrcAlias
, m_canMapSrcAlias
);
11001 UnknownExtensionsEncode(strm
);
11005 PObject
* H225_AdmissionRequest::Clone() const
11007 #ifndef PASN_LEANANDMEAN
11008 PAssert(IsClass(H225_AdmissionRequest::Class()), PInvalidCast
);
11010 return new H225_AdmissionRequest(*this);
11015 // AdmissionConfirm
11018 H225_AdmissionConfirm::H225_AdmissionConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
11019 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 23)
11021 m_irrFrequency
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
11022 IncludeOptionalField(e_willRespondToIRR
);
11023 IncludeOptionalField(e_uuiesRequested
);
11027 #ifndef PASN_NOPRINTON
11028 void H225_AdmissionConfirm::PrintOn(ostream
& strm
) const
11030 int indent
= strm
.precision() + 2;
11032 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
11033 strm
<< setw(indent
+12) << "bandWidth = " << setprecision(indent
) << m_bandWidth
<< '\n';
11034 strm
<< setw(indent
+12) << "callModel = " << setprecision(indent
) << m_callModel
<< '\n';
11035 strm
<< setw(indent
+24) << "destCallSignalAddress = " << setprecision(indent
) << m_destCallSignalAddress
<< '\n';
11036 if (HasOptionalField(e_irrFrequency
))
11037 strm
<< setw(indent
+15) << "irrFrequency = " << setprecision(indent
) << m_irrFrequency
<< '\n';
11038 if (HasOptionalField(e_nonStandardData
))
11039 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
11040 if (HasOptionalField(e_destinationInfo
))
11041 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
11042 if (HasOptionalField(e_destExtraCallInfo
))
11043 strm
<< setw(indent
+20) << "destExtraCallInfo = " << setprecision(indent
) << m_destExtraCallInfo
<< '\n';
11044 if (HasOptionalField(e_destinationType
))
11045 strm
<< setw(indent
+18) << "destinationType = " << setprecision(indent
) << m_destinationType
<< '\n';
11046 if (HasOptionalField(e_remoteExtensionAddress
))
11047 strm
<< setw(indent
+25) << "remoteExtensionAddress = " << setprecision(indent
) << m_remoteExtensionAddress
<< '\n';
11048 if (HasOptionalField(e_alternateEndpoints
))
11049 strm
<< setw(indent
+21) << "alternateEndpoints = " << setprecision(indent
) << m_alternateEndpoints
<< '\n';
11050 if (HasOptionalField(e_tokens
))
11051 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
11052 if (HasOptionalField(e_cryptoTokens
))
11053 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
11054 if (HasOptionalField(e_integrityCheckValue
))
11055 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
11056 if (HasOptionalField(e_transportQOS
))
11057 strm
<< setw(indent
+15) << "transportQOS = " << setprecision(indent
) << m_transportQOS
<< '\n';
11058 if (HasOptionalField(e_willRespondToIRR
))
11059 strm
<< setw(indent
+19) << "willRespondToIRR = " << setprecision(indent
) << m_willRespondToIRR
<< '\n';
11060 if (HasOptionalField(e_uuiesRequested
))
11061 strm
<< setw(indent
+17) << "uuiesRequested = " << setprecision(indent
) << m_uuiesRequested
<< '\n';
11062 if (HasOptionalField(e_language
))
11063 strm
<< setw(indent
+11) << "language = " << setprecision(indent
) << m_language
<< '\n';
11064 if (HasOptionalField(e_alternateTransportAddresses
))
11065 strm
<< setw(indent
+30) << "alternateTransportAddresses = " << setprecision(indent
) << m_alternateTransportAddresses
<< '\n';
11066 if (HasOptionalField(e_useSpecifiedTransport
))
11067 strm
<< setw(indent
+24) << "useSpecifiedTransport = " << setprecision(indent
) << m_useSpecifiedTransport
<< '\n';
11068 if (HasOptionalField(e_circuitInfo
))
11069 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
11070 if (HasOptionalField(e_usageSpec
))
11071 strm
<< setw(indent
+12) << "usageSpec = " << setprecision(indent
) << m_usageSpec
<< '\n';
11072 if (HasOptionalField(e_supportedProtocols
))
11073 strm
<< setw(indent
+21) << "supportedProtocols = " << setprecision(indent
) << m_supportedProtocols
<< '\n';
11074 if (HasOptionalField(e_serviceControl
))
11075 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
11076 if (HasOptionalField(e_multipleCalls
))
11077 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
11078 if (HasOptionalField(e_featureSet
))
11079 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
11080 if (HasOptionalField(e_genericData
))
11081 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
11082 if (HasOptionalField(e_modifiedSrcInfo
))
11083 strm
<< setw(indent
+18) << "modifiedSrcInfo = " << setprecision(indent
) << m_modifiedSrcInfo
<< '\n';
11084 if (HasOptionalField(e_assignedGatekeeper
))
11085 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
11086 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11091 PObject::Comparison
H225_AdmissionConfirm::Compare(const PObject
& obj
) const
11093 #ifndef PASN_LEANANDMEAN
11094 PAssert(PIsDescendant(&obj
, H225_AdmissionConfirm
), PInvalidCast
);
11096 const H225_AdmissionConfirm
& other
= (const H225_AdmissionConfirm
&)obj
;
11100 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
11102 if ((result
= m_bandWidth
.Compare(other
.m_bandWidth
)) != EqualTo
)
11104 if ((result
= m_callModel
.Compare(other
.m_callModel
)) != EqualTo
)
11106 if ((result
= m_destCallSignalAddress
.Compare(other
.m_destCallSignalAddress
)) != EqualTo
)
11108 if ((result
= m_irrFrequency
.Compare(other
.m_irrFrequency
)) != EqualTo
)
11110 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
11113 return PASN_Sequence::Compare(other
);
11117 PINDEX
H225_AdmissionConfirm::GetDataLength() const
11120 length
+= m_requestSeqNum
.GetObjectLength();
11121 length
+= m_bandWidth
.GetObjectLength();
11122 length
+= m_callModel
.GetObjectLength();
11123 length
+= m_destCallSignalAddress
.GetObjectLength();
11124 if (HasOptionalField(e_irrFrequency
))
11125 length
+= m_irrFrequency
.GetObjectLength();
11126 if (HasOptionalField(e_nonStandardData
))
11127 length
+= m_nonStandardData
.GetObjectLength();
11132 BOOL
H225_AdmissionConfirm::Decode(PASN_Stream
& strm
)
11134 if (!PreambleDecode(strm
))
11137 if (!m_requestSeqNum
.Decode(strm
))
11139 if (!m_bandWidth
.Decode(strm
))
11141 if (!m_callModel
.Decode(strm
))
11143 if (!m_destCallSignalAddress
.Decode(strm
))
11145 if (HasOptionalField(e_irrFrequency
) && !m_irrFrequency
.Decode(strm
))
11147 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
11149 if (!KnownExtensionDecode(strm
, e_destinationInfo
, m_destinationInfo
))
11151 if (!KnownExtensionDecode(strm
, e_destExtraCallInfo
, m_destExtraCallInfo
))
11153 if (!KnownExtensionDecode(strm
, e_destinationType
, m_destinationType
))
11155 if (!KnownExtensionDecode(strm
, e_remoteExtensionAddress
, m_remoteExtensionAddress
))
11157 if (!KnownExtensionDecode(strm
, e_alternateEndpoints
, m_alternateEndpoints
))
11159 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
11161 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
11163 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
11165 if (!KnownExtensionDecode(strm
, e_transportQOS
, m_transportQOS
))
11167 if (!KnownExtensionDecode(strm
, e_willRespondToIRR
, m_willRespondToIRR
))
11169 if (!KnownExtensionDecode(strm
, e_uuiesRequested
, m_uuiesRequested
))
11171 if (!KnownExtensionDecode(strm
, e_language
, m_language
))
11173 if (!KnownExtensionDecode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
))
11175 if (!KnownExtensionDecode(strm
, e_useSpecifiedTransport
, m_useSpecifiedTransport
))
11177 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
11179 if (!KnownExtensionDecode(strm
, e_usageSpec
, m_usageSpec
))
11181 if (!KnownExtensionDecode(strm
, e_supportedProtocols
, m_supportedProtocols
))
11183 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
11185 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
11187 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
11189 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
11191 if (!KnownExtensionDecode(strm
, e_modifiedSrcInfo
, m_modifiedSrcInfo
))
11193 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
11196 return UnknownExtensionsDecode(strm
);
11200 void H225_AdmissionConfirm::Encode(PASN_Stream
& strm
) const
11202 PreambleEncode(strm
);
11204 m_requestSeqNum
.Encode(strm
);
11205 m_bandWidth
.Encode(strm
);
11206 m_callModel
.Encode(strm
);
11207 m_destCallSignalAddress
.Encode(strm
);
11208 if (HasOptionalField(e_irrFrequency
))
11209 m_irrFrequency
.Encode(strm
);
11210 if (HasOptionalField(e_nonStandardData
))
11211 m_nonStandardData
.Encode(strm
);
11212 KnownExtensionEncode(strm
, e_destinationInfo
, m_destinationInfo
);
11213 KnownExtensionEncode(strm
, e_destExtraCallInfo
, m_destExtraCallInfo
);
11214 KnownExtensionEncode(strm
, e_destinationType
, m_destinationType
);
11215 KnownExtensionEncode(strm
, e_remoteExtensionAddress
, m_remoteExtensionAddress
);
11216 KnownExtensionEncode(strm
, e_alternateEndpoints
, m_alternateEndpoints
);
11217 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
11218 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
11219 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
11220 KnownExtensionEncode(strm
, e_transportQOS
, m_transportQOS
);
11221 KnownExtensionEncode(strm
, e_willRespondToIRR
, m_willRespondToIRR
);
11222 KnownExtensionEncode(strm
, e_uuiesRequested
, m_uuiesRequested
);
11223 KnownExtensionEncode(strm
, e_language
, m_language
);
11224 KnownExtensionEncode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
);
11225 KnownExtensionEncode(strm
, e_useSpecifiedTransport
, m_useSpecifiedTransport
);
11226 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
11227 KnownExtensionEncode(strm
, e_usageSpec
, m_usageSpec
);
11228 KnownExtensionEncode(strm
, e_supportedProtocols
, m_supportedProtocols
);
11229 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
11230 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
11231 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
11232 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
11233 KnownExtensionEncode(strm
, e_modifiedSrcInfo
, m_modifiedSrcInfo
);
11234 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
11236 UnknownExtensionsEncode(strm
);
11240 PObject
* H225_AdmissionConfirm::Clone() const
11242 #ifndef PASN_LEANANDMEAN
11243 PAssert(IsClass(H225_AdmissionConfirm::Class()), PInvalidCast
);
11245 return new H225_AdmissionConfirm(*this);
11253 H225_LocationRequest::H225_LocationRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
11254 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 17)
11256 IncludeOptionalField(e_canMapAlias
);
11257 m_hopCount
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
11258 IncludeOptionalField(e_canMapSrcAlias
);
11262 #ifndef PASN_NOPRINTON
11263 void H225_LocationRequest::PrintOn(ostream
& strm
) const
11265 int indent
= strm
.precision() + 2;
11267 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
11268 if (HasOptionalField(e_endpointIdentifier
))
11269 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
11270 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
11271 if (HasOptionalField(e_nonStandardData
))
11272 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
11273 strm
<< setw(indent
+15) << "replyAddress = " << setprecision(indent
) << m_replyAddress
<< '\n';
11274 if (HasOptionalField(e_sourceInfo
))
11275 strm
<< setw(indent
+13) << "sourceInfo = " << setprecision(indent
) << m_sourceInfo
<< '\n';
11276 if (HasOptionalField(e_canMapAlias
))
11277 strm
<< setw(indent
+14) << "canMapAlias = " << setprecision(indent
) << m_canMapAlias
<< '\n';
11278 if (HasOptionalField(e_gatekeeperIdentifier
))
11279 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
11280 if (HasOptionalField(e_tokens
))
11281 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
11282 if (HasOptionalField(e_cryptoTokens
))
11283 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
11284 if (HasOptionalField(e_integrityCheckValue
))
11285 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
11286 if (HasOptionalField(e_desiredProtocols
))
11287 strm
<< setw(indent
+19) << "desiredProtocols = " << setprecision(indent
) << m_desiredProtocols
<< '\n';
11288 if (HasOptionalField(e_desiredTunnelledProtocol
))
11289 strm
<< setw(indent
+27) << "desiredTunnelledProtocol = " << setprecision(indent
) << m_desiredTunnelledProtocol
<< '\n';
11290 if (HasOptionalField(e_featureSet
))
11291 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
11292 if (HasOptionalField(e_genericData
))
11293 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
11294 if (HasOptionalField(e_hopCount
))
11295 strm
<< setw(indent
+11) << "hopCount = " << setprecision(indent
) << m_hopCount
<< '\n';
11296 if (HasOptionalField(e_circuitInfo
))
11297 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
11298 if (HasOptionalField(e_callIdentifier
))
11299 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
11300 if (HasOptionalField(e_bandWidth
))
11301 strm
<< setw(indent
+12) << "bandWidth = " << setprecision(indent
) << m_bandWidth
<< '\n';
11302 if (HasOptionalField(e_sourceEndpointInfo
))
11303 strm
<< setw(indent
+21) << "sourceEndpointInfo = " << setprecision(indent
) << m_sourceEndpointInfo
<< '\n';
11304 if (HasOptionalField(e_canMapSrcAlias
))
11305 strm
<< setw(indent
+17) << "canMapSrcAlias = " << setprecision(indent
) << m_canMapSrcAlias
<< '\n';
11306 if (HasOptionalField(e_language
))
11307 strm
<< setw(indent
+11) << "language = " << setprecision(indent
) << m_language
<< '\n';
11308 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11313 PObject::Comparison
H225_LocationRequest::Compare(const PObject
& obj
) const
11315 #ifndef PASN_LEANANDMEAN
11316 PAssert(PIsDescendant(&obj
, H225_LocationRequest
), PInvalidCast
);
11318 const H225_LocationRequest
& other
= (const H225_LocationRequest
&)obj
;
11322 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
11324 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
11326 if ((result
= m_destinationInfo
.Compare(other
.m_destinationInfo
)) != EqualTo
)
11328 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
11330 if ((result
= m_replyAddress
.Compare(other
.m_replyAddress
)) != EqualTo
)
11333 return PASN_Sequence::Compare(other
);
11337 PINDEX
H225_LocationRequest::GetDataLength() const
11340 length
+= m_requestSeqNum
.GetObjectLength();
11341 if (HasOptionalField(e_endpointIdentifier
))
11342 length
+= m_endpointIdentifier
.GetObjectLength();
11343 length
+= m_destinationInfo
.GetObjectLength();
11344 if (HasOptionalField(e_nonStandardData
))
11345 length
+= m_nonStandardData
.GetObjectLength();
11346 length
+= m_replyAddress
.GetObjectLength();
11351 BOOL
H225_LocationRequest::Decode(PASN_Stream
& strm
)
11353 if (!PreambleDecode(strm
))
11356 if (!m_requestSeqNum
.Decode(strm
))
11358 if (HasOptionalField(e_endpointIdentifier
) && !m_endpointIdentifier
.Decode(strm
))
11360 if (!m_destinationInfo
.Decode(strm
))
11362 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
11364 if (!m_replyAddress
.Decode(strm
))
11366 if (!KnownExtensionDecode(strm
, e_sourceInfo
, m_sourceInfo
))
11368 if (!KnownExtensionDecode(strm
, e_canMapAlias
, m_canMapAlias
))
11370 if (!KnownExtensionDecode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
))
11372 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
11374 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
11376 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
11378 if (!KnownExtensionDecode(strm
, e_desiredProtocols
, m_desiredProtocols
))
11380 if (!KnownExtensionDecode(strm
, e_desiredTunnelledProtocol
, m_desiredTunnelledProtocol
))
11382 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
11384 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
11386 if (!KnownExtensionDecode(strm
, e_hopCount
, m_hopCount
))
11388 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
11390 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
11392 if (!KnownExtensionDecode(strm
, e_bandWidth
, m_bandWidth
))
11394 if (!KnownExtensionDecode(strm
, e_sourceEndpointInfo
, m_sourceEndpointInfo
))
11396 if (!KnownExtensionDecode(strm
, e_canMapSrcAlias
, m_canMapSrcAlias
))
11398 if (!KnownExtensionDecode(strm
, e_language
, m_language
))
11401 return UnknownExtensionsDecode(strm
);
11405 void H225_LocationRequest::Encode(PASN_Stream
& strm
) const
11407 PreambleEncode(strm
);
11409 m_requestSeqNum
.Encode(strm
);
11410 if (HasOptionalField(e_endpointIdentifier
))
11411 m_endpointIdentifier
.Encode(strm
);
11412 m_destinationInfo
.Encode(strm
);
11413 if (HasOptionalField(e_nonStandardData
))
11414 m_nonStandardData
.Encode(strm
);
11415 m_replyAddress
.Encode(strm
);
11416 KnownExtensionEncode(strm
, e_sourceInfo
, m_sourceInfo
);
11417 KnownExtensionEncode(strm
, e_canMapAlias
, m_canMapAlias
);
11418 KnownExtensionEncode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
);
11419 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
11420 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
11421 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
11422 KnownExtensionEncode(strm
, e_desiredProtocols
, m_desiredProtocols
);
11423 KnownExtensionEncode(strm
, e_desiredTunnelledProtocol
, m_desiredTunnelledProtocol
);
11424 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
11425 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
11426 KnownExtensionEncode(strm
, e_hopCount
, m_hopCount
);
11427 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
11428 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
11429 KnownExtensionEncode(strm
, e_bandWidth
, m_bandWidth
);
11430 KnownExtensionEncode(strm
, e_sourceEndpointInfo
, m_sourceEndpointInfo
);
11431 KnownExtensionEncode(strm
, e_canMapSrcAlias
, m_canMapSrcAlias
);
11432 KnownExtensionEncode(strm
, e_language
, m_language
);
11434 UnknownExtensionsEncode(strm
);
11438 PObject
* H225_LocationRequest::Clone() const
11440 #ifndef PASN_LEANANDMEAN
11441 PAssert(IsClass(H225_LocationRequest::Class()), PInvalidCast
);
11443 return new H225_LocationRequest(*this);
11451 H225_LocationConfirm::H225_LocationConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
11452 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 17)
11457 #ifndef PASN_NOPRINTON
11458 void H225_LocationConfirm::PrintOn(ostream
& strm
) const
11460 int indent
= strm
.precision() + 2;
11462 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
11463 strm
<< setw(indent
+20) << "callSignalAddress = " << setprecision(indent
) << m_callSignalAddress
<< '\n';
11464 strm
<< setw(indent
+13) << "rasAddress = " << setprecision(indent
) << m_rasAddress
<< '\n';
11465 if (HasOptionalField(e_nonStandardData
))
11466 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
11467 if (HasOptionalField(e_destinationInfo
))
11468 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
11469 if (HasOptionalField(e_destExtraCallInfo
))
11470 strm
<< setw(indent
+20) << "destExtraCallInfo = " << setprecision(indent
) << m_destExtraCallInfo
<< '\n';
11471 if (HasOptionalField(e_destinationType
))
11472 strm
<< setw(indent
+18) << "destinationType = " << setprecision(indent
) << m_destinationType
<< '\n';
11473 if (HasOptionalField(e_remoteExtensionAddress
))
11474 strm
<< setw(indent
+25) << "remoteExtensionAddress = " << setprecision(indent
) << m_remoteExtensionAddress
<< '\n';
11475 if (HasOptionalField(e_alternateEndpoints
))
11476 strm
<< setw(indent
+21) << "alternateEndpoints = " << setprecision(indent
) << m_alternateEndpoints
<< '\n';
11477 if (HasOptionalField(e_tokens
))
11478 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
11479 if (HasOptionalField(e_cryptoTokens
))
11480 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
11481 if (HasOptionalField(e_integrityCheckValue
))
11482 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
11483 if (HasOptionalField(e_alternateTransportAddresses
))
11484 strm
<< setw(indent
+30) << "alternateTransportAddresses = " << setprecision(indent
) << m_alternateTransportAddresses
<< '\n';
11485 if (HasOptionalField(e_supportedProtocols
))
11486 strm
<< setw(indent
+21) << "supportedProtocols = " << setprecision(indent
) << m_supportedProtocols
<< '\n';
11487 if (HasOptionalField(e_multipleCalls
))
11488 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
11489 if (HasOptionalField(e_featureSet
))
11490 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
11491 if (HasOptionalField(e_genericData
))
11492 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
11493 if (HasOptionalField(e_circuitInfo
))
11494 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
11495 if (HasOptionalField(e_serviceControl
))
11496 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
11497 if (HasOptionalField(e_modifiedSrcInfo
))
11498 strm
<< setw(indent
+18) << "modifiedSrcInfo = " << setprecision(indent
) << m_modifiedSrcInfo
<< '\n';
11499 if (HasOptionalField(e_bandWidth
))
11500 strm
<< setw(indent
+12) << "bandWidth = " << setprecision(indent
) << m_bandWidth
<< '\n';
11501 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11506 PObject::Comparison
H225_LocationConfirm::Compare(const PObject
& obj
) const
11508 #ifndef PASN_LEANANDMEAN
11509 PAssert(PIsDescendant(&obj
, H225_LocationConfirm
), PInvalidCast
);
11511 const H225_LocationConfirm
& other
= (const H225_LocationConfirm
&)obj
;
11515 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
11517 if ((result
= m_callSignalAddress
.Compare(other
.m_callSignalAddress
)) != EqualTo
)
11519 if ((result
= m_rasAddress
.Compare(other
.m_rasAddress
)) != EqualTo
)
11521 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
11524 return PASN_Sequence::Compare(other
);
11528 PINDEX
H225_LocationConfirm::GetDataLength() const
11531 length
+= m_requestSeqNum
.GetObjectLength();
11532 length
+= m_callSignalAddress
.GetObjectLength();
11533 length
+= m_rasAddress
.GetObjectLength();
11534 if (HasOptionalField(e_nonStandardData
))
11535 length
+= m_nonStandardData
.GetObjectLength();
11540 BOOL
H225_LocationConfirm::Decode(PASN_Stream
& strm
)
11542 if (!PreambleDecode(strm
))
11545 if (!m_requestSeqNum
.Decode(strm
))
11547 if (!m_callSignalAddress
.Decode(strm
))
11549 if (!m_rasAddress
.Decode(strm
))
11551 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
11553 if (!KnownExtensionDecode(strm
, e_destinationInfo
, m_destinationInfo
))
11555 if (!KnownExtensionDecode(strm
, e_destExtraCallInfo
, m_destExtraCallInfo
))
11557 if (!KnownExtensionDecode(strm
, e_destinationType
, m_destinationType
))
11559 if (!KnownExtensionDecode(strm
, e_remoteExtensionAddress
, m_remoteExtensionAddress
))
11561 if (!KnownExtensionDecode(strm
, e_alternateEndpoints
, m_alternateEndpoints
))
11563 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
11565 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
11567 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
11569 if (!KnownExtensionDecode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
))
11571 if (!KnownExtensionDecode(strm
, e_supportedProtocols
, m_supportedProtocols
))
11573 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
11575 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
11577 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
11579 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
11581 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
11583 if (!KnownExtensionDecode(strm
, e_modifiedSrcInfo
, m_modifiedSrcInfo
))
11585 if (!KnownExtensionDecode(strm
, e_bandWidth
, m_bandWidth
))
11588 return UnknownExtensionsDecode(strm
);
11592 void H225_LocationConfirm::Encode(PASN_Stream
& strm
) const
11594 PreambleEncode(strm
);
11596 m_requestSeqNum
.Encode(strm
);
11597 m_callSignalAddress
.Encode(strm
);
11598 m_rasAddress
.Encode(strm
);
11599 if (HasOptionalField(e_nonStandardData
))
11600 m_nonStandardData
.Encode(strm
);
11601 KnownExtensionEncode(strm
, e_destinationInfo
, m_destinationInfo
);
11602 KnownExtensionEncode(strm
, e_destExtraCallInfo
, m_destExtraCallInfo
);
11603 KnownExtensionEncode(strm
, e_destinationType
, m_destinationType
);
11604 KnownExtensionEncode(strm
, e_remoteExtensionAddress
, m_remoteExtensionAddress
);
11605 KnownExtensionEncode(strm
, e_alternateEndpoints
, m_alternateEndpoints
);
11606 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
11607 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
11608 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
11609 KnownExtensionEncode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
);
11610 KnownExtensionEncode(strm
, e_supportedProtocols
, m_supportedProtocols
);
11611 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
11612 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
11613 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
11614 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
11615 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
11616 KnownExtensionEncode(strm
, e_modifiedSrcInfo
, m_modifiedSrcInfo
);
11617 KnownExtensionEncode(strm
, e_bandWidth
, m_bandWidth
);
11619 UnknownExtensionsEncode(strm
);
11623 PObject
* H225_LocationConfirm::Clone() const
11625 #ifndef PASN_LEANANDMEAN
11626 PAssert(IsClass(H225_LocationConfirm::Class()), PInvalidCast
);
11628 return new H225_LocationConfirm(*this);
11633 // DisengageRequest
11636 H225_DisengageRequest::H225_DisengageRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
11637 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 13)
11639 IncludeOptionalField(e_callIdentifier
);
11640 IncludeOptionalField(e_answeredCall
);
11644 #ifndef PASN_NOPRINTON
11645 void H225_DisengageRequest::PrintOn(ostream
& strm
) const
11647 int indent
= strm
.precision() + 2;
11649 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
11650 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
11651 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
11652 strm
<< setw(indent
+21) << "callReferenceValue = " << setprecision(indent
) << m_callReferenceValue
<< '\n';
11653 strm
<< setw(indent
+18) << "disengageReason = " << setprecision(indent
) << m_disengageReason
<< '\n';
11654 if (HasOptionalField(e_nonStandardData
))
11655 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
11656 if (HasOptionalField(e_callIdentifier
))
11657 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
11658 if (HasOptionalField(e_gatekeeperIdentifier
))
11659 strm
<< setw(indent
+23) << "gatekeeperIdentifier = " << setprecision(indent
) << m_gatekeeperIdentifier
<< '\n';
11660 if (HasOptionalField(e_tokens
))
11661 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
11662 if (HasOptionalField(e_cryptoTokens
))
11663 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
11664 if (HasOptionalField(e_integrityCheckValue
))
11665 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
11666 if (HasOptionalField(e_answeredCall
))
11667 strm
<< setw(indent
+15) << "answeredCall = " << setprecision(indent
) << m_answeredCall
<< '\n';
11668 if (HasOptionalField(e_callLinkage
))
11669 strm
<< setw(indent
+14) << "callLinkage = " << setprecision(indent
) << m_callLinkage
<< '\n';
11670 if (HasOptionalField(e_capacity
))
11671 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
11672 if (HasOptionalField(e_circuitInfo
))
11673 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
11674 if (HasOptionalField(e_usageInformation
))
11675 strm
<< setw(indent
+19) << "usageInformation = " << setprecision(indent
) << m_usageInformation
<< '\n';
11676 if (HasOptionalField(e_terminationCause
))
11677 strm
<< setw(indent
+19) << "terminationCause = " << setprecision(indent
) << m_terminationCause
<< '\n';
11678 if (HasOptionalField(e_serviceControl
))
11679 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
11680 if (HasOptionalField(e_genericData
))
11681 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
11682 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11687 PObject::Comparison
H225_DisengageRequest::Compare(const PObject
& obj
) const
11689 #ifndef PASN_LEANANDMEAN
11690 PAssert(PIsDescendant(&obj
, H225_DisengageRequest
), PInvalidCast
);
11692 const H225_DisengageRequest
& other
= (const H225_DisengageRequest
&)obj
;
11696 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
11698 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
11700 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
11702 if ((result
= m_callReferenceValue
.Compare(other
.m_callReferenceValue
)) != EqualTo
)
11704 if ((result
= m_disengageReason
.Compare(other
.m_disengageReason
)) != EqualTo
)
11706 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
11709 return PASN_Sequence::Compare(other
);
11713 PINDEX
H225_DisengageRequest::GetDataLength() const
11716 length
+= m_requestSeqNum
.GetObjectLength();
11717 length
+= m_endpointIdentifier
.GetObjectLength();
11718 length
+= m_conferenceID
.GetObjectLength();
11719 length
+= m_callReferenceValue
.GetObjectLength();
11720 length
+= m_disengageReason
.GetObjectLength();
11721 if (HasOptionalField(e_nonStandardData
))
11722 length
+= m_nonStandardData
.GetObjectLength();
11727 BOOL
H225_DisengageRequest::Decode(PASN_Stream
& strm
)
11729 if (!PreambleDecode(strm
))
11732 if (!m_requestSeqNum
.Decode(strm
))
11734 if (!m_endpointIdentifier
.Decode(strm
))
11736 if (!m_conferenceID
.Decode(strm
))
11738 if (!m_callReferenceValue
.Decode(strm
))
11740 if (!m_disengageReason
.Decode(strm
))
11742 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
11744 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
11746 if (!KnownExtensionDecode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
))
11748 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
11750 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
11752 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
11754 if (!KnownExtensionDecode(strm
, e_answeredCall
, m_answeredCall
))
11756 if (!KnownExtensionDecode(strm
, e_callLinkage
, m_callLinkage
))
11758 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
11760 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
11762 if (!KnownExtensionDecode(strm
, e_usageInformation
, m_usageInformation
))
11764 if (!KnownExtensionDecode(strm
, e_terminationCause
, m_terminationCause
))
11766 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
11768 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
11771 return UnknownExtensionsDecode(strm
);
11775 void H225_DisengageRequest::Encode(PASN_Stream
& strm
) const
11777 PreambleEncode(strm
);
11779 m_requestSeqNum
.Encode(strm
);
11780 m_endpointIdentifier
.Encode(strm
);
11781 m_conferenceID
.Encode(strm
);
11782 m_callReferenceValue
.Encode(strm
);
11783 m_disengageReason
.Encode(strm
);
11784 if (HasOptionalField(e_nonStandardData
))
11785 m_nonStandardData
.Encode(strm
);
11786 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
11787 KnownExtensionEncode(strm
, e_gatekeeperIdentifier
, m_gatekeeperIdentifier
);
11788 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
11789 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
11790 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
11791 KnownExtensionEncode(strm
, e_answeredCall
, m_answeredCall
);
11792 KnownExtensionEncode(strm
, e_callLinkage
, m_callLinkage
);
11793 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
11794 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
11795 KnownExtensionEncode(strm
, e_usageInformation
, m_usageInformation
);
11796 KnownExtensionEncode(strm
, e_terminationCause
, m_terminationCause
);
11797 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
11798 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
11800 UnknownExtensionsEncode(strm
);
11804 PObject
* H225_DisengageRequest::Clone() const
11806 #ifndef PASN_LEANANDMEAN
11807 PAssert(IsClass(H225_DisengageRequest::Class()), PInvalidCast
);
11809 return new H225_DisengageRequest(*this);
11814 // DisengageConfirm
11817 H225_DisengageConfirm::H225_DisengageConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
11818 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 8)
11823 #ifndef PASN_NOPRINTON
11824 void H225_DisengageConfirm::PrintOn(ostream
& strm
) const
11826 int indent
= strm
.precision() + 2;
11828 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
11829 if (HasOptionalField(e_nonStandardData
))
11830 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
11831 if (HasOptionalField(e_tokens
))
11832 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
11833 if (HasOptionalField(e_cryptoTokens
))
11834 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
11835 if (HasOptionalField(e_integrityCheckValue
))
11836 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
11837 if (HasOptionalField(e_capacity
))
11838 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
11839 if (HasOptionalField(e_circuitInfo
))
11840 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
11841 if (HasOptionalField(e_usageInformation
))
11842 strm
<< setw(indent
+19) << "usageInformation = " << setprecision(indent
) << m_usageInformation
<< '\n';
11843 if (HasOptionalField(e_genericData
))
11844 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
11845 if (HasOptionalField(e_assignedGatekeeper
))
11846 strm
<< setw(indent
+21) << "assignedGatekeeper = " << setprecision(indent
) << m_assignedGatekeeper
<< '\n';
11847 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11852 PObject::Comparison
H225_DisengageConfirm::Compare(const PObject
& obj
) const
11854 #ifndef PASN_LEANANDMEAN
11855 PAssert(PIsDescendant(&obj
, H225_DisengageConfirm
), PInvalidCast
);
11857 const H225_DisengageConfirm
& other
= (const H225_DisengageConfirm
&)obj
;
11861 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
11863 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
11866 return PASN_Sequence::Compare(other
);
11870 PINDEX
H225_DisengageConfirm::GetDataLength() const
11873 length
+= m_requestSeqNum
.GetObjectLength();
11874 if (HasOptionalField(e_nonStandardData
))
11875 length
+= m_nonStandardData
.GetObjectLength();
11880 BOOL
H225_DisengageConfirm::Decode(PASN_Stream
& strm
)
11882 if (!PreambleDecode(strm
))
11885 if (!m_requestSeqNum
.Decode(strm
))
11887 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
11889 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
11891 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
11893 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
11895 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
11897 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
11899 if (!KnownExtensionDecode(strm
, e_usageInformation
, m_usageInformation
))
11901 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
11903 if (!KnownExtensionDecode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
))
11906 return UnknownExtensionsDecode(strm
);
11910 void H225_DisengageConfirm::Encode(PASN_Stream
& strm
) const
11912 PreambleEncode(strm
);
11914 m_requestSeqNum
.Encode(strm
);
11915 if (HasOptionalField(e_nonStandardData
))
11916 m_nonStandardData
.Encode(strm
);
11917 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
11918 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
11919 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
11920 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
11921 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
11922 KnownExtensionEncode(strm
, e_usageInformation
, m_usageInformation
);
11923 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
11924 KnownExtensionEncode(strm
, e_assignedGatekeeper
, m_assignedGatekeeper
);
11926 UnknownExtensionsEncode(strm
);
11930 PObject
* H225_DisengageConfirm::Clone() const
11932 #ifndef PASN_LEANANDMEAN
11933 PAssert(IsClass(H225_DisengageConfirm::Class()), PInvalidCast
);
11935 return new H225_DisengageConfirm(*this);
11940 // InfoRequestResponse
11943 H225_InfoRequestResponse::H225_InfoRequestResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
11944 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 8)
11946 IncludeOptionalField(e_needResponse
);
11947 IncludeOptionalField(e_unsolicited
);
11951 #ifndef PASN_NOPRINTON
11952 void H225_InfoRequestResponse::PrintOn(ostream
& strm
) const
11954 int indent
= strm
.precision() + 2;
11956 if (HasOptionalField(e_nonStandardData
))
11957 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
11958 strm
<< setw(indent
+16) << "requestSeqNum = " << setprecision(indent
) << m_requestSeqNum
<< '\n';
11959 strm
<< setw(indent
+15) << "endpointType = " << setprecision(indent
) << m_endpointType
<< '\n';
11960 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
11961 strm
<< setw(indent
+13) << "rasAddress = " << setprecision(indent
) << m_rasAddress
<< '\n';
11962 strm
<< setw(indent
+20) << "callSignalAddress = " << setprecision(indent
) << m_callSignalAddress
<< '\n';
11963 if (HasOptionalField(e_endpointAlias
))
11964 strm
<< setw(indent
+16) << "endpointAlias = " << setprecision(indent
) << m_endpointAlias
<< '\n';
11965 if (HasOptionalField(e_perCallInfo
))
11966 strm
<< setw(indent
+14) << "perCallInfo = " << setprecision(indent
) << m_perCallInfo
<< '\n';
11967 if (HasOptionalField(e_tokens
))
11968 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
11969 if (HasOptionalField(e_cryptoTokens
))
11970 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
11971 if (HasOptionalField(e_integrityCheckValue
))
11972 strm
<< setw(indent
+22) << "integrityCheckValue = " << setprecision(indent
) << m_integrityCheckValue
<< '\n';
11973 if (HasOptionalField(e_needResponse
))
11974 strm
<< setw(indent
+15) << "needResponse = " << setprecision(indent
) << m_needResponse
<< '\n';
11975 if (HasOptionalField(e_capacity
))
11976 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
11977 if (HasOptionalField(e_irrStatus
))
11978 strm
<< setw(indent
+12) << "irrStatus = " << setprecision(indent
) << m_irrStatus
<< '\n';
11979 if (HasOptionalField(e_unsolicited
))
11980 strm
<< setw(indent
+14) << "unsolicited = " << setprecision(indent
) << m_unsolicited
<< '\n';
11981 if (HasOptionalField(e_genericData
))
11982 strm
<< setw(indent
+14) << "genericData = " << setprecision(indent
) << m_genericData
<< '\n';
11983 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11988 PObject::Comparison
H225_InfoRequestResponse::Compare(const PObject
& obj
) const
11990 #ifndef PASN_LEANANDMEAN
11991 PAssert(PIsDescendant(&obj
, H225_InfoRequestResponse
), PInvalidCast
);
11993 const H225_InfoRequestResponse
& other
= (const H225_InfoRequestResponse
&)obj
;
11997 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
11999 if ((result
= m_requestSeqNum
.Compare(other
.m_requestSeqNum
)) != EqualTo
)
12001 if ((result
= m_endpointType
.Compare(other
.m_endpointType
)) != EqualTo
)
12003 if ((result
= m_endpointIdentifier
.Compare(other
.m_endpointIdentifier
)) != EqualTo
)
12005 if ((result
= m_rasAddress
.Compare(other
.m_rasAddress
)) != EqualTo
)
12007 if ((result
= m_callSignalAddress
.Compare(other
.m_callSignalAddress
)) != EqualTo
)
12009 if ((result
= m_endpointAlias
.Compare(other
.m_endpointAlias
)) != EqualTo
)
12011 if ((result
= m_perCallInfo
.Compare(other
.m_perCallInfo
)) != EqualTo
)
12014 return PASN_Sequence::Compare(other
);
12018 PINDEX
H225_InfoRequestResponse::GetDataLength() const
12021 if (HasOptionalField(e_nonStandardData
))
12022 length
+= m_nonStandardData
.GetObjectLength();
12023 length
+= m_requestSeqNum
.GetObjectLength();
12024 length
+= m_endpointType
.GetObjectLength();
12025 length
+= m_endpointIdentifier
.GetObjectLength();
12026 length
+= m_rasAddress
.GetObjectLength();
12027 length
+= m_callSignalAddress
.GetObjectLength();
12028 if (HasOptionalField(e_endpointAlias
))
12029 length
+= m_endpointAlias
.GetObjectLength();
12030 if (HasOptionalField(e_perCallInfo
))
12031 length
+= m_perCallInfo
.GetObjectLength();
12036 BOOL
H225_InfoRequestResponse::Decode(PASN_Stream
& strm
)
12038 if (!PreambleDecode(strm
))
12041 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
12043 if (!m_requestSeqNum
.Decode(strm
))
12045 if (!m_endpointType
.Decode(strm
))
12047 if (!m_endpointIdentifier
.Decode(strm
))
12049 if (!m_rasAddress
.Decode(strm
))
12051 if (!m_callSignalAddress
.Decode(strm
))
12053 if (HasOptionalField(e_endpointAlias
) && !m_endpointAlias
.Decode(strm
))
12055 if (HasOptionalField(e_perCallInfo
) && !m_perCallInfo
.Decode(strm
))
12057 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
12059 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
12061 if (!KnownExtensionDecode(strm
, e_integrityCheckValue
, m_integrityCheckValue
))
12063 if (!KnownExtensionDecode(strm
, e_needResponse
, m_needResponse
))
12065 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
12067 if (!KnownExtensionDecode(strm
, e_irrStatus
, m_irrStatus
))
12069 if (!KnownExtensionDecode(strm
, e_unsolicited
, m_unsolicited
))
12071 if (!KnownExtensionDecode(strm
, e_genericData
, m_genericData
))
12074 return UnknownExtensionsDecode(strm
);
12078 void H225_InfoRequestResponse::Encode(PASN_Stream
& strm
) const
12080 PreambleEncode(strm
);
12082 if (HasOptionalField(e_nonStandardData
))
12083 m_nonStandardData
.Encode(strm
);
12084 m_requestSeqNum
.Encode(strm
);
12085 m_endpointType
.Encode(strm
);
12086 m_endpointIdentifier
.Encode(strm
);
12087 m_rasAddress
.Encode(strm
);
12088 m_callSignalAddress
.Encode(strm
);
12089 if (HasOptionalField(e_endpointAlias
))
12090 m_endpointAlias
.Encode(strm
);
12091 if (HasOptionalField(e_perCallInfo
))
12092 m_perCallInfo
.Encode(strm
);
12093 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
12094 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
12095 KnownExtensionEncode(strm
, e_integrityCheckValue
, m_integrityCheckValue
);
12096 KnownExtensionEncode(strm
, e_needResponse
, m_needResponse
);
12097 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
12098 KnownExtensionEncode(strm
, e_irrStatus
, m_irrStatus
);
12099 KnownExtensionEncode(strm
, e_unsolicited
, m_unsolicited
);
12100 KnownExtensionEncode(strm
, e_genericData
, m_genericData
);
12102 UnknownExtensionsEncode(strm
);
12106 PObject
* H225_InfoRequestResponse::Clone() const
12108 #ifndef PASN_LEANANDMEAN
12109 PAssert(IsClass(H225_InfoRequestResponse::Class()), PInvalidCast
);
12111 return new H225_InfoRequestResponse(*this);
12116 // InfoRequestResponse_perCallInfo_subtype
12119 H225_InfoRequestResponse_perCallInfo_subtype::H225_InfoRequestResponse_perCallInfo_subtype(unsigned tag
, PASN_Object::TagClass tagClass
)
12120 : PASN_Sequence(tag
, tagClass
, 5, TRUE
, 8)
12122 IncludeOptionalField(e_callIdentifier
);
12123 IncludeOptionalField(e_substituteConfIDs
);
12127 #ifndef PASN_NOPRINTON
12128 void H225_InfoRequestResponse_perCallInfo_subtype::PrintOn(ostream
& strm
) const
12130 int indent
= strm
.precision() + 2;
12132 if (HasOptionalField(e_nonStandardData
))
12133 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
12134 strm
<< setw(indent
+21) << "callReferenceValue = " << setprecision(indent
) << m_callReferenceValue
<< '\n';
12135 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
12136 if (HasOptionalField(e_originator
))
12137 strm
<< setw(indent
+13) << "originator = " << setprecision(indent
) << m_originator
<< '\n';
12138 if (HasOptionalField(e_audio
))
12139 strm
<< setw(indent
+8) << "audio = " << setprecision(indent
) << m_audio
<< '\n';
12140 if (HasOptionalField(e_video
))
12141 strm
<< setw(indent
+8) << "video = " << setprecision(indent
) << m_video
<< '\n';
12142 if (HasOptionalField(e_data
))
12143 strm
<< setw(indent
+7) << "data = " << setprecision(indent
) << m_data
<< '\n';
12144 strm
<< setw(indent
+7) << "h245 = " << setprecision(indent
) << m_h245
<< '\n';
12145 strm
<< setw(indent
+16) << "callSignaling = " << setprecision(indent
) << m_callSignaling
<< '\n';
12146 strm
<< setw(indent
+11) << "callType = " << setprecision(indent
) << m_callType
<< '\n';
12147 strm
<< setw(indent
+12) << "bandWidth = " << setprecision(indent
) << m_bandWidth
<< '\n';
12148 strm
<< setw(indent
+12) << "callModel = " << setprecision(indent
) << m_callModel
<< '\n';
12149 if (HasOptionalField(e_callIdentifier
))
12150 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
12151 if (HasOptionalField(e_tokens
))
12152 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
12153 if (HasOptionalField(e_cryptoTokens
))
12154 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
12155 if (HasOptionalField(e_substituteConfIDs
))
12156 strm
<< setw(indent
+20) << "substituteConfIDs = " << setprecision(indent
) << m_substituteConfIDs
<< '\n';
12157 if (HasOptionalField(e_pdu
))
12158 strm
<< setw(indent
+6) << "pdu = " << setprecision(indent
) << m_pdu
<< '\n';
12159 if (HasOptionalField(e_callLinkage
))
12160 strm
<< setw(indent
+14) << "callLinkage = " << setprecision(indent
) << m_callLinkage
<< '\n';
12161 if (HasOptionalField(e_usageInformation
))
12162 strm
<< setw(indent
+19) << "usageInformation = " << setprecision(indent
) << m_usageInformation
<< '\n';
12163 if (HasOptionalField(e_circuitInfo
))
12164 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
12165 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12170 PObject::Comparison
H225_InfoRequestResponse_perCallInfo_subtype::Compare(const PObject
& obj
) const
12172 #ifndef PASN_LEANANDMEAN
12173 PAssert(PIsDescendant(&obj
, H225_InfoRequestResponse_perCallInfo_subtype
), PInvalidCast
);
12175 const H225_InfoRequestResponse_perCallInfo_subtype
& other
= (const H225_InfoRequestResponse_perCallInfo_subtype
&)obj
;
12179 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
12181 if ((result
= m_callReferenceValue
.Compare(other
.m_callReferenceValue
)) != EqualTo
)
12183 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
12185 if ((result
= m_originator
.Compare(other
.m_originator
)) != EqualTo
)
12187 if ((result
= m_audio
.Compare(other
.m_audio
)) != EqualTo
)
12189 if ((result
= m_video
.Compare(other
.m_video
)) != EqualTo
)
12191 if ((result
= m_data
.Compare(other
.m_data
)) != EqualTo
)
12193 if ((result
= m_h245
.Compare(other
.m_h245
)) != EqualTo
)
12195 if ((result
= m_callSignaling
.Compare(other
.m_callSignaling
)) != EqualTo
)
12197 if ((result
= m_callType
.Compare(other
.m_callType
)) != EqualTo
)
12199 if ((result
= m_bandWidth
.Compare(other
.m_bandWidth
)) != EqualTo
)
12201 if ((result
= m_callModel
.Compare(other
.m_callModel
)) != EqualTo
)
12204 return PASN_Sequence::Compare(other
);
12208 PINDEX
H225_InfoRequestResponse_perCallInfo_subtype::GetDataLength() const
12211 if (HasOptionalField(e_nonStandardData
))
12212 length
+= m_nonStandardData
.GetObjectLength();
12213 length
+= m_callReferenceValue
.GetObjectLength();
12214 length
+= m_conferenceID
.GetObjectLength();
12215 if (HasOptionalField(e_originator
))
12216 length
+= m_originator
.GetObjectLength();
12217 if (HasOptionalField(e_audio
))
12218 length
+= m_audio
.GetObjectLength();
12219 if (HasOptionalField(e_video
))
12220 length
+= m_video
.GetObjectLength();
12221 if (HasOptionalField(e_data
))
12222 length
+= m_data
.GetObjectLength();
12223 length
+= m_h245
.GetObjectLength();
12224 length
+= m_callSignaling
.GetObjectLength();
12225 length
+= m_callType
.GetObjectLength();
12226 length
+= m_bandWidth
.GetObjectLength();
12227 length
+= m_callModel
.GetObjectLength();
12232 BOOL
H225_InfoRequestResponse_perCallInfo_subtype::Decode(PASN_Stream
& strm
)
12234 if (!PreambleDecode(strm
))
12237 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
12239 if (!m_callReferenceValue
.Decode(strm
))
12241 if (!m_conferenceID
.Decode(strm
))
12243 if (HasOptionalField(e_originator
) && !m_originator
.Decode(strm
))
12245 if (HasOptionalField(e_audio
) && !m_audio
.Decode(strm
))
12247 if (HasOptionalField(e_video
) && !m_video
.Decode(strm
))
12249 if (HasOptionalField(e_data
) && !m_data
.Decode(strm
))
12251 if (!m_h245
.Decode(strm
))
12253 if (!m_callSignaling
.Decode(strm
))
12255 if (!m_callType
.Decode(strm
))
12257 if (!m_bandWidth
.Decode(strm
))
12259 if (!m_callModel
.Decode(strm
))
12261 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
12263 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
12265 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
12267 if (!KnownExtensionDecode(strm
, e_substituteConfIDs
, m_substituteConfIDs
))
12269 if (!KnownExtensionDecode(strm
, e_pdu
, m_pdu
))
12271 if (!KnownExtensionDecode(strm
, e_callLinkage
, m_callLinkage
))
12273 if (!KnownExtensionDecode(strm
, e_usageInformation
, m_usageInformation
))
12275 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
12278 return UnknownExtensionsDecode(strm
);
12282 void H225_InfoRequestResponse_perCallInfo_subtype::Encode(PASN_Stream
& strm
) const
12284 PreambleEncode(strm
);
12286 if (HasOptionalField(e_nonStandardData
))
12287 m_nonStandardData
.Encode(strm
);
12288 m_callReferenceValue
.Encode(strm
);
12289 m_conferenceID
.Encode(strm
);
12290 if (HasOptionalField(e_originator
))
12291 m_originator
.Encode(strm
);
12292 if (HasOptionalField(e_audio
))
12293 m_audio
.Encode(strm
);
12294 if (HasOptionalField(e_video
))
12295 m_video
.Encode(strm
);
12296 if (HasOptionalField(e_data
))
12297 m_data
.Encode(strm
);
12298 m_h245
.Encode(strm
);
12299 m_callSignaling
.Encode(strm
);
12300 m_callType
.Encode(strm
);
12301 m_bandWidth
.Encode(strm
);
12302 m_callModel
.Encode(strm
);
12303 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
12304 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
12305 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
12306 KnownExtensionEncode(strm
, e_substituteConfIDs
, m_substituteConfIDs
);
12307 KnownExtensionEncode(strm
, e_pdu
, m_pdu
);
12308 KnownExtensionEncode(strm
, e_callLinkage
, m_callLinkage
);
12309 KnownExtensionEncode(strm
, e_usageInformation
, m_usageInformation
);
12310 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
12312 UnknownExtensionsEncode(strm
);
12316 PObject
* H225_InfoRequestResponse_perCallInfo_subtype::Clone() const
12318 #ifndef PASN_LEANANDMEAN
12319 PAssert(IsClass(H225_InfoRequestResponse_perCallInfo_subtype::Class()), PInvalidCast
);
12321 return new H225_InfoRequestResponse_perCallInfo_subtype(*this);
12326 // InfoRequestResponse_perCallInfo_subtype_pdu_subtype
12329 H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype::H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype(unsigned tag
, PASN_Object::TagClass tagClass
)
12330 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
12335 #ifndef PASN_NOPRINTON
12336 void H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype::PrintOn(ostream
& strm
) const
12338 int indent
= strm
.precision() + 2;
12340 strm
<< setw(indent
+10) << "h323pdu = " << setprecision(indent
) << m_h323pdu
<< '\n';
12341 strm
<< setw(indent
+7) << "sent = " << setprecision(indent
) << m_sent
<< '\n';
12342 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12347 PObject::Comparison
H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype::Compare(const PObject
& obj
) const
12349 #ifndef PASN_LEANANDMEAN
12350 PAssert(PIsDescendant(&obj
, H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype
), PInvalidCast
);
12352 const H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype
& other
= (const H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype
&)obj
;
12356 if ((result
= m_h323pdu
.Compare(other
.m_h323pdu
)) != EqualTo
)
12358 if ((result
= m_sent
.Compare(other
.m_sent
)) != EqualTo
)
12361 return PASN_Sequence::Compare(other
);
12365 PINDEX
H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype::GetDataLength() const
12368 length
+= m_h323pdu
.GetObjectLength();
12369 length
+= m_sent
.GetObjectLength();
12374 BOOL
H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype::Decode(PASN_Stream
& strm
)
12376 if (!PreambleDecode(strm
))
12379 if (!m_h323pdu
.Decode(strm
))
12381 if (!m_sent
.Decode(strm
))
12384 return UnknownExtensionsDecode(strm
);
12388 void H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype::Encode(PASN_Stream
& strm
) const
12390 PreambleEncode(strm
);
12392 m_h323pdu
.Encode(strm
);
12393 m_sent
.Encode(strm
);
12395 UnknownExtensionsEncode(strm
);
12399 PObject
* H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype::Clone() const
12401 #ifndef PASN_LEANANDMEAN
12402 PAssert(IsClass(H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype::Class()), PInvalidCast
);
12404 return new H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype(*this);
12409 // H323-UserInformation
12412 H225_H323_UserInformation::H225_H323_UserInformation(unsigned tag
, PASN_Object::TagClass tagClass
)
12413 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
12418 #ifndef PASN_NOPRINTON
12419 void H225_H323_UserInformation::PrintOn(ostream
& strm
) const
12421 int indent
= strm
.precision() + 2;
12423 strm
<< setw(indent
+14) << "h323_uu_pdu = " << setprecision(indent
) << m_h323_uu_pdu
<< '\n';
12424 if (HasOptionalField(e_user_data
))
12425 strm
<< setw(indent
+12) << "user_data = " << setprecision(indent
) << m_user_data
<< '\n';
12426 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12431 PObject::Comparison
H225_H323_UserInformation::Compare(const PObject
& obj
) const
12433 #ifndef PASN_LEANANDMEAN
12434 PAssert(PIsDescendant(&obj
, H225_H323_UserInformation
), PInvalidCast
);
12436 const H225_H323_UserInformation
& other
= (const H225_H323_UserInformation
&)obj
;
12440 if ((result
= m_h323_uu_pdu
.Compare(other
.m_h323_uu_pdu
)) != EqualTo
)
12442 if ((result
= m_user_data
.Compare(other
.m_user_data
)) != EqualTo
)
12445 return PASN_Sequence::Compare(other
);
12449 PINDEX
H225_H323_UserInformation::GetDataLength() const
12452 length
+= m_h323_uu_pdu
.GetObjectLength();
12453 if (HasOptionalField(e_user_data
))
12454 length
+= m_user_data
.GetObjectLength();
12459 BOOL
H225_H323_UserInformation::Decode(PASN_Stream
& strm
)
12461 if (!PreambleDecode(strm
))
12464 if (!m_h323_uu_pdu
.Decode(strm
))
12466 if (HasOptionalField(e_user_data
) && !m_user_data
.Decode(strm
))
12469 return UnknownExtensionsDecode(strm
);
12473 void H225_H323_UserInformation::Encode(PASN_Stream
& strm
) const
12475 PreambleEncode(strm
);
12477 m_h323_uu_pdu
.Encode(strm
);
12478 if (HasOptionalField(e_user_data
))
12479 m_user_data
.Encode(strm
);
12481 UnknownExtensionsEncode(strm
);
12485 PObject
* H225_H323_UserInformation::Clone() const
12487 #ifndef PASN_LEANANDMEAN
12488 PAssert(IsClass(H225_H323_UserInformation::Class()), PInvalidCast
);
12490 return new H225_H323_UserInformation(*this);
12498 H225_Alerting_UUIE::H225_Alerting_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
12499 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 14)
12501 IncludeOptionalField(e_callIdentifier
);
12502 IncludeOptionalField(e_multipleCalls
);
12503 IncludeOptionalField(e_maintainConnection
);
12507 #ifndef PASN_NOPRINTON
12508 void H225_Alerting_UUIE::PrintOn(ostream
& strm
) const
12510 int indent
= strm
.precision() + 2;
12512 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
12513 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
12514 if (HasOptionalField(e_h245Address
))
12515 strm
<< setw(indent
+14) << "h245Address = " << setprecision(indent
) << m_h245Address
<< '\n';
12516 if (HasOptionalField(e_callIdentifier
))
12517 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
12518 if (HasOptionalField(e_h245SecurityMode
))
12519 strm
<< setw(indent
+19) << "h245SecurityMode = " << setprecision(indent
) << m_h245SecurityMode
<< '\n';
12520 if (HasOptionalField(e_tokens
))
12521 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
12522 if (HasOptionalField(e_cryptoTokens
))
12523 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
12524 if (HasOptionalField(e_fastStart
))
12525 strm
<< setw(indent
+12) << "fastStart = " << setprecision(indent
) << m_fastStart
<< '\n';
12526 if (HasOptionalField(e_multipleCalls
))
12527 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
12528 if (HasOptionalField(e_maintainConnection
))
12529 strm
<< setw(indent
+21) << "maintainConnection = " << setprecision(indent
) << m_maintainConnection
<< '\n';
12530 if (HasOptionalField(e_alertingAddress
))
12531 strm
<< setw(indent
+18) << "alertingAddress = " << setprecision(indent
) << m_alertingAddress
<< '\n';
12532 if (HasOptionalField(e_presentationIndicator
))
12533 strm
<< setw(indent
+24) << "presentationIndicator = " << setprecision(indent
) << m_presentationIndicator
<< '\n';
12534 if (HasOptionalField(e_screeningIndicator
))
12535 strm
<< setw(indent
+21) << "screeningIndicator = " << setprecision(indent
) << m_screeningIndicator
<< '\n';
12536 if (HasOptionalField(e_fastConnectRefused
))
12537 strm
<< setw(indent
+21) << "fastConnectRefused = " << setprecision(indent
) << m_fastConnectRefused
<< '\n';
12538 if (HasOptionalField(e_serviceControl
))
12539 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
12540 if (HasOptionalField(e_capacity
))
12541 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
12542 if (HasOptionalField(e_featureSet
))
12543 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
12544 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12549 PObject::Comparison
H225_Alerting_UUIE::Compare(const PObject
& obj
) const
12551 #ifndef PASN_LEANANDMEAN
12552 PAssert(PIsDescendant(&obj
, H225_Alerting_UUIE
), PInvalidCast
);
12554 const H225_Alerting_UUIE
& other
= (const H225_Alerting_UUIE
&)obj
;
12558 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
12560 if ((result
= m_destinationInfo
.Compare(other
.m_destinationInfo
)) != EqualTo
)
12562 if ((result
= m_h245Address
.Compare(other
.m_h245Address
)) != EqualTo
)
12565 return PASN_Sequence::Compare(other
);
12569 PINDEX
H225_Alerting_UUIE::GetDataLength() const
12572 length
+= m_protocolIdentifier
.GetObjectLength();
12573 length
+= m_destinationInfo
.GetObjectLength();
12574 if (HasOptionalField(e_h245Address
))
12575 length
+= m_h245Address
.GetObjectLength();
12580 BOOL
H225_Alerting_UUIE::Decode(PASN_Stream
& strm
)
12582 if (!PreambleDecode(strm
))
12585 if (!m_protocolIdentifier
.Decode(strm
))
12587 if (!m_destinationInfo
.Decode(strm
))
12589 if (HasOptionalField(e_h245Address
) && !m_h245Address
.Decode(strm
))
12591 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
12593 if (!KnownExtensionDecode(strm
, e_h245SecurityMode
, m_h245SecurityMode
))
12595 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
12597 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
12599 if (!KnownExtensionDecode(strm
, e_fastStart
, m_fastStart
))
12601 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
12603 if (!KnownExtensionDecode(strm
, e_maintainConnection
, m_maintainConnection
))
12605 if (!KnownExtensionDecode(strm
, e_alertingAddress
, m_alertingAddress
))
12607 if (!KnownExtensionDecode(strm
, e_presentationIndicator
, m_presentationIndicator
))
12609 if (!KnownExtensionDecode(strm
, e_screeningIndicator
, m_screeningIndicator
))
12611 if (!KnownExtensionDecode(strm
, e_fastConnectRefused
, m_fastConnectRefused
))
12613 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
12615 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
12617 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
12620 return UnknownExtensionsDecode(strm
);
12624 void H225_Alerting_UUIE::Encode(PASN_Stream
& strm
) const
12626 PreambleEncode(strm
);
12628 m_protocolIdentifier
.Encode(strm
);
12629 m_destinationInfo
.Encode(strm
);
12630 if (HasOptionalField(e_h245Address
))
12631 m_h245Address
.Encode(strm
);
12632 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
12633 KnownExtensionEncode(strm
, e_h245SecurityMode
, m_h245SecurityMode
);
12634 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
12635 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
12636 KnownExtensionEncode(strm
, e_fastStart
, m_fastStart
);
12637 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
12638 KnownExtensionEncode(strm
, e_maintainConnection
, m_maintainConnection
);
12639 KnownExtensionEncode(strm
, e_alertingAddress
, m_alertingAddress
);
12640 KnownExtensionEncode(strm
, e_presentationIndicator
, m_presentationIndicator
);
12641 KnownExtensionEncode(strm
, e_screeningIndicator
, m_screeningIndicator
);
12642 KnownExtensionEncode(strm
, e_fastConnectRefused
, m_fastConnectRefused
);
12643 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
12644 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
12645 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
12647 UnknownExtensionsEncode(strm
);
12651 PObject
* H225_Alerting_UUIE::Clone() const
12653 #ifndef PASN_LEANANDMEAN
12654 PAssert(IsClass(H225_Alerting_UUIE::Class()), PInvalidCast
);
12656 return new H225_Alerting_UUIE(*this);
12661 // CallProceeding-UUIE
12664 H225_CallProceeding_UUIE::H225_CallProceeding_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
12665 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 9)
12667 IncludeOptionalField(e_callIdentifier
);
12668 IncludeOptionalField(e_multipleCalls
);
12669 IncludeOptionalField(e_maintainConnection
);
12673 #ifndef PASN_NOPRINTON
12674 void H225_CallProceeding_UUIE::PrintOn(ostream
& strm
) const
12676 int indent
= strm
.precision() + 2;
12678 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
12679 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
12680 if (HasOptionalField(e_h245Address
))
12681 strm
<< setw(indent
+14) << "h245Address = " << setprecision(indent
) << m_h245Address
<< '\n';
12682 if (HasOptionalField(e_callIdentifier
))
12683 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
12684 if (HasOptionalField(e_h245SecurityMode
))
12685 strm
<< setw(indent
+19) << "h245SecurityMode = " << setprecision(indent
) << m_h245SecurityMode
<< '\n';
12686 if (HasOptionalField(e_tokens
))
12687 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
12688 if (HasOptionalField(e_cryptoTokens
))
12689 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
12690 if (HasOptionalField(e_fastStart
))
12691 strm
<< setw(indent
+12) << "fastStart = " << setprecision(indent
) << m_fastStart
<< '\n';
12692 if (HasOptionalField(e_multipleCalls
))
12693 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
12694 if (HasOptionalField(e_maintainConnection
))
12695 strm
<< setw(indent
+21) << "maintainConnection = " << setprecision(indent
) << m_maintainConnection
<< '\n';
12696 if (HasOptionalField(e_fastConnectRefused
))
12697 strm
<< setw(indent
+21) << "fastConnectRefused = " << setprecision(indent
) << m_fastConnectRefused
<< '\n';
12698 if (HasOptionalField(e_featureSet
))
12699 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
12700 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12705 PObject::Comparison
H225_CallProceeding_UUIE::Compare(const PObject
& obj
) const
12707 #ifndef PASN_LEANANDMEAN
12708 PAssert(PIsDescendant(&obj
, H225_CallProceeding_UUIE
), PInvalidCast
);
12710 const H225_CallProceeding_UUIE
& other
= (const H225_CallProceeding_UUIE
&)obj
;
12714 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
12716 if ((result
= m_destinationInfo
.Compare(other
.m_destinationInfo
)) != EqualTo
)
12718 if ((result
= m_h245Address
.Compare(other
.m_h245Address
)) != EqualTo
)
12721 return PASN_Sequence::Compare(other
);
12725 PINDEX
H225_CallProceeding_UUIE::GetDataLength() const
12728 length
+= m_protocolIdentifier
.GetObjectLength();
12729 length
+= m_destinationInfo
.GetObjectLength();
12730 if (HasOptionalField(e_h245Address
))
12731 length
+= m_h245Address
.GetObjectLength();
12736 BOOL
H225_CallProceeding_UUIE::Decode(PASN_Stream
& strm
)
12738 if (!PreambleDecode(strm
))
12741 if (!m_protocolIdentifier
.Decode(strm
))
12743 if (!m_destinationInfo
.Decode(strm
))
12745 if (HasOptionalField(e_h245Address
) && !m_h245Address
.Decode(strm
))
12747 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
12749 if (!KnownExtensionDecode(strm
, e_h245SecurityMode
, m_h245SecurityMode
))
12751 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
12753 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
12755 if (!KnownExtensionDecode(strm
, e_fastStart
, m_fastStart
))
12757 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
12759 if (!KnownExtensionDecode(strm
, e_maintainConnection
, m_maintainConnection
))
12761 if (!KnownExtensionDecode(strm
, e_fastConnectRefused
, m_fastConnectRefused
))
12763 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
12766 return UnknownExtensionsDecode(strm
);
12770 void H225_CallProceeding_UUIE::Encode(PASN_Stream
& strm
) const
12772 PreambleEncode(strm
);
12774 m_protocolIdentifier
.Encode(strm
);
12775 m_destinationInfo
.Encode(strm
);
12776 if (HasOptionalField(e_h245Address
))
12777 m_h245Address
.Encode(strm
);
12778 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
12779 KnownExtensionEncode(strm
, e_h245SecurityMode
, m_h245SecurityMode
);
12780 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
12781 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
12782 KnownExtensionEncode(strm
, e_fastStart
, m_fastStart
);
12783 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
12784 KnownExtensionEncode(strm
, e_maintainConnection
, m_maintainConnection
);
12785 KnownExtensionEncode(strm
, e_fastConnectRefused
, m_fastConnectRefused
);
12786 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
12788 UnknownExtensionsEncode(strm
);
12792 PObject
* H225_CallProceeding_UUIE::Clone() const
12794 #ifndef PASN_LEANANDMEAN
12795 PAssert(IsClass(H225_CallProceeding_UUIE::Class()), PInvalidCast
);
12797 return new H225_CallProceeding_UUIE(*this);
12805 H225_Connect_UUIE::H225_Connect_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
12806 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 15)
12808 IncludeOptionalField(e_callIdentifier
);
12809 IncludeOptionalField(e_multipleCalls
);
12810 IncludeOptionalField(e_maintainConnection
);
12814 #ifndef PASN_NOPRINTON
12815 void H225_Connect_UUIE::PrintOn(ostream
& strm
) const
12817 int indent
= strm
.precision() + 2;
12819 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
12820 if (HasOptionalField(e_h245Address
))
12821 strm
<< setw(indent
+14) << "h245Address = " << setprecision(indent
) << m_h245Address
<< '\n';
12822 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
12823 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
12824 if (HasOptionalField(e_callIdentifier
))
12825 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
12826 if (HasOptionalField(e_h245SecurityMode
))
12827 strm
<< setw(indent
+19) << "h245SecurityMode = " << setprecision(indent
) << m_h245SecurityMode
<< '\n';
12828 if (HasOptionalField(e_tokens
))
12829 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
12830 if (HasOptionalField(e_cryptoTokens
))
12831 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
12832 if (HasOptionalField(e_fastStart
))
12833 strm
<< setw(indent
+12) << "fastStart = " << setprecision(indent
) << m_fastStart
<< '\n';
12834 if (HasOptionalField(e_multipleCalls
))
12835 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
12836 if (HasOptionalField(e_maintainConnection
))
12837 strm
<< setw(indent
+21) << "maintainConnection = " << setprecision(indent
) << m_maintainConnection
<< '\n';
12838 if (HasOptionalField(e_language
))
12839 strm
<< setw(indent
+11) << "language = " << setprecision(indent
) << m_language
<< '\n';
12840 if (HasOptionalField(e_connectedAddress
))
12841 strm
<< setw(indent
+19) << "connectedAddress = " << setprecision(indent
) << m_connectedAddress
<< '\n';
12842 if (HasOptionalField(e_presentationIndicator
))
12843 strm
<< setw(indent
+24) << "presentationIndicator = " << setprecision(indent
) << m_presentationIndicator
<< '\n';
12844 if (HasOptionalField(e_screeningIndicator
))
12845 strm
<< setw(indent
+21) << "screeningIndicator = " << setprecision(indent
) << m_screeningIndicator
<< '\n';
12846 if (HasOptionalField(e_fastConnectRefused
))
12847 strm
<< setw(indent
+21) << "fastConnectRefused = " << setprecision(indent
) << m_fastConnectRefused
<< '\n';
12848 if (HasOptionalField(e_serviceControl
))
12849 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
12850 if (HasOptionalField(e_capacity
))
12851 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
12852 if (HasOptionalField(e_featureSet
))
12853 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
12854 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12859 PObject::Comparison
H225_Connect_UUIE::Compare(const PObject
& obj
) const
12861 #ifndef PASN_LEANANDMEAN
12862 PAssert(PIsDescendant(&obj
, H225_Connect_UUIE
), PInvalidCast
);
12864 const H225_Connect_UUIE
& other
= (const H225_Connect_UUIE
&)obj
;
12868 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
12870 if ((result
= m_h245Address
.Compare(other
.m_h245Address
)) != EqualTo
)
12872 if ((result
= m_destinationInfo
.Compare(other
.m_destinationInfo
)) != EqualTo
)
12874 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
12877 return PASN_Sequence::Compare(other
);
12881 PINDEX
H225_Connect_UUIE::GetDataLength() const
12884 length
+= m_protocolIdentifier
.GetObjectLength();
12885 if (HasOptionalField(e_h245Address
))
12886 length
+= m_h245Address
.GetObjectLength();
12887 length
+= m_destinationInfo
.GetObjectLength();
12888 length
+= m_conferenceID
.GetObjectLength();
12893 BOOL
H225_Connect_UUIE::Decode(PASN_Stream
& strm
)
12895 if (!PreambleDecode(strm
))
12898 if (!m_protocolIdentifier
.Decode(strm
))
12900 if (HasOptionalField(e_h245Address
) && !m_h245Address
.Decode(strm
))
12902 if (!m_destinationInfo
.Decode(strm
))
12904 if (!m_conferenceID
.Decode(strm
))
12906 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
12908 if (!KnownExtensionDecode(strm
, e_h245SecurityMode
, m_h245SecurityMode
))
12910 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
12912 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
12914 if (!KnownExtensionDecode(strm
, e_fastStart
, m_fastStart
))
12916 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
12918 if (!KnownExtensionDecode(strm
, e_maintainConnection
, m_maintainConnection
))
12920 if (!KnownExtensionDecode(strm
, e_language
, m_language
))
12922 if (!KnownExtensionDecode(strm
, e_connectedAddress
, m_connectedAddress
))
12924 if (!KnownExtensionDecode(strm
, e_presentationIndicator
, m_presentationIndicator
))
12926 if (!KnownExtensionDecode(strm
, e_screeningIndicator
, m_screeningIndicator
))
12928 if (!KnownExtensionDecode(strm
, e_fastConnectRefused
, m_fastConnectRefused
))
12930 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
12932 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
12934 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
12937 return UnknownExtensionsDecode(strm
);
12941 void H225_Connect_UUIE::Encode(PASN_Stream
& strm
) const
12943 PreambleEncode(strm
);
12945 m_protocolIdentifier
.Encode(strm
);
12946 if (HasOptionalField(e_h245Address
))
12947 m_h245Address
.Encode(strm
);
12948 m_destinationInfo
.Encode(strm
);
12949 m_conferenceID
.Encode(strm
);
12950 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
12951 KnownExtensionEncode(strm
, e_h245SecurityMode
, m_h245SecurityMode
);
12952 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
12953 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
12954 KnownExtensionEncode(strm
, e_fastStart
, m_fastStart
);
12955 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
12956 KnownExtensionEncode(strm
, e_maintainConnection
, m_maintainConnection
);
12957 KnownExtensionEncode(strm
, e_language
, m_language
);
12958 KnownExtensionEncode(strm
, e_connectedAddress
, m_connectedAddress
);
12959 KnownExtensionEncode(strm
, e_presentationIndicator
, m_presentationIndicator
);
12960 KnownExtensionEncode(strm
, e_screeningIndicator
, m_screeningIndicator
);
12961 KnownExtensionEncode(strm
, e_fastConnectRefused
, m_fastConnectRefused
);
12962 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
12963 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
12964 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
12966 UnknownExtensionsEncode(strm
);
12970 PObject
* H225_Connect_UUIE::Clone() const
12972 #ifndef PASN_LEANANDMEAN
12973 PAssert(IsClass(H225_Connect_UUIE::Class()), PInvalidCast
);
12975 return new H225_Connect_UUIE(*this);
12980 // Information-UUIE
12983 H225_Information_UUIE::H225_Information_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
12984 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 6)
12986 IncludeOptionalField(e_callIdentifier
);
12990 #ifndef PASN_NOPRINTON
12991 void H225_Information_UUIE::PrintOn(ostream
& strm
) const
12993 int indent
= strm
.precision() + 2;
12995 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
12996 if (HasOptionalField(e_callIdentifier
))
12997 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
12998 if (HasOptionalField(e_tokens
))
12999 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
13000 if (HasOptionalField(e_cryptoTokens
))
13001 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
13002 if (HasOptionalField(e_fastStart
))
13003 strm
<< setw(indent
+12) << "fastStart = " << setprecision(indent
) << m_fastStart
<< '\n';
13004 if (HasOptionalField(e_fastConnectRefused
))
13005 strm
<< setw(indent
+21) << "fastConnectRefused = " << setprecision(indent
) << m_fastConnectRefused
<< '\n';
13006 if (HasOptionalField(e_circuitInfo
))
13007 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
13008 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13013 PObject::Comparison
H225_Information_UUIE::Compare(const PObject
& obj
) const
13015 #ifndef PASN_LEANANDMEAN
13016 PAssert(PIsDescendant(&obj
, H225_Information_UUIE
), PInvalidCast
);
13018 const H225_Information_UUIE
& other
= (const H225_Information_UUIE
&)obj
;
13022 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
13025 return PASN_Sequence::Compare(other
);
13029 PINDEX
H225_Information_UUIE::GetDataLength() const
13032 length
+= m_protocolIdentifier
.GetObjectLength();
13037 BOOL
H225_Information_UUIE::Decode(PASN_Stream
& strm
)
13039 if (!PreambleDecode(strm
))
13042 if (!m_protocolIdentifier
.Decode(strm
))
13044 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
13046 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
13048 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
13050 if (!KnownExtensionDecode(strm
, e_fastStart
, m_fastStart
))
13052 if (!KnownExtensionDecode(strm
, e_fastConnectRefused
, m_fastConnectRefused
))
13054 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
13057 return UnknownExtensionsDecode(strm
);
13061 void H225_Information_UUIE::Encode(PASN_Stream
& strm
) const
13063 PreambleEncode(strm
);
13065 m_protocolIdentifier
.Encode(strm
);
13066 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
13067 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
13068 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
13069 KnownExtensionEncode(strm
, e_fastStart
, m_fastStart
);
13070 KnownExtensionEncode(strm
, e_fastConnectRefused
, m_fastConnectRefused
);
13071 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
13073 UnknownExtensionsEncode(strm
);
13077 PObject
* H225_Information_UUIE::Clone() const
13079 #ifndef PASN_LEANANDMEAN
13080 PAssert(IsClass(H225_Information_UUIE::Class()), PInvalidCast
);
13082 return new H225_Information_UUIE(*this);
13090 H225_Setup_UUIE::H225_Setup_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
13091 : PASN_Sequence(tag
, tagClass
, 7, TRUE
, 27)
13093 IncludeOptionalField(e_callIdentifier
);
13094 IncludeOptionalField(e_mediaWaitForConnect
);
13095 IncludeOptionalField(e_canOverlapSend
);
13096 IncludeOptionalField(e_multipleCalls
);
13097 IncludeOptionalField(e_maintainConnection
);
13098 m_hopCount
.SetConstraints(PASN_Object::FixedConstraint
, 1, 31);
13102 #ifndef PASN_NOPRINTON
13103 void H225_Setup_UUIE::PrintOn(ostream
& strm
) const
13105 int indent
= strm
.precision() + 2;
13107 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
13108 if (HasOptionalField(e_h245Address
))
13109 strm
<< setw(indent
+14) << "h245Address = " << setprecision(indent
) << m_h245Address
<< '\n';
13110 if (HasOptionalField(e_sourceAddress
))
13111 strm
<< setw(indent
+16) << "sourceAddress = " << setprecision(indent
) << m_sourceAddress
<< '\n';
13112 strm
<< setw(indent
+13) << "sourceInfo = " << setprecision(indent
) << m_sourceInfo
<< '\n';
13113 if (HasOptionalField(e_destinationAddress
))
13114 strm
<< setw(indent
+21) << "destinationAddress = " << setprecision(indent
) << m_destinationAddress
<< '\n';
13115 if (HasOptionalField(e_destCallSignalAddress
))
13116 strm
<< setw(indent
+24) << "destCallSignalAddress = " << setprecision(indent
) << m_destCallSignalAddress
<< '\n';
13117 if (HasOptionalField(e_destExtraCallInfo
))
13118 strm
<< setw(indent
+20) << "destExtraCallInfo = " << setprecision(indent
) << m_destExtraCallInfo
<< '\n';
13119 if (HasOptionalField(e_destExtraCRV
))
13120 strm
<< setw(indent
+15) << "destExtraCRV = " << setprecision(indent
) << m_destExtraCRV
<< '\n';
13121 strm
<< setw(indent
+11) << "activeMC = " << setprecision(indent
) << m_activeMC
<< '\n';
13122 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
13123 strm
<< setw(indent
+17) << "conferenceGoal = " << setprecision(indent
) << m_conferenceGoal
<< '\n';
13124 if (HasOptionalField(e_callServices
))
13125 strm
<< setw(indent
+15) << "callServices = " << setprecision(indent
) << m_callServices
<< '\n';
13126 strm
<< setw(indent
+11) << "callType = " << setprecision(indent
) << m_callType
<< '\n';
13127 if (HasOptionalField(e_sourceCallSignalAddress
))
13128 strm
<< setw(indent
+26) << "sourceCallSignalAddress = " << setprecision(indent
) << m_sourceCallSignalAddress
<< '\n';
13129 if (HasOptionalField(e_remoteExtensionAddress
))
13130 strm
<< setw(indent
+25) << "remoteExtensionAddress = " << setprecision(indent
) << m_remoteExtensionAddress
<< '\n';
13131 if (HasOptionalField(e_callIdentifier
))
13132 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
13133 if (HasOptionalField(e_h245SecurityCapability
))
13134 strm
<< setw(indent
+25) << "h245SecurityCapability = " << setprecision(indent
) << m_h245SecurityCapability
<< '\n';
13135 if (HasOptionalField(e_tokens
))
13136 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
13137 if (HasOptionalField(e_cryptoTokens
))
13138 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
13139 if (HasOptionalField(e_fastStart
))
13140 strm
<< setw(indent
+12) << "fastStart = " << setprecision(indent
) << m_fastStart
<< '\n';
13141 if (HasOptionalField(e_mediaWaitForConnect
))
13142 strm
<< setw(indent
+22) << "mediaWaitForConnect = " << setprecision(indent
) << m_mediaWaitForConnect
<< '\n';
13143 if (HasOptionalField(e_canOverlapSend
))
13144 strm
<< setw(indent
+17) << "canOverlapSend = " << setprecision(indent
) << m_canOverlapSend
<< '\n';
13145 if (HasOptionalField(e_endpointIdentifier
))
13146 strm
<< setw(indent
+21) << "endpointIdentifier = " << setprecision(indent
) << m_endpointIdentifier
<< '\n';
13147 if (HasOptionalField(e_multipleCalls
))
13148 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
13149 if (HasOptionalField(e_maintainConnection
))
13150 strm
<< setw(indent
+21) << "maintainConnection = " << setprecision(indent
) << m_maintainConnection
<< '\n';
13151 if (HasOptionalField(e_connectionParameters
))
13152 strm
<< setw(indent
+23) << "connectionParameters = " << setprecision(indent
) << m_connectionParameters
<< '\n';
13153 if (HasOptionalField(e_language
))
13154 strm
<< setw(indent
+11) << "language = " << setprecision(indent
) << m_language
<< '\n';
13155 if (HasOptionalField(e_presentationIndicator
))
13156 strm
<< setw(indent
+24) << "presentationIndicator = " << setprecision(indent
) << m_presentationIndicator
<< '\n';
13157 if (HasOptionalField(e_screeningIndicator
))
13158 strm
<< setw(indent
+21) << "screeningIndicator = " << setprecision(indent
) << m_screeningIndicator
<< '\n';
13159 if (HasOptionalField(e_serviceControl
))
13160 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
13161 if (HasOptionalField(e_symmetricOperationRequired
))
13162 strm
<< setw(indent
+29) << "symmetricOperationRequired = " << setprecision(indent
) << m_symmetricOperationRequired
<< '\n';
13163 if (HasOptionalField(e_capacity
))
13164 strm
<< setw(indent
+11) << "capacity = " << setprecision(indent
) << m_capacity
<< '\n';
13165 if (HasOptionalField(e_circuitInfo
))
13166 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
13167 if (HasOptionalField(e_desiredProtocols
))
13168 strm
<< setw(indent
+19) << "desiredProtocols = " << setprecision(indent
) << m_desiredProtocols
<< '\n';
13169 if (HasOptionalField(e_neededFeatures
))
13170 strm
<< setw(indent
+17) << "neededFeatures = " << setprecision(indent
) << m_neededFeatures
<< '\n';
13171 if (HasOptionalField(e_desiredFeatures
))
13172 strm
<< setw(indent
+18) << "desiredFeatures = " << setprecision(indent
) << m_desiredFeatures
<< '\n';
13173 if (HasOptionalField(e_supportedFeatures
))
13174 strm
<< setw(indent
+20) << "supportedFeatures = " << setprecision(indent
) << m_supportedFeatures
<< '\n';
13175 if (HasOptionalField(e_parallelH245Control
))
13176 strm
<< setw(indent
+22) << "parallelH245Control = " << setprecision(indent
) << m_parallelH245Control
<< '\n';
13177 if (HasOptionalField(e_additionalSourceAddresses
))
13178 strm
<< setw(indent
+28) << "additionalSourceAddresses = " << setprecision(indent
) << m_additionalSourceAddresses
<< '\n';
13179 if (HasOptionalField(e_hopCount
))
13180 strm
<< setw(indent
+11) << "hopCount = " << setprecision(indent
) << m_hopCount
<< '\n';
13181 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13186 PObject::Comparison
H225_Setup_UUIE::Compare(const PObject
& obj
) const
13188 #ifndef PASN_LEANANDMEAN
13189 PAssert(PIsDescendant(&obj
, H225_Setup_UUIE
), PInvalidCast
);
13191 const H225_Setup_UUIE
& other
= (const H225_Setup_UUIE
&)obj
;
13195 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
13197 if ((result
= m_h245Address
.Compare(other
.m_h245Address
)) != EqualTo
)
13199 if ((result
= m_sourceAddress
.Compare(other
.m_sourceAddress
)) != EqualTo
)
13201 if ((result
= m_sourceInfo
.Compare(other
.m_sourceInfo
)) != EqualTo
)
13203 if ((result
= m_destinationAddress
.Compare(other
.m_destinationAddress
)) != EqualTo
)
13205 if ((result
= m_destCallSignalAddress
.Compare(other
.m_destCallSignalAddress
)) != EqualTo
)
13207 if ((result
= m_destExtraCallInfo
.Compare(other
.m_destExtraCallInfo
)) != EqualTo
)
13209 if ((result
= m_destExtraCRV
.Compare(other
.m_destExtraCRV
)) != EqualTo
)
13211 if ((result
= m_activeMC
.Compare(other
.m_activeMC
)) != EqualTo
)
13213 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
13215 if ((result
= m_conferenceGoal
.Compare(other
.m_conferenceGoal
)) != EqualTo
)
13217 if ((result
= m_callServices
.Compare(other
.m_callServices
)) != EqualTo
)
13219 if ((result
= m_callType
.Compare(other
.m_callType
)) != EqualTo
)
13222 return PASN_Sequence::Compare(other
);
13226 PINDEX
H225_Setup_UUIE::GetDataLength() const
13229 length
+= m_protocolIdentifier
.GetObjectLength();
13230 if (HasOptionalField(e_h245Address
))
13231 length
+= m_h245Address
.GetObjectLength();
13232 if (HasOptionalField(e_sourceAddress
))
13233 length
+= m_sourceAddress
.GetObjectLength();
13234 length
+= m_sourceInfo
.GetObjectLength();
13235 if (HasOptionalField(e_destinationAddress
))
13236 length
+= m_destinationAddress
.GetObjectLength();
13237 if (HasOptionalField(e_destCallSignalAddress
))
13238 length
+= m_destCallSignalAddress
.GetObjectLength();
13239 if (HasOptionalField(e_destExtraCallInfo
))
13240 length
+= m_destExtraCallInfo
.GetObjectLength();
13241 if (HasOptionalField(e_destExtraCRV
))
13242 length
+= m_destExtraCRV
.GetObjectLength();
13243 length
+= m_activeMC
.GetObjectLength();
13244 length
+= m_conferenceID
.GetObjectLength();
13245 length
+= m_conferenceGoal
.GetObjectLength();
13246 if (HasOptionalField(e_callServices
))
13247 length
+= m_callServices
.GetObjectLength();
13248 length
+= m_callType
.GetObjectLength();
13253 BOOL
H225_Setup_UUIE::Decode(PASN_Stream
& strm
)
13255 if (!PreambleDecode(strm
))
13258 if (!m_protocolIdentifier
.Decode(strm
))
13260 if (HasOptionalField(e_h245Address
) && !m_h245Address
.Decode(strm
))
13262 if (HasOptionalField(e_sourceAddress
) && !m_sourceAddress
.Decode(strm
))
13264 if (!m_sourceInfo
.Decode(strm
))
13266 if (HasOptionalField(e_destinationAddress
) && !m_destinationAddress
.Decode(strm
))
13268 if (HasOptionalField(e_destCallSignalAddress
) && !m_destCallSignalAddress
.Decode(strm
))
13270 if (HasOptionalField(e_destExtraCallInfo
) && !m_destExtraCallInfo
.Decode(strm
))
13272 if (HasOptionalField(e_destExtraCRV
) && !m_destExtraCRV
.Decode(strm
))
13274 if (!m_activeMC
.Decode(strm
))
13276 if (!m_conferenceID
.Decode(strm
))
13278 if (!m_conferenceGoal
.Decode(strm
))
13280 if (HasOptionalField(e_callServices
) && !m_callServices
.Decode(strm
))
13282 if (!m_callType
.Decode(strm
))
13284 if (!KnownExtensionDecode(strm
, e_sourceCallSignalAddress
, m_sourceCallSignalAddress
))
13286 if (!KnownExtensionDecode(strm
, e_remoteExtensionAddress
, m_remoteExtensionAddress
))
13288 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
13290 if (!KnownExtensionDecode(strm
, e_h245SecurityCapability
, m_h245SecurityCapability
))
13292 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
13294 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
13296 if (!KnownExtensionDecode(strm
, e_fastStart
, m_fastStart
))
13298 if (!KnownExtensionDecode(strm
, e_mediaWaitForConnect
, m_mediaWaitForConnect
))
13300 if (!KnownExtensionDecode(strm
, e_canOverlapSend
, m_canOverlapSend
))
13302 if (!KnownExtensionDecode(strm
, e_endpointIdentifier
, m_endpointIdentifier
))
13304 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
13306 if (!KnownExtensionDecode(strm
, e_maintainConnection
, m_maintainConnection
))
13308 if (!KnownExtensionDecode(strm
, e_connectionParameters
, m_connectionParameters
))
13310 if (!KnownExtensionDecode(strm
, e_language
, m_language
))
13312 if (!KnownExtensionDecode(strm
, e_presentationIndicator
, m_presentationIndicator
))
13314 if (!KnownExtensionDecode(strm
, e_screeningIndicator
, m_screeningIndicator
))
13316 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
13318 if (!KnownExtensionDecode(strm
, e_symmetricOperationRequired
, m_symmetricOperationRequired
))
13320 if (!KnownExtensionDecode(strm
, e_capacity
, m_capacity
))
13322 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
13324 if (!KnownExtensionDecode(strm
, e_desiredProtocols
, m_desiredProtocols
))
13326 if (!KnownExtensionDecode(strm
, e_neededFeatures
, m_neededFeatures
))
13328 if (!KnownExtensionDecode(strm
, e_desiredFeatures
, m_desiredFeatures
))
13330 if (!KnownExtensionDecode(strm
, e_supportedFeatures
, m_supportedFeatures
))
13332 if (!KnownExtensionDecode(strm
, e_parallelH245Control
, m_parallelH245Control
))
13334 if (!KnownExtensionDecode(strm
, e_additionalSourceAddresses
, m_additionalSourceAddresses
))
13336 if (!KnownExtensionDecode(strm
, e_hopCount
, m_hopCount
))
13339 return UnknownExtensionsDecode(strm
);
13343 void H225_Setup_UUIE::Encode(PASN_Stream
& strm
) const
13345 PreambleEncode(strm
);
13347 m_protocolIdentifier
.Encode(strm
);
13348 if (HasOptionalField(e_h245Address
))
13349 m_h245Address
.Encode(strm
);
13350 if (HasOptionalField(e_sourceAddress
))
13351 m_sourceAddress
.Encode(strm
);
13352 m_sourceInfo
.Encode(strm
);
13353 if (HasOptionalField(e_destinationAddress
))
13354 m_destinationAddress
.Encode(strm
);
13355 if (HasOptionalField(e_destCallSignalAddress
))
13356 m_destCallSignalAddress
.Encode(strm
);
13357 if (HasOptionalField(e_destExtraCallInfo
))
13358 m_destExtraCallInfo
.Encode(strm
);
13359 if (HasOptionalField(e_destExtraCRV
))
13360 m_destExtraCRV
.Encode(strm
);
13361 m_activeMC
.Encode(strm
);
13362 m_conferenceID
.Encode(strm
);
13363 m_conferenceGoal
.Encode(strm
);
13364 if (HasOptionalField(e_callServices
))
13365 m_callServices
.Encode(strm
);
13366 m_callType
.Encode(strm
);
13367 KnownExtensionEncode(strm
, e_sourceCallSignalAddress
, m_sourceCallSignalAddress
);
13368 KnownExtensionEncode(strm
, e_remoteExtensionAddress
, m_remoteExtensionAddress
);
13369 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
13370 KnownExtensionEncode(strm
, e_h245SecurityCapability
, m_h245SecurityCapability
);
13371 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
13372 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
13373 KnownExtensionEncode(strm
, e_fastStart
, m_fastStart
);
13374 KnownExtensionEncode(strm
, e_mediaWaitForConnect
, m_mediaWaitForConnect
);
13375 KnownExtensionEncode(strm
, e_canOverlapSend
, m_canOverlapSend
);
13376 KnownExtensionEncode(strm
, e_endpointIdentifier
, m_endpointIdentifier
);
13377 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
13378 KnownExtensionEncode(strm
, e_maintainConnection
, m_maintainConnection
);
13379 KnownExtensionEncode(strm
, e_connectionParameters
, m_connectionParameters
);
13380 KnownExtensionEncode(strm
, e_language
, m_language
);
13381 KnownExtensionEncode(strm
, e_presentationIndicator
, m_presentationIndicator
);
13382 KnownExtensionEncode(strm
, e_screeningIndicator
, m_screeningIndicator
);
13383 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
13384 KnownExtensionEncode(strm
, e_symmetricOperationRequired
, m_symmetricOperationRequired
);
13385 KnownExtensionEncode(strm
, e_capacity
, m_capacity
);
13386 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
13387 KnownExtensionEncode(strm
, e_desiredProtocols
, m_desiredProtocols
);
13388 KnownExtensionEncode(strm
, e_neededFeatures
, m_neededFeatures
);
13389 KnownExtensionEncode(strm
, e_desiredFeatures
, m_desiredFeatures
);
13390 KnownExtensionEncode(strm
, e_supportedFeatures
, m_supportedFeatures
);
13391 KnownExtensionEncode(strm
, e_parallelH245Control
, m_parallelH245Control
);
13392 KnownExtensionEncode(strm
, e_additionalSourceAddresses
, m_additionalSourceAddresses
);
13393 KnownExtensionEncode(strm
, e_hopCount
, m_hopCount
);
13395 UnknownExtensionsEncode(strm
);
13399 PObject
* H225_Setup_UUIE::Clone() const
13401 #ifndef PASN_LEANANDMEAN
13402 PAssert(IsClass(H225_Setup_UUIE::Class()), PInvalidCast
);
13404 return new H225_Setup_UUIE(*this);
13412 H225_Facility_UUIE::H225_Facility_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
13413 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 16)
13415 IncludeOptionalField(e_callIdentifier
);
13416 IncludeOptionalField(e_multipleCalls
);
13417 IncludeOptionalField(e_maintainConnection
);
13421 #ifndef PASN_NOPRINTON
13422 void H225_Facility_UUIE::PrintOn(ostream
& strm
) const
13424 int indent
= strm
.precision() + 2;
13426 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
13427 if (HasOptionalField(e_alternativeAddress
))
13428 strm
<< setw(indent
+21) << "alternativeAddress = " << setprecision(indent
) << m_alternativeAddress
<< '\n';
13429 if (HasOptionalField(e_alternativeAliasAddress
))
13430 strm
<< setw(indent
+26) << "alternativeAliasAddress = " << setprecision(indent
) << m_alternativeAliasAddress
<< '\n';
13431 if (HasOptionalField(e_conferenceID
))
13432 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
13433 strm
<< setw(indent
+9) << "reason = " << setprecision(indent
) << m_reason
<< '\n';
13434 if (HasOptionalField(e_callIdentifier
))
13435 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
13436 if (HasOptionalField(e_destExtraCallInfo
))
13437 strm
<< setw(indent
+20) << "destExtraCallInfo = " << setprecision(indent
) << m_destExtraCallInfo
<< '\n';
13438 if (HasOptionalField(e_remoteExtensionAddress
))
13439 strm
<< setw(indent
+25) << "remoteExtensionAddress = " << setprecision(indent
) << m_remoteExtensionAddress
<< '\n';
13440 if (HasOptionalField(e_tokens
))
13441 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
13442 if (HasOptionalField(e_cryptoTokens
))
13443 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
13444 if (HasOptionalField(e_conferences
))
13445 strm
<< setw(indent
+14) << "conferences = " << setprecision(indent
) << m_conferences
<< '\n';
13446 if (HasOptionalField(e_h245Address
))
13447 strm
<< setw(indent
+14) << "h245Address = " << setprecision(indent
) << m_h245Address
<< '\n';
13448 if (HasOptionalField(e_fastStart
))
13449 strm
<< setw(indent
+12) << "fastStart = " << setprecision(indent
) << m_fastStart
<< '\n';
13450 if (HasOptionalField(e_multipleCalls
))
13451 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
13452 if (HasOptionalField(e_maintainConnection
))
13453 strm
<< setw(indent
+21) << "maintainConnection = " << setprecision(indent
) << m_maintainConnection
<< '\n';
13454 if (HasOptionalField(e_fastConnectRefused
))
13455 strm
<< setw(indent
+21) << "fastConnectRefused = " << setprecision(indent
) << m_fastConnectRefused
<< '\n';
13456 if (HasOptionalField(e_serviceControl
))
13457 strm
<< setw(indent
+17) << "serviceControl = " << setprecision(indent
) << m_serviceControl
<< '\n';
13458 if (HasOptionalField(e_circuitInfo
))
13459 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
13460 if (HasOptionalField(e_featureSet
))
13461 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
13462 if (HasOptionalField(e_destinationInfo
))
13463 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
13464 if (HasOptionalField(e_h245SecurityMode
))
13465 strm
<< setw(indent
+19) << "h245SecurityMode = " << setprecision(indent
) << m_h245SecurityMode
<< '\n';
13466 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13471 PObject::Comparison
H225_Facility_UUIE::Compare(const PObject
& obj
) const
13473 #ifndef PASN_LEANANDMEAN
13474 PAssert(PIsDescendant(&obj
, H225_Facility_UUIE
), PInvalidCast
);
13476 const H225_Facility_UUIE
& other
= (const H225_Facility_UUIE
&)obj
;
13480 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
13482 if ((result
= m_alternativeAddress
.Compare(other
.m_alternativeAddress
)) != EqualTo
)
13484 if ((result
= m_alternativeAliasAddress
.Compare(other
.m_alternativeAliasAddress
)) != EqualTo
)
13486 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
13488 if ((result
= m_reason
.Compare(other
.m_reason
)) != EqualTo
)
13491 return PASN_Sequence::Compare(other
);
13495 PINDEX
H225_Facility_UUIE::GetDataLength() const
13498 length
+= m_protocolIdentifier
.GetObjectLength();
13499 if (HasOptionalField(e_alternativeAddress
))
13500 length
+= m_alternativeAddress
.GetObjectLength();
13501 if (HasOptionalField(e_alternativeAliasAddress
))
13502 length
+= m_alternativeAliasAddress
.GetObjectLength();
13503 if (HasOptionalField(e_conferenceID
))
13504 length
+= m_conferenceID
.GetObjectLength();
13505 length
+= m_reason
.GetObjectLength();
13510 BOOL
H225_Facility_UUIE::Decode(PASN_Stream
& strm
)
13512 if (!PreambleDecode(strm
))
13515 if (!m_protocolIdentifier
.Decode(strm
))
13517 if (HasOptionalField(e_alternativeAddress
) && !m_alternativeAddress
.Decode(strm
))
13519 if (HasOptionalField(e_alternativeAliasAddress
) && !m_alternativeAliasAddress
.Decode(strm
))
13521 if (HasOptionalField(e_conferenceID
) && !m_conferenceID
.Decode(strm
))
13523 if (!m_reason
.Decode(strm
))
13525 if (!KnownExtensionDecode(strm
, e_callIdentifier
, m_callIdentifier
))
13527 if (!KnownExtensionDecode(strm
, e_destExtraCallInfo
, m_destExtraCallInfo
))
13529 if (!KnownExtensionDecode(strm
, e_remoteExtensionAddress
, m_remoteExtensionAddress
))
13531 if (!KnownExtensionDecode(strm
, e_tokens
, m_tokens
))
13533 if (!KnownExtensionDecode(strm
, e_cryptoTokens
, m_cryptoTokens
))
13535 if (!KnownExtensionDecode(strm
, e_conferences
, m_conferences
))
13537 if (!KnownExtensionDecode(strm
, e_h245Address
, m_h245Address
))
13539 if (!KnownExtensionDecode(strm
, e_fastStart
, m_fastStart
))
13541 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
13543 if (!KnownExtensionDecode(strm
, e_maintainConnection
, m_maintainConnection
))
13545 if (!KnownExtensionDecode(strm
, e_fastConnectRefused
, m_fastConnectRefused
))
13547 if (!KnownExtensionDecode(strm
, e_serviceControl
, m_serviceControl
))
13549 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
13551 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
13553 if (!KnownExtensionDecode(strm
, e_destinationInfo
, m_destinationInfo
))
13555 if (!KnownExtensionDecode(strm
, e_h245SecurityMode
, m_h245SecurityMode
))
13558 return UnknownExtensionsDecode(strm
);
13562 void H225_Facility_UUIE::Encode(PASN_Stream
& strm
) const
13564 PreambleEncode(strm
);
13566 m_protocolIdentifier
.Encode(strm
);
13567 if (HasOptionalField(e_alternativeAddress
))
13568 m_alternativeAddress
.Encode(strm
);
13569 if (HasOptionalField(e_alternativeAliasAddress
))
13570 m_alternativeAliasAddress
.Encode(strm
);
13571 if (HasOptionalField(e_conferenceID
))
13572 m_conferenceID
.Encode(strm
);
13573 m_reason
.Encode(strm
);
13574 KnownExtensionEncode(strm
, e_callIdentifier
, m_callIdentifier
);
13575 KnownExtensionEncode(strm
, e_destExtraCallInfo
, m_destExtraCallInfo
);
13576 KnownExtensionEncode(strm
, e_remoteExtensionAddress
, m_remoteExtensionAddress
);
13577 KnownExtensionEncode(strm
, e_tokens
, m_tokens
);
13578 KnownExtensionEncode(strm
, e_cryptoTokens
, m_cryptoTokens
);
13579 KnownExtensionEncode(strm
, e_conferences
, m_conferences
);
13580 KnownExtensionEncode(strm
, e_h245Address
, m_h245Address
);
13581 KnownExtensionEncode(strm
, e_fastStart
, m_fastStart
);
13582 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
13583 KnownExtensionEncode(strm
, e_maintainConnection
, m_maintainConnection
);
13584 KnownExtensionEncode(strm
, e_fastConnectRefused
, m_fastConnectRefused
);
13585 KnownExtensionEncode(strm
, e_serviceControl
, m_serviceControl
);
13586 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
13587 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
13588 KnownExtensionEncode(strm
, e_destinationInfo
, m_destinationInfo
);
13589 KnownExtensionEncode(strm
, e_h245SecurityMode
, m_h245SecurityMode
);
13591 UnknownExtensionsEncode(strm
);
13595 PObject
* H225_Facility_UUIE::Clone() const
13597 #ifndef PASN_LEANANDMEAN
13598 PAssert(IsClass(H225_Facility_UUIE::Class()), PInvalidCast
);
13600 return new H225_Facility_UUIE(*this);
13608 H225_Progress_UUIE::H225_Progress_UUIE(unsigned tag
, PASN_Object::TagClass tagClass
)
13609 : PASN_Sequence(tag
, tagClass
, 5, TRUE
, 3)
13611 IncludeOptionalField(e_multipleCalls
);
13612 IncludeOptionalField(e_maintainConnection
);
13616 #ifndef PASN_NOPRINTON
13617 void H225_Progress_UUIE::PrintOn(ostream
& strm
) const
13619 int indent
= strm
.precision() + 2;
13621 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
13622 strm
<< setw(indent
+18) << "destinationInfo = " << setprecision(indent
) << m_destinationInfo
<< '\n';
13623 if (HasOptionalField(e_h245Address
))
13624 strm
<< setw(indent
+14) << "h245Address = " << setprecision(indent
) << m_h245Address
<< '\n';
13625 strm
<< setw(indent
+17) << "callIdentifier = " << setprecision(indent
) << m_callIdentifier
<< '\n';
13626 if (HasOptionalField(e_h245SecurityMode
))
13627 strm
<< setw(indent
+19) << "h245SecurityMode = " << setprecision(indent
) << m_h245SecurityMode
<< '\n';
13628 if (HasOptionalField(e_tokens
))
13629 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
13630 if (HasOptionalField(e_cryptoTokens
))
13631 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
13632 if (HasOptionalField(e_fastStart
))
13633 strm
<< setw(indent
+12) << "fastStart = " << setprecision(indent
) << m_fastStart
<< '\n';
13634 if (HasOptionalField(e_multipleCalls
))
13635 strm
<< setw(indent
+16) << "multipleCalls = " << setprecision(indent
) << m_multipleCalls
<< '\n';
13636 if (HasOptionalField(e_maintainConnection
))
13637 strm
<< setw(indent
+21) << "maintainConnection = " << setprecision(indent
) << m_maintainConnection
<< '\n';
13638 if (HasOptionalField(e_fastConnectRefused
))
13639 strm
<< setw(indent
+21) << "fastConnectRefused = " << setprecision(indent
) << m_fastConnectRefused
<< '\n';
13640 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13645 PObject::Comparison
H225_Progress_UUIE::Compare(const PObject
& obj
) const
13647 #ifndef PASN_LEANANDMEAN
13648 PAssert(PIsDescendant(&obj
, H225_Progress_UUIE
), PInvalidCast
);
13650 const H225_Progress_UUIE
& other
= (const H225_Progress_UUIE
&)obj
;
13654 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
13656 if ((result
= m_destinationInfo
.Compare(other
.m_destinationInfo
)) != EqualTo
)
13658 if ((result
= m_h245Address
.Compare(other
.m_h245Address
)) != EqualTo
)
13660 if ((result
= m_callIdentifier
.Compare(other
.m_callIdentifier
)) != EqualTo
)
13662 if ((result
= m_h245SecurityMode
.Compare(other
.m_h245SecurityMode
)) != EqualTo
)
13664 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
13666 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
13668 if ((result
= m_fastStart
.Compare(other
.m_fastStart
)) != EqualTo
)
13671 return PASN_Sequence::Compare(other
);
13675 PINDEX
H225_Progress_UUIE::GetDataLength() const
13678 length
+= m_protocolIdentifier
.GetObjectLength();
13679 length
+= m_destinationInfo
.GetObjectLength();
13680 if (HasOptionalField(e_h245Address
))
13681 length
+= m_h245Address
.GetObjectLength();
13682 length
+= m_callIdentifier
.GetObjectLength();
13683 if (HasOptionalField(e_h245SecurityMode
))
13684 length
+= m_h245SecurityMode
.GetObjectLength();
13685 if (HasOptionalField(e_tokens
))
13686 length
+= m_tokens
.GetObjectLength();
13687 if (HasOptionalField(e_cryptoTokens
))
13688 length
+= m_cryptoTokens
.GetObjectLength();
13689 if (HasOptionalField(e_fastStart
))
13690 length
+= m_fastStart
.GetObjectLength();
13695 BOOL
H225_Progress_UUIE::Decode(PASN_Stream
& strm
)
13697 if (!PreambleDecode(strm
))
13700 if (!m_protocolIdentifier
.Decode(strm
))
13702 if (!m_destinationInfo
.Decode(strm
))
13704 if (HasOptionalField(e_h245Address
) && !m_h245Address
.Decode(strm
))
13706 if (!m_callIdentifier
.Decode(strm
))
13708 if (HasOptionalField(e_h245SecurityMode
) && !m_h245SecurityMode
.Decode(strm
))
13710 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
13712 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
13714 if (HasOptionalField(e_fastStart
) && !m_fastStart
.Decode(strm
))
13716 if (!KnownExtensionDecode(strm
, e_multipleCalls
, m_multipleCalls
))
13718 if (!KnownExtensionDecode(strm
, e_maintainConnection
, m_maintainConnection
))
13720 if (!KnownExtensionDecode(strm
, e_fastConnectRefused
, m_fastConnectRefused
))
13723 return UnknownExtensionsDecode(strm
);
13727 void H225_Progress_UUIE::Encode(PASN_Stream
& strm
) const
13729 PreambleEncode(strm
);
13731 m_protocolIdentifier
.Encode(strm
);
13732 m_destinationInfo
.Encode(strm
);
13733 if (HasOptionalField(e_h245Address
))
13734 m_h245Address
.Encode(strm
);
13735 m_callIdentifier
.Encode(strm
);
13736 if (HasOptionalField(e_h245SecurityMode
))
13737 m_h245SecurityMode
.Encode(strm
);
13738 if (HasOptionalField(e_tokens
))
13739 m_tokens
.Encode(strm
);
13740 if (HasOptionalField(e_cryptoTokens
))
13741 m_cryptoTokens
.Encode(strm
);
13742 if (HasOptionalField(e_fastStart
))
13743 m_fastStart
.Encode(strm
);
13744 KnownExtensionEncode(strm
, e_multipleCalls
, m_multipleCalls
);
13745 KnownExtensionEncode(strm
, e_maintainConnection
, m_maintainConnection
);
13746 KnownExtensionEncode(strm
, e_fastConnectRefused
, m_fastConnectRefused
);
13748 UnknownExtensionsEncode(strm
);
13752 PObject
* H225_Progress_UUIE::Clone() const
13754 #ifndef PASN_LEANANDMEAN
13755 PAssert(IsClass(H225_Progress_UUIE::Class()), PInvalidCast
);
13757 return new H225_Progress_UUIE(*this);
13765 H225_Endpoint::H225_Endpoint(unsigned tag
, PASN_Object::TagClass tagClass
)
13766 : PASN_Sequence(tag
, tagClass
, 10, TRUE
, 3)
13768 m_priority
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
13772 #ifndef PASN_NOPRINTON
13773 void H225_Endpoint::PrintOn(ostream
& strm
) const
13775 int indent
= strm
.precision() + 2;
13777 if (HasOptionalField(e_nonStandardData
))
13778 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
13779 if (HasOptionalField(e_aliasAddress
))
13780 strm
<< setw(indent
+15) << "aliasAddress = " << setprecision(indent
) << m_aliasAddress
<< '\n';
13781 if (HasOptionalField(e_callSignalAddress
))
13782 strm
<< setw(indent
+20) << "callSignalAddress = " << setprecision(indent
) << m_callSignalAddress
<< '\n';
13783 if (HasOptionalField(e_rasAddress
))
13784 strm
<< setw(indent
+13) << "rasAddress = " << setprecision(indent
) << m_rasAddress
<< '\n';
13785 if (HasOptionalField(e_endpointType
))
13786 strm
<< setw(indent
+15) << "endpointType = " << setprecision(indent
) << m_endpointType
<< '\n';
13787 if (HasOptionalField(e_tokens
))
13788 strm
<< setw(indent
+9) << "tokens = " << setprecision(indent
) << m_tokens
<< '\n';
13789 if (HasOptionalField(e_cryptoTokens
))
13790 strm
<< setw(indent
+15) << "cryptoTokens = " << setprecision(indent
) << m_cryptoTokens
<< '\n';
13791 if (HasOptionalField(e_priority
))
13792 strm
<< setw(indent
+11) << "priority = " << setprecision(indent
) << m_priority
<< '\n';
13793 if (HasOptionalField(e_remoteExtensionAddress
))
13794 strm
<< setw(indent
+25) << "remoteExtensionAddress = " << setprecision(indent
) << m_remoteExtensionAddress
<< '\n';
13795 if (HasOptionalField(e_destExtraCallInfo
))
13796 strm
<< setw(indent
+20) << "destExtraCallInfo = " << setprecision(indent
) << m_destExtraCallInfo
<< '\n';
13797 if (HasOptionalField(e_alternateTransportAddresses
))
13798 strm
<< setw(indent
+30) << "alternateTransportAddresses = " << setprecision(indent
) << m_alternateTransportAddresses
<< '\n';
13799 if (HasOptionalField(e_circuitInfo
))
13800 strm
<< setw(indent
+14) << "circuitInfo = " << setprecision(indent
) << m_circuitInfo
<< '\n';
13801 if (HasOptionalField(e_featureSet
))
13802 strm
<< setw(indent
+13) << "featureSet = " << setprecision(indent
) << m_featureSet
<< '\n';
13803 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13808 PObject::Comparison
H225_Endpoint::Compare(const PObject
& obj
) const
13810 #ifndef PASN_LEANANDMEAN
13811 PAssert(PIsDescendant(&obj
, H225_Endpoint
), PInvalidCast
);
13813 const H225_Endpoint
& other
= (const H225_Endpoint
&)obj
;
13817 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
13819 if ((result
= m_aliasAddress
.Compare(other
.m_aliasAddress
)) != EqualTo
)
13821 if ((result
= m_callSignalAddress
.Compare(other
.m_callSignalAddress
)) != EqualTo
)
13823 if ((result
= m_rasAddress
.Compare(other
.m_rasAddress
)) != EqualTo
)
13825 if ((result
= m_endpointType
.Compare(other
.m_endpointType
)) != EqualTo
)
13827 if ((result
= m_tokens
.Compare(other
.m_tokens
)) != EqualTo
)
13829 if ((result
= m_cryptoTokens
.Compare(other
.m_cryptoTokens
)) != EqualTo
)
13831 if ((result
= m_priority
.Compare(other
.m_priority
)) != EqualTo
)
13833 if ((result
= m_remoteExtensionAddress
.Compare(other
.m_remoteExtensionAddress
)) != EqualTo
)
13835 if ((result
= m_destExtraCallInfo
.Compare(other
.m_destExtraCallInfo
)) != EqualTo
)
13838 return PASN_Sequence::Compare(other
);
13842 PINDEX
H225_Endpoint::GetDataLength() const
13845 if (HasOptionalField(e_nonStandardData
))
13846 length
+= m_nonStandardData
.GetObjectLength();
13847 if (HasOptionalField(e_aliasAddress
))
13848 length
+= m_aliasAddress
.GetObjectLength();
13849 if (HasOptionalField(e_callSignalAddress
))
13850 length
+= m_callSignalAddress
.GetObjectLength();
13851 if (HasOptionalField(e_rasAddress
))
13852 length
+= m_rasAddress
.GetObjectLength();
13853 if (HasOptionalField(e_endpointType
))
13854 length
+= m_endpointType
.GetObjectLength();
13855 if (HasOptionalField(e_tokens
))
13856 length
+= m_tokens
.GetObjectLength();
13857 if (HasOptionalField(e_cryptoTokens
))
13858 length
+= m_cryptoTokens
.GetObjectLength();
13859 if (HasOptionalField(e_priority
))
13860 length
+= m_priority
.GetObjectLength();
13861 if (HasOptionalField(e_remoteExtensionAddress
))
13862 length
+= m_remoteExtensionAddress
.GetObjectLength();
13863 if (HasOptionalField(e_destExtraCallInfo
))
13864 length
+= m_destExtraCallInfo
.GetObjectLength();
13869 BOOL
H225_Endpoint::Decode(PASN_Stream
& strm
)
13871 if (!PreambleDecode(strm
))
13874 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
13876 if (HasOptionalField(e_aliasAddress
) && !m_aliasAddress
.Decode(strm
))
13878 if (HasOptionalField(e_callSignalAddress
) && !m_callSignalAddress
.Decode(strm
))
13880 if (HasOptionalField(e_rasAddress
) && !m_rasAddress
.Decode(strm
))
13882 if (HasOptionalField(e_endpointType
) && !m_endpointType
.Decode(strm
))
13884 if (HasOptionalField(e_tokens
) && !m_tokens
.Decode(strm
))
13886 if (HasOptionalField(e_cryptoTokens
) && !m_cryptoTokens
.Decode(strm
))
13888 if (HasOptionalField(e_priority
) && !m_priority
.Decode(strm
))
13890 if (HasOptionalField(e_remoteExtensionAddress
) && !m_remoteExtensionAddress
.Decode(strm
))
13892 if (HasOptionalField(e_destExtraCallInfo
) && !m_destExtraCallInfo
.Decode(strm
))
13894 if (!KnownExtensionDecode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
))
13896 if (!KnownExtensionDecode(strm
, e_circuitInfo
, m_circuitInfo
))
13898 if (!KnownExtensionDecode(strm
, e_featureSet
, m_featureSet
))
13901 return UnknownExtensionsDecode(strm
);
13905 void H225_Endpoint::Encode(PASN_Stream
& strm
) const
13907 PreambleEncode(strm
);
13909 if (HasOptionalField(e_nonStandardData
))
13910 m_nonStandardData
.Encode(strm
);
13911 if (HasOptionalField(e_aliasAddress
))
13912 m_aliasAddress
.Encode(strm
);
13913 if (HasOptionalField(e_callSignalAddress
))
13914 m_callSignalAddress
.Encode(strm
);
13915 if (HasOptionalField(e_rasAddress
))
13916 m_rasAddress
.Encode(strm
);
13917 if (HasOptionalField(e_endpointType
))
13918 m_endpointType
.Encode(strm
);
13919 if (HasOptionalField(e_tokens
))
13920 m_tokens
.Encode(strm
);
13921 if (HasOptionalField(e_cryptoTokens
))
13922 m_cryptoTokens
.Encode(strm
);
13923 if (HasOptionalField(e_priority
))
13924 m_priority
.Encode(strm
);
13925 if (HasOptionalField(e_remoteExtensionAddress
))
13926 m_remoteExtensionAddress
.Encode(strm
);
13927 if (HasOptionalField(e_destExtraCallInfo
))
13928 m_destExtraCallInfo
.Encode(strm
);
13929 KnownExtensionEncode(strm
, e_alternateTransportAddresses
, m_alternateTransportAddresses
);
13930 KnownExtensionEncode(strm
, e_circuitInfo
, m_circuitInfo
);
13931 KnownExtensionEncode(strm
, e_featureSet
, m_featureSet
);
13933 UnknownExtensionsEncode(strm
);
13937 PObject
* H225_Endpoint::Clone() const
13939 #ifndef PASN_LEANANDMEAN
13940 PAssert(IsClass(H225_Endpoint::Class()), PInvalidCast
);
13942 return new H225_Endpoint(*this);
13946 #endif // if ! H323_DISABLE_H225