【问题标题】:Why is dynamic real time not recommended as per asterisk?为什么不建议按星号进行动态实时?
【发布时间】:2016-07-14 23:45:33
【问题描述】:

他们在 extconfig.conf 中提到过

 "However, note that using dynamic realtime extensions is not recommended anymore as a best practice; instead, you should consider writing a static dialplan with proper data abstraction via a tool like func_odbc." 

1) 为什么 asterisk 不推荐动态实时扩展? 2) 如何使用liek func_odbc工具做静态dialplan和数据抽象?

我的要求是有更多的分机(在这种情况下是手机号码)出现,我怎样才能将它们动态添加到 sip.conf 并将其注册到 SIP 服务器

【问题讨论】:

  • @os11k 感谢您的回答。这个链接asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/… 在 res_odbc.conf 中说,[asterisk] enabled => yes dsn => asterisk-connector username => asterisk password => welcome pooling => no limit => 1 pre-connect => yes, pooling and limit选项很有用,可以帮助我们从 db 获得多个连接(达到上述限制)。那么我应该将限制更改为 100 万而不是“1”,以便我有更多的多个连接。它不会让我的数据库更具可扩展性吗?

标签: asterisk sip asteriskami sip-server


【解决方案1】:

动态实时存在一些问题

最重要的问题是拨号方案。

当/如果您使用 EXACT 拨号方案(如完整号码匹配) - 它可以正常工作。但是当您使用模式时,它会在上下文中搜索模式。为此,每次访问拨号计划时,它都会从 db 请求此上下文中的所有记录。这真的很糟糕,但没有简单的方法可以解决它。例如,模式_011 有10 行的拨号方案。以及相同拨号方案中的其他模式/数字,总行数 1000。您拨打 011123456788,它请求优先级 1 行(db 执行 1000 行检查),然后优先级 2(db 执行 1000 行检查)。因此,每次新调用都有 10x1000=10000 db 行。

如果您想要具有高负载的动态拨号计划,请使用数据库配置存储(对于拨号计划更改,例如每 10 分钟重新加载一次)并使用 func_odbc 检查扩展/拨号计划的功能。这样您就可以更好地控制 sql 查询。当然,这需要您了解 mysql 并能够构建查询,但对于任何调用超过 10-20 次的动态 pbx 没有其他方法。

sippeers 实时是另一回事。启用对等更新的数据库更新存在问题,或者如果启用缓存则不更新对等信息。你只是忍受了。

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2022-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多