0

我正在使用 Asterisk.NET 在 C# WinForms 中制作 Asterisk 客户端。我的客户只收听一个分机。我们可以查看来电、拒绝或转接等来电到我的分机。我需要源通道来转移呼叫,源通道只能从拨号事件中获取。最近,我注意到每次连接到服务器的任何分机开始拨号时都会发生拨号事件。我想过滤掉它,只有呼叫只打到我的分机。

    void manager_Dial(object sender, DialEvent e)
    {

        CallingInfo.src_channel = e.Channel;
    }

e.dialString 给了我目的地分机号码;但我不知道它是否根据服务器状态变为空。此外,如果有一些外部呼叫来我,我不会得到拨号事件或源频道会发生什么,然后它就无法转移。正确的 ?

4

1 回答 1

0

你不能。

Asterisk 不允许这样的功能。

您可以阅读所有内容并按您的代码所需的扩展名进行过滤。您可以编写守护程序,它将在服务器上过滤并发送到您的应用程序只需要的守护程序。

原因:星号是pbx,所有不是pbx的功能都是有限的。

您也可以在拨号前和应答后发送带有任何您想要的字段的拨号计划 UserEvent,仅捕获 UserEvent。

于 2014-06-26T12:13:28.047 回答