cdrtags.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00009 /*
00010   AUTHOR(S): Stephan Broennimann (vb)
00011 
00012   RCS information
00013    $Name: OSB_060808 $
00014    $Revision: 1.12 $
00015 
00016   License
00017    OSB rating and billing library for communication networks
00018    Copyright (C) 2004, 2005, 2006  OSB systems
00019 
00020    This file may be distributed and/or modify under the terms of the
00021    GNU General Public License (GPL) as published by the Free Software
00022    Foundation which is provided in the file LICENSE.GPL included in the
00023    packaging of this file.
00024 
00025    The file is distributed in the hope that it will be useful, but WITHOUT
00026    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00027    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00028    for more details.
00029 
00030    Holders of a OSB Commercial License may use this file under the terms
00031    and conditions of this commercial license.
00032  */
00033 #ifndef _CDRTAGS_H_
00034 #define _CDRTAGS_H_
00035 
00036 // *********************************************************************
00037 // included header files
00038 // + standard includes
00039 #include <cstddef>                      // needed for size_t
00040 
00041 // + local headers
00042 #include "resource.h"
00043 
00044 // *********************************************************************
00045 // namespace extensions
00046 namespace OSB_LIB {
00047 
00048 // *********************************************************************
00049 // class definitions
00068     enum CdrAsn1Tag {
00069         tagUsageType              = 0xdf20, // primitive
00070         tagRecordType             = 0xdf21, // primitive
00071         tagUsageSubtype          =  0xdf31, // primitive
00072         tagStatus                =  0xdf32, // primitive
00073         tagTimeStamp              = 0xff22, // constructed
00074         tagInitTime              =  0xff33, // constructed
00075         tagTransactionId          = 0xdf23, // primitive
00076         tagPartRecRef           =   0xdf36, // primitive
00077         tagPartRecNo              = 0xdf24, // primitive
00078         tagChargeInd            =   0xdf37, // primitive
00079         tagRatedParty             = 0xff25, // constructed
00080         tagServedParty            = 0xff26, // constructed
00081         tagCalledParty            = 0xff27, // constructed
00082         tagCallingParty           = 0xff28, // constructed
00083         tagNetworkElementId       = 0xff29, // constructed
00084         tagSwitchId               = 0xdf2a, // primitive
00085         tagInTrkGroup             = 0xdf2b, // primitive
00086         tagInTrkNumber           =  0xdf34, // primitive
00087         tagOutTrkGroup            = 0xdf2c, // primitive
00088         tagOutTrkNumber          =  0xdf35, // primitive
00089         tagRemoteIpAddress        = 0xdf2d, // primitive
00090         tagUsedServices           = 0xff2e, // constructed
00091         tagOrigCountList          = 0xff2f, // constructed
00092         tagOsbErrors              = 0xff30, // constructed
00093 
00094         // Composed data types:
00095         tagOsbError               = 0xff8100,
00096         tagOsbErrorArgs           = 0xff8101,
00097         tagChargeDetail           = 0xff8102,
00098         tagChargeDetails          = 0xff8103,
00099         tagDistTcsVersion         = 0xff8105,
00100         tagMassTfVersion          = 0xff8106,
00101         tagMoney                  = 0xff8107,
00102         tagMoneyInfo              = 0xff8108,
00103         tagMoneyInfoList          = 0xff8109,
00104         tagNwAddress              = 0xff810a,
00105         tagOrigCount              = 0xff810b,
00106         tagScsVersion             = 0xff810c,
00107         tagServiceElement         = 0xff810d,
00108         tagServiceTuple           = 0xff810e,
00109         tagFlatTfVersion          = 0xff810f,
00110         tagTariffInfo             = 0xff8110,
00111         tagTcDistInfo             = 0xff8111,
00112         tagTcInfo                 = 0xff8112,
00113         tagTcsVersion             = 0xff8113,
00114         tagTpsVersion             = 0xff8114,
00115         tagTsVersion              = 0xff8115,
00116         tagUsedService            = 0xff8116,
00117         tagExtChargeInfo          = 0xff8117,
00118         tagExtChargeList          = 0xff8118,
00119         tagExtCharge              = 0xff8119,
00120         tagExtTaxList             = 0xff811a,
00121         tagExtTax                 = 0xff811b,
00122 
00123         // Resource types
00124         tagAccessNumber           = 0xff8164,
00125         tagCallingCard            = 0xff8165,
00126         tagE164Resource           = 0xff8166,
00127         tagIp4Address             = 0xff8167,
00128         tagIpGroup                = 0xff8168,
00129         tagImsi                   = 0xff8169,
00130         tagTrunkResource          = 0xff816a,
00131 
00132         // Primitive data types:
00133         tagAmount                 = 0xdf8200,
00134         tagAnalyzedNumber        =  0xdf822e,
00135         tagAnalyzedTon           =  0xdf822f,
00136         tagCcNumber               = 0xdf8201,
00137         tagOsbErrorArg            = 0xdf8202,
00138         tagOsbErrorId             = 0xdf8203,
00139         tagCgi                    = 0xdf8204,
00140         tagChargeTraitsId         = 0xdf8205,
00141         tagContractId             = 0xdf8206,
00142         tagCountryCode           = 0xdf8234,
00143         tagCurrencyCode           = 0xdf8207,
00144         tagDateTime              =  0xdf822c,
00145         tagDenominator            = 0xdf8208,
00146         tagElementId              = 0xdf820a,
00147         tagImei                   = 0xdf820b,
00148         tagImsiNumber             = 0xdf820c,
00149         tagMappedDestination      = 0xdf820e,
00150         tagMappedOrigin           = 0xdf820f,
00151         tagModInd                 = 0xdf8210,
00152         tagMsrn                   = 0xdf8211,
00153         tagNetworkId              = 0xdf8212,
00154         tagNominator              = 0xdf8213,
00155         tagNumError               = 0xdf8215,
00156         tagNumErroredOut         =  0xdf8214,
00157         tagNumberingPlan          = 0xdf8216,
00158         tagOid                    = 0xdf8217,
00159         tagOriginalTon           =  0xdf8229,
00160         tagOriginalNumber         = 0xdf8218,
00161         tagPersProductId          = 0xdf821a,
00162         tagProductNodeId          = 0xdf821b,
00163         tagRatedDestination       = 0xdf821c,
00164         tagRatedOrigin            = 0xdf821d,
00165         tagRatedPartyType        =  0xdf8235,
00166         tagRatedService          =  0xdf8219,
00167         tagRecordStreamId         = 0xdf821e,
00168         tagResourceNumber         = 0xdf821f,
00169         tagServiceClass           = 0xdf8220,
00170         tagServiceCode            = 0xdf8221,
00171         tagServiceType            = 0xdf8222,
00172         tagStreamId               = 0xdf8223,
00173         tagTariffClass            = 0xdf8224,
00174         tagTariffObjectId         = 0xdf8225,
00175         tagTariffObjectVs         = 0xdf8226,
00176         tagTariffPeriod           = 0xdf8227,
00177         tagTariffZone             = 0xdf8228,
00178         tagTimeOffset            =  0xdf822d,
00179         tagUnitId                 = 0xdf822a,
00180         tagVolume                 = 0xdf822b,
00181         tagRoundedVol             = 0xdf8230,
00182         tagExtDestination         = 0xdf8231,
00183         tagExtTariffCode         =  0xdf8236,
00184         tagExtTaxType             = 0xdf8232,
00185         tagExtTaxRate             = 0xdf8233
00186     };
00187 
00195     std::size_t cdrAsn1Tag(CdrAsn1Tag cdrTag);
00196 
00204     CdrAsn1Tag cdrAsn1Tag(std::size_t tagValue);
00205 
00213     ResourceType resourceType(std::size_t tagValue);
00214 
00222     CdrAsn1Tag cdrAsn1Tag(ResourceType type);
00223 }                                       // namespace OSB_LIB
00224 #endif                                  // #ifndef _CDRTAGS_H_

Generated on Sat Sep 2 14:06:32 2006 for OSB Library by  doxygen 1.4.7