diff --git a/CHANGES b/CHANGES index f3ab90d2af..e36af4ac5b 100644 --- a/CHANGES +++ b/CHANGES @@ -106,6 +106,15 @@ res_musiconhold over the channel-set musicclass. This allows separate hold-music from application (e.g. Queue or Dial) specified music. + +CEL Backends +------------------ + +cel_pgsql +------------------ +* Added a new option, 'usegmtime', which causes timestamps in CEL events + to be logged in GMT. + ------------------------------------------------------------------------------ --- Functionality changes from Asterisk 13.3.0 to Asterisk 13.4.0 ------------ ------------------------------------------------------------------------------ diff --git a/cel/cel_pgsql.c b/cel/cel_pgsql.c index f9c098feda..56a6069d45 100644 --- a/cel/cel_pgsql.c +++ b/cel/cel_pgsql.c @@ -72,6 +72,7 @@ static char *table; static int connected = 0; static int maxsize = 512, maxsize2 = 512; +static int usegmtime = 0; /*! \brief show_user_def is off by default */ #define CEL_SHOW_USERDEF_DEFAULT 0 @@ -166,7 +167,7 @@ static void pgsql_log(struct ast_event *event) ast_mutex_lock(&pgsql_lock); - ast_localtime(&record.event_time, &tm, NULL); + ast_localtime(&record.event_time, &tm, usegmtime ? "GMT" : NULL); ast_strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm); if ((!connected) && pghostname && pgdbuser && pgpassword && pgdbname) { @@ -215,7 +216,7 @@ static void pgsql_log(struct ast_event *event) } else { /* char, hopefully */ LENGTHEN_BUF2(31); - ast_localtime(&record.event_time, &tm, NULL); + ast_localtime(&record.event_time, &tm, usegmtime ? "GMT" : NULL); ast_strftime(buf, sizeof(buf), DATE_FORMAT, &tm); ast_str_append(&sql2, 0, "%s'%s'", SEP, buf); } @@ -515,6 +516,11 @@ static int process_my_load_module(struct ast_config *cfg) if ((tmp = ast_variable_retrieve(cfg, "global", "show_user_defined"))) { cel_show_user_def = ast_true(tmp) ? 1 : 0; } + if ((tmp = ast_variable_retrieve(cfg, "global", "usegmtime"))) { + usegmtime = ast_true(tmp); + } else { + usegmtime = 0; + } if (option_debug) { if (ast_strlen_zero(pghostname)) { ast_debug(3, "cel_pgsql: using default unix socket\n"); diff --git a/configs/samples/cel_pgsql.conf.sample b/configs/samples/cel_pgsql.conf.sample index 2298b2ddc6..30c789e4cc 100644 --- a/configs/samples/cel_pgsql.conf.sample +++ b/configs/samples/cel_pgsql.conf.sample @@ -59,10 +59,13 @@ ; ;show_user_defined=yes +; Log date/time in GMT. The default of this option is 'no'. +;usegmtime=yes + ;hostname=localhost ;port=5432 ;dbname=asterisk ;password=password ;user=postgres ;table=cel ;SQL table where CEL's will be inserted -;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed. \ No newline at end of file +;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed.