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
00671
00672 #endif
00673
00674
00675