Сообщение от begun
|
именно, когда отвечают, тут есть какой то сигнал??
|
Есть стандартная команда AT+CLCC.
Можно сконфигурировать модем командой "AT+CLCC=1", чтобы он кидал URC "+CLCC ..." с текущим состоянием соединения (где третий параметр - собственно состояние, см обведенное красным на первом скриншоте) при каждом изменении этого самого состояния, или можно просто поллить команду "AT+CLCC" после подачи ATD, получая на неё такой же ответ, как в этих самых URC, когда идет набор номера, дозвон или установлено соединение, или просто "ОК", если ни того ни другого в наличии нет (вызываемый абонент сбросил звонок)
В первом случае URC с текущим состоянием соединения (и номером звонящего среди параметров, кстати) будет выдаваться также и и при входящем звонке.
На втором скриншоте - как выглядят URC у модема, сконфигурированого с AT+CLCC=1
Первое URC - модем "набирает номер"
Второе URC - идёт дозвон (гудки в динамике модема, звонок телефона абонента)
Третье URC - вызываемый абонент "снял трубку"
Четвертое URC - вызываемый абонент "положил трубку".
Если вызываемый абонент недоступен, второго и третьего URC не будет. Если сбросил звонок или занят (и у него не включена услуга "ожидание вызова")- не будет только третьего, и завершающее URC будет BUSY
И неприятное: - если абонент недоступен, но у него включен "голосовой ящик", то с точки зрения модема ответ автоответчика ничем не отличается от ответа абонента.