我正在使用 Asterisk 1.8.10.1 和通过 ODBC 连接的 MySQL 数据库来存储 CDR。当 Asterisk 启动时我的 MySQL 数据库不可用或在 Asterisk 运行时发生中断时,我希望 Asterisk 重新尝试连接到数据库,但这并没有发生!有人知道我可以在哪里启用 Asterisk 中某种自动重新连接到数据库的功能吗?
我的 res_odbc.conf 如下所示:
[asterisk]
enabled => yes
dsn => asterisk-connector
username => user
password => pass
pre-connect => yes
pooling => no
limit => 1
idlecheck => 1
negative_connection_cache => 1
答案1
通常它会在下次实时请求时重新连接。
试试这套
idlecheck => 300; ( will check connection in pool every 5 minutes)
connect_timeout => 5; ( how long to wait on reconnect)
negative_connection_cache=>10 ;( how long wait before reconnect)
pre-connect = yes; will allow you check if connection ok by issue "realtime show odbc status"
我还建议将限制设置为 1 以上。