1

所以我一直在尝试学习星号,但取得了一些有限的成功。基本上我想做的是记录来电和去电。但是,我的理解似乎存在差距。

据我了解,一位星号大师能否确认我的理解是正确的或不正确的。

  1. sip.conf 和 iax.conf 用于注册“通道”。这些通道可以是软电话、模拟电话,甚至是连接到我的星号服务器的其他设备。

  2. extensions.conf 定义传入呼叫到星号的路由。因此,我可以说如果有人在我的星号框中呼叫分机 100,则将此呼叫连接到 sip 设备 100 或播放 hello-world 示例。

我怀疑我对扩展的理解可能有点缺陷。这是我想要做的。无论分机是什么,我都想将来电和去电记录到星号。据我所知,您可以在拨号计划中使用 monitor 和 mixmonitor 命令。所以我的理解是,你只能在拨号方案中指定来电会发生什么。

因此,例如,我可以通过将以下内容添加到我的 extension.conf 来记录对分机 600 的来电

exten => 600,1,Answer()
same => 600,2,Monitor(wav,,m)

我怀疑我对拨号方案的工作方式做出了非常错误的假设。

谢谢

4

2 回答 2

7

可以通过此拨号平面记录来电和去电

将此行添加到 extensions.conf

**

exten => _!,n,System(mkdir "/var/spool/asterisk/${CALLERID(number)}")
exten => _!,n,Set(FILENAME=CallingTime(${DATETIME})-Called(${EXTEN}))
exten => _!,n,Set(MONITOR_EXEC_ARGS=&& mv "/var/spool/asterisk/monitor/${FILENAME}.wav" "/var/spool/asterisk/${CALLERID(number)}/")
exten => _!,n,Monitor(wav,${FILENAME},mb)
exten => _!,n,Dial(SIP/100,,r)
exten => _!,n,Hangup()

**

于 2014-02-11T07:11:25.563 回答
0

Right做了更多的研究。拨号方案同时满足呼入和呼出的需求。例如,您可以通过 PSTN 卡连接您的外部提供商。此卡会将来自星号的呼叫连接到外部网络中继,从而将您连接到外部号码。

因此,在您的拨号计划中,您基本上会说,当拨打外部号码时,将呼叫传递到 PSTN 卡并让该卡拨打该号码。

例如在拨号计划中定义您的 PSTN 卡:

[globals]
LOCAL=DAHDI/G0           ; assuming you have a PSTN card in your system

然后用拨号方案中的表达式定义外部号码范围

[external]
exten => _NXXNXXXXXX,1,Dial(${LOCAL}/${EXTEN})  ; 10-digit pattern match for NANP

基本上,如果您拨打一个符合_NXXNXXXXXX 规则的号码,拨号方案将告诉PSTN 卡拨打您刚刚拨打的号码,方法是将其传递给变量${EXTEN}。这会将呼叫连接到外部世界。此时您可以在拨号计划中添加另一个步骤以开始录制。

事情就是这样。在查看拨号方案时,不要再考虑传入和传出,而是将其视为通道以及如何连接它们。

于 2012-04-10T09:08:27.940 回答