00001
00002
00003
00004
00005
00006
00007
#if ! H323_DISABLE_H4507
00008
00009
#ifndef __H4507_H
00010
#define __H4507_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
00023
00024
00025
00026
00027
00028 class H4507_H323_MWI_Operations :
public PASN_Enumeration
00029 {
00030
#ifndef PASN_LEANANDMEAN
00031
PCLASSINFO(
H4507_H323_MWI_Operations, PASN_Enumeration);
00032
#endif
00033
public:
00034
H4507_H323_MWI_Operations(
unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00035
00036 enum Enumerations {
00037
e_mwiActivate = 80,
00038
e_mwiDeactivate,
00039
e_mwiInterrogate
00040 };
00041
00042
H4507_H323_MWI_Operations & operator=(
unsigned v);
00043 PObject *
Clone() const;
00044 };
00045
00046
00047
00048
00049
00050
00051 class
H4504_MixedExtension;
00052
00053 class
H4507_DummyRes : public PASN_Array
00054 {
00055
#ifndef PASN_LEANANDMEAN
00056
PCLASSINFO(
H4507_DummyRes, PASN_Array);
00057
#endif
00058
public:
00059
H4507_DummyRes(
unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00060
00061 PASN_Object * CreateObject()
const;
00062 H4504_MixedExtension & operator[](PINDEX i)
const;
00063 PObject *
Clone()
const;
00064 };
00065
00066
00067
00068
00069
00070
00071
class H4507_MWIInterrogateResElt;
00072
00073 class H4507_MWIInterrogateRes :
public PASN_Array
00074 {
00075
#ifndef PASN_LEANANDMEAN
00076
PCLASSINFO(
H4507_MWIInterrogateRes, PASN_Array);
00077
#endif
00078
public:
00079
H4507_MWIInterrogateRes(
unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00080
00081 PASN_Object * CreateObject()
const;
00082
H4507_MWIInterrogateResElt & operator[](PINDEX i)
const;
00083 PObject *
Clone()
const;
00084 };
00085
00086
00087
00088
00089
00090
00091
class H4501_EndpointAddress;
00092
00093 class H4507_MsgCentreId :
public PASN_Choice
00094 {
00095
#ifndef PASN_LEANANDMEAN
00096
PCLASSINFO(
H4507_MsgCentreId, PASN_Choice);
00097
#endif
00098
public:
00099
H4507_MsgCentreId(
unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00100
00101 enum Choices {
00102 e_integer,
00103 e_partyNumber,
00104 e_numericString
00105 };
00106
00107
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00108
operator H4501_EndpointAddress &() const;
00109 #else
00110 operator
H4501_EndpointAddress &();
00111 operator const H4501_EndpointAddress &() const;
00112 #endif
00113
00114 BOOL CreateObject();
00115 PObject * Clone() const;
00116 };
00117
00118
00119
00120
00121
00122
00123 class
H4507_NbOfMessages : public PASN_Integer
00124 {
00125
#ifndef PASN_LEANANDMEAN
00126
PCLASSINFO(
H4507_NbOfMessages, PASN_Integer);
00127
#endif
00128
public:
00129
H4507_NbOfMessages(
unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00130
00131
H4507_NbOfMessages & operator=(
int v);
00132
H4507_NbOfMessages & operator=(
unsigned v);
00133 PObject *
Clone()
const;
00134 };
00135
00136
00137
00138
00139
00140
00141 class H4507_TimeStamp :
public PASN_GeneralisedTime
00142 {
00143
#ifndef PASN_LEANANDMEAN
00144
PCLASSINFO(
H4507_TimeStamp, PASN_GeneralisedTime);
00145
#endif
00146
public:
00147
H4507_TimeStamp(
unsigned tag = UniversalGeneralisedTime, TagClass tagClass = UniversalTagClass);
00148
00149 PObject *
Clone()
const;
00150 };
00151
00152
00153
00154
00155
00156
00157 class H4507_MessageWaitingIndicationErrors :
public PASN_Enumeration
00158 {
00159
#ifndef PASN_LEANANDMEAN
00160
PCLASSINFO(
H4507_MessageWaitingIndicationErrors, PASN_Enumeration);
00161
#endif
00162
public:
00163
H4507_MessageWaitingIndicationErrors(
unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00164
00165 enum Enumerations {
00166 e_notActivated = 31,
00167 e_undefined = 2002,
00168 e_invalidMsgCentreId = 1018
00169 };
00170
00171
H4507_MessageWaitingIndicationErrors & operator=(
unsigned v);
00172 PObject *
Clone() const;
00173 };
00174
00175
00176
00177
00178
00179
00180 class
H4507_BasicService : public PASN_Enumeration
00181 {
00182
#ifndef PASN_LEANANDMEAN
00183
PCLASSINFO(
H4507_BasicService, PASN_Enumeration);
00184
#endif
00185
public:
00186
H4507_BasicService(
unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00187
00188 enum Enumerations {
00189 e_allServices,
00190 e_speech,
00191 e_unrestrictedDigitalInformation,
00192 e_audio3100Hz,
00193 e_telephony = 32,
00194 e_teletex,
00195 e_telefaxGroup4Class1,
00196 e_videotexSyntaxBased,
00197 e_videotelephony
00198 };
00199
00200
H4507_BasicService & operator=(
unsigned v);
00201 PObject *
Clone() const;
00202 };
00203
00204
00205
00206
00207
00208
00209 class
H4504_MixedExtension;
00210
00211 class
H4507_ArrayOf_MixedExtension : public PASN_Array
00212 {
00213
#ifndef PASN_LEANANDMEAN
00214
PCLASSINFO(
H4507_ArrayOf_MixedExtension, PASN_Array);
00215
#endif
00216
public:
00217
H4507_ArrayOf_MixedExtension(
unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00218
00219 PASN_Object * CreateObject()
const;
00220 H4504_MixedExtension & operator[](PINDEX i)
const;
00221 PObject *
Clone()
const;
00222 };
00223
00224
00225
00226
00227
00228
00229 class H4507_MWIActivateArg :
public PASN_Sequence
00230 {
00231
#ifndef PASN_LEANANDMEAN
00232
PCLASSINFO(
H4507_MWIActivateArg,
PASN_Sequence);
00233
#endif
00234
public:
00235
H4507_MWIActivateArg(
unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00236
00237 enum OptionalFields {
00238 e_msgCentreId,
00239 e_nbOfMessages,
00240 e_originatingNr,
00241 e_timestamp,
00242 e_priority,
00243 e_extensionArg
00244 };
00245
00246 H4501_EndpointAddress m_servedUserNr;
00247 H4507_BasicService m_basicService;
00248 H4507_MsgCentreId m_msgCentreId;
00249 H4507_NbOfMessages m_nbOfMessages;
00250 H4501_EndpointAddress m_originatingNr;
00251 H4507_TimeStamp m_timestamp;
00252 PASN_Integer m_priority;
00253 H4507_ArrayOf_MixedExtension m_extensionArg;
00254
00255 PINDEX GetDataLength() const;
00256 BOOL Decode(PASN_Stream & strm);
00257
void Encode(PASN_Stream & strm) const;
00258 #ifndef PASN_NOPRINTON
00259
void PrintOn(ostream & strm) const;
00260 #endif
00261 Comparison Compare(const PObject & obj) const;
00262 PObject * Clone() const;
00263 };
00264
00265
00266
00267
00268
00269
00270 class
H4507_MWIDeactivateArg : public
PASN_Sequence
00271 {
00272
#ifndef PASN_LEANANDMEAN
00273
PCLASSINFO(
H4507_MWIDeactivateArg, PASN_Sequence);
00274
#endif
00275
public:
00276
H4507_MWIDeactivateArg(
unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00277
00278 enum OptionalFields {
00279 e_msgCentreId,
00280 e_callbackReq,
00281 e_extensionArg
00282 };
00283
00284 H4501_EndpointAddress m_servedUserNr;
00285 H4507_BasicService m_basicService;
00286 H4507_MsgCentreId m_msgCentreId;
00287 PASN_Boolean m_callbackReq;
00288 H4507_ArrayOf_MixedExtension m_extensionArg;
00289
00290 PINDEX GetDataLength() const;
00291 BOOL Decode(PASN_Stream & strm);
00292
void Encode(PASN_Stream & strm) const;
00293 #ifndef PASN_NOPRINTON
00294
void PrintOn(ostream & strm) const;
00295 #endif
00296 Comparison Compare(const PObject & obj) const;
00297 PObject * Clone() const;
00298 };
00299
00300
00301
00302
00303
00304
00305 class
H4507_MWIInterrogateArg : public PASN_Sequence
00306 {
00307
#ifndef PASN_LEANANDMEAN
00308
PCLASSINFO(
H4507_MWIInterrogateArg, PASN_Sequence);
00309
#endif
00310
public:
00311
H4507_MWIInterrogateArg(
unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00312
00313 enum OptionalFields {
00314 e_msgCentreId,
00315 e_callbackReq,
00316 e_extensionArg
00317 };
00318
00319 H4501_EndpointAddress m_servedUserNr;
00320 H4507_BasicService m_basicService;
00321 H4507_MsgCentreId m_msgCentreId;
00322 PASN_Boolean m_callbackReq;
00323 H4507_ArrayOf_MixedExtension m_extensionArg;
00324
00325 PINDEX GetDataLength() const;
00326 BOOL Decode(PASN_Stream & strm);
00327
void Encode(PASN_Stream & strm) const;
00328 #ifndef PASN_NOPRINTON
00329
void PrintOn(ostream & strm) const;
00330 #endif
00331 Comparison Compare(const PObject & obj) const;
00332 PObject * Clone() const;
00333 };
00334
00335
00336
00337
00338
00339
00340 class
H4507_MWIInterrogateResElt : public PASN_Sequence
00341 {
00342
#ifndef PASN_LEANANDMEAN
00343
PCLASSINFO(
H4507_MWIInterrogateResElt, PASN_Sequence);
00344
#endif
00345
public:
00346
H4507_MWIInterrogateResElt(
unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00347
00348 enum OptionalFields {
00349 e_msgCentreId,
00350 e_nbOfMessages,
00351 e_originatingNr,
00352 e_timestamp,
00353 e_priority,
00354 e_extensionArg
00355 };
00356
00357 H4507_BasicService m_basicService;
00358 H4507_MsgCentreId m_msgCentreId;
00359 H4507_NbOfMessages m_nbOfMessages;
00360 H4501_EndpointAddress m_originatingNr;
00361 H4507_TimeStamp m_timestamp;
00362 PASN_Integer m_priority;
00363 H4507_ArrayOf_MixedExtension m_extensionArg;
00364
00365 PINDEX GetDataLength() const;
00366 BOOL Decode(PASN_Stream & strm);
00367
void Encode(PASN_Stream & strm) const;
00368 #ifndef PASN_NOPRINTON
00369
void PrintOn(ostream & strm) const;
00370 #endif
00371 Comparison Compare(const PObject & obj) const;
00372 PObject * Clone() const;
00373 };
00374
00375
00376 #endif
00377
00378 #endif
00379
00380
00381