【问题标题】:Asterisk and recording incoming and outgoing calls星号和记录来电和去电
【发布时间】:2012-04-08 12:18:29
【问题描述】:

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

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

  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)

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

谢谢

【问题讨论】:

    标签: asterisk voice-recording


    【解决方案1】:

    可以通过这个拨号盘记录来电和去电

    将此行添加到 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()
    

    **

    【讨论】:

    • 晚了三年 mriiidul 但迟到总比没有好。这似乎比其他任何事情都更能解决录音问题,但仍然是一个赞成票,因为我并没有真正解决我的回答中的完整问题。
    【解决方案2】:

    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} 中。这会将呼叫连接到外部世界。此时您可以在拨号计划中添加另一个步骤以开始录制。

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

    【讨论】:

      猜你喜欢
      • 2011-10-05
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      相关资源
      最近更新 更多