0

我正在尝试使用用 VB 编写的 DevLink 示例代码连接到 Avaya。当调用 DLOpen 时,它连接成功,但问题是当调用 DLRegisterType2CallDeltas() 函数时,结果是一个大于 2 的数字,例如 432563542633 并且输出连接似乎存在问题"Bhoo!! 432563542633 "。我阅读了 DevLink 帮助,但 DLRegisterType2CallDeltas() 的结果只提到了 3 个值,只有 0 表示成功, 1 、 2 表示错误。我真的不知道大于 2 的值是什么意思。请问有什么帮助吗?代码如下:

Public Sub StartMonitor(idPbx As Integer, PbxAddress As String, pbxPassword As String)
        Dim PConn As Connection_Parameter.Connection_Status_Paramenter = New Connection_Parameter.Connection_Status_Paramenter

        Try
            PConn.IdPbx = idPbx
            PConn.ErrorLevel = Connection_Enum.ErrorLevel.info
            PConn.StatusMessage = "Connection in progress..."
            PConn.Status = CommsEvent_Enum.CommsEvent_State.DEVLINK_COMMS_OPERATIONAL

            RaiseEvent ConnectionStatus(Me, PConn)
            Dim iRet As Long = DLOpen(New IntPtr(idPbx), PbxAddress, pbxPassword, Nothing, Nothing, oCommsEvent)

            If iRet = 0 Then
                PConn.StatusMessage = "IpOffice is present!!"
                RaiseEvent ConnectionStatus(Me, PConn)
            Else
                PConn.StatusMessage = "IpOffice is present ?? "
                RaiseEvent ConnectionStatus(Me, PConn)
                'Exit Sub
            End If
            PConn.StatusMessage = "Wait connection response..."
            RaiseEvent ConnectionStatus(Me, PConn)
            Do
                Thread.Sleep(100)
                Application.DoEvents()

            Loop While Not bIsConnect And Not bIsInterrupt

            iRet = DLRegisterType2CallDeltas(New IntPtr(idPbx), oCallLogEvent)

            If iRet > 0 Then
                If iRet = 1 Then
                    PConn.ErrorLevel = Connection_Enum.ErrorLevel.warning
                    PConn.StatusMessage = "Error!! Check ip office IP Address or LAN Connection!!!"
                    RaiseEvent ConnectionStatus(Me, PConn)
                End If
                If iRet = 2 Then
                    PConn.ErrorLevel = Connection_Enum.ErrorLevel.warning
                    PConn.StatusMessage = "Error!! CTI License not found...!!!"
                    RaiseEvent ConnectionStatus(Me, PConn)
                End If

                If iRet > 2 Then
                    PConn.ErrorLevel = Connection_Enum.ErrorLevel.ignore
                    PConn.StatusMessage = "Bhoo!! " & iRet.ToString
                    RaiseEvent ConnectionStatus(Me, PConn)
                End If
                'Exit Sub
            Else
                PConn.StatusMessage = "DLRegisterType2CallDeltas is OK"
                RaiseEvent ConnectionStatus(Me, PConn)
            End If

        Catch ex As Exception
            Throw
        Finally
            PConn = Nothing

        End Try
    End Sub
4

1 回答 1

1

您需要在 PBX 端拥有 CTI pro 许可证才能使用 Devlink,否则您将始终获得 2 个结果。

于 2016-04-20T06:50:42.367 回答