m Associated member
Зарегистрирован: 07.04.2006 Сообщения: 6
|
Добавлено: Сб Окт 07, 2006 6:02 pm Заголовок сообщения: Как узнать "Ring" от одного звонка или от следующе |
|
|
При входящем звонке модем пишет "Ring" на каждый гудок. Если звонящие подождав несколько гудков сразу набирает номер повторно, как узнать что было два звонка, а не один? |
|
Technical Support Expert
Зарегистрирован: 31.10.2002 Сообщения: 6330
|
Добавлено: Сб Окт 07, 2006 9:32 pm Заголовок сообщения: |
|
|
Общепринятый способ - "измерение" паузы между звонками (в данном случае, между сообщениями "RING"). Если она превышает определённый порог (обычно 6..8 сек), то считается, что текущий звонок закончился. Последующие "RING" относятся к следующему звонку. Паузу можно подсчитывать самостоятельно, или положиться на модем. У модема есть регистр S1 (его значение можно проверить командой ATS1?), который является счётчиком количества звонков. Если пауза между звонками больше порога, регистр обнуляется.
Дополнительно к этому алгоритму, можно использовать Caller ID. Номер передаётся и определяется модемом после первого звонка. Если после RING идёт информация о номере звонящего, то это - "следующий" (или "новый") звонок.
Понятно, что эти алгоритмы не являются абсолютно надёжными, но лучше ничего не придумано. _________________ Inpro
Technical Support |
|