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