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