Example #1
0
File: acc.c Project: iamroger/voip
/* binds to the corresponding database module
 * returns 0 on success, -1 on error */
int acc_db_init(const str* db_url)
{
	if (db_bind_mod(db_url, &acc_dbf)<0){
		LM_ERR("bind_db failed\n");
		return -1;
	}

	/* Check database capabilities */
	if (!DB_CAPABILITY(acc_dbf, DB_CAP_INSERT)) {
		LM_ERR("database module does not implement insert function\n");
		return -1;
	}

	db_handle=acc_dbf.init(db_url);

	if (db_handle==0){
		LM_ERR("unable to connect to the database\n");
		return -1;
	}

	if (db_check_table_version(&acc_dbf, db_handle, &db_table_acc,
				TABLE_VERSION) < 0) {
		LM_ERR("error during table version check\n");
		return -1;
	}

	acc_db_close();

	acc_db_init_keys();

	return 0;
}
Example #2
0
static void destroy(void)
{
	if (log_extra)
		destroy_extras( log_extra);
#ifdef SQL_ACC
	acc_db_close();
	if (db_extra)
		destroy_extras( db_extra);
#endif
#ifdef DIAM_ACC
	close_tcp_connection(sockfd);
	if (dia_extra)
		destroy_extras( dia_extra);
#endif
}
Example #3
0
static void destroy(void)
{
    if (log_extra_tags)
        destroy_extras( log_extra_tags);
    if (log_leg_tags)
        destroy_extras( log_leg_tags);
    acc_db_close();
    if (db_extra_tags)
        destroy_extras( db_extra_tags);
    if (db_leg_tags)
        destroy_extras( db_leg_tags);

    if (aaa_extra_tags)
        destroy_extras( aaa_extra_tags);
    if (aaa_leg_tags)
        destroy_extras( aaa_leg_tags);

    if (evi_extra_tags)
        destroy_extras( evi_extra_tags);
    if (evi_leg_tags)
        destroy_extras( evi_leg_tags);
}