[Freeswitch-svn] [commit] r1645 - in freeswitch/branches/mishehu: . conf src src/mod/applications/mod_commands src/mod/endpoints/mod_exosip src/mod/loggers/mod_cdr
Author: mishehu Date: Sat Jun 17 20:29:14 2006 New Revision: 1645 Modified: freeswitch/branches/mishehu/AUTHORS freeswitch/branches/mishehu/conf/freeswitch.xml freeswitch/branches/mishehu/src/mod/applications/mod_commands/mod_commands.c freeswitch/branches/mishehu/src/mod/endpoints/mod_exosip/mod_exosip.c freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/anthmcdr.cpp freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.cpp freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/mysqlcdr.cpp freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/schema-update.mysql freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/schema.sql freeswitch/branches/mishehu/src/switch_ivr.c Log: Houston, we have chanvar logging working! Cleared up some dumb debug stuff, merged to trunk r1644 Modified: freeswitch/branches/mishehu/AUTHORS ============================================================================== --- freeswitch/branches/mishehu/AUTHORS (original) +++ freeswitch/branches/mishehu/AUTHORS Sat Jun 17 20:29:14 2006 @@ -21,6 +21,7 @@ and moral support. Michal "cypromis" Bielicki (michal.bielicki AT halo2.pl) - Solaris porting, and autotools enhancements. James Martelletti <james@nerdc0re.com> - All around cool guy (mod_syslog) + Johny Kadarisman <jkr888@gmail.com> A big THANK YOU goes to: Modified: freeswitch/branches/mishehu/conf/freeswitch.xml ============================================================================== --- freeswitch/branches/mishehu/conf/freeswitch.xml (original) +++ freeswitch/branches/mishehu/conf/freeswitch.xml Sat Jun 17 20:29:14 2006 @@ -275,7 +275,7 @@ <!-- *NOTE* The special context name 'any' will match any context --> <context name="default"> <extension name="tollfree"> - <condition field="destination_number" expression="^(18[0{2}8{2}7{2}6{2}].*)$"> + <condition field="destination_number" expression="^(18[0{2}8{2}7{2}6{2}]\d{7})"> <action application="bridge" data="exosip/$1-freeswitch@voip.trxtel.com"/> </condition> </extension> Modified: freeswitch/branches/mishehu/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/branches/mishehu/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/branches/mishehu/src/mod/applications/mod_commands/mod_commands.c Sat Jun 17 20:29:14 2006 @@ -24,6 +24,8 @@ * Contributor(s): * * Anthony Minessale II <anthmct@yahoo.com> + * Michael Jerris <mike@jerris.com> + * Johny Kadarisman <jkr888@gmail.com> * * * mod_commands.c -- Misc. Command Module @@ -185,7 +187,7 @@ static int show_callback(void *pArg, int argc, char **argv, char **columnNames){ switch_stream_handle_t *stream = (switch_stream_handle_t *) pArg; - stream->write_function(stream, "%s\n", argv[1]); + stream->write_function(stream, "%s|%s\n", argv[0], argv[1] ? argv[1] : "NULL"); return 0; } @@ -196,7 +198,22 @@ char *errmsg; switch_core_db_t *db = switch_core_db_handle(); - sprintf (sql, "select * from interfaces"); + if (!cmd) { + sprintf (sql, "select * from interfaces"); + } + else if ( !strcmp(cmd,"codec") || !strcmp(cmd,"application") || + !strcmp(cmd,"api") || !strcmp(cmd,"dialplan") || + !strcmp(cmd,"file") || !strcmp(cmd,"timer") + ) { + sprintf (sql, "select * from interfaces where type = '%s'", cmd); + } + else { + stream->write_function(stream, "Invalid interfaces type!\n"); + stream->write_function(stream, "Example:\n"); + stream->write_function(stream, "show <blank>|codec|application|api|dialplan|file|timer\n"); + return SWITCH_STATUS_SUCCESS; + } + switch_core_db_exec(db, sql, show_callback, stream, &errmsg); if (errmsg) { Modified: freeswitch/branches/mishehu/src/mod/endpoints/mod_exosip/mod_exosip.c ============================================================================== --- freeswitch/branches/mishehu/src/mod/endpoints/mod_exosip/mod_exosip.c (original) +++ freeswitch/branches/mishehu/src/mod/endpoints/mod_exosip/mod_exosip.c Sat Jun 17 20:29:14 2006 @@ -353,7 +353,7 @@ int i; static const switch_codec_implementation_t *imp; for (i = 0; i < tech_pvt->num_codecs; i++) { - int x = 1; + int x = 0; snprintf(tmp, sizeof(tmp), "%u", tech_pvt->codecs[i]->ianacode); sdp_message_m_payload_add(tech_pvt->local_sdp, 0, osip_strdup(tmp)); @@ -1289,7 +1289,7 @@ for (i = 0; i < tech_pvt->num_codecs; i++) { - int x = 1; + int x = 0; for (imp = tech_pvt->codecs[i]->implementations; imp; imp = imp->next) { sdp_add_codec(tech_pvt->sdp_config, tech_pvt->codecs[i]->codec_type, tech_pvt->codecs[i]->ianacode, tech_pvt->codecs[i]->iananame, Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/anthmcdr.cpp ============================================================================== --- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/anthmcdr.cpp (original) +++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/anthmcdr.cpp Sat Jun 17 20:29:14 2006 @@ -25,14 +25,19 @@ switch_time_exp_lt(&tempcallend, callenddate); // Format the times - size_t retsizecsd, retsizecad, retsizeced; + size_t retsizecsd, retsizecad, retsizeced, retsizeceff; //csd == callstartdate, cad == callanswerdate, ced == callenddate, ceff == callenddate_forfile char format[] = "%F %T"; switch_strftime(formattedcallstartdate,&retsizecsd,sizeof(formattedcallstartdate),format,&tempcallstart); switch_strftime(formattedcallanswerdate,&retsizecad,sizeof(formattedcallanswerdate),format,&tempcallanswer); switch_strftime(formattedcallenddate,&retsizeced,sizeof(formattedcallenddate),format,&tempcallend); - + + char format_forfile[] = "%s"; + char callenddate_forfile[25]; + switch_strftime(callenddate_forfile,&retsizeceff,sizeof(callenddate_forfile),format_forfile,&tempcallend); outputfile_name = outputfile_path; outputfile_name.append("/"); + outputfile_name.append(callenddate_forfile); // Make sorting a bit easier, kinda like Maildir does + outputfile_name.append("."); outputfile_name.append(myuuid); // The goal is to have a resulting filename of "/path/to/myuuid" outputfile_name.append(".atm"); // The extension is in honor of anthm Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.cpp ============================================================================== --- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.cpp (original) +++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.cpp Sat Jun 17 20:29:14 2006 @@ -212,9 +212,10 @@ tempstringvector.push_back('\0'); char* tempstring= &tempstringvector[0]; - std::string tempstring_formap = switch_channel_get_variable(channel,tempstring); - if(tempstring_formap.size() > 0) - chanvars[*iItr] = tempstring_formap; + char *tempvariable; + tempvariable = switch_channel_get_variable(channel,tempstring); + if(tempvariable != 0) + chanvars[*iItr] = tempvariable; } } } Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/mysqlcdr.cpp ============================================================================== --- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/mysqlcdr.cpp (original) +++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/mysqlcdr.cpp Sat Jun 17 20:29:14 2006 @@ -25,7 +25,9 @@ dstchannel_length = strlen(dstchannel); lastapp_length = strlen(lastapp); lastdata_length = strlen(lastdata); - } + + process_channel_variables(chanvars_list,newchannel->channel); + } } MysqlCDR::~MysqlCDR() @@ -50,7 +52,6 @@ void MysqlCDR::connect(switch_xml_t& cfg, switch_xml_t& xml, switch_xml_t& settings, switch_xml_t& param) { - switch_console_printf(SWITCH_CHANNEL_LOG,"MysqlCDR::connect() - Trying to connect to the server.\n"); activated = 0; // Set it as inactive initially connectionstate = 0; // Initialize it to false to show that we aren't yet connected. char tmpsql_query[] = "INSERT INTO freeswitchcdr (callstartdate,callanswerdate,callenddate,originated,clid,src,dst,ani,ani2,dialplan,myuuid,destuuid,srcchannel,dstchannel,lastapp,lastdata,billusec,disposition,hangupcause,amaflags) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; @@ -89,7 +90,6 @@ } activated = 1; - switch_console_printf(SWITCH_CHANNEL_LOG,"MysqlCDR::connect() - Trying to init the MYSQL *conn pointer.\n"); conn = mysql_init(NULL); mysql_options(conn, MYSQL_READ_DEFAULT_FILE, ""); if(mysql_real_connect(conn,hostname,username,password,dbname,0,NULL,0) == NULL) @@ -198,16 +198,12 @@ add_parameter(disposition,MYSQL_TYPE_TINY,0); add_parameter(hangupcause,MYSQL_TYPE_LONG,0); add_parameter(amaflags,MYSQL_TYPE_TINY,0); - - switch_console_printf(SWITCH_CHANNEL_LOG,"MysqlCDR::process_record() - Trying to process, bindme has %d elements.\n",bindme.size()); - + MYSQL_BIND *bindmetemp; bindmetemp = new MYSQL_BIND[bindme.size()]; copy(bindme.begin(), bindme.end(), bindmetemp); - switch_console_printf(SWITCH_CHANNEL_LOG,"MysqlCDR::process_record() - Trying to bind the parameters.\n"); mysql_stmt_bind_param(stmt,bindmetemp); - switch_console_printf(SWITCH_CHANNEL_LOG,"MysqlCDR::process_record() - Trying to execute the statement.\n"); int bah = mysql_stmt_execute(stmt); switch_console_printf(SWITCH_CHANNEL_LOG,"MysqlCDR::process_record() - Statement executed? Error: %d\n",bah); @@ -317,11 +313,7 @@ destination.day = param.tm_mday; destination.hour = param.tm_hour; destination.minute = param.tm_min; - destination.second = param.tm_sec; - - std::cout << "Original date: " << param.tm_year << "-" << param.tm_mon << "-" << param.tm_mday << " " << param.tm_hour << ":" << param.tm_min << ":" << param.tm_sec << std::endl; - std::cout << "Date added: " << destination.year; - std::cout << "-" << destination.month << "-" << destination.day << " " << destination.hour << ":" << destination.minute << ":" << destination.second << std::endl; + destination.second = param.tm_sec; } AUTO_REGISTER_BASECDR(MysqlCDR); Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/schema-update.mysql ============================================================================== --- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/schema-update.mysql (original) +++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/schema-update.mysql Sat Jun 17 20:29:14 2006 @@ -1,5 +1,4 @@ ALTER TABLE freeswitchcdr modify callid bigint unsigned auto_increment; ALTER TABLE freeswitchcdr Engine=InnoDB; -ALTER TABLE chanvars modify callid bigint unsigned auto_increment; ALTER TABLE chanvars Engine=InnoDB; \ No newline at end of file Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/schema.sql ============================================================================== --- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/schema.sql (original) +++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/schema.sql Sat Jun 17 20:29:14 2006 @@ -34,7 +34,7 @@ create table chanvars ( callid bigint unsigned default 0, varname varchar(80) NOT NULL, - varval varchar(255) default "" + varvalue varchar(255) default "" ); -create index callid_index on chanvars(callid); \ No newline at end of file +create index callid_index on chanvars(callid,varname); \ No newline at end of file Modified: freeswitch/branches/mishehu/src/switch_ivr.c ============================================================================== --- freeswitch/branches/mishehu/src/switch_ivr.c (original) +++ freeswitch/branches/mishehu/src/switch_ivr.c Sat Jun 17 20:29:14 2006 @@ -538,6 +538,7 @@ flags = 0; switch_sleep(200000); switch_core_speech_feed_tts(sh, text, &flags); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Speaking text: %s\n", text); write_frame.rate = sh->rate;
participants (1)
-
mishehuï¼ freeswitch.org