More renaming updates

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2003-12-07 06:43:30 +00:00
parent e8a355e872
commit 3e6c5132de

View File

@@ -1,13 +1,15 @@
/* /*
* Asterisk -- A telephony toolkit for Linux. * Asterisk -- A telephony toolkit for Linux.
* *
* unixODBC CDR Backend * ODBC CDR Backend
* *
* Brian K. West <brian@bkw.org> * Brian K. West <brian@bkw.org>
* *
* This program is free software, distributed under the terms of * This program is free software, distributed under the terms of
* the GNU General Public License. * the GNU General Public License.
* *
* Copyright (c) 2003 Digium, Inc.
*
*/ */
#include <sys/types.h> #include <sys/types.h>
@@ -32,24 +34,24 @@
#define DATE_FORMAT "%Y-%m-%d %T" #define DATE_FORMAT "%Y-%m-%d %T"
static char *desc = "unixODBC CDR Backend"; static char *desc = "ODBC CDR Backend";
static char *name = "unixODBC"; static char *name = "ODBC";
static char *config = "cdr_unixodbc.conf"; static char *config = "cdr_odbc.conf";
static char *dsn = NULL, *username = NULL, *password = NULL, *loguniqueid = NULL; static char *dsn = NULL, *username = NULL, *password = NULL, *loguniqueid = NULL;
static int dsn_alloc = 0, username_alloc = 0, password_alloc = 0; static int dsn_alloc = 0, username_alloc = 0, password_alloc = 0;
static int connected = 0; static int connected = 0;
static ast_mutex_t unixodbc_lock = AST_MUTEX_INITIALIZER; static ast_mutex_t odbc_lock = AST_MUTEX_INITIALIZER;
extern int unixodbc_do_query(char *sqlcmd); extern int odbc_do_query(char *sqlcmd);
extern int unixodbc_init(void); extern int odbc_init(void);
static SQLHENV ODBC_env = SQL_NULL_HANDLE; /* global ODBC Environment */ static SQLHENV ODBC_env = SQL_NULL_HANDLE; /* global ODBC Environment */
static int ODBC_res; /* global ODBC Result of Functions */ static int ODBC_res; /* global ODBC Result of Functions */
static SQLHDBC ODBC_con; /* global ODBC Connection Handle */ static SQLHDBC ODBC_con; /* global ODBC Connection Handle */
static SQLHSTMT ODBC_stmt; /* global ODBC Statement Handle */ static SQLHSTMT ODBC_stmt; /* global ODBC Statement Handle */
static int unixodbc_log(struct ast_cdr *cdr) static int odbc_log(struct ast_cdr *cdr)
{ {
int res; int res;
/* /*
@@ -62,7 +64,7 @@ static int unixodbc_log(struct ast_cdr *cdr)
time_t t; time_t t;
char sqlcmd[2048], timestr[128]; char sqlcmd[2048], timestr[128];
ast_mutex_lock(&unixodbc_lock); ast_mutex_lock(&odbc_lock);
gettimeofday(&tv,NULL); gettimeofday(&tv,NULL);
t = tv.tv_sec; t = tv.tv_sec;
@@ -82,29 +84,29 @@ static int unixodbc_log(struct ast_cdr *cdr)
if(connected) if(connected)
{ {
res = unixodbc_do_query(sqlcmd); res = odbc_do_query(sqlcmd);
if(res < 0) if(res < 0)
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Query FAILED Call not logged!\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Query FAILED Call not logged!\n");
res = unixodbc_init(); res = odbc_init();
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Reconnecting to dsn %s\n", dsn); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Reconnecting to dsn %s\n", dsn);
if(res < 0) if(res < 0)
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: %s has gone away!\n", dsn); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: %s has gone away!\n", dsn);
connected = 0; connected = 0;
} }
else else
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Trying Query again!\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Trying Query again!\n");
res = unixodbc_do_query(sqlcmd); res = odbc_do_query(sqlcmd);
if(res < 0) if(res < 0)
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Query FAILED Call not logged!\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Query FAILED Call not logged!\n");
} }
} }
} }
@@ -112,29 +114,29 @@ static int unixodbc_log(struct ast_cdr *cdr)
else else
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Reconnecting to dsn %s\n", dsn); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Reconnecting to dsn %s\n", dsn);
res = unixodbc_init(); res = odbc_init();
if(res < 0) if(res < 0)
{ {
if(option_verbose > 3) if(option_verbose > 3)
{ {
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: %s has gone away!\n", dsn); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: %s has gone away!\n", dsn);
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Call not logged!\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Call not logged!\n");
} }
} }
else else
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Trying Query again!\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Trying Query again!\n");
res = unixodbc_do_query(sqlcmd); res = odbc_do_query(sqlcmd);
if(res < 0) if(res < 0)
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Query FAILED Call not logged!\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Query FAILED Call not logged!\n");
} }
} }
} }
ast_mutex_unlock(&unixodbc_lock); ast_mutex_unlock(&odbc_lock);
return 0; return 0;
} }
@@ -143,12 +145,12 @@ char *description(void)
return desc; return desc;
} }
static int unixodbc_unload_module(void) static int odbc_unload_module(void)
{ {
if (connected) if (connected)
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Disconnecting from %s\n", dsn); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Disconnecting from %s\n", dsn);
SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt); SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt);
SQLDisconnect(ODBC_con); SQLDisconnect(ODBC_con);
SQLFreeHandle(SQL_HANDLE_DBC, ODBC_con); SQLFreeHandle(SQL_HANDLE_DBC, ODBC_con);
@@ -158,7 +160,7 @@ static int unixodbc_unload_module(void)
if (dsn && dsn_alloc) if (dsn && dsn_alloc)
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: free dsn\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: free dsn\n");
free(dsn); free(dsn);
dsn = NULL; dsn = NULL;
dsn_alloc = 0; dsn_alloc = 0;
@@ -166,7 +168,7 @@ static int unixodbc_unload_module(void)
if (username && username_alloc) if (username && username_alloc)
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: free username\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: free username\n");
free(username); free(username);
username = NULL; username = NULL;
username_alloc = 0; username_alloc = 0;
@@ -174,7 +176,7 @@ static int unixodbc_unload_module(void)
if (password && password_alloc) if (password && password_alloc)
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: free password\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: free password\n");
free(password); free(password);
password = NULL; password = NULL;
password_alloc = 0; password_alloc = 0;
@@ -183,7 +185,7 @@ static int unixodbc_unload_module(void)
return 0; return 0;
} }
static int unixodbc_load_module(void) static int odbc_load_module(void)
{ {
int res; int res;
struct ast_config *cfg; struct ast_config *cfg;
@@ -193,7 +195,7 @@ static int unixodbc_load_module(void)
cfg = ast_load(config); cfg = ast_load(config);
if (!cfg) if (!cfg)
{ {
ast_log(LOG_WARNING, "cdr_unixodbc: Unable to load config for unixODBC CDR's: %s\n", config); ast_log(LOG_WARNING, "cdr_odbc: Unable to load config for ODBC CDR's: %s\n", config);
return 0; return 0;
} }
@@ -214,13 +216,13 @@ static int unixodbc_load_module(void)
} }
else else
{ {
ast_log(LOG_ERROR,"cdr_unixodbc: Out of memory error.\n"); ast_log(LOG_ERROR,"cdr_odbc: Out of memory error.\n");
return -1; return -1;
} }
} }
else else
{ {
ast_log(LOG_WARNING,"cdr_unixodbc: dsn not specified. Assuming asteriskdb\n"); ast_log(LOG_WARNING,"cdr_odbc: dsn not specified. Assuming asteriskdb\n");
dsn = "asteriskdb"; dsn = "asteriskdb";
} }
@@ -235,13 +237,13 @@ static int unixodbc_load_module(void)
} }
else else
{ {
ast_log(LOG_ERROR,"cdr_unixodbc: Out of memory error.\n"); ast_log(LOG_ERROR,"cdr_odbc: Out of memory error.\n");
return -1; return -1;
} }
} }
else else
{ {
ast_log(LOG_WARNING,"cdr_unixodbc: username not specified. Assuming root\n"); ast_log(LOG_WARNING,"cdr_odbc: username not specified. Assuming root\n");
username = "root"; username = "root";
} }
@@ -256,13 +258,13 @@ static int unixodbc_load_module(void)
} }
else else
{ {
ast_log(LOG_ERROR,"cdr_unixodbc: Out of memory error.\n"); ast_log(LOG_ERROR,"cdr_odbc: Out of memory error.\n");
return -1; return -1;
} }
} }
else else
{ {
ast_log(LOG_WARNING,"cdr_unixodbc: database password not specified. Assuming blank\n"); ast_log(LOG_WARNING,"cdr_odbc: database password not specified. Assuming blank\n");
password = ""; password = "";
} }
@@ -273,44 +275,44 @@ static int unixodbc_load_module(void)
if (loguniqueid != NULL) if (loguniqueid != NULL)
{ {
strcpy(loguniqueid,tmp); strcpy(loguniqueid,tmp);
ast_log(LOG_WARNING,"cdr_unixodbc: Logging uniqueid\n"); ast_log(LOG_WARNING,"cdr_odbc: Logging uniqueid\n");
} }
else else
{ {
ast_log(LOG_ERROR,"cdr_unixodbc: Not logging uniqueid\n"); ast_log(LOG_ERROR,"cdr_odbc: Not logging uniqueid\n");
} }
} }
else else
{ {
ast_log(LOG_WARNING,"cdr_unixodbc: Not logging uniqueid\n"); ast_log(LOG_WARNING,"cdr_odbc: Not logging uniqueid\n");
loguniqueid = NULL; loguniqueid = NULL;
} }
ast_destroy(cfg); ast_destroy(cfg);
if(option_verbose > 3) if(option_verbose > 3)
{ {
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: dsn is %s\n",dsn); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: dsn is %s\n",dsn);
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: username is %s\n",username); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: username is %s\n",username);
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: password is [secret]\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: password is [secret]\n");
} }
res = unixodbc_init(); res = odbc_init();
if(res < 0) if(res < 0)
{ {
ast_log(LOG_ERROR, "cdr_unixodbc: Unable to connect to datasource: %s\n", dsn); ast_log(LOG_ERROR, "cdr_odbc: Unable to connect to datasource: %s\n", dsn);
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Unable to connect to datasource: %s\n", dsn); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Unable to connect to datasource: %s\n", dsn);
} }
res = ast_cdr_register(name, desc, unixodbc_log); res = ast_cdr_register(name, desc, odbc_log);
if (res) if (res)
{ {
ast_log(LOG_ERROR, "cdr_unixodbc: Unable to register unixODBC CDR handling\n"); ast_log(LOG_ERROR, "cdr_odbc: Unable to register ODBC CDR handling\n");
} }
return res; return res;
} }
int unixodbc_do_query(char *sqlcmd) int odbc_do_query(char *sqlcmd)
{ {
long int ODBC_err; long int ODBC_err;
short int ODBC_mlen; short int ODBC_mlen;
@@ -321,7 +323,7 @@ int unixodbc_do_query(char *sqlcmd)
if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO))
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Failure in AllocStatement %d\n", ODBC_res); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Failure in AllocStatement %d\n", ODBC_res);
SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen); SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen);
SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt); SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt);
connected = 0; connected = 0;
@@ -333,7 +335,7 @@ int unixodbc_do_query(char *sqlcmd)
if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO))
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Error in PREPARE %d\n", ODBC_res); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error in PREPARE %d\n", ODBC_res);
SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen); SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen);
SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt); SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt);
return -1; return -1;
@@ -344,7 +346,7 @@ int unixodbc_do_query(char *sqlcmd)
if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO))
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Error in Query %d\n", ODBC_res); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error in Query %d\n", ODBC_res);
SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen); SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen);
SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt); SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt);
connected = 0; connected = 0;
@@ -353,13 +355,13 @@ int unixodbc_do_query(char *sqlcmd)
else else
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Query Successful!\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Query Successful!\n");
connected = 1; connected = 1;
} }
return 0; return 0;
} }
int unixodbc_init() int odbc_init()
{ {
long int ODBC_err; long int ODBC_err;
short int ODBC_mlen; short int ODBC_mlen;
@@ -372,7 +374,7 @@ int unixodbc_init()
if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO))
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Error AllocHandle\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error AllocHandle\n");
connected = 0; connected = 0;
return -1; return -1;
} }
@@ -382,7 +384,7 @@ int unixodbc_init()
if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO))
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Error SetEnv\n"); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error SetEnv\n");
SQLFreeHandle(SQL_HANDLE_ENV, ODBC_env); SQLFreeHandle(SQL_HANDLE_ENV, ODBC_env);
connected = 0; connected = 0;
return -1; return -1;
@@ -393,7 +395,7 @@ int unixodbc_init()
if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO))
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Error AllocHDB %d\n", ODBC_res); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error AllocHDB %d\n", ODBC_res);
SQLFreeHandle(SQL_HANDLE_ENV, ODBC_env); SQLFreeHandle(SQL_HANDLE_ENV, ODBC_env);
connected = 0; connected = 0;
return -1; return -1;
@@ -407,7 +409,7 @@ int unixodbc_init()
if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) if((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO))
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Error SQLConnect %d\n", ODBC_res); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error SQLConnect %d\n", ODBC_res);
SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen); SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen);
SQLFreeHandle(SQL_HANDLE_ENV, ODBC_env); SQLFreeHandle(SQL_HANDLE_ENV, ODBC_env);
connected = 0; connected = 0;
@@ -416,7 +418,7 @@ int unixodbc_init()
else else
{ {
if(option_verbose > 3) if(option_verbose > 3)
ast_verbose( VERBOSE_PREFIX_4 "cdr_unixodbc: Connected to %s\n", dsn); ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Connected to %s\n", dsn);
connected = 1; connected = 1;
} }
@@ -425,18 +427,18 @@ int unixodbc_init()
int load_module(void) int load_module(void)
{ {
return unixodbc_load_module(); return odbc_load_module();
} }
int unload_module(void) int unload_module(void)
{ {
return unixodbc_unload_module(); return odbc_unload_module();
} }
int reload(void) int reload(void)
{ {
unixodbc_unload_module(); odbc_unload_module();
return unixodbc_load_module(); return odbc_load_module();
} }
int usecount(void) int usecount(void)