I have a MySQL RDS instance configured to store CEL (Call Event Logging) data. The configuration is set up on two different Asterisk servers, both pointing to the same RDS instance via ODBC.
On one server, CEL data is being inserted correctly into the database. However, on the second server, although there are no visible errors in the Asterisk logs, the data is not being reflected in the database.
I have also noticed that some of the data is inserted after taking a long time. I have monitored my instance server health is good and not more than CPU utilisation greater than 5 percent.
Here is my configuration
Database schema
`cel` (
`eventtype` varchar(30) NOT NULL,
`eventtime` datetime NOT NULL,
`cidname` varchar(80) NOT NULL,
`cidnum` varchar(80) NOT NULL,
`cidani` varchar(80) NOT NULL,
`cidrdnis` varchar(80) NOT NULL,
`ciddnid` varchar(80) NOT NULL,
`exten` varchar(80) NOT NULL,
`context` varchar(80) NOT NULL,
`channame` varchar(80) NOT NULL,
`appname` varchar(80) NOT NULL,
`appdata` varchar(80) NOT NULL,
`amaflags` int NOT NULL,
`accountcode` varchar(20) NOT NULL,
`uniqueid` varchar(32) NOT NULL,
`peer` varchar(80) NOT NULL,
`userfield` varchar(255) NOT NULL,
`linkedid` varchar(32) NOT NULL,
KEY `linkedid` (`linkedid`),
KEY `context` (`context`),
KEY `appname` (`appname`),
KEY `eventtype` (`eventtype`)
)
working server configuration
# odbc.ini
[asterisk-connector-1]
Description = MySQL connection to asterisk database
Driver= MySQL ODBC 8.0 Unicode Driver
Database= asterisk
Server= ----
User = ----
Password = ----
Port= 3306
#cel.conf
[general]
enable=yes
apps=dial,park
events=ANSWER,HANGUP,BRIDGE_ENTER,BRIDGE_EXIT,APP_START,APP_END
dateformat = %F %T
#res_odbc.conf
[asterisk]
enabled = yes
dsn = asterisk-connector-1
username = ----
password = ----
pre-connect = yes
max_connections = 1
database = asterisk
logging = yes
Not working server configuration
#odbc.ini
[asterisk-connector-2]
Description = MySQL connection to asterisk database
Driver= MySQL ODBC 8.0 Unicode Driver
Database= asterisk
Server= ----
User = ----
Password = ----
Port= 3306
#res_odbc.conf
[asterisk]
enabled = yes
dsn = asterisk-connector-2
username = ----
password = ----
pre-connect = yes
max_connections = 20
database = asterisk
logging = yes
#cel.conf
[general]
enable=yes
apps=dial,park
events=ANSWER,HANGUP,BRIDGE_ENTER,BRIDGE_EXIT,APP_START,APP_END
dateformat = %F %T
ODBC connections
ODBC DSN Settings
-----------------
Name: asterisk
DSN: asterisk-connector-2
Number of active connections: 1 (out of 20)
Logging: Enabled
Number of prepares executed: 34146
Number of queries executed: 34145
ODBC DSN Settings
-----------------
Name: asterisk
DSN: asterisk-connector-1
Number of active connections: 1 (out of 1)
Logging: Enabled
Number of prepares executed: 53121
Number of queries executed: 53121