2011-03-25 44 views
11

Necesito una solución relativamente económica para hacer llamadas telefónicas desde la plataforma .net (C# en particular). tiene que poder marcar un número y determinar si la línea está desconectada, si alguien respondió, y si alguien responde, posiblemente, ejecute un mensaje. Gracias por cualquier informaciónhaciendo llamadas telefónicas con C#

+12

El uso de hardware y una línea telefónica, o VoIP y un proveedor de telefonía por Internet, o un dispositivo móvil, o alguna otra cosa? (¿Tampoco es este mal?) – Rup

+0

¡Me alegra oír que hay una buena razón! ¿Pero no cambiar constantemente su número es malo para los negocios? – Rup

+0

Gente, si no quiere responder esto, no responda. Limpié más de una docena de indicadores relacionados con los comentarios aquí. –

Respuesta

10

Puede usar Twilio para realizar llamadas salientes. Tienen un REST API al que puede llamar desde su aplicación. Consulte el Making Calls section.

No estoy asociado con Twilio - es solo un servicio útil que uso.

+1

Buena respuesta, la sobrecarga de licencia no debería ser un problema para el objetivo establecido. Será inaceptable para el marcado masivo. –

+0

Otro voto para Twilio. Acabo de publicar otro comentario al respecto [aquí] (http://stackoverflow.com/questions/4203211/replacement-technology-for-tapi/6485541#6485541) ya que estoy investigando herramientas de desarrollo similares. – TonyG

4

Según los recursos que tiene a mano, para qué necesita usarlos, qué tipo de presupuesto tiene, hay varias opciones diferentes. Algunos te cobrarán por llamada, otros te permitirán configurar algo en el lugar donde lo ejecutas en casa y solo pagarás por los costos de hardware y soporte iniciales.

Como declaró Tai Squared, Twilio es una respuesta sólida. También sé que Cisco tiene algunas opciones de marcador automático.

El árbol del teléfono también es otro que he usado en el pasado, aunque la integración con ellos puede ser peluda. http://www.phonetree.com/

Buena suerte.

+0

Tenemos un presupuesto, pero si la solución es costosa pero es la "mejor" solución, entonces estoy seguro de que la contabilidad puede ser procesada. – Dat

+0

¿Qué hay de www.voicent.com? ¿Alguien alguna vez los usa y ve cómo se comparan contra la competencia? – Dat

0

El código siguiente funcionaba por un tiempo en la empresa para la que trabajo. Pero, recientemente, TAPI no puede inicializarse porque se realizaron algunos cambios importantes en nuestro sistema telefónico, de los cuales no sé qué cambió, hasta el momento.

Public Class 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 

End Class

Cuestiones relacionadas