Как получить Идентификатор вызывающего абонента в C#?

Я хочу использовать 56K модем для получения номера телефона того, кто называет домашний телефон. Существует ли способ достигнуть этого с C#?

9
задан jww 8 November 2019 в 01:10
поделиться

3 ответа

Не все модемы поддерживают идентификатор вызывающего абонента. А для тех, кто это делает, реализация варьируется в зависимости от производителя.

Идентификатор вызывающего абонента передается через последовательные данные, поэтому вам придется использовать библиотеку TAPI (или HyperTerminal Windows для проверки). Номер идентификатора вызывающего абонента обычно появляется между первым и вторым звонком.

Вам нужно будет подать команду на модем, чтобы активировать идентификатор вызывающего абонента. Обычно:

AT # CID = 1 (или AT + VCID = 1 )

OK

Проверьте документацию на свой модем.

Когда поступает вызов, модем получит строку вызова. Обычно:

ЗВОНОК

Затем приходит текст идентификатора вызывающего абонента. Если я правильно помню, он будет в форме:

NMBR = XXXXXXXXXX

[Ищу ссылку. Я отправлю ссылку, когда найду ее]

ОБНОВЛЕНИЕ : А, нашел. На этой странице представлены команды и строки подключения для различных модемов:

Как проверить модем на поддержку идентификатора вызывающего абонента

17
ответ дан 4 December 2019 в 08:34
поделиться

Это возможно, но есть некоторые моменты, на которые следует обратить внимание:

  • У вас все равно должен быть идентификатор вызывающего абонента, поддерживаемый вашим оператором связи / провайдером. Базовая линия POTS не будет включать эту информацию, если оператор связи не проделал дополнительную работу по ее добавлению. Таким образом, вы не можете сделать это, чтобы избежать дополнительной платы за идентификацию вызывающего абонента.
  • Это не встроено в .Net. Вам нужно будет вызвать базовую библиотеку TAPI . Сам я никогда не работал с этой библиотекой, так что это все, что я могу вам сказать.
5
ответ дан 4 December 2019 в 08:34
поделиться

serialPort1.Open (); serialPort1.WriteLine ("AT # cid = 1" + System.Environment.NewLine); // где serialPort1 - последовательный порт для более подробной информации см. следующую ссылку: http://www.itworld2.com/frmsCsharp.aspx

3
ответ дан 4 December 2019 в 08:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: