00001
00002
00003
00004
00005
00006
00007 #if ! H323_DISABLE_H4505
00008
00009 #ifndef __H4505_H
00010 #define __H4505_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 "h4501.h"
00020 #include "h4501.h"
00021 #include "h4504.h"
00022 #include "h225.h"
00023
00024
00025
00026
00027
00028
00029 class H4505_CallParkPickupOperations : public PASN_Enumeration
00030 {
00031 #ifndef PASN_LEANANDMEAN
00032 PCLASSINFO(H4505_CallParkPickupOperations, PASN_Enumeration);
00033 #endif
00034 public:
00035 H4505_CallParkPickupOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00036
00037 enum Enumerations {
00038 e_cpRequest = 106,
00039 e_cpSetup,
00040 e_groupIndicationOn = 8,
00041 e_groupIndicationOff,
00042 e_pickrequ = 110,
00043 e_pickup,
00044 e_pickExe,
00045 e_cpNotify,
00046 e_cpickupNotify
00047 };
00048
00049 H4505_CallParkPickupOperations & operator=(unsigned v);
00050 PObject * Clone() const;
00051 };
00052
00053
00054
00055
00056
00057
00058 class H4505_ParkedToPosition : public PASN_Integer
00059 {
00060 #ifndef PASN_LEANANDMEAN
00061 PCLASSINFO(H4505_ParkedToPosition, PASN_Integer);
00062 #endif
00063 public:
00064 H4505_ParkedToPosition(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00065
00066 H4505_ParkedToPosition & operator=(int v);
00067 H4505_ParkedToPosition & operator=(unsigned v);
00068 PObject * Clone() const;
00069 };
00070
00071
00072
00073
00074
00075
00076 class H4505_ParkCondition : public PASN_Enumeration
00077 {
00078 #ifndef PASN_LEANANDMEAN
00079 PCLASSINFO(H4505_ParkCondition, PASN_Enumeration);
00080 #endif
00081 public:
00082 H4505_ParkCondition(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00083
00084 enum Enumerations {
00085 e_unspecified,
00086 e_parkedToUserIdle,
00087 e_parkedToUserBusy,
00088 e_parkedToGroup
00089 };
00090
00091 H4505_ParkCondition & operator=(unsigned v);
00092 PObject * Clone() const;
00093 };
00094
00095
00096
00097
00098
00099
00100 class H4505_CallType : public PASN_Enumeration
00101 {
00102 #ifndef PASN_LEANANDMEAN
00103 PCLASSINFO(H4505_CallType, PASN_Enumeration);
00104 #endif
00105 public:
00106 H4505_CallType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00107
00108 enum Enumerations {
00109 e_parkedCall,
00110 e_alertingCall
00111 };
00112
00113 H4505_CallType & operator=(unsigned v);
00114 PObject * Clone() const;
00115 };
00116
00117
00118
00119
00120
00121
00122 class H4505_CallPickupErrors : public PASN_Enumeration
00123 {
00124 #ifndef PASN_LEANANDMEAN
00125 PCLASSINFO(H4505_CallPickupErrors, PASN_Enumeration);
00126 #endif
00127 public:
00128 H4505_CallPickupErrors(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00129
00130 enum Enumerations {
00131 e_callPickupIdInvalid = 2000,
00132 e_callAlreadyPickedUp,
00133 e_undefined
00134 };
00135
00136 H4505_CallPickupErrors & operator=(unsigned v);
00137 PObject * Clone() const;
00138 };
00139
00140
00141
00142
00143
00144
00145 class H4504_MixedExtension;
00146
00147 class H4505_ArrayOf_MixedExtension : public PASN_Array
00148 {
00149 #ifndef PASN_LEANANDMEAN
00150 PCLASSINFO(H4505_ArrayOf_MixedExtension, PASN_Array);
00151 #endif
00152 public:
00153 H4505_ArrayOf_MixedExtension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00154
00155 PASN_Object * CreateObject() const;
00156 H4504_MixedExtension & operator[](PINDEX i) const;
00157 PObject * Clone() const;
00158 };
00159
00160
00161
00162
00163
00164
00165 class H4505_CpRequestArg : public PASN_Sequence
00166 {
00167 #ifndef PASN_LEANANDMEAN
00168 PCLASSINFO(H4505_CpRequestArg, PASN_Sequence);
00169 #endif
00170 public:
00171 H4505_CpRequestArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00172
00173 enum OptionalFields {
00174 e_parkedToPosition,
00175 e_extensionArg
00176 };
00177
00178 H4501_EndpointAddress m_parkingNumber;
00179 H4501_EndpointAddress m_parkedNumber;
00180 H4501_EndpointAddress m_parkedToNumber;
00181 H4505_ParkedToPosition m_parkedToPosition;
00182 H4505_ArrayOf_MixedExtension m_extensionArg;
00183
00184 PINDEX GetDataLength() const;
00185 BOOL Decode(PASN_Stream & strm);
00186 void Encode(PASN_Stream & strm) const;
00187 #ifndef PASN_NOPRINTON
00188 void PrintOn(ostream & strm) const;
00189 #endif
00190 Comparison Compare(const PObject & obj) const;
00191 PObject * Clone() const;
00192 };
00193
00194
00195
00196
00197
00198
00199 class H4505_CpRequestRes : public PASN_Sequence
00200 {
00201 #ifndef PASN_LEANANDMEAN
00202 PCLASSINFO(H4505_CpRequestRes, PASN_Sequence);
00203 #endif
00204 public:
00205 H4505_CpRequestRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00206
00207 enum OptionalFields {
00208 e_parkedToPosition,
00209 e_extensionRes
00210 };
00211
00212 H4501_EndpointAddress m_parkedToNumber;
00213 H4505_ParkedToPosition m_parkedToPosition;
00214 H4505_ParkCondition m_parkCondition;
00215 H4505_ArrayOf_MixedExtension m_extensionRes;
00216
00217 PINDEX GetDataLength() const;
00218 BOOL Decode(PASN_Stream & strm);
00219 void Encode(PASN_Stream & strm) const;
00220 #ifndef PASN_NOPRINTON
00221 void PrintOn(ostream & strm) const;
00222 #endif
00223 Comparison Compare(const PObject & obj) const;
00224 PObject * Clone() const;
00225 };
00226
00227
00228
00229
00230
00231
00232 class H4505_CpSetupArg : public PASN_Sequence
00233 {
00234 #ifndef PASN_LEANANDMEAN
00235 PCLASSINFO(H4505_CpSetupArg, PASN_Sequence);
00236 #endif
00237 public:
00238 H4505_CpSetupArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00239
00240 enum OptionalFields {
00241 e_parkedToPosition,
00242 e_extensionArg
00243 };
00244
00245 H4501_EndpointAddress m_parkingNumber;
00246 H4501_EndpointAddress m_parkedNumber;
00247 H4501_EndpointAddress m_parkedToNumber;
00248 H4505_ParkedToPosition m_parkedToPosition;
00249 H4505_ArrayOf_MixedExtension m_extensionArg;
00250
00251 PINDEX GetDataLength() const;
00252 BOOL Decode(PASN_Stream & strm);
00253 void Encode(PASN_Stream & strm) const;
00254 #ifndef PASN_NOPRINTON
00255 void PrintOn(ostream & strm) const;
00256 #endif
00257 Comparison Compare(const PObject & obj) const;
00258 PObject * Clone() const;
00259 };
00260
00261
00262
00263
00264
00265
00266 class H4505_CpSetupRes : public PASN_Sequence
00267 {
00268 #ifndef PASN_LEANANDMEAN
00269 PCLASSINFO(H4505_CpSetupRes, PASN_Sequence);
00270 #endif
00271 public:
00272 H4505_CpSetupRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00273
00274 enum OptionalFields {
00275 e_parkedToPosition,
00276 e_extensionRes
00277 };
00278
00279 H4501_EndpointAddress m_parkedToNumber;
00280 H4505_ParkedToPosition m_parkedToPosition;
00281 H4505_ParkCondition m_parkCondition;
00282 H4505_ArrayOf_MixedExtension m_extensionRes;
00283
00284 PINDEX GetDataLength() const;
00285 BOOL Decode(PASN_Stream & strm);
00286 void Encode(PASN_Stream & strm) const;
00287 #ifndef PASN_NOPRINTON
00288 void PrintOn(ostream & strm) const;
00289 #endif
00290 Comparison Compare(const PObject & obj) const;
00291 PObject * Clone() const;
00292 };
00293
00294
00295
00296
00297
00298
00299 class H4505_GroupIndicationOnArg : public PASN_Sequence
00300 {
00301 #ifndef PASN_LEANANDMEAN
00302 PCLASSINFO(H4505_GroupIndicationOnArg, PASN_Sequence);
00303 #endif
00304 public:
00305 H4505_GroupIndicationOnArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00306
00307 enum OptionalFields {
00308 e_parkPosition,
00309 e_extensionArg
00310 };
00311
00312 H225_CallIdentifier m_callPickupId;
00313 H4501_EndpointAddress m_groupMemberUserNr;
00314 H4505_CallType m_retrieveCallType;
00315 H4501_EndpointAddress m_partyToRetrieve;
00316 H4501_EndpointAddress m_retrieveAddress;
00317 H4505_ParkedToPosition m_parkPosition;
00318 H4505_ArrayOf_MixedExtension m_extensionArg;
00319
00320 PINDEX GetDataLength() const;
00321 BOOL Decode(PASN_Stream & strm);
00322 void Encode(PASN_Stream & strm) const;
00323 #ifndef PASN_NOPRINTON
00324 void PrintOn(ostream & strm) const;
00325 #endif
00326 Comparison Compare(const PObject & obj) const;
00327 PObject * Clone() const;
00328 };
00329
00330
00331
00332
00333
00334
00335 class H4505_GroupIndicationOnRes : public PASN_Sequence
00336 {
00337 #ifndef PASN_LEANANDMEAN
00338 PCLASSINFO(H4505_GroupIndicationOnRes, PASN_Sequence);
00339 #endif
00340 public:
00341 H4505_GroupIndicationOnRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00342
00343 enum OptionalFields {
00344 e_extensionRes
00345 };
00346
00347 H4505_ArrayOf_MixedExtension m_extensionRes;
00348
00349 PINDEX GetDataLength() const;
00350 BOOL Decode(PASN_Stream & strm);
00351 void Encode(PASN_Stream & strm) const;
00352 #ifndef PASN_NOPRINTON
00353 void PrintOn(ostream & strm) const;
00354 #endif
00355 Comparison Compare(const PObject & obj) const;
00356 PObject * Clone() const;
00357 };
00358
00359
00360
00361
00362
00363
00364 class H4505_GroupIndicationOffArg : public PASN_Sequence
00365 {
00366 #ifndef PASN_LEANANDMEAN
00367 PCLASSINFO(H4505_GroupIndicationOffArg, PASN_Sequence);
00368 #endif
00369 public:
00370 H4505_GroupIndicationOffArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00371
00372 enum OptionalFields {
00373 e_extensionArg
00374 };
00375
00376 H225_CallIdentifier m_callPickupId;
00377 H4501_EndpointAddress m_groupMemberUserNr;
00378 H4505_ArrayOf_MixedExtension m_extensionArg;
00379
00380 PINDEX GetDataLength() const;
00381 BOOL Decode(PASN_Stream & strm);
00382 void Encode(PASN_Stream & strm) const;
00383 #ifndef PASN_NOPRINTON
00384 void PrintOn(ostream & strm) const;
00385 #endif
00386 Comparison Compare(const PObject & obj) const;
00387 PObject * Clone() const;
00388 };
00389
00390
00391
00392
00393
00394
00395 class H4505_GroupIndicationOffRes : public PASN_Sequence
00396 {
00397 #ifndef PASN_LEANANDMEAN
00398 PCLASSINFO(H4505_GroupIndicationOffRes, PASN_Sequence);
00399 #endif
00400 public:
00401 H4505_GroupIndicationOffRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00402
00403 enum OptionalFields {
00404 e_extensionRes
00405 };
00406
00407 H4505_ArrayOf_MixedExtension m_extensionRes;
00408
00409 PINDEX GetDataLength() const;
00410 BOOL Decode(PASN_Stream & strm);
00411 void Encode(PASN_Stream & strm) const;
00412 #ifndef PASN_NOPRINTON
00413 void PrintOn(ostream & strm) const;
00414 #endif
00415 Comparison Compare(const PObject & obj) const;
00416 PObject * Clone() const;
00417 };
00418
00419
00420
00421
00422
00423
00424 class H4505_PickrequArg : public PASN_Sequence
00425 {
00426 #ifndef PASN_LEANANDMEAN
00427 PCLASSINFO(H4505_PickrequArg, PASN_Sequence);
00428 #endif
00429 public:
00430 H4505_PickrequArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00431
00432 enum OptionalFields {
00433 e_callPickupId,
00434 e_partyToRetrieve,
00435 e_parkPosition,
00436 e_extensionArg
00437 };
00438
00439 H4501_EndpointAddress m_picking_upNumber;
00440 H225_CallIdentifier m_callPickupId;
00441 H4501_EndpointAddress m_partyToRetrieve;
00442 H4501_EndpointAddress m_retrieveAddress;
00443 H4505_ParkedToPosition m_parkPosition;
00444 H4505_ArrayOf_MixedExtension m_extensionArg;
00445
00446 PINDEX GetDataLength() const;
00447 BOOL Decode(PASN_Stream & strm);
00448 void Encode(PASN_Stream & strm) const;
00449 #ifndef PASN_NOPRINTON
00450 void PrintOn(ostream & strm) const;
00451 #endif
00452 Comparison Compare(const PObject & obj) const;
00453 PObject * Clone() const;
00454 };
00455
00456
00457
00458
00459
00460
00461 class H4505_PickrequRes : public PASN_Sequence
00462 {
00463 #ifndef PASN_LEANANDMEAN
00464 PCLASSINFO(H4505_PickrequRes, PASN_Sequence);
00465 #endif
00466 public:
00467 H4505_PickrequRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00468
00469 enum OptionalFields {
00470 e_extensionRes
00471 };
00472
00473 H225_CallIdentifier m_callPickupId;
00474 H4505_ArrayOf_MixedExtension m_extensionRes;
00475
00476 PINDEX GetDataLength() const;
00477 BOOL Decode(PASN_Stream & strm);
00478 void Encode(PASN_Stream & strm) const;
00479 #ifndef PASN_NOPRINTON
00480 void PrintOn(ostream & strm) const;
00481 #endif
00482 Comparison Compare(const PObject & obj) const;
00483 PObject * Clone() const;
00484 };
00485
00486
00487
00488
00489
00490
00491 class H4505_PickupArg : public PASN_Sequence
00492 {
00493 #ifndef PASN_LEANANDMEAN
00494 PCLASSINFO(H4505_PickupArg, PASN_Sequence);
00495 #endif
00496 public:
00497 H4505_PickupArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00498
00499 enum OptionalFields {
00500 e_extensionArg
00501 };
00502
00503 H225_CallIdentifier m_callPickupId;
00504 H4501_EndpointAddress m_picking_upNumber;
00505 H4505_ArrayOf_MixedExtension m_extensionArg;
00506
00507 PINDEX GetDataLength() const;
00508 BOOL Decode(PASN_Stream & strm);
00509 void Encode(PASN_Stream & strm) const;
00510 #ifndef PASN_NOPRINTON
00511 void PrintOn(ostream & strm) const;
00512 #endif
00513 Comparison Compare(const PObject & obj) const;
00514 PObject * Clone() const;
00515 };
00516
00517
00518
00519
00520
00521
00522 class H4505_PickupRes : public PASN_Sequence
00523 {
00524 #ifndef PASN_LEANANDMEAN
00525 PCLASSINFO(H4505_PickupRes, PASN_Sequence);
00526 #endif
00527 public:
00528 H4505_PickupRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00529
00530 enum OptionalFields {
00531 e_extensionRes
00532 };
00533
00534 H4505_ArrayOf_MixedExtension m_extensionRes;
00535
00536 PINDEX GetDataLength() const;
00537 BOOL Decode(PASN_Stream & strm);
00538 void Encode(PASN_Stream & strm) const;
00539 #ifndef PASN_NOPRINTON
00540 void PrintOn(ostream & strm) const;
00541 #endif
00542 Comparison Compare(const PObject & obj) const;
00543 PObject * Clone() const;
00544 };
00545
00546
00547
00548
00549
00550
00551 class H4505_PickExeArg : public PASN_Sequence
00552 {
00553 #ifndef PASN_LEANANDMEAN
00554 PCLASSINFO(H4505_PickExeArg, PASN_Sequence);
00555 #endif
00556 public:
00557 H4505_PickExeArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00558
00559 enum OptionalFields {
00560 e_extensionArg
00561 };
00562
00563 H225_CallIdentifier m_callPickupId;
00564 H4501_EndpointAddress m_picking_upNumber;
00565 H4501_EndpointAddress m_partyToRetrieve;
00566 H4505_ArrayOf_MixedExtension m_extensionArg;
00567
00568 PINDEX GetDataLength() const;
00569 BOOL Decode(PASN_Stream & strm);
00570 void Encode(PASN_Stream & strm) const;
00571 #ifndef PASN_NOPRINTON
00572 void PrintOn(ostream & strm) const;
00573 #endif
00574 Comparison Compare(const PObject & obj) const;
00575 PObject * Clone() const;
00576 };
00577
00578
00579
00580
00581
00582
00583 class H4505_PickExeRes : public PASN_Sequence
00584 {
00585 #ifndef PASN_LEANANDMEAN
00586 PCLASSINFO(H4505_PickExeRes, PASN_Sequence);
00587 #endif
00588 public:
00589 H4505_PickExeRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00590
00591 enum OptionalFields {
00592 e_extensionRes
00593 };
00594
00595 H4505_ArrayOf_MixedExtension m_extensionRes;
00596
00597 PINDEX GetDataLength() const;
00598 BOOL Decode(PASN_Stream & strm);
00599 void Encode(PASN_Stream & strm) const;
00600 #ifndef PASN_NOPRINTON
00601 void PrintOn(ostream & strm) const;
00602 #endif
00603 Comparison Compare(const PObject & obj) const;
00604 PObject * Clone() const;
00605 };
00606
00607
00608
00609
00610
00611
00612 class H4505_CpNotifyArg : public PASN_Sequence
00613 {
00614 #ifndef PASN_LEANANDMEAN
00615 PCLASSINFO(H4505_CpNotifyArg, PASN_Sequence);
00616 #endif
00617 public:
00618 H4505_CpNotifyArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00619
00620 enum OptionalFields {
00621 e_parkingNumber,
00622 e_extensionArg
00623 };
00624
00625 H4501_EndpointAddress m_parkingNumber;
00626 H4505_ArrayOf_MixedExtension m_extensionArg;
00627
00628 PINDEX GetDataLength() const;
00629 BOOL Decode(PASN_Stream & strm);
00630 void Encode(PASN_Stream & strm) const;
00631 #ifndef PASN_NOPRINTON
00632 void PrintOn(ostream & strm) const;
00633 #endif
00634 Comparison Compare(const PObject & obj) const;
00635 PObject * Clone() const;
00636 };
00637
00638
00639
00640
00641
00642
00643 class H4505_CpickupNotifyArg : public PASN_Sequence
00644 {
00645 #ifndef PASN_LEANANDMEAN
00646 PCLASSINFO(H4505_CpickupNotifyArg, PASN_Sequence);
00647 #endif
00648 public:
00649 H4505_CpickupNotifyArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00650
00651 enum OptionalFields {
00652 e_picking_upNumber,
00653 e_extensionArg
00654 };
00655
00656 H4501_EndpointAddress m_picking_upNumber;
00657 H4505_ArrayOf_MixedExtension m_extensionArg;
00658
00659 PINDEX GetDataLength() const;
00660 BOOL Decode(PASN_Stream & strm);
00661 void Encode(PASN_Stream & strm) const;
00662 #ifndef PASN_NOPRINTON
00663 void PrintOn(ostream & strm) const;
00664 #endif
00665 Comparison Compare(const PObject & obj) const;
00666 PObject * Clone() const;
00667 };
00668
00669
00670 #endif // __H4505_H
00671
00672 #endif // if ! H323_DISABLE_H4505
00673
00674
00675