ims_pm.h

Go to the documentation of this file.
00001 /*
00002  * $Id: ims_pm.h 320 2007-06-15 14:07:58Z vingarzan $
00003  *  
00004  * Copyright (C) 2004-2006 FhG Fokus
00005  *
00006  * This file is part of Open IMS Core - an open source IMS CSCFs & HSS
00007  * implementation
00008  *
00009  * Open IMS Core is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * For a license to use the Open IMS Core software under conditions
00015  * other than those described here, or to purchase support for this
00016  * software, please contact Fraunhofer FOKUS by e-mail at the following
00017  * addresses:
00018  *     info@open-ims.org
00019  *
00020  * Open IMS Core is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023  * GNU General Public License for more details.
00024  * 
00025  * It has to be noted that this Open Source IMS Core System is not 
00026  * intended to become or act as a product in a commercial context! Its 
00027  * sole purpose is to provide an IMS core reference implementation for 
00028  * IMS technology testing and IMS application prototyping for research 
00029  * purposes, typically performed in IMS test-beds.
00030  * 
00031  * Users of the Open Source IMS Core System have to be aware that IMS
00032  * technology may be subject of patents and licence terms, as being 
00033  * specified within the various IMS-related IETF, ITU-T, ETSI, and 3GPP
00034  * standards. Thus all Open IMS Core users have to take notice of this 
00035  * fact and have to agree to check out carefully before installing, 
00036  * using and extending the Open Source IMS Core System, if related 
00037  * patents and licences may become applicable to the intended usage 
00038  * context.  
00039  *
00040  * You should have received a copy of the GNU General Public License
00041  * along with this program; if not, write to the Free Software
00042  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00043  * 
00044  */
00045  
00046 
00058 /*#define WITH_IMS_PM*/
00059 
00060 #ifdef WITH_IMS_PM
00061 
00062 #ifndef IMS_PM_H_
00063 #define IMS_PM_H_
00064 
00065 #include "../../sr_module.h"
00066 
00067 #define IMS_PM_DEBUG 1
00068 
00069 enum _ims_pm_event_types {
00070     OP_NOP                          = 0,
00071 
00072     OP_NodeStart                    = 1,
00073     OP_NodeStop                     = 2,
00074     
00075     UR_AttInitReg                   = 3,
00076     UR_SuccInitReg                  = 4,
00077     UR_FailInitReg                  = 5,
00078     UR_MeanInitRegSetupTime         = 6,
00079 
00080     UR_AttReReg                     = 7,
00081     UR_SuccReReg                    = 8,
00082     UR_FailReReg                    = 9,
00083     UR_MeanReRegSetupTime           = 10,
00084 
00085     UR_AttDeRegUe                   = 11,
00086     UR_SuccDeRegUe                  = 12,
00087     UR_FailDeRegUe                  = 13,
00088     UR_MeanDeRegUeSetupTime         = 14,
00089 
00090     UR_AttDeRegHss                  = 15,
00091     UR_SuccDeRegHss                 = 16,
00092     UR_FailDeRegHss                 = 17,
00093     UR_MeanDeRegHssSetupTime        = 18,
00094     
00095     UR_AttDeRegCscf                 = 19,
00096     UR_SuccDeRegCscf                = 20,
00097     UR_FailDeRegCscf                = 21,
00098     UR_MeanDeRegCscfSetupTime       = 22,
00099     
00100     UR_Att3rdPartyReg               = 23,
00101     UR_Succ3rdPartyReg              = 24,
00102     UR_Fail3rdPartyReg              = 25,
00103     UR_Mean3rdPartyRegSetupTime     = 26,
00104     
00105     UR_AttUAR                       = 27,
00106     UR_SuccUAA                      = 28,
00107     UR_FailUAA                      = 29,
00108     UR_MeanUATime                   = 30,
00109     
00110     UR_AttSAR                       = 31,
00111     UR_SuccSAA                      = 32,
00112     UR_FailSAA                      = 33,
00113     UR_MeanSATime                   = 34,
00114 
00115     SC_AttSession                   = 35,
00116     SC_SuccSession                  = 36,
00117     SC_AnsSession                   = 37,
00118     SC_FailSession                  = 38,
00119     SC_NbrSimulAnsSessionMax        = 39,
00120     
00121     LIQ_AttLIR                      = 40,       
00122     LIQ_SuccLIA                     = 41,       
00123     LIQ_FailLIA                     = 42,
00124     LIQ_MeanLITime                  = 43,       
00125     
00126     IC_AttSessionFromOtherNtwkDmn   = 44,
00127     IC_403SessionFromOtherNtwkDmn   = 45,
00128     IC_AttSessionToOtherNtwkDmn     = 46,
00129     IC_403SessionToOtherNtwkDmn     = 47,
00130     
00131     RU_AttInitRegOfVisitUsers       = 48,
00132     RU_Nbr403InitRegOfVisitUsers    = 49,
00133     RU_RmgUsersOut                  = 50,
00134     
00135     MA_AttMAR                       = 51,
00136     MA_SuccMAA                      = 52,
00137     MA_FailMAA                      = 53,
00138     MA_MeanMATime                   = 54,
00139     
00140     UP_AttPPR                       = 55,
00141     UP_SuccPPA                      = 56,
00142     UP_FailPPA                      = 57,
00143     UP_MeanPPTime                   = 58,
00144      
00145     OTHER_Att                       = 59,
00146     OTHER_Succ                      = 60,
00147     OTHER_Fail                      = 61,
00148     OTHER_MeanTime                  = 62,
00149         
00150     RD_NbrIMPU                      = 63,
00151     RD_NbrContact                   = 64,
00152     RD_NbrSubs                      = 65,
00153     RD_NbrIPSecSA                   = 66,
00154     RD_NbrTLSSA                     = 67,
00155     RD_NbrNATPinHoles               = 68,           
00156     RD_NbrDialogs                   = 69,
00157     RD_NbrAV                        = 70,   
00158 
00159     DBU_NbrImsSubscription          = 71,
00160     DBU_NbrPriUserId                = 72,
00161     DBU_NbrSipPubUserId             = 73,
00162     DBU_NbrTelPubUserId             = 74,
00163     DBU_NbrPriSrvId                 = 75,
00164     DBU_NbrSipPubSrvId              = 76,
00165     DBU_NbrTelPubSrvId              = 77,
00166     
00167     DBU_NbrRegPubUserId             = 78,
00168     DBU_NbrUnregPubUserId           = 79,
00169     DBU_NbrRegPriUsrId              = 80,
00170         
00171     UR_AttRTR                       = 81,
00172     UR_SuccRTA                      = 82,
00173     UR_FailRTA                      = 83,
00174     UR_MeanRTTime                   = 84,
00175             
00176     DTR_AttUDR                      = 85,
00177     DTR_SuccUDA                     = 86,
00178     DTR_FailUDA                     = 87,
00179     DTR_FailUDA_NoReply             = 88,
00180     DTR_MeanUDTime                  = 89,
00181     
00182     DTR_AttPUR                      = 90,
00183     DTR_SuccPUA                     = 91,
00184     DTR_FailPUA                     = 92,
00185     DTR_MeanPUTime                  = 93,
00186     
00187     SUB_AttSNR                      = 94,
00188     SUB_SuccSNA                     = 95,
00189     SUB_FailSNA                     = 96,
00190     SUB_MeanSNTime                  = 97,
00191     
00192     NOTIF_AttPNR                    = 98,
00193     NOTIF_SuccPNA                   = 99,
00194     NOTIF_FailPNA                   =100,
00195     NOTIF_MeanSNTime                =101,
00196                 
00197 };
00198 
00199 
00200 #define IMS_PM_LOG(event)                   do {ims_pm_log(event,zero,zero,0,0);    }while(0)  
00201 #define IMS_PM_LOG01(event,pi1)             do {ims_pm_log(event,zero,zero,pi1,0);  }while(0)
00202 #define IMS_PM_LOG10(event,ps1)             do {ims_pm_log(event,ps1,zero,0,0);     }while(0)
00203 #define IMS_PM_LOG11(event,ps1,pi1)         do {ims_pm_log(event,ps1,zero,pi1,0);   }while(0)
00204 #define IMS_PM_LOG12(event,ps1,pi1,pi2)     do {ims_pm_log(event,ps1,zero,pi1,pi2); }while(0)
00205 #define IMS_PM_LOG21(event,ps1,ps2,pi1)     do {ims_pm_log(event,ps1,ps2,pi1,0);    }while(0)
00206 #define IMS_PM_LOG22(event,ps1,ps2,pi1,pi2) do {ims_pm_log(event,ps1,ps2,pi1,pi2);  }while(0)
00207 
00208 
00209 void ims_pm_init(str node_name,char* type, char *file_name);
00210 void ims_pm_destroy();
00211 
00212 void ims_pm_log(enum _ims_pm_event_types event,str ps1,str ps2,int pi1,int pi2);
00213 
00214 
00215 #endif /*IMS_PM_H_*/
00216 #else
00217 
00218 #define IMS_PM_LOG(event)                     
00219 #define IMS_PM_LOG01(event,pi1)             
00220 #define IMS_PM_LOG10(event,ps1)             
00221 #define IMS_PM_LOG11(event,ps1,pi1)         
00222 #define IMS_PM_LOG12(event,ps1,pi1,pi2)     
00223 #define IMS_PM_LOG21(event,ps1,ps2,pi1)     
00224 #define IMS_PM_LOG22(event,ps1,ps2,pi1,pi2) 
00225 
00226 
00227 #endif /* WITH_IMS_PM */

Generated on Thu Oct 23 04:14:38 2008 for Open IMS Core CSCFs by  doxygen 1.5.2