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 PBoolean 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 PBoolean 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 PBoolean 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 PBoolean 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 PBoolean 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 // __H4507_H
00377
00378 #endif // if ! H323_DISABLE_H4507
00379
00380
00381