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

Довольно простое решение в C++:

#include <iostream.h>
char*a[]={"a partridge in a pear tree.\n","two turtle doves, and","three french hens,","four calling birds,","five gold rings,","six geese a-laying,","seven swans a-swimming,","eight maids a-milking,","nine ladies dancing,","ten lords a-leaping,","eleven pipers piping,","twelve drummers drumming,"};
char*b[]={"first","second","third","fourth","fifth","sixth","seventh","eighth","nineth","tenth","eleventh", "twelfth"};
int main(){for(int i=0;i<12;i++){std::cout<<"On the "<<b[i]<<" day of Christmas my true love gave to me, \n";for(int j=i;j>=0;j--)std::cout<<a[j]<<" \n";}}

595 символов, хотя это могло быть уменьшено до 513 символов, если Вы позволяете "1-й, 2-й, 3-й" и т.д. нотация, которую некоторые использовали.

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
поделиться
Другие вопросы по тегам:

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