问题标签 [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.
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 的输出:
任何帮助,将不胜感激。
提前致谢!
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,并且想要一个干净的开始。
谢谢
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]
是否需要在配置级别进行任何调整。请协助和建议。
asterisk - 在 dahdi 频道上没有答案的星号播放?
这是我的示例拨号方案
当我试图通过 dhadi 频道拨打电话时。我在星号控制台中收到以下日志。
但是欢迎语音不能发声。。如何在接听电话之前播放欢迎语音???我是否必须更改星号中的任何配置????
我使用星号 13.5。
asterisk - Asterisk (Digium):如何通过 cli 禁用或缩小跨度?
如何通过 CLI 或 API 向下跨度?
我发现只有一个命令:
但它不适合我,因为我不想破坏跨度,而只想关闭指定的跨度。例如:
所需的状态是:
请记住,禁止此调用:
因为在那之后,电话:
返回未配置的跨度。
asterisk - 如何获得星号 13 中的实际频道数?
在星号 1.4 中,通道数在 chan->name 中指定。例如 62 号:
如何在 c 语言中获取星号 13 中的实际通道数?例如,在 chan->name 中仅命名这个跨度数。
以下是 R.Mudget 对 extentons.conf 的评价:
但是如何在 c 语言 API 中获得实际的通道数?
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() 函数的代码
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
不起作用。
有人可以在我的回答中回答新问题吗?
php - Asterisk PAMI 发起出站呼叫问题 (PHP)
我正在使用 PAMI 发起呼叫,它应该从本地分机呼叫客户号码,它工作正常,但问题是当我执行脚本时,当客户选择这个时,呼叫(从分机到客户)呼叫问题是:它响铃的分机(来电)
它应该自动拨打(当客户接听电话时,频道应该直接拨打而不响分机)
这是我的代码