为什么不按照星号推荐动态实时?

时间:2016-07-14 23:45:33

标签: asterisk sip asteriskami sip-server

在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)为什么星号不推荐动态实时扩展? 2)如何使用工具liec func_odbc进行数据抽象的静态拨号方案?

我的要求是有更多扩展(在这种情况下是移动电话号码),如何将它们动态添加到sip.conf并将其注册到SIP服务器

1 个答案:

答案 0 :(得分:2)

动态实时存在一些问题

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

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

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

sippeers实时是另一回事。它具有启用了对等更新的db update问题,或者在启用缓存时不更新对等信息。你只是活着。