首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将kamailio拨号计划模块与mongodb一起使用

将kamailio拨号计划模块与mongodb一起使用
EN

Stack Overflow用户
提问于 2017-02-13 19:34:13
回答 1查看 482关注 0票数 0

我正在尝试使用mongodb作为后端来设置kamailio拨号方案模块。这个配置可以使用mysql作为后端,我使用的其他模块(订阅者、位置)现在可以很好地使用mongodb。

Kamailio.cfg中的相关配置:

代码语言:javascript
复制
#!define DBURL "mongodb://localhost/kamailio"
loadmodule "dialplan.so"
modparam("dialplan", "db_url", DBURL)

在我使用的主要途径中:

代码语言:javascript
复制
if (dp_translate("100")) {
        xlog("dialplan: translation succeeded\n");
}
else {
        xlog("dialplan: translation failed\n");
}

在mongodb中,我得到了:

代码语言:javascript
复制
> db.getCollection("version").find({"table_name":"dialplan"})
{ "_id" : ObjectId("589de6af3d305445959b19d9"), "table_name" : "dialplan", "table_version" : 2 }
> db.dialplan.find()
{ "_id" : ObjectId("589dec2f3d305445959b19db"), "dpid" : 100, "pr" : 50, "match_op" : 1, "match_exp" : "^003$", "match_len" : 0, "subst_exp" : "^003$", "repl_exp" : "11111", "attrs" : "abc" }

但是该模块无法应用这一点。例如:

代码语言:javascript
复制
$kamcmd dialplan.dump 100
error: 500 - Dialplan ID not matched

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-17 18:29:16

问题是有些值应该是整数(在dialplan.json中指定),这是我在插入时没有指定的。当我这样做的时候:

代码语言:javascript
复制
  db.dialplan.insert( { "dpid" : NumberInt(100), "pr": NumberInt(1), "match_op" : NumberInt(1), "match_exp" : "^003$", "match_len" : NumberInt(0), "subst_exp" : "^003$", "repl_exp" : "11111", "attrs" : "abc" } )

一切都很正常:

代码语言:javascript
复制
$kamcmd dialplan.translate 100 s:003
{
    Output: 11111
    Attributes: abc
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42203071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档