C# 如何从我刚刚发起的呼叫中获得唯一ID和频道名称?

C# 如何从我刚刚发起的呼叫中获得唯一ID和频道名称?,c#,asterisk,asteriskami,asternet,C#,Asterisk,Asteriskami,Asternet,我正在尝试从Asterisk.Net的旧版本升级到AsterNet的最新版本。我们过去常常使用AsteriskManager.origineCall()发起调用,后者返回一个调用对象。该调用对象具有唯一ID和通道名 现在,我使用SendAction()发起调用,并向其发送一个origineAction。所以我的第一个问题是:这样做对吗?因为在我得到的结果中,UniqueId为null,并且没有ChannelName。我认为通道名称可能在属性中,但属性也是空的 那么,如何获取我刚刚发起的呼叫的频道

我正在尝试从Asterisk.Net的旧版本升级到AsterNet的最新版本。我们过去常常使用AsteriskManager.origineCall()发起调用,后者返回一个调用对象。该调用对象具有唯一ID和通道名

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

那么,如何获取我刚刚发起的呼叫的频道名称和唯一id呢?

请参阅第页。还要检查库的源代码

触发originate后,您将获得包含Action id信息的事件。之后,它将产生更多事件(取决于版本),根据actionid提供更多信息

另一个解决方案是发送一些变量,然后在dialplay UserEvent命令中使用,返回您需要的所有信息


另外,在没有星号经验的情况下创建拨号核心是一个非常糟糕的主意,因为它在负载下会有问题。使用已编写的核心或聘请专家。

我是这样做的:我创建了一个OriginateAction。在OriginateAction中,我将Asynch设置为true。然后我将其与SendEventGenerationAction()一起发送,并带有一个超时。我检查返回的ResponseEvents是否不为null,ResponseEvents.Events.Count是否大于0,ResponseEvents.Events[0]是否为OriginateResponseEvent。responseEvents.Events[0]则具有我需要的所有信息