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