AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 810736
Accepted
nepdev
nepdev
Asked: 2016-10-24 00:56:21 +0800 CST2016-10-24 00:56:21 +0800 CST 2016-10-24 00:56:21 +0800 CST

Freeswitch 中的最低成本路由 - 无法读取配置文件

  • 772

作为 FusionPBX GUI 系统的一部分,我们安装了 Freeswitch。FusionPBX 3.7.1 版,Freeswitch 1.4.9 版。FusionPBX 使用的数据库是 Postgres。

安装默认编译最低成本路由模块“mod_lcr”,并在模块配置文件中启用,模块“/usr/local/freeswitch/mod/mod_lcr.so”存在。

但是,我似乎无法使用 mod_lcr。

发出命令

reload mod_lcr

给出以下错误:

2016-10-22 23:22:12.023181 [ERR] mod_lcr.c:1078 Unable to determine database RANDOM function
2016-10-22 23:22:12.023181 [DEBUG] mod_lcr.c:1110 param val is       rate,quality,reliability
2016-10-22 23:22:12.023181 [DEBUG] mod_lcr.c:1113 arg #0/3 is rate
2016-10-22 23:22:12.023181 [DEBUG] mod_lcr.c:1113 arg #1/3 is quality
2016-10-22 23:22:12.023181 [DEBUG] mod_lcr.c:1113 arg #2/3 is reliability
2016-10-22 23:22:12.023181 [ERR] mod_lcr.c:2089 Unable to load lcr  config file
2016-10-22 23:22:12.023181 [CRIT] switch_loadable_module.c:1447 Error Loading module /usr/local/freeswitch/mod/mod_lcr.so
**Module load routine returned an error**

我查看了源代码“mod_lcr.c”,但看不到实际的错误是什么。它清楚地加载配置并执行函数“lcr_load_config”的一部分,从上面记录到控制台的内容可以看出,但在我无法清楚识别的地方出现错误。

这似乎与没有为此模块正确定义数据库有关。在 mod_lcr.c 的第 1056 行,它应该在读取配置的“设置”xml 标签后将数据源名称写入日志,但它没有。设置标签确实存在 - 请参阅下面的配置外观。但它没有设置“globals.odbc_dsn”变量。

“mod_lcr”的 Freeswitch 文档在这一点上非常吝啬,只是说

“编辑配置文件和数据库连接信息的默认配置 /usr/local/freeswitch/conf/autoload_configs/lcr.conf.xml”

但是我需要在该配置文件中添加什么?

默认情况下,在我的安装中它包含:

<settings>
  <param name="odbc-dsn" value="$${dsn_system}"/>
</settings>

我将 lcr、carriers、carrier_gateway 表添加到数据库“freeswitch”和“fusionpbx”中。没有变化,仍然是同样的错误。

任何想法这里可能有什么问题?

voip freeswitch
  • 1 1 个回答
  • 423 Views

1 个回答

  • Voted
  1. Best Answer
    nepdev
    2016-10-24T01:44:41+08:002016-10-24T01:44:41+08:00

    我自己想通了。

    该错误实际上是缺少数据库信息。错误消息“无法读取配置文件”具有误导性。

    关键是FusionPBX安装没有设置变量“dsn_system”。可以设置该变量,或者在配置文件 /usr/local/freeswitch/conf/autoload_configs/lcr.conf.xml 中明确声明连接字符串。

    因此,要改进 mod_lcr 的 Freeswitch 手册页,您需要执行以下操作才能使用“mod_lcr”:

    1. 确保使用 mod_lcr 模块编译 Freeswitch
    2. 确保 Freeswitch 在自动加载配置中加载 mod_lcr
    3. 为 LCR 创建表。目录 /usr/src/freeswitch/src/mod/applications/mod_lcr/sql/ 包含执行此操作的脚本。
    4. 为您打算使用的数据库制定一个连接字符串,并将其放入文件 /usr/local/freeswitch/conf/autoload_configs/lcr.conf.xml 中的“设置”XML 标记中。

    对于 Postgres 数据库,这相当简单。这是 lcr.conf.xml 文件中的显式设置:

    <settings>
       <param name="odbc-dsn" value="pgsql://hostaddr=127.0.0.1 dbname=freeswitch 
              user=freeswitch password=xxxx "/>
    </settings>
    
    • 0

相关问题

  • 通过 VPN 链接优先考虑 VOIP 流量

  • 一个喃喃自语的服务器需要多少资源?

  • 有稳定的跨平台软电话吗?还是只有 Linux 的?

  • 有可靠的 VOIP 设置吗?[关闭]

  • 思科与其他一切

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve