c# - 如何从我刚刚发起的调用中获取 UniqueId 和 channel 名称?

标签 c# asterisk asteriskami asternet

我正在尝试从旧版本的 Asterisk.Net 升级到最新版本的 AsterNet。我们曾经使用 AsteriskManager.OriginateCall() 发起调用,它返回一个 Call 对象。该调用对象有一个 UniqueId 和 ChannelName。

现在我使用 SendAction() 发起调用并向其发送 OriginateAction。所以我的第一个问题是:这是正确的做法吗?因为在我得到的结果中,UniqueId 为 null 并且它没有 ChannelName。我认为 channel 名称可能在属性中,但属性也为空。

那么如何获取我刚刚发起的调用的 channel 名称和唯一 ID?

最佳答案

我是这样做的:我创建了一个 OriginateAction。在 OriginateAction 中,我将 Asynch 设置为 true。然后我用 SendEventGenerateAction() 发送它并设置超时。我检查返回的 ResponseEvents 是否不为 null,responseEvents.Events.Count > 0,以及 responseEvents.Events[0] 是否为 OriginateResponseEvent。然后responseEvents.Events[0]就有了我需要的所有信息。

关于c# - 如何从我刚刚发起的调用中获取 UniqueId 和 channel 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22225998/

相关文章:

c# - WinForms - 绑定(bind) ListBoxControl

linux - 如何在 CentOS 5.8 中重新编译 asterisk?

java - 通过 Asterisk Java 检测与 Asterisk 的连接状态

c++ - 星号AMI库C++

c# - 在异步方法中验证参数

c# - 如何在代码隐藏中加载ImageButton中的图像?

c# - 如何以排序方式显示 int 的数据绑定(bind)集合

linux - 如何通过 cURL 使用 AMI?

asterisk - 如何使用 PJSIP 在 Asterisk 上转发 sip 调用?

c# - 如何使用 asternet 从 Asterisk 获取变量值