问题标签 [dahdi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
41283 浏览

asterisk - 配置 DAHDI 通道

我在 Ubuntu 12.04.2 LTS 上安装了 dahdi 2.7 和 asterisk 11。我很难配置 DAHDI 频道。我有一张来自 Digium 的 AEX 808 卡,我的电话线上有 8 个 FXO 端口的卡插入卡的端口 1。

我在示例安装部分下的http://www.voip-info.org/wiki/view/DAHDI中遵循了完全相同的步骤, 除了我编辑了 dahdi_channels.conf 以指向与通道 2 的通道号相同的组号- 8 因为我认为星号正试图从频道 1 以外的频道拨打电话,因为它们之前都在 group=0 中。

这是我的配置文件:

chan_dahdi.conf:

dahdi_channels.conf:

/etc/dahdi/system.conf:

使用这些配置文件,当我启动星号时,我收到以下与 DAHDI 相关的错误:

这是来自 unix 终端的 lsdahdi 的结果:

我不确定为什么它说“正在使用”,因为当前没有正在处理的呼叫。我不确定这是否是 AEX808 卡的默认输出。我怎样才能让我的 DAHDI 与星号一起工作?我究竟做错了什么?

dahdi 的结果以星号显示状态:

dahdi_cfg -vvvv 的输出:

任何帮助,将不胜感激。

提前致谢!

0 投票
1 回答
1307 浏览

asterisk - 将所有 DAHDI 频道转发到另一台服务器 [FreePBX]

这是我的问题:

安装和配置 12 端口 FXO 卡(来自 openvoc.cn)后,我发现根据 openvox 支持,我的系统不支持此 FXO 卡(其中一些 FXO 卡在 AMD 主板上无法正常工作)。

所以作为解决方法,我将卡移动到另一个英特尔主板并安装和配置星号 + freepbx,并且工作正常..

问题是:AMD 服务器是我的开发服务器,出于某种原因,我希望 sip 电话连接到 AMD 服务器,而不是带有 FXO 的英特尔。

有没有办法(暂时的,直到我得到另一张 FXO 卡)来做到这一点:

1-将FXO端口上的所有来电转发到AMD服务器,就好像该卡安装在AMD服务器上一样,freepbx可以从那里处理呼叫?

2- 在 AMD 服务器上添加中继以使用安装在 intel 服务器上的 FXO?<-- 我认为这可以从添加主干页面完成,但不确定如何。

基本上我想要的是使用安装在另一台服务器上的这个 FXO 卡,如果它是在本地安装的。

最干净和最好的方法是什么?这个想法是我不想要一个复杂的设置,因为这个服务器的主要原因是学习星号和freepbx,并且想要一个干净的开始。

谢谢

0 投票
1 回答
268 浏览

asterisk - Asterisk 处理超过 200 个呼叫时停止

我有一个使用星号、dahdi 和 libpri 的软 PBX 设置。处理超过 200 个呼叫时,Asterisk 经常停止。因此,所有处理调用都被放弃了。

服务器配置:

RAM:32 GB
处理器:16 核
操作系统:debian Squeeze - 64 位(未安装 X)

Asterisk 版本:13.10
Dahdi TE435/235 版本:2.11.1(我们使用 4 端口卡 2 号)
Libpri 版本:1.4.11

我们在 asterisk.conf 中将 maxfiles 更改为 2000 以处理 240 个调用

在 dmesg 中出现以下错误:

wcte43x 0000:05:00.0:硬件检测到欠载。最大延迟为 12 毫秒。[406144.759396] __ratelimit:48 个回调被抑制

在星号日志中收到以下警告:

WARNING[4876][C-000000db] sig_analog.c:在通道 37 上处于奇怪状态 6 的响铃/摘机 WARNING[4876][C-000000db] channel.c:意外的控制子类“2”

在消息日志中收到以下消息,

Altumivr 内核:[165794.686917] 星号 [32641] 陷阱除法错误 ip:7f14375e75eb sp:7f1411b1c1a0 错误:0 in res_musiconhold.so[7f14375e1000+b000]

是否需要在配置级别进行任何调整。请协助和建议。

0 投票
1 回答
880 浏览

asterisk - 在 dahdi 频道上没有答案的星号播放?

这是我的示例拨号方案

当我试图通过 dhadi 频道拨打电话时。我在星号控制台中收到以下日志。

但是欢迎语音不能发声。。如何在接听电话之前播放欢迎语音???我是否必须更改星号中的任何配置????

我使用星号 13.5。

0 投票
1 回答
454 浏览

asterisk - Asterisk (Digium):如何通过 cli 禁用或缩小跨度?

如何通过 CLI 或 API 向下跨度?

我发现只有一个命令:

但它不适合我,因为我不想破坏跨度,而只想关闭指定的跨度。例如:

所需的状态是:

请记住,禁止此调用:

因为在那之后,电话:

返回未配置的跨度。

0 投票
1 回答
270 浏览

asterisk - 如何获得星号 13 中的实际频道数?

在星号 1.4 中,通道数在 chan->name 中指定。例如 62 号:

如何在 c 语言中获取星号 13 中的实际通道数?例如,在 chan->name 中仅命名这个跨度数。

以下是 R.Mudget 对 extentons.conf 的评价:

但是如何在 c 语言 API 中获得实际的通道数?

0 投票
1 回答
416 浏览

linux - 调用 netlink_broadcast() 会导致 BUG 调度而原子

我正在为硬件电话模块开发自定义 dahdi 驱动程序。该模块通过 USB(用户空间 libusb D2XX ftdi 驱动程序)连接到 pc。所以驱动被分成两部分:内核模式dahdi驱动和用户空间服务。

用户空间守护进程检测 USB 卡并要求内核 dahdi 驱动程序使用 netlink 添加/删除 dahdi 跨度。添加新跨度后,它会与设备通信,发送/接收音频和命令。

我通过单个电话卡(热插拔设备、拨号、说话、hotremove 没有任何错误)成功测试了它,开始了多个卡测试并在 netlink_broadcast() 调用中得到“BUG:原子调度”:

内核驱动结构非常简单。它使用回调列表注册 dahdi 设备:

hooksig 操作是从 handoff/hangon 上的 dahdi 模块调用的,它只是将 netlink 消息发送到用户空间守护进程:

dahdi_rbs_sethook()->mydev_hooksig() 函数在 dahdi 模块内的多个位置调用,并且总是用 spin_lock_irqsave()/spin_unlock_irqrestore() 包裹,但我不明白为什么只连接一张卡时问题就消失了。

所以我只是不知道如何从这个回调中正确发送 netlink 消息。netlink_broadcast 是否有任何非睡眠变化?

add1:试图 spin_unlock 发送 spin_lock - 没有帮助。

add2:这是我的 nl_send_cmd() 函数的代码

0 投票
2 回答
167 浏览

dahdi - 系统启动时从哪里调用 dahdi_cfg?

我通过模块助手在 Debian stable (Buster) 上安装 DAHDI,如下所示:

我还创建/etc/dahdi/system.conf/etc/dahdi/assigned-spans.conf.

我无法弄清楚dahdi_cfg系统启动期间谁打电话。我可以确认它确实被某些东西调用了,因为如果我删除dahdi_cfg并重新启动,echo并且dahdi_echocan_oslec模块丢失lsmod(回声消除在 中指定system.conf)。

我找到了/usr/share/dahdi/span_config.d/10-dahdi-cfg,但我不知道什么会运行它。

那么,系统启动期间从哪里dahdi_cfg调用呢?

更新

我发现如果system.conf缺少,无论如何都会加载回声消除模块。强制性条件是:

  • 的存在dahdi_cfg
  • /etc/dahdi/assigned-spans.conf

更新2

另一个观察结果:如果/etc/dahdi/assigned-spans.conf删除并options dahdi auto_assign_spans=1添加到 /etc/modprobe.d/dahdi.conf,则不会加载回声消除模块(system.conf 仍然被删除)。所以它似乎auto_assign_spans=1不起作用。


有人可以在我的回答中回答新问题吗?

0 投票
1 回答
181 浏览

php - Asterisk PAMI 发起出站呼叫问题 (PHP)

我正在使用 PAMI 发起呼叫,它应该从本地分机呼叫客户号码,它工作正常,但问题是当我执行脚本时,当客户选择这个时,呼叫(从分机到客户)呼叫问题是:它响铃的分机(来电)

它应该自动拨打(当客户接听电话时,频道应该直接拨打而不响分机)

这是我的代码