Com um colega que precisou nos usamos modens da motorola sm56 aqueles winmodens. vc deve abrir o hyperterminal do windows e selecionar porta que o modem esta instado e mandar conectar, apos isto teste algum destes comandos no modem.:
AT#CID=1
AT+VCID=1
AT#CLS=8#CID=1
AT#CID=2
AT%CCID=1
AT%CCID=2
AT#CC1
AT*ID1
Teste com valor 1 ou 2, o valor define qual tipo de padrão sera habilitado, não me lembro agora mas 1 é fsk e 2 dtmf ou vice e versa. Se a resposta for ok o modem suporta feito isto ligue para a linha que esta conectada ao modem (não feche o hypertrminal) se aparecer o numero do telefone que esta ligando significa que o modem tem suporte ao padrao dtmf.
Se aparecer somente ring ring troque de valor. se mesmo assim nao aparecer o modem não tem suporte.
Testei tambem com Smartlink sl 2800, 2801 e com intel 537ep, alguns motorolas não funcionaram.
Neste sistema ele ficou somente monitorando a porta do modem.
Este sistem foi desenvolvido em VS2010.
Seque um pequeno trecho do codigo, em VS2010
Private Sub bina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bina.Click
liberado = "Nao"
cmd.CommandText = "select * from CONTROLE"
If bina.Text = "Iniciar Bina" Then
bina.Text = "Fechar Bina"
cmd.Connection = conn
Dim mydata1 As MySqlDataReader
mydata1 = cmd.ExecuteReader()
Do While mydata1.Read
xporta = mydata1(("serial")).ToString
Loop
mydata1.Close()
If aportaexiste(xporta) Then
MsgBox("PORTA DO BINA ENCONTRADO")
liberado = "Sim"
If portaserial.IsOpen = False Then
portaserial.Open(xporta, 19200, 8, Rs232.DataParity.Parity_None, Rs232.DataStopBit.StopBit_1, 4096)
End If
Else
MsgBox("PORTA DO BINA NAO ENCONTRADO")
liberado = "Nao"
bina.Text = "Iniciar Bina"
Exit Sub
End If
Timer2.Enabled = True
' portaserial.Write("AT#CID=1" & vbCr)
If liberado = "Sim" Then
portaserial.Write("AT+VCID=2" & vbCr)
botaobinanao.FillColor = Color.Gray
botaobinasim.FillColor = Color.Green
End If
Else
botaobinanao.FillColor = Color.Red
botaobinasim.FillColor = Color.Gray
portaserial.Close()
bina.Text = "Iniciar Bina"
End If
End Sub
Private Sub ligar()
If liberado = "Sim" Then
Timer2.Enabled = True
portaserial.Write("AT+VCID=2" & vbCr)
botaobinanao.FillColor = Color.Gray
botaobinasim.FillColor = Color.Green
End If
End Sub
Private Sub desligar()
If liberado = "Sim" Then
Timer2.Enabled = False
portaserial.Write("AT+VCID=0" & vbCr)
botaobinanao.FillColor = Color.Red
botaobinasim.FillColor = Color.Gray
End If
End Sub
Private Sub tbina_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbina.TextChanged
End Sub
End Class
PS. Sua linha tem que estar com o identrificar de chamadas ativo.