【问题标题】:Asterisk 13.4 cdr engine is creating 2 records per callAsterisk 13.4 cdr 引擎每次调用创建 2 条记录
【发布时间】:2016-03-02 03:40:39
【问题描述】:

这真的开始让人讨厌了。

自 2007 年以来,我一直在使用 Asterisk 1.4 来操作完美的 PBX,它会像任何其他版本的 Asterisk 一样,为每个呼叫创建一个 SINGLE CDR。

昨天我认为升级没问题并获得了 Asterisk 13.4。

这该死的东西是为每个呼叫创建 2 个 CDR……一个代表拨号尝试……另一个包括已连接的呼叫和初始拨号

我不知道在哪里配置 CDR 引擎以使其正常运行...也就是说,每次通话记录一个 SINGLE CDR.. NOT 2!!

有什么想法吗?

PS:(不,我没有更改我的代码,不,我没有配置任何与众不同的特定行cdr.conf

这里是 CDR 引擎的调试输出:

0x7f51f40009a8 - Created CDR for channel SIP/900100-00000002
0x7f51f40009a8 - Transitioning CDR for SIP/900100-00000002 from state NONE to Single
0x7f51f4002bc8 - Created CDR for channel SIP/vox-00000003
0x7f51f4002bc8 - Transitioning CDR for SIP/vox-00000003 from state NONE to Single

Dial Begin message for SIP/900100-00000002, SIP/vox-00000003: 1448665204.00639317

0x7f51f40009a8 - Processing Dial Begin message for channel SIP/900100-00000002, peer SIP/vox-00000003
0x7f51f40009a8 - Updated Party A SIP/900100-00000002 snapshot
0x7f51f40009a8 - Updated Party B SIP/vox-00000003 snapshot
0x7f51f40009a8 - Transitioning CDR for SIP/900100-00000002 from state Single to Dial
0x7f51f4002bc8 - Processing Bridge Leave for SIP/vox-00000003
0x7f51f4002bc8 - Transitioning CDR for SIP/vox-00000003 from state Bridged to Finalized
0x7f51f40009a8 - Transitioning CDR for SIP/900100-00000002 from state Bridged to Finalized
0x7f51f4002bc8 - Beginning finalize/dispatch for SIP/vox-00000003
0x7f51f4002bc8 - Dispatching CDR for Party A SIP/vox-00000003, Party B <none>

Bridge Leave message for SIP/900100-00000002: 1448665215.00246400

0x7f51f4003da8 - Created CDR for channel SIP/900100-00000002
0x7f51f4003da8 - Transitioning CDR for SIP/900100-00000002 from state NONE to Single
0x7f51f4003da8 - Set answered time to 1448665215.248071
0x7f51f4003da8 - Transitioning CDR for SIP/900100-00000002 from state Single to Finalized
0x7f51f40009a8 - Beginning finalize/dispatch for SIP/900100-00000002
0x7f51f40009a8 - Dispatching CDR for Party A SIP/900100-00000002, Party B SIP/vox-00000003

【问题讨论】:

  • 我在 Freepbx 上发现了一个类似的错误,但这不是 Freepbx .. 这只是星号本身... 我没有执行任何命令来将拨号尝试和连接呼叫视为不同的分支cdr。
  • 刚刚在问题跟踪器中创建了一个案例,如果你们想关注它:issues.asterisk.org/jira/browse/ASTERISK-25596

标签: asterisk cdr


【解决方案1】:

我也有类似的问题。

Asterisk 认证/13.8-cert4

一次通话产生两条记录。一条正确的记录,第二条记录的值相同,但 'start'、'end'、'answered' 字段为空。

重复记录的原因 - cdr_odbc.so 模块。

asterisk -rx "module show like odbc"
Module Description Use Count Status Support Level
cdr_adaptive_odbc.so Adaptive ODBC CDR backend 0 Running core
cdr_odbc.so ODBC CDR Backend 0 Running extended
cel_odbc.so ODBC CEL backend 0 Running core
func_odbc.so ODBC lookups 0 Running core
res_config_odbc.so Realtime ODBC configuration 0 Running core
res_odbc.so ODBC resource 0 Running core
res_odbc_transaction.so ODBC transaction resource 0 Running core
7 modules loaded

我在 modules.conf 中关闭了他 'noload => cdr_odbc.so'

重启服务器,一切正常。

【讨论】:

    【解决方案2】:

    我为星号 13 创建了补丁 =) 总之,cdr的算法保持不变,消除了各种错误。如果 CDR 记录是最晚的,那么我们写它。最后一条记录正是我们所需要的。在版本 13.4 和 13.6 上测试。

    安装: 修补星号源代码并构建/重建星号。

    patch asterisk-13.6.0/main/cdr.c ./asterisk13_cdr.patch

    下载:http://miho.org.ua/download/asterisk/asterisk13_cdr_patch.zip

    附:如果此补丁对您有帮助或者您会发现错误,请写在这里 =)

    【讨论】:

      【解决方案3】:

      请在 cdr.conf 中添加

      unanswered=no
      

      【讨论】:

      • 将立即尝试并报告
      【解决方案4】:

      这是从 Asterisk 版本 12 开始的 new CDR engine 的结果。

      根据频道的拨号和桥接方式,将为给定呼叫创建多个 CDR。 需要对这些记录进行后处理,以确定通话的整体统计数据。

      在升级任何软件之前,最好阅读所有升级文档 - 在这种情况下,您已经获得了 7 或 8 年的价值!

      https://wiki.asterisk.org/wiki/display/AST/New+in+1.8

      https://wiki.asterisk.org/wiki/display/AST/New+in+10

      https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+11

      https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+12

      https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+13

      【讨论】:

      • 呵呵是的.. 先生确实是个好建议。在完全迁移到生产环境之前,我会在测试服务器上迁移(按照书本),但我没有意识到 cdr 引擎发生了很大变化。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多