Установка
 
1.  Распакуйте файл aon.zip.
2.  Держите файлы aon.exe, aon.ini, io32.dll в одной папке (каталоге). В этой папке должна быть еще папка (каталог) VOX. Если вы пользуетесь встроенным автоответчиком, то в папке VOX должен быть файл machine.vox.
 
 
Как пользоваться АОНом
 
Запустите файл aon.exe. Если вам кажется, что АОН наботает не правильно то поколдуйте с aon.ini.
 
 
Внешний вид.
 
При входящем звонке большими цифрами будет написан номер, маленькими - справа вверху - категория, справа внизу - достоверность определения 0...99%.
 
 
Режим работы  - ручное управление.
 
Для определения номера вам надо щелкнуть левой кнопкой мыши на пиктограмме в левом нижнем углу экрана или на кнопке "Номер".
 
 
Режим работы  - автоответчик.
 
Номер определится автоматически при входящем звонке. Затем в линию будут поданы:
1.  [ANSWERING_MACHINE]::NBeeps длинных гудков.
2.  Мелодия № [ANSWERING_MACHINE]::FirstBeep
3.  Проиграется файл VOX\machine.vox
4.  Мелодия № [ANSWERING_MACHINE]::SecondBeep
Затем автоответчик запишет сообщение и положит трубку.
Трубку он положит в двух случаях:
1.  Вышло время, заданное [ANSWERING_MACHINE]::TimeToWrite
2.  Найдены короткие гудки в линии.
Примечание.
VOX\machine.vox  должен быть записан в текущем голосовом формате модема.
Для модемов rockwell - это ADPCM.
 
 
Режим работы  - АОН.
 
Номер определится автоматически при входящем звонке. Затем в линию будут поданы [AON]::NBeeps длинных гудков и АОН положит трубку.
 
 
Автозапуск.
 
Если вы хотите чтобы АОН автоматичесли запускался при загрузке Windows, то для этого щелкните правой кнопкой мыши на иконке АОНа в правом нижнем углу экрана, и выберите пункт меню "Автозапуск". При следующем щелчке этот пункт меню будет помечен "птичкой", что говорит о том, что автозапуск включен. Если вы опять выберите этот пункт меню, то автозапуск отключится.
 
Описание переменных в aon.ini
 
