Pergunta

Olá, eu quero usar o modem 56k para obter o número de telefone de quem liga para o telefone doméstico, existe uma maneira de conseguir isso com C#?

Foi útil?

Solução

Nem todos os modems suportam ID do chamador. E para aqueles que fazem, a implementação varia entre os fabricantes.

Lá o identificador de chamadas é passado através dos dados seriais, para que você tenha que usar o Biblioteca Tapi (ou hiperterminal do Windows para testá -lo). O número de identificação do chamador normalmente aparece entre o primeiro e o segundo anel.

Você precisará emitir um comando para o modem para ativar o ID do chamador. Tipicamente:

AT#CID=1 (ou AT+VCID=1)

OK

Verifique a documentação do seu modem.

Quando uma chamada chegar, o modem receberá a string de chamada. Tipicamente:

RING

Então o texto do identificador de chamadas entrará. Se eu estiver lembrando corretamente, estará no formulário:

NMBR=XXXXXXXXXX

Estou procurando uma referência. Vou postar um link quando puder encontrá -lo

ATUALIZAR: Ah, encontrado um. Confira esta página para obter os comandos e strings de conexão para vários modems:

Como testar um modem para suporte de identificação de chamadas

Outras dicas

É possível, mas há algumas coisas sobre isso que você deve observar:

  • Você ainda precisa ter o ID do chamador suportado pela sua operadora/provedor. Uma linha básica de POTS não incluirá essas informações, a menos que a transportadora tenha feito algum trabalho extra para adicioná -las. Portanto, você não pode fazer isso para evitar pagar uma taxa de identificação de chamadas extra.
  • Não está embutido no .NET. Você terá que ligar para o básico Tapi biblioteca. Eu nunca trabalhei com essa biblioteca, então isso é o máximo que posso lhe dizer.

serialport1.open (); serialport1.writeLine ("em#cid = 1" + System.environment.newline); // onde serialport1 é o controle serial para obter mais detalhes, consulte o link seguinte: http://www.itworld2.com/frmscsharp.aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top