11

我需要一个相对便宜的解决方案来从 .net 平台(尤其是 C#)拨打电话。它必须能够拨打一个号码并确定线路是否断开、是否有人接听以及是否有人接听可能会播放消息。感谢您提供任何信息。

4

4 回答 4

11

您可以使用 Twilio 拨打电话。他们有一个REST API,您可以从您的应用程序中调用它们。查看拨打电话部分

我与 Twilio 没有关联 - 它只是我使用的一项有用的服务。

于 2011-03-25T16:48:28.513 回答
4

根据您手头的资源、您需要使用它的目的、您拥有的预算类型,有很多不同的选择。有些会按每次通话向您收费,有些则允许您在内部运行它的地方进行设置,您只需支付前期硬件成本和支持费用。

正如 Tai Squared 所说,Twilio 是一个可靠的答案。我也知道思科有一些自动拨号器选项。

电话树也是我过去使用过的另一个,尽管与它们集成可能很麻烦。http://www.phonetree.com/

祝你好运。

于 2011-03-25T17:46:07.823 回答
0

另一个解决方案是http://www.talksoftonline.com - 它与大多数允许导出文件的调度系统集成。

于 2013-03-07T16:01:11.737 回答
0

下面的代码在我工作的公司工作了一段时间。但是,最近 TAPI 无法初始化,因为我们的电话系统发生了一些重大变化,目前我还不知道发生了什么变化。

公共课 MakeACall

Private m_tobj As TAPIClass
Private m_array_ITAdresses(10) As ITAddress
Private m_bcc As ITBasicCallControl

Public Sub New()
    initializetapi3()
End Sub



Dim m_nIPPHONEline As Integer
Dim m_nGetIPPhoneLineNumber As Integer


Public Sub initializetapi3()

    Try

        For Each ob1 As ITAddress In m_array_ITAdresses

        Next

        m_tobj = New TAPIClass()
        m_tobj.Initialize()
        Dim ea As IEnumAddress = m_tobj.EnumerateAddresses()
        Dim ln As ITAddress
        Dim arg3 As UInteger = 0

        m_nGetIPPhoneLineNumber = -1 'Must initialze to -1 because the phone lines start counting from zero.
        m_nIPPHONEline = -1



        'm_tobj.EventFilter = DirectCast(TAPI_EVENT.TE_CALLNOTIFICATION | TAPI_EVENT.TE_DIGITEVENT |TAPI_EVENT.TE_PHONEEVENT |TAPI_EVENT.TE_CALLSTATE |TAPI_EVENT.TE_GENERATEEVENT |TAPI_EVENT.TE_GATHERDIGITS | TAPI_EVENT.TE_REQUEST, integer) 

        For i As Integer = 0 To 10
            ea.Next(1, ln, arg3)
            m_array_ITAdresses(i) = ln
            If (ln Is Nothing) = False Then
                m_nGetIPPhoneLineNumber += 1
                If m_array_ITAdresses(i).AddressName.ToUpper().IndexOf("IP PHONE") > -1 Then
                    m_nIPPHONEline = m_nGetIPPhoneLineNumber
                End If
            End If
        Next



    Catch ex As Exception

    End Try

End Sub
Public Sub MakeCall(ByVal stPhoneNumber As String)


    If stPhoneNumber.Length > 6 Then

        Try

            m_bcc = m_array_ITAdresses(m_nIPPHONEline).CreateCall(stPhoneNumber, TapiConstants.LINEADDRESSTYPE_IPADDRESS, TapiConstants.TAPIMEDIATYPE_AUDIO)
            m_bcc.Connect(False)

        Catch ex As Exception
            MessageBox.Show("Failed to create call.")
        End Try
    End If
    m_tobj.Shutdown()

End Sub

结束类

于 2015-07-28T17:21:24.457 回答