GSM-модуль SIM900 | Как проверить, принят ли ответ на исходящий звонок - PullRequest
0 голосов
/ 04 августа 2020

После отправки исходящего вызова с помощью модуля GSM SIM900 с использованием AT-команд , есть ли способ узнать, ответил ли человек, принимающий вызов , на него?

(прямая связь с модулем GSM через последовательный порт)

1 Ответ

1 голос
/ 05 августа 2020

Команда +CLCC - это стандартный способ для выполнения того, что вы просите. Это означает, что эта команда будет доступна на любом устройстве, поддерживающем спецификацию ETSI, независимо от модели или производителя.

С SIM900 Руководство по AT-командам :

Выполнение команда AT+CLCC возвращает список текущих вызовов ME.

Примечание: если команда завершается успешно, но вызовы недоступны, информационный ответ на TE не отправляется.

Устройство отправляет следующий ответ

[+CLCC: <id1>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type >,<alphaID>]
[<CR><LF>+CLCC: <id2>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type>,<alphaID>]
[...]]]

OK

где

- (Диапазон 1..7) - Идентификационный номер вызова
Этот номер может использоваться в +CHLD командных операциях

0 - Мобильный вызов (MO)
1 - Мобильный вызов (MT)
- Состояние вызова:
0 - Активный
1 - На удержании
2 - Набор номера (MO звонок)
3 - Оповещение (звонок MO)
4 - Входящий (звонок MT)
5 - Ожидание (MT звонок)
6 - Отключить
- Канал / телеканал:
0 - Голосовой
1 - Данные
2 - Факс

0 - Звонок не один из участников многостороннего (конференц) вызова
1 - Вызов является одним из участников многостороннего (конференц) вызова
- Тип строки (строка должна быть заключена в кавычки) номер телефона в формате, указанном .
- Тип адреса
- Тип строки (строка должна быть заключена в кавычки) буквенно-цифровая c представление , соответствующее записи, найденной в телефонной книге.

Итак, в основном, что вам нужно сделать, это предоставить команду (при опросе), найти строку ответ, содержащий удаленный номер, на который вы набираете, содержащийся в параметре , и дождитесь, пока значение параметра изменится с 2 (набор) на 0 (Активный).

Альтернативный способ получения информации, не связанный с опросом, - включить UR C s (незапрашиваемые коды результатов). Установив

AT+CLCC=1

, UR C будет асинхронно отправляться на последовательный порт всякий раз, когда изменяется статус вызова (с тем же форматом команды выполнения respose, описанным выше).

Более простая спецификация SIM900 c решение

Оно включает команду AT+MORING. Из руководства по AT-командам:

AT+MORING=<mode> Показать состояние исходящего мобильного вызова.

0 - Не отображать вызов состояние мобильного вызова

...