如何在 lync 应用程序中获取拨出呼叫状态

Posted

技术标签:

【中文标题】如何在 lync 应用程序中获取拨出呼叫状态【英文标题】:How to get outgoing call state in the lync application 【发布时间】:2014-04-08 11:51:26 【问题描述】:

我们正在开发一个应用程序,每当我们从应用程序拨号时,我们都能够成功连接到其他人,直到呼叫者没有提起并断开或忽略呼叫我们如何找到呼叫状态是否断​​开,已连接,忽略。我们试过了

对话状态改变

  void Conversation_StateChanged(object sender, ConversationStateChangedEventArgs e)
    
        if (_Conversation.State == ConversationState.Terminated)
        
            MessageBox.Show("Terminated....");
        
    

audiovideo 模态状态改变

   void _AVModality_ModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
    
        switch (e.NewState)
        
            case ModalityState.Connected:
                MessageBox.Show("Connected.");
                break;
            case ModalityState.Connecting:
                MessageBox.Show("Connecting.");
                break;
            case ModalityState.ConnectingToCaller:
                MessageBox.Show("ConnectingToCaller.");
                break;
            case ModalityState.Disconnected:
                MessageBox.Show("Disconnected.");
                break;
            case ModalityState.Invalid:
                MessageBox.Show("Invalid.");
                break;
            case ModalityState.Notified:
                MessageBox.Show("Notified.");
                break;
            case ModalityState.Suspended:
                MessageBox.Show("Suspended.");
                break;
        
    

当我们使用模态状态更改事件时,我们能够“连接”并连接,但是当呼叫被忽略或断开连接时,这些不会触发,并且在会话状态更改时也是如此。我们能够在 ucma 应用程序中找到通话状态,但无法找到拨出通话状态。非常感谢任何建议。

【问题讨论】:

【参考方案1】:

对于断开的呼叫,您应该能够使用 Call.StateChanged 事件处理程序,而不是您当前正在关注的对话和模态状态更改事件处理程序。

【讨论】:

以上是关于如何在 lync 应用程序中获取拨出呼叫状态的主要内容,如果未能解决你的问题,请参考以下文章

使用 CallKit 显示用于拨出 VoIP 呼叫的 iOS 本机呼叫 UI

Lync 2010 事件监控和呼叫控制 API

如何在使用 Lync Client API 2010 拒绝后接受传入的视频呼叫?

从电话号码获取 Lync 用户

联系可用性 Lync

UCMA设置lync在线状态