[AON]
Mode=2 Текущий режим работы АОНа. 
0 - ручное управление 
1 - автоответчик 
2 - АОН
NBeeps=10 Число длинных гудков в линию до того как модем положит трубку.
DefaultRing=1 При входящем звонке можем проиграет мелодию с таким номером на звуковой карте.
DialWaitForConnect=10 Время в секундах ожидания перехода модема в голосовой режим при наборе номера. Другими словами, это время набота номера модемом начиная от подачи команды ATD<номер> до какого-либо ответа модема на эту команду.
ListenAnswer=0 1 - Прослушать ответ АТС на звуковой карте. 
0 - Не прослушивать.
Modem=Rockwell Название секции с параметрами модема. Сделано для того чтобы было легко добавлять поддержку новых модемов. Для этого надо здесь написать название вашего модема, и добавить секцию с таким же именем, откуда АОН возьмет всю необходимую информацию.
[ANTIAON]
Number=24500003 При автодозвоне программа зашлет на АОН, куда вы звоните, этот номер. Формат номера - 7 цифр номера и одна цифра - категория.
[BUSY]
Freq=4 Частота сизнала "занято" / 100 и округленная в мельшую сторону. Большинство АТС (если не все) выдают сигнал занято частотой 450 Гц. То есть Freq=450/100=4
autoDetectBusy=1 1 - автоматически определять сигнал "занято". Работает  даже на модемах, которые "не ловят BUSY". 
0 - программа поймет что линия занята только по сообщению модема "BUSY".
Time=50 Прямо пропорционально времени наличия частоты [BUSY]::Freq в линии. Чем больше число, тем надежнее АОН определит сигнал занято в режиме когда autoDetectBusy=1. Но при очень большом значении этой переменной, BUSY может не ловиться вообще, и наоборот, при слишком маленьком значении BUSY будет ловиться всегда, даже когда его нет...
[ANSWERING_MACHINE]
NBeeps=3 Число длинных гудков в линию после определения номера перед срабатыванием автоответчика.
TimeToWrite=60 Максимальное время в секундах записи сообщения.
FirstBeep=1 Номер мелодии при начальном перед проигрыванием VOX\machine.vox
SecondBeep=3 .... после ....
[REQUESTS]
R1=500;300;50;500 Параметры запроса 
первое число - частота (Гц) 
второе число - длительнось (мс) 
третье число - амплитуда 0...100 
последнее число - время (мс) ожидания ответа АТС. 
Если второе или третье числа равны нулю - запрос не выдается. 
Некоторые старые АТС выдают номер сразу после соединения (без запроса), поэтому рекомендуется первый запрос не посылать а прослушать линию на наличие ответа АТС. Сделать это можно так: 
R1 = 500;0;0;200 
Максимальное число запросов - около 20 млн.
[FOURIE]
minAmp=120 Минимальная амплитуда гармоники при преобразовании Фурье. В процентах по отношению к среднему уровню. Гармоники с меньшей амплитудой не рассматриваются. Т.е. если задать слишко большое число - АОН не найдет номер в ответе АТС, если слишком маленькое - АОН начнет реагировать на шумы в линии.
[BEEP]
Freq=450 Частота длинного гудка
Duration=1500 Длительность одного длинного
Volume=50 Амплитуда
Pause=2000 Пауза между гудками
[MUSIC]
M1=6f-fe-ed-d-de-f-fe-e8d-d Формат  Mn=string 
где n - число 1 ... 20000000 
string - музыкальный фрагмент. Формат фрагмента: 
Ноты: 
C - до 
D - рэ 
E - ми 
F - фа 
G - соль 
A - ля 
H - си 
B - до 
# - диез (например '$D' - рэ-диез ) 
$ - бимоль (например '$H' - си-бимоль ) 
Vчисло - громкость (например V50). Число 0...100 
0...9 длительность. 
\частота - играет ному заданной частоты 
@время - устанавливает время звучания ноты в мс. 
- (знак минус) - разделяет две одинаковые ноты. Иначе они будут звучать как одна.
[Rockwell] название соответствует [AON]::Modem
Port=2 Номер порта к которому подключен модем.
XonXoff=0
LocalEcho=0
ByteSize=8
Parity=0
StopBits=0
BaundRate=115200 Скорость передачи данных на отрезке модем-компьютер.
OutputBufferLength=4096 Размер буффера модема (или драйвера - не знаю точно) для записи. На моем модеме, если писать в модем данные более 4096 байт - это вызывает зависание модема, причем только при записи. Чтение проходит без проблем. Если кто может объяснить эту ситуацию, буду признателен.
CODEC_Format=0 Формат голосовых данных. 
0 - rockwell ADPCM 
другое число - данные не шифруются.
CODEC_SampleRate=7200 Число выборок в секунду ЦАП/АЦП модема.
CODEC_BitsPerSample=4 Число бит в одной выборке.
strOK=OK Ответ модема в случае, если он выполнил комманду правильно.
strRing=RING модем выдает эту строку при входящем звонке.
strBusy=BUSY модем выдает эту строку кокда он обнаружил сигнал "занято"
strVBusy=\16b то же только в голосовом режиме
формат следующих строк: 
СИМВОЛчисло=КОММАНДА [пробел] ОТВЕТ 
где СИМВОЛ - латинская буква A...Z 
число - 1...20000000 - порядковый номер команды. 
КОММАНДА - команда, которая пишется в модем. 
[пробел] - один или несколько пробелов. 
ОТВЕТ - ответ модема на комманду. если модем отвечает [Rockwell]::strOK - ответ можно опустить. 
Комманды выполняются в порядке вознастания порядкового номера. Т.е сначала выполнится A1 затем A2 и т.д.
An= Выполняется один раз при начальной инициализации модема
Bn= Перевод модема в голосовой ON-LINE режим приема данных
Cn= Модем начинает передачу голосовых данных
Dn= Переход из режима передачи данных в голосовой ON-LINE
En= Вешаем трубку.
Fn= Перевод модема в голосовой ON-LINE режим передачи данных
Gn= После этой команды модем начинает прием голосовых данных
Hn= Переход из режима приема данных в голосовой ON-LINE
In= Набор номера. Здесь выражение <NUMBER> заменяется на номер телефона.
[SoundCard]
BaundRate=11025
 
 
 
 
 
Если у вас возникли вопросы, сначала посетите следующую страничку: 
http://www.chat.ru/~srg_kiev/aon.htm
А потом уже пишите мне:  srg_kiev@chat.ru 
 
Сергей Полищук,  Киев,  Украина,  1999 г.