# iedata.h

Go to the documentation of this file.

    00001 /*
    00002  *
    00003  *
    00004  * Inter Asterisk Exchange 2
    00005  *
    00006  * defines the different types of information elements
    00007  *
    00008  * Open Phone Abstraction Library (OPAL)
    00009  *
    00010  * Copyright (c) 2005 Indranet Technologies Ltd.
    00011  *
    00012  * The contents of this file are subject to the Mozilla Public License
    00013  * Version 1.0 (the "License"); you may not use this file except in
    00014  * compliance with the License. You may obtain a copy of the License at
    00015  * http://www.mozilla.org/MPL/
    00016  *
    00017  * Software distributed under the License is distributed on an "AS IS"
    00018  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
    00019  * the License for the specific language governing rights and limitations
    00020  * under the License.
    00021  *
    00022  * The Original Code is Open Phone Abstraction Library.
    00023  *
    00024  * The Initial Developer of the Original Code is Indranet Technologies Ltd.
    00025  *
    00026  * The author of this code is Derek J Smithies
    00027  *
    00028  *
    00029  *
    00030  *
    00031  *  $Log: iedata.h,v $
    00032  *  Revision 1.3  2007/04/19 06:17:21  csoutheren
    00033  *  Fixes for precompiled headers with gcc
    00034  *
    00035  *  Revision 1.2  2005/08/26 03:07:38  dereksmithies
    00036  *  Change naming convention, so all class names contain the string "IAX2"
    00037  *
    00038  *  Revision 1.1  2005/07/30 07:01:32  csoutheren
    00039  *  Added implementation of IAX2 (Inter Asterisk Exchange 2) protocol
    00040  *  Thanks to Derek Smithies of Indranet Technologies Ltd. for
    00041  *  writing and contributing this code
    00042  *
    00043  *
    00044  *
    00045  *
    00046  *
    00047  */
    00048
    00049 #ifndef IEDATA_H
    00050 #define IEDATA_H
    00051
    00052 #ifndef _PTLIB_H
    00053 #include <ptlib.h>
    00054 #endif
    00055
    00056 #include <opal/buildopts.h>
    00057
    00058 #include <ptlib/sockets.h>
    00059
    00060 #ifdef P_USE_PRAGMA
    00061 #pragma interface
    00062 #endif
    00063
    00069 class IAX2IeData :  public PObject
    00070 {
    00071   PCLASSINFO(IAX2IeData, PObject);
    00072  public:
    00077   IAX2IeData();
    00078
    00079
    00080   ~IAX2IeData();
    00082
    00084   virtual void PrintOn(ostream & strm) const;
    00085
    00086
    00087   PString            calledNumber;
    00088   PString            callingNumber;
    00089   PString            callingAni;
    00090   PString            callingName;
    00091   int                callingTon;
    00092   int                callingTns;
    00093   int                callingPres;
    00094   PString            calledContext;
    00095   PString            userName;
    00096   PString            password;
    00097   unsigned int       capability;
    00098   unsigned int       format;
    00099   PString            codecPrefs;
    00100   PString            language;
    00101   int                version;
    00102   PINDEX             adsicpe;
    00103   PString            dnid;
    00104   PString            rdnis;
    00105   short              authMethods;
    00106   unsigned int       encryptionMethods;
    00107   PString            challenge;
    00108   PString            md5Result;
    00109   PString            rsaResult;
    00110   PIPSocket::Address apparentAddr;
    00111   PINDEX             refresh;
    00112   PINDEX             dpStatus;
    00113   PINDEX             callNo;
    00114   PString            cause;
    00115   BYTE               causeCode;
    00116   BYTE               iaxUnknown;
    00117   int                msgCount;
    00118   int                autoAnswer;
    00119   int                musicOnHold;
    00120   unsigned int       transferId;
    00121   PTime              dateTime;
    00122   PString            deviceType;
    00123   PString            serviceIdent;
    00124   int                firmwareVer;
    00125   unsigned int       fwBlockDesc;
    00126   PBYTEArray         fwBlockData;
    00127   PString            encKey;
    00128   unsigned int       provVer;
    00129   PINDEX             samplingRate;
    00130   int                provverPres;
    00131   unsigned int       receivedJitter;
    00132   unsigned int       receivedLoss;
    00133   unsigned int       receivedPackets;
    00134   unsigned short     receivedDelay;
    00135   unsigned int       receivedDropped;
    00136   unsigned int       receivedOoo;
    00137 };
    00138
    00139 #endif // IEDATAH
    00140 /* The comment below is magic for those who use emacs to edit this file. */
    00141 /* With the comment below, the tab key does auto indent to 4 spaces.     */
    00142
    00143 /*
    00144  * Local Variables:
    00145  * mode:c
    00146  * c-file-style:linux
    00147  * c-basic-offset:2
    00148  * End:
    00149  */
    00150