00001
00002
00003
00004
00005
00006
00007 #include <opal/buildopts.h>
00008
00009 #if ! H323_DISABLE_H4503
00010
00011 #ifndef __H4503_H
00012 #define __H4503_H
00013
00014 #ifdef P_USE_PRAGMA
00015 #pragma interface
00016 #endif
00017
00018 #include <ptclib/asner.h>
00019
00020 #include "h4501.h"
00021 #include "h225.h"
00022 #include "h225.h"
00023 #include "h4501.h"
00024 #include "h4501.h"
00025
00026
00027
00028
00029
00030
00031 class H4503_H323CallDiversionOperations : public PASN_Enumeration
00032 {
00033 #ifndef PASN_LEANANDMEAN
00034 PCLASSINFO(H4503_H323CallDiversionOperations, PASN_Enumeration);
00035 #endif
00036 public:
00037 H4503_H323CallDiversionOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00038
00039 enum Enumerations {
00040 e_activateDiversionQ = 15,
00041 e_deactivateDiversionQ,
00042 e_interrogateDiversionQ,
00043 e_checkRestriction,
00044 e_callRerouting,
00045 e_divertingLegInformation1,
00046 e_divertingLegInformation2,
00047 e_divertingLegInformation3,
00048 e_divertingLegInformation4 = 100,
00049 e_cfnrDivertedLegFailed = 23
00050 };
00051
00052 H4503_H323CallDiversionOperations & operator=(unsigned v);
00053 PObject * Clone() const;
00054 };
00055
00056
00057
00058
00059
00060
00061 class H4503_ExtensionSeq;
00062 class H225_NonStandardParameter;
00063
00064 class H4503_RESULT_activateDiversionQ : public PASN_Choice
00065 {
00066 #ifndef PASN_LEANANDMEAN
00067 PCLASSINFO(H4503_RESULT_activateDiversionQ, PASN_Choice);
00068 #endif
00069 public:
00070 H4503_RESULT_activateDiversionQ(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00071
00072 enum Choices {
00073 e_extensionSeq,
00074 e_nonStandardData
00075 };
00076
00077 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00078 operator H4503_ExtensionSeq &() const;
00079 #else
00080 operator H4503_ExtensionSeq &();
00081 operator const H4503_ExtensionSeq &() const;
00082 #endif
00083 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00084 operator H225_NonStandardParameter &() const;
00085 #else
00086 operator H225_NonStandardParameter &();
00087 operator const H225_NonStandardParameter &() const;
00088 #endif
00089
00090 PBoolean CreateObject();
00091 PObject * Clone() const;
00092 };
00093
00094
00095
00096
00097
00098
00099 class H4503_ExtensionSeq;
00100 class H225_NonStandardParameter;
00101
00102 class H4503_RESULT_deactivateDiversionQ : public PASN_Choice
00103 {
00104 #ifndef PASN_LEANANDMEAN
00105 PCLASSINFO(H4503_RESULT_deactivateDiversionQ, PASN_Choice);
00106 #endif
00107 public:
00108 H4503_RESULT_deactivateDiversionQ(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00109
00110 enum Choices {
00111 e_extensionSeq,
00112 e_nonStandardData
00113 };
00114
00115 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00116 operator H4503_ExtensionSeq &() const;
00117 #else
00118 operator H4503_ExtensionSeq &();
00119 operator const H4503_ExtensionSeq &() const;
00120 #endif
00121 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00122 operator H225_NonStandardParameter &() const;
00123 #else
00124 operator H225_NonStandardParameter &();
00125 operator const H225_NonStandardParameter &() const;
00126 #endif
00127
00128 PBoolean CreateObject();
00129 PObject * Clone() const;
00130 };
00131
00132
00133
00134
00135
00136
00137 class H4503_ExtensionSeq;
00138 class H225_NonStandardParameter;
00139
00140 class H4503_RESULT_checkRestriction : public PASN_Choice
00141 {
00142 #ifndef PASN_LEANANDMEAN
00143 PCLASSINFO(H4503_RESULT_checkRestriction, PASN_Choice);
00144 #endif
00145 public:
00146 H4503_RESULT_checkRestriction(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00147
00148 enum Choices {
00149 e_extensionSeq,
00150 e_nonStandardData
00151 };
00152
00153 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00154 operator H4503_ExtensionSeq &() const;
00155 #else
00156 operator H4503_ExtensionSeq &();
00157 operator const H4503_ExtensionSeq &() const;
00158 #endif
00159 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00160 operator H225_NonStandardParameter &() const;
00161 #else
00162 operator H225_NonStandardParameter &();
00163 operator const H225_NonStandardParameter &() const;
00164 #endif
00165
00166 PBoolean CreateObject();
00167 PObject * Clone() const;
00168 };
00169
00170
00171
00172
00173
00174
00175 class H4503_ExtensionSeq;
00176 class H225_NonStandardParameter;
00177
00178 class H4503_RESULT_callRerouting : public PASN_Choice
00179 {
00180 #ifndef PASN_LEANANDMEAN
00181 PCLASSINFO(H4503_RESULT_callRerouting, PASN_Choice);
00182 #endif
00183 public:
00184 H4503_RESULT_callRerouting(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00185
00186 enum Choices {
00187 e_extensionSeq,
00188 e_nonStandardData
00189 };
00190
00191 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00192 operator H4503_ExtensionSeq &() const;
00193 #else
00194 operator H4503_ExtensionSeq &();
00195 operator const H4503_ExtensionSeq &() const;
00196 #endif
00197 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00198 operator H225_NonStandardParameter &() const;
00199 #else
00200 operator H225_NonStandardParameter &();
00201 operator const H225_NonStandardParameter &() const;
00202 #endif
00203
00204 PBoolean CreateObject();
00205 PObject * Clone() const;
00206 };
00207
00208
00209
00210
00211
00212
00213 class H4503_ExtensionSeq;
00214 class H225_NonStandardParameter;
00215
00216 class H4503_ARGUMENT_cfnrDivertedLegFailed : public PASN_Choice
00217 {
00218 #ifndef PASN_LEANANDMEAN
00219 PCLASSINFO(H4503_ARGUMENT_cfnrDivertedLegFailed, PASN_Choice);
00220 #endif
00221 public:
00222 H4503_ARGUMENT_cfnrDivertedLegFailed(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00223
00224 enum Choices {
00225 e_extensionSeq,
00226 e_nonStandardData
00227 };
00228
00229 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00230 operator H4503_ExtensionSeq &() const;
00231 #else
00232 operator H4503_ExtensionSeq &();
00233 operator const H4503_ExtensionSeq &() const;
00234 #endif
00235 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00236 operator H225_NonStandardParameter &() const;
00237 #else
00238 operator H225_NonStandardParameter &();
00239 operator const H225_NonStandardParameter &() const;
00240 #endif
00241
00242 PBoolean CreateObject();
00243 PObject * Clone() const;
00244 };
00245
00246
00247
00248
00249
00250
00251 class H4503_DiversionReason : public PASN_Enumeration
00252 {
00253 #ifndef PASN_LEANANDMEAN
00254 PCLASSINFO(H4503_DiversionReason, PASN_Enumeration);
00255 #endif
00256 public:
00257 H4503_DiversionReason(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00258
00259 enum Enumerations {
00260 e_unknown,
00261 e_cfu,
00262 e_cfb,
00263 e_cfnr
00264 };
00265
00266 H4503_DiversionReason & operator=(unsigned v);
00267 PObject * Clone() const;
00268 };
00269
00270
00271
00272
00273
00274
00275 class H4503_IntResult;
00276
00277 class H4503_IntResultList : public PASN_Array
00278 {
00279 #ifndef PASN_LEANANDMEAN
00280 PCLASSINFO(H4503_IntResultList, PASN_Array);
00281 #endif
00282 public:
00283 H4503_IntResultList(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
00284
00285 PASN_Object * CreateObject() const;
00286 H4503_IntResult & operator[](PINDEX i) const;
00287 PObject * Clone() const;
00288 };
00289
00290
00291
00292
00293
00294
00295 class H4503_Procedure : public PASN_Enumeration
00296 {
00297 #ifndef PASN_LEANANDMEAN
00298 PCLASSINFO(H4503_Procedure, PASN_Enumeration);
00299 #endif
00300 public:
00301 H4503_Procedure(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00302
00303 enum Enumerations {
00304 e_cfu,
00305 e_cfb,
00306 e_cfnr
00307 };
00308
00309 H4503_Procedure & operator=(unsigned v);
00310 PObject * Clone() const;
00311 };
00312
00313
00314
00315
00316
00317
00318 class H4503_SubscriptionOption : public PASN_Enumeration
00319 {
00320 #ifndef PASN_LEANANDMEAN
00321 PCLASSINFO(H4503_SubscriptionOption, PASN_Enumeration);
00322 #endif
00323 public:
00324 H4503_SubscriptionOption(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00325
00326 enum Enumerations {
00327 e_noNotification,
00328 e_notificationWithoutDivertedToNr,
00329 e_notificationWithDivertedToNr
00330 };
00331
00332 H4503_SubscriptionOption & operator=(unsigned v);
00333 PObject * Clone() const;
00334 };
00335
00336
00337
00338
00339
00340
00341 class H4503_CallDiversionErrors : public PASN_Enumeration
00342 {
00343 #ifndef PASN_LEANANDMEAN
00344 PCLASSINFO(H4503_CallDiversionErrors, PASN_Enumeration);
00345 #endif
00346 public:
00347 H4503_CallDiversionErrors(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00348
00349 enum Enumerations {
00350 e_invalidDivertedNumber = 12,
00351 e_specialServiceNumber = 14,
00352 e_diversionToServedUserNumber,
00353 e_numberOfDiversionsExceeded = 24,
00354 e_temporarilyUnavailable = 1000,
00355 e_notAuthorized = 1007,
00356 e_unspecified
00357 };
00358
00359 H4503_CallDiversionErrors & operator=(unsigned v);
00360 PObject * Clone() const;
00361 };
00362
00363
00364
00365
00366
00367
00368 class H4503_BasicService : public PASN_Enumeration
00369 {
00370 #ifndef PASN_LEANANDMEAN
00371 PCLASSINFO(H4503_BasicService, PASN_Enumeration);
00372 #endif
00373 public:
00374 H4503_BasicService(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00375
00376 enum Enumerations {
00377 e_allServices
00378 };
00379
00380 H4503_BasicService & operator=(unsigned v);
00381 PObject * Clone() const;
00382 };
00383
00384
00385
00386
00387
00388
00389 class H4501_Extension;
00390
00391 class H4503_ExtensionSeq : public PASN_Array
00392 {
00393 #ifndef PASN_LEANANDMEAN
00394 PCLASSINFO(H4503_ExtensionSeq, PASN_Array);
00395 #endif
00396 public:
00397 H4503_ExtensionSeq(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00398
00399 PASN_Object * CreateObject() const;
00400 H4501_Extension & operator[](PINDEX i) const;
00401 PObject * Clone() const;
00402 };
00403
00404
00405
00406
00407
00408
00409 class H4503_ExtensionSeq;
00410 class H225_NonStandardParameter;
00411
00412 class H4503_ARGUMENT_activateDiversionQ_extension : public PASN_Choice
00413 {
00414 #ifndef PASN_LEANANDMEAN
00415 PCLASSINFO(H4503_ARGUMENT_activateDiversionQ_extension, PASN_Choice);
00416 #endif
00417 public:
00418 H4503_ARGUMENT_activateDiversionQ_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00419
00420 enum Choices {
00421 e_extensionSeq,
00422 e_nonStandardData
00423 };
00424
00425 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00426 operator H4503_ExtensionSeq &() const;
00427 #else
00428 operator H4503_ExtensionSeq &();
00429 operator const H4503_ExtensionSeq &() const;
00430 #endif
00431 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00432 operator H225_NonStandardParameter &() const;
00433 #else
00434 operator H225_NonStandardParameter &();
00435 operator const H225_NonStandardParameter &() const;
00436 #endif
00437
00438 PBoolean CreateObject();
00439 PObject * Clone() const;
00440 };
00441
00442
00443
00444
00445
00446
00447 class H4503_ExtensionSeq;
00448 class H225_NonStandardParameter;
00449
00450 class H4503_ARGUMENT_deactivateDiversionQ_extension : public PASN_Choice
00451 {
00452 #ifndef PASN_LEANANDMEAN
00453 PCLASSINFO(H4503_ARGUMENT_deactivateDiversionQ_extension, PASN_Choice);
00454 #endif
00455 public:
00456 H4503_ARGUMENT_deactivateDiversionQ_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00457
00458 enum Choices {
00459 e_extensionSeq,
00460 e_nonStandardData
00461 };
00462
00463 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00464 operator H4503_ExtensionSeq &() const;
00465 #else
00466 operator H4503_ExtensionSeq &();
00467 operator const H4503_ExtensionSeq &() const;
00468 #endif
00469 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00470 operator H225_NonStandardParameter &() const;
00471 #else
00472 operator H225_NonStandardParameter &();
00473 operator const H225_NonStandardParameter &() const;
00474 #endif
00475
00476 PBoolean CreateObject();
00477 PObject * Clone() const;
00478 };
00479
00480
00481
00482
00483
00484
00485 class H4503_ExtensionSeq;
00486 class H225_NonStandardParameter;
00487
00488 class H4503_ARGUMENT_interrogateDiversionQ_extension : public PASN_Choice
00489 {
00490 #ifndef PASN_LEANANDMEAN
00491 PCLASSINFO(H4503_ARGUMENT_interrogateDiversionQ_extension, PASN_Choice);
00492 #endif
00493 public:
00494 H4503_ARGUMENT_interrogateDiversionQ_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00495
00496 enum Choices {
00497 e_extensionSeq,
00498 e_nonStandardData
00499 };
00500
00501 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00502 operator H4503_ExtensionSeq &() const;
00503 #else
00504 operator H4503_ExtensionSeq &();
00505 operator const H4503_ExtensionSeq &() const;
00506 #endif
00507 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00508 operator H225_NonStandardParameter &() const;
00509 #else
00510 operator H225_NonStandardParameter &();
00511 operator const H225_NonStandardParameter &() const;
00512 #endif
00513
00514 PBoolean CreateObject();
00515 PObject * Clone() const;
00516 };
00517
00518
00519
00520
00521
00522
00523 class H4503_ExtensionSeq;
00524 class H225_NonStandardParameter;
00525
00526 class H4503_ARGUMENT_checkRestriction_extension : public PASN_Choice
00527 {
00528 #ifndef PASN_LEANANDMEAN
00529 PCLASSINFO(H4503_ARGUMENT_checkRestriction_extension, PASN_Choice);
00530 #endif
00531 public:
00532 H4503_ARGUMENT_checkRestriction_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00533
00534 enum Choices {
00535 e_extensionSeq,
00536 e_nonStandardData
00537 };
00538
00539 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00540 operator H4503_ExtensionSeq &() const;
00541 #else
00542 operator H4503_ExtensionSeq &();
00543 operator const H4503_ExtensionSeq &() const;
00544 #endif
00545 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00546 operator H225_NonStandardParameter &() const;
00547 #else
00548 operator H225_NonStandardParameter &();
00549 operator const H225_NonStandardParameter &() const;
00550 #endif
00551
00552 PBoolean CreateObject();
00553 PObject * Clone() const;
00554 };
00555
00556
00557
00558
00559
00560
00561 class H4503_ExtensionSeq;
00562 class H225_NonStandardParameter;
00563
00564 class H4503_ARGUMENT_callRerouting_extension : public PASN_Choice
00565 {
00566 #ifndef PASN_LEANANDMEAN
00567 PCLASSINFO(H4503_ARGUMENT_callRerouting_extension, PASN_Choice);
00568 #endif
00569 public:
00570 H4503_ARGUMENT_callRerouting_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00571
00572 enum Choices {
00573 e_extensionSeq,
00574 e_nonStandardData
00575 };
00576
00577 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00578 operator H4503_ExtensionSeq &() const;
00579 #else
00580 operator H4503_ExtensionSeq &();
00581 operator const H4503_ExtensionSeq &() const;
00582 #endif
00583 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00584 operator H225_NonStandardParameter &() const;
00585 #else
00586 operator H225_NonStandardParameter &();
00587 operator const H225_NonStandardParameter &() const;
00588 #endif
00589
00590 PBoolean CreateObject();
00591 PObject * Clone() const;
00592 };
00593
00594
00595
00596
00597
00598
00599 class H4503_ExtensionSeq;
00600 class H225_NonStandardParameter;
00601
00602 class H4503_ARGUMENT_divertingLegInformation1_extension : public PASN_Choice
00603 {
00604 #ifndef PASN_LEANANDMEAN
00605 PCLASSINFO(H4503_ARGUMENT_divertingLegInformation1_extension, PASN_Choice);
00606 #endif
00607 public:
00608 H4503_ARGUMENT_divertingLegInformation1_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00609
00610 enum Choices {
00611 e_extensionSeq,
00612 e_nonStandardData
00613 };
00614
00615 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00616 operator H4503_ExtensionSeq &() const;
00617 #else
00618 operator H4503_ExtensionSeq &();
00619 operator const H4503_ExtensionSeq &() const;
00620 #endif
00621 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00622 operator H225_NonStandardParameter &() const;
00623 #else
00624 operator H225_NonStandardParameter &();
00625 operator const H225_NonStandardParameter &() const;
00626 #endif
00627
00628 PBoolean CreateObject();
00629 PObject * Clone() const;
00630 };
00631
00632
00633
00634
00635
00636
00637 class H4503_ExtensionSeq;
00638 class H225_NonStandardParameter;
00639
00640 class H4503_ARGUMENT_divertingLegInformation2_extension : public PASN_Choice
00641 {
00642 #ifndef PASN_LEANANDMEAN
00643 PCLASSINFO(H4503_ARGUMENT_divertingLegInformation2_extension, PASN_Choice);
00644 #endif
00645 public:
00646 H4503_ARGUMENT_divertingLegInformation2_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00647
00648 enum Choices {
00649 e_extensionSeq,
00650 e_nonStandardData
00651 };
00652
00653 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00654 operator H4503_ExtensionSeq &() const;
00655 #else
00656 operator H4503_ExtensionSeq &();
00657 operator const H4503_ExtensionSeq &() const;
00658 #endif
00659 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00660 operator H225_NonStandardParameter &() const;
00661 #else
00662 operator H225_NonStandardParameter &();
00663 operator const H225_NonStandardParameter &() const;
00664 #endif
00665
00666 PBoolean CreateObject();
00667 PObject * Clone() const;
00668 };
00669
00670
00671
00672
00673
00674
00675 class H4503_ExtensionSeq;
00676 class H225_NonStandardParameter;
00677
00678 class H4503_ARGUMENT_divertingLegInformation3_extension : public PASN_Choice
00679 {
00680 #ifndef PASN_LEANANDMEAN
00681 PCLASSINFO(H4503_ARGUMENT_divertingLegInformation3_extension, PASN_Choice);
00682 #endif
00683 public:
00684 H4503_ARGUMENT_divertingLegInformation3_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00685
00686 enum Choices {
00687 e_extensionSeq,
00688 e_nonStandardData
00689 };
00690
00691 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00692 operator H4503_ExtensionSeq &() const;
00693 #else
00694 operator H4503_ExtensionSeq &();
00695 operator const H4503_ExtensionSeq &() const;
00696 #endif
00697 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00698 operator H225_NonStandardParameter &() const;
00699 #else
00700 operator H225_NonStandardParameter &();
00701 operator const H225_NonStandardParameter &() const;
00702 #endif
00703
00704 PBoolean CreateObject();
00705 PObject * Clone() const;
00706 };
00707
00708
00709
00710
00711
00712
00713 class H4503_ExtensionSeq;
00714 class H225_NonStandardParameter;
00715
00716 class H4503_ARGUMENT_divertingLegInformation4_extension : public PASN_Choice
00717 {
00718 #ifndef PASN_LEANANDMEAN
00719 PCLASSINFO(H4503_ARGUMENT_divertingLegInformation4_extension, PASN_Choice);
00720 #endif
00721 public:
00722 H4503_ARGUMENT_divertingLegInformation4_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00723
00724 enum Choices {
00725 e_extensionSeq,
00726 e_nonStandardData
00727 };
00728
00729 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00730 operator H4503_ExtensionSeq &() const;
00731 #else
00732 operator H4503_ExtensionSeq &();
00733 operator const H4503_ExtensionSeq &() const;
00734 #endif
00735 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00736 operator H225_NonStandardParameter &() const;
00737 #else
00738 operator H225_NonStandardParameter &();
00739 operator const H225_NonStandardParameter &() const;
00740 #endif
00741
00742 PBoolean CreateObject();
00743 PObject * Clone() const;
00744 };
00745
00746
00747
00748
00749
00750
00751 class H4503_ExtensionSeq;
00752 class H225_NonStandardParameter;
00753
00754 class H4503_IntResult_extension : public PASN_Choice
00755 {
00756 #ifndef PASN_LEANANDMEAN
00757 PCLASSINFO(H4503_IntResult_extension, PASN_Choice);
00758 #endif
00759 public:
00760 H4503_IntResult_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00761
00762 enum Choices {
00763 e_extensionSeq,
00764 e_nonStandardData
00765 };
00766
00767 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00768 operator H4503_ExtensionSeq &() const;
00769 #else
00770 operator H4503_ExtensionSeq &();
00771 operator const H4503_ExtensionSeq &() const;
00772 #endif
00773 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00774 operator H225_NonStandardParameter &() const;
00775 #else
00776 operator H225_NonStandardParameter &();
00777 operator const H225_NonStandardParameter &() const;
00778 #endif
00779
00780 PBoolean CreateObject();
00781 PObject * Clone() const;
00782 };
00783
00784
00785
00786
00787
00788
00789 class H4503_ARGUMENT_activateDiversionQ : public PASN_Sequence
00790 {
00791 #ifndef PASN_LEANANDMEAN
00792 PCLASSINFO(H4503_ARGUMENT_activateDiversionQ, PASN_Sequence);
00793 #endif
00794 public:
00795 H4503_ARGUMENT_activateDiversionQ(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00796
00797 enum OptionalFields {
00798 e_extension
00799 };
00800
00801 H4503_Procedure m_procedure;
00802 H4503_BasicService m_basicService;
00803 H4501_EndpointAddress m_divertedToAddress;
00804 H4501_EndpointAddress m_servedUserNr;
00805 H4501_EndpointAddress m_activatingUserNr;
00806 H4503_ARGUMENT_activateDiversionQ_extension m_extension;
00807
00808 PINDEX GetDataLength() const;
00809 PBoolean Decode(PASN_Stream & strm);
00810 void Encode(PASN_Stream & strm) const;
00811 #ifndef PASN_NOPRINTON
00812 void PrintOn(ostream & strm) const;
00813 #endif
00814 Comparison Compare(const PObject & obj) const;
00815 PObject * Clone() const;
00816 };
00817
00818
00819
00820
00821
00822
00823 class H4503_ARGUMENT_deactivateDiversionQ : public PASN_Sequence
00824 {
00825 #ifndef PASN_LEANANDMEAN
00826 PCLASSINFO(H4503_ARGUMENT_deactivateDiversionQ, PASN_Sequence);
00827 #endif
00828 public:
00829 H4503_ARGUMENT_deactivateDiversionQ(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00830
00831 enum OptionalFields {
00832 e_extension
00833 };
00834
00835 H4503_Procedure m_procedure;
00836 H4503_BasicService m_basicService;
00837 H4501_EndpointAddress m_servedUserNr;
00838 H4501_EndpointAddress m_deactivatingUserNr;
00839 H4503_ARGUMENT_deactivateDiversionQ_extension m_extension;
00840
00841 PINDEX GetDataLength() const;
00842 PBoolean Decode(PASN_Stream & strm);
00843 void Encode(PASN_Stream & strm) const;
00844 #ifndef PASN_NOPRINTON
00845 void PrintOn(ostream & strm) const;
00846 #endif
00847 Comparison Compare(const PObject & obj) const;
00848 PObject * Clone() const;
00849 };
00850
00851
00852
00853
00854
00855
00856 class H4503_ARGUMENT_interrogateDiversionQ : public PASN_Sequence
00857 {
00858 #ifndef PASN_LEANANDMEAN
00859 PCLASSINFO(H4503_ARGUMENT_interrogateDiversionQ, PASN_Sequence);
00860 #endif
00861 public:
00862 H4503_ARGUMENT_interrogateDiversionQ(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00863
00864 enum OptionalFields {
00865 e_extension
00866 };
00867
00868 H4503_Procedure m_procedure;
00869 H4503_BasicService m_basicService;
00870 H4501_EndpointAddress m_servedUserNr;
00871 H4501_EndpointAddress m_interrogatingUserNr;
00872 H4503_ARGUMENT_interrogateDiversionQ_extension m_extension;
00873
00874 PINDEX GetDataLength() const;
00875 PBoolean Decode(PASN_Stream & strm);
00876 void Encode(PASN_Stream & strm) const;
00877 #ifndef PASN_NOPRINTON
00878 void PrintOn(ostream & strm) const;
00879 #endif
00880 Comparison Compare(const PObject & obj) const;
00881 PObject * Clone() const;
00882 };
00883
00884
00885
00886
00887
00888
00889 class H4503_ARGUMENT_checkRestriction : public PASN_Sequence
00890 {
00891 #ifndef PASN_LEANANDMEAN
00892 PCLASSINFO(H4503_ARGUMENT_checkRestriction, PASN_Sequence);
00893 #endif
00894 public:
00895 H4503_ARGUMENT_checkRestriction(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00896
00897 enum OptionalFields {
00898 e_extension
00899 };
00900
00901 H4501_EndpointAddress m_servedUserNr;
00902 H4503_BasicService m_basicService;
00903 H4501_EndpointAddress m_divertedToNr;
00904 H4503_ARGUMENT_checkRestriction_extension m_extension;
00905
00906 PINDEX GetDataLength() const;
00907 PBoolean Decode(PASN_Stream & strm);
00908 void Encode(PASN_Stream & strm) const;
00909 #ifndef PASN_NOPRINTON
00910 void PrintOn(ostream & strm) const;
00911 #endif
00912 Comparison Compare(const PObject & obj) const;
00913 PObject * Clone() const;
00914 };
00915
00916
00917
00918
00919
00920
00921 class H4503_ARGUMENT_callRerouting : public PASN_Sequence
00922 {
00923 #ifndef PASN_LEANANDMEAN
00924 PCLASSINFO(H4503_ARGUMENT_callRerouting, PASN_Sequence);
00925 #endif
00926 public:
00927 H4503_ARGUMENT_callRerouting(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00928
00929 enum OptionalFields {
00930 e_originalReroutingReason,
00931 e_callingPartySubaddress,
00932 e_callingInfo,
00933 e_originalCalledNr,
00934 e_redirectingInfo,
00935 e_originalCalledInfo,
00936 e_extension
00937 };
00938
00939 H4503_DiversionReason m_reroutingReason;
00940 H4503_DiversionReason m_originalReroutingReason;
00941 H4501_EndpointAddress m_calledAddress;
00942 PASN_Integer m_diversionCounter;
00943 H4501_H225InformationElement m_h225InfoElement;
00944 H4501_EndpointAddress m_lastReroutingNr;
00945 H4503_SubscriptionOption m_subscriptionOption;
00946 H4501_PartySubaddress m_callingPartySubaddress;
00947 H4501_EndpointAddress m_callingNumber;
00948 PASN_BMPString m_callingInfo;
00949 H4501_EndpointAddress m_originalCalledNr;
00950 PASN_BMPString m_redirectingInfo;
00951 PASN_BMPString m_originalCalledInfo;
00952 H4503_ARGUMENT_callRerouting_extension m_extension;
00953
00954 PINDEX GetDataLength() const;
00955 PBoolean Decode(PASN_Stream & strm);
00956 void Encode(PASN_Stream & strm) const;
00957 #ifndef PASN_NOPRINTON
00958 void PrintOn(ostream & strm) const;
00959 #endif
00960 Comparison Compare(const PObject & obj) const;
00961 PObject * Clone() const;
00962 };
00963
00964
00965
00966
00967
00968
00969 class H4503_ARGUMENT_divertingLegInformation1 : public PASN_Sequence
00970 {
00971 #ifndef PASN_LEANANDMEAN
00972 PCLASSINFO(H4503_ARGUMENT_divertingLegInformation1, PASN_Sequence);
00973 #endif
00974 public:
00975 H4503_ARGUMENT_divertingLegInformation1(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00976
00977 enum OptionalFields {
00978 e_nominatedInfo,
00979 e_redirectingNr,
00980 e_redirectingInfo,
00981 e_extension
00982 };
00983
00984 H4503_DiversionReason m_diversionReason;
00985 H4503_SubscriptionOption m_subscriptionOption;
00986 H4501_EndpointAddress m_nominatedNr;
00987 PASN_BMPString m_nominatedInfo;
00988 H4501_EndpointAddress m_redirectingNr;
00989 PASN_BMPString m_redirectingInfo;
00990 H4503_ARGUMENT_divertingLegInformation1_extension m_extension;
00991
00992 PINDEX GetDataLength() const;
00993 PBoolean Decode(PASN_Stream & strm);
00994 void Encode(PASN_Stream & strm) const;
00995 #ifndef PASN_NOPRINTON
00996 void PrintOn(ostream & strm) const;
00997 #endif
00998 Comparison Compare(const PObject & obj) const;
00999 PObject * Clone() const;
01000 };
01001
01002
01003
01004
01005
01006
01007 class H4503_ARGUMENT_divertingLegInformation2 : public PASN_Sequence
01008 {
01009 #ifndef PASN_LEANANDMEAN
01010 PCLASSINFO(H4503_ARGUMENT_divertingLegInformation2, PASN_Sequence);
01011 #endif
01012 public:
01013 H4503_ARGUMENT_divertingLegInformation2(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01014
01015 enum OptionalFields {
01016 e_originalDiversionReason,
01017 e_divertingNr,
01018 e_originalCalledNr,
01019 e_redirectingInfo,
01020 e_originalCalledInfo,
01021 e_extension
01022 };
01023
01024 PASN_Integer m_diversionCounter;
01025 H4503_DiversionReason m_diversionReason;
01026 H4503_DiversionReason m_originalDiversionReason;
01027 H4501_EndpointAddress m_divertingNr;
01028 H4501_EndpointAddress m_originalCalledNr;
01029 PASN_BMPString m_redirectingInfo;
01030 PASN_BMPString m_originalCalledInfo;
01031 H4503_ARGUMENT_divertingLegInformation2_extension m_extension;
01032
01033 PINDEX GetDataLength() const;
01034 PBoolean Decode(PASN_Stream & strm);
01035 void Encode(PASN_Stream & strm) const;
01036 #ifndef PASN_NOPRINTON
01037 void PrintOn(ostream & strm) const;
01038 #endif
01039 Comparison Compare(const PObject & obj) const;
01040 PObject * Clone() const;
01041 };
01042
01043
01044
01045
01046
01047
01048 class H4503_ARGUMENT_divertingLegInformation3 : public PASN_Sequence
01049 {
01050 #ifndef PASN_LEANANDMEAN
01051 PCLASSINFO(H4503_ARGUMENT_divertingLegInformation3, PASN_Sequence);
01052 #endif
01053 public:
01054 H4503_ARGUMENT_divertingLegInformation3(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01055
01056 enum OptionalFields {
01057 e_redirectionNr,
01058 e_redirectionInfo,
01059 e_extension
01060 };
01061
01062 H4501_PresentationAllowedIndicator m_presentationAllowedIndicator;
01063 H4501_EndpointAddress m_redirectionNr;
01064 PASN_BMPString m_redirectionInfo;
01065 H4503_ARGUMENT_divertingLegInformation3_extension m_extension;
01066
01067 PINDEX GetDataLength() const;
01068 PBoolean Decode(PASN_Stream & strm);
01069 void Encode(PASN_Stream & strm) const;
01070 #ifndef PASN_NOPRINTON
01071 void PrintOn(ostream & strm) const;
01072 #endif
01073 Comparison Compare(const PObject & obj) const;
01074 PObject * Clone() const;
01075 };
01076
01077
01078
01079
01080
01081
01082 class H4503_ARGUMENT_divertingLegInformation4 : public PASN_Sequence
01083 {
01084 #ifndef PASN_LEANANDMEAN
01085 PCLASSINFO(H4503_ARGUMENT_divertingLegInformation4, PASN_Sequence);
01086 #endif
01087 public:
01088 H4503_ARGUMENT_divertingLegInformation4(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01089
01090 enum OptionalFields {
01091 e_callingInfo,
01092 e_nominatedInfo,
01093 e_extension
01094 };
01095
01096 H4503_DiversionReason m_diversionReason;
01097 H4503_SubscriptionOption m_subscriptionOption;
01098 H4501_EndpointAddress m_callingNr;
01099 PASN_BMPString m_callingInfo;
01100 H4501_EndpointAddress m_nominatedNr;
01101 PASN_BMPString m_nominatedInfo;
01102 H4503_ARGUMENT_divertingLegInformation4_extension m_extension;
01103
01104 PINDEX GetDataLength() const;
01105 PBoolean Decode(PASN_Stream & strm);
01106 void Encode(PASN_Stream & strm) const;
01107 #ifndef PASN_NOPRINTON
01108 void PrintOn(ostream & strm) const;
01109 #endif
01110 Comparison Compare(const PObject & obj) const;
01111 PObject * Clone() const;
01112 };
01113
01114
01115
01116
01117
01118
01119 class H4503_IntResult : public PASN_Sequence
01120 {
01121 #ifndef PASN_LEANANDMEAN
01122 PCLASSINFO(H4503_IntResult, PASN_Sequence);
01123 #endif
01124 public:
01125 H4503_IntResult(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01126
01127 enum OptionalFields {
01128 e_extension
01129 };
01130
01131 H4501_EndpointAddress m_servedUserNr;
01132 H4503_BasicService m_basicService;
01133 H4503_Procedure m_procedure;
01134 H4501_EndpointAddress m_divertedToAddress;
01135 PASN_Boolean m_remoteEnabled;
01136 H4503_IntResult_extension m_extension;
01137
01138 PINDEX GetDataLength() const;
01139 PBoolean Decode(PASN_Stream & strm);
01140 void Encode(PASN_Stream & strm) const;
01141 #ifndef PASN_NOPRINTON
01142 void PrintOn(ostream & strm) const;
01143 #endif
01144 Comparison Compare(const PObject & obj) const;
01145 PObject * Clone() const;
01146 };
01147
01148
01149 #endif // __H4503_H
01150
01151 #endif // if ! H323_DISABLE_H4503
01152
01153
01154