©2002, INPRO Development Corporation
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход

IDC-2814BXL/VR+, реплика перед передачей факса и HylaFAX

 
Начать новую тему   Ответить на тему    Список форумов Форум по модемам IDC -> General
Предыдущая тема :: Следующая тема  
Автор Сообщение
ddpaul
Junior member


Зарегистрирован: 14.07.2006
Сообщения: 2

СообщениеДобавлено: Пт Июл 14, 2006 12:39 pm    Заголовок сообщения: IDC-2814BXL/VR+, реплика перед передачей факса и HylaFAX Ответить с цитатой

Здраствуйте. Есть модем IDC-2814BXL/VR+ с последней прошивкой (2.26). Хочется сделать на его основе факс-сервер для рассылки счетов. Счета генерируются автоматически, и также автоматически должна осуществляться их рассылка. Поэтому была выбран весьма мощный клиент-серверный open-source продукт - HylaFAX (естественно, под unix-подобные системы). С задачей дозвона и отправки факса программа справляется на ура, но хотелось бы добавить голосовую реплику после дозвона, поднятия трубки абонентом, но перед отправкой факса (так, как это сделано в Вентафаксе).
Чтобы выяснить нужную последовательность команд , я воспользовался IDC Ventafax. Указал в качестве реплики файл sendfax.wav, оправил демо-факс и вот какие команды засветились в логе:
17:35:19.32 # ~Message: C:\Program Files\Venta\VentaFax & Voice 5\Out\demo.tif
17:35:19.32 # ~Fax Introduction: C:\Program Files\Venta\VentaFax & Voice 5\SERVICE\sendfax.wav
17:35:19.32 # ~LocationID: 1, CardID: 0, Phone: p5555555
17:35:19.45 > ATS8?
17:35:19.46 < 002
17:35:19.46 < OK
17:35:19.50 > ATS7=50
17:35:19.52 < OK
17:35:19.56 > AT&K3#CLS=8
17:35:19.57 < OK
17:35:19.61 > AT#VRN=0#VBT=1
17:35:19.63 < OK
17:35:19.68 < Dle+0x68(h)
17:35:19.70 > AT#VSR=7200
17:35:19.72 < OK
17:35:19.74 > AT#VBS=8
17:35:19.75 < OK
17:35:19.75 # Setting: CRate=115200, FXon=0, FCts=1
17:35:19.79 > ATDP5555555
17:35:34.45 < VCON
17:35:34.45 # Modem Voice Device: SPEAKER & LINE
17:35:34.47 > AT#VLS=4
17:35:34.59 < OK
17:35:34.59 # ~Spectrum Analysis
17:35:34.59 # ~DLE-Code Analysis
17:35:34.59 # ~AGC On
17:35:34.59 # Modem Voice Format: PCM 8bit
17:35:34.61 > AT#VRX
17:35:34.63 < CONNECT
17:35:35.24 # Soft TONE400
17:35:40.43 # Soft MAN
17:35:40.43 # AbortRecord ' '
17:35:40.53 < Dle+0x03( )
17:35:40.53 # 40289 Bytes
17:35:40.76 < VCON
17:35:40.78 > AT#VTS=[1100,1100,4]
17:35:41.21 < OK
17:35:41.32 # ~Spectrum Analysis Off
17:35:41.32 # ~DLE-Code Analysis
17:35:41.32 # Modem Voice Format: PCM 8bit
17:35:41.32 # "C:\Program Files\Venta\VentaFax & Voice 5\SERVICE\sendfax.wav" is transmitting
17:35:41.34 > AT#VSR=7200
17:35:41.36 < OK
17:35:41.38 > AT#VBS=8
17:35:41.39 < OK
17:35:41.41 > AT#VTX
17:35:41.43 < CONNECT
17:35:41.64 # StopPlaying ' '
17:35:42.84 < VCON
17:35:42.86 > AT&K4+FCLASS=1
17:35:44.30 < OK

Для проверки зайдем в терминал и наберем команды вручную (кроме AT#VRX, т.к. все, что мне нужно – это просто проиграть звуковой файл):
OK
ats7=50
OK
at&k3#cls=8
OK
►hat#vrn=0#vbt=1
OK
at#vsr=7200
OK
at#vbs=8
OK
atdp9597216
VCON
at#vls=4
OK
at#vts=[1100,1100,4]
OK
at#vtx
CONNECT
►u►u►u►u►u►u►u►u►u

Т.е., после входа в Voice Online Mode, модем продолжает принимать от команды от DTE и после команды AT#VTX переходит в Voice Transmit Mode.

Теперь ту же самую последовательность забиваем в конфиг hylafax:
ModemDialCmd: "ATS7=50\nAT&K3#CLS=8\nAT#VRN=0#VBT=1\nAT#VSR=7200\nAT#VBS=8\nATDP%s\nAT#VLS=4\nAT#VTX\n<waitfor
:CONNECT><play:1><waitfor:OK>

(По escape-команде play пригрывается файл play1.raw).

И смотрим лог:
Jul 14 12:22:40.14: [45534]: <-- [12:AT+FCLASS=1\r]
Jul 14 12:22:40.15: [45534]: --> [2:OK]
Jul 14 12:22:40.15: [45534]: MODEM set XON/XOFF/FLUSH: input ignored, output disabled
Jul 14 12:22:40.15: [45534]: DIAL 5555555
Jul 14 12:22:40.15: [45534]: <-- [8:ATS7=50\r]
Jul 14 12:22:40.17: [45534]: --> [2:OK]
Jul 14 12:22:40.17: [45534]: <-- [12:AT&K3#CLS=8\r]
Jul 14 12:22:40.19: [45534]: --> [2:OK]
Jul 14 12:22:40.19: [45534]: <-- [15:AT#VRN=0#VBT=1\r]
Jul 14 12:22:40.21: [45534]: --> [2:OK]
Jul 14 12:22:40.21: [45534]: <-- [12:AT#VSR=7200\r]
Jul 14 12:22:40.23: [45534]: --> [2:OK]
Jul 14 12:22:40.23: [45534]: <-- [9:AT#VBS=8\r]
Jul 14 12:22:40.25: [45534]: --> [2:OK]
Jul 14 12:22:40.25: [45534]: <-- [12:ATDP9597216\r]
Jul 14 12:22:54.94: [45534]: --> [2:^Ph]
Jul 14 12:22:54.94: [45534]: --> [4:VCON]
Jul 14 12:23:24.95: [45534]: MODEM TIMEOUT: reading line from modem
Jul 14 12:23:24.95: [45534]: MODEM <Timeout>
Jul 14 12:23:24.96: [45534]: SEND FAILED: JOB 1 DEST 9597216 ERR Unknown problem
Jul 14 12:23:24.96: [45534]: <-- [5:ATH0\r]
Jul 14 12:23:26.53: [45534]: --> [2:OK]
Jul 14 12:23:26.53: [45534]: MODEM set DTR OFF
Jul 14 12:23:26.53: [45534]: SESSION END

Т.е., после набора номера модем переходит в режим VCON намертво и не реагирует на последующие команды.
Можно ли что-нибудь сообразить по этому поводу?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


Зарегистрирован: 31.10.2002
Сообщения: 6330

СообщениеДобавлено: Пт Июл 14, 2006 12:46 pm    Заголовок сообщения: Ответить с цитатой

Как Вы, наверное, догадываетесь, модем ничего не знает о том, с каким программным обеспечением он работает. Соответственно, если он работает в терминальной программе, то будет работать и в прикладной (разумеется, если прикладная программа проделывает те же действия, что и Вы из терминала).

Просматривая протокол работы Hylafax, обратили внимание на следующее: процесс идёт ровно до тех пор, пока в ответ на AT-команды модем возвращает "OK". После выполнения ATD и перехода в голосовой режим модем выдаёт сообщение "VCON". Есть подозрение, что программа просто не понимает, что "на этом всё закончилось" и продолжает ждать "OK".
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
ddpaul
Junior member


Зарегистрирован: 14.07.2006
Сообщения: 2

СообщениеДобавлено: Пн Июл 17, 2006 1:00 pm    Заголовок сообщения: Ответить с цитатой

Спасибо, все оказалось так, как Вы и предполагали: поставил после ATDP%s “<waitfor:VCON>” и теперь выполняется вся цепочка команд.
Однако появился новый вопрос: о формате голосовых данных для модема. У меня получилось проиграть файл в формате Rockwell ADPCM (4-bit), однако качество меня не устроило.
Порылся в документации на RCV336Acx, нашел что:
Audio Sub-Configuration (Available Only for Modem Models Supporting Business Audio). Linear PCM coding
and decoding of analog audio is accomplished with 7.2 kHz or 11.025 kHz sampling rates and 8 bits/sample
quantization, and supports superior sound quality as compared to ADPCM. With a sampling rate of 7.2 kHz, the Audio
Sub-configuration supports concurrent tone generation/detection capabilities. With a sampling rate of 7.2 kHz or 11.025
kHz, this sub-configuration can be used to record and playback monophonic data in 8-bit unsigned linear PCM format.

Т.е. модем умеет воспроизводить аудио данные в 8-битном PCM. Это подтверждается и вышеприведенным логом Вентафакса
17:35:41.32 # Modem Voice Format: PCM 8bit.

Для чистоты эксперимента я преобразовал файл sendfax.wav в SoundForge из “Microsoft ADPCM, 11025 Гц, 16 бит, моно” в “Raw audio, PCM unsigned, 8 бит, моно”.
Строка дозвона выглядит так:
ModemDialCmd: "ATS7=50\nAT&K3#CLS=8\nAT#VRN=0#VBT=1\nAT#VSR=11025\nAT#VBS=8\nATDP%s\n<waitfor:VCON>AT#VLS=4\n
AT#VTX\n<waitfor:CONNECT><play:1>AT&K4+FCLASS=1\n"
Файл проигрывается, но слышен только треск.
Теперь вот сижу в раздумиях, если мой модем не поддерживает Business Audio, то как тогда Вентафакс через него нормально гоняет 8-битный PCM? Или я пользуюсь неправильным конвертером?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


Зарегистрирован: 31.10.2002
Сообщения: 6330

СообщениеДобавлено: Пн Июл 17, 2006 5:32 pm    Заголовок сообщения: Ответить с цитатой

4-битный ADPCM при 7200 Гц вполне достаточно для качественного воспроизведения голоса. Если Вас не устроило качество, то нужно найти причину. Возможно, что компьютер не успевает "проталкивать" данные в модем (при этом модем должен выдавать коды <DLE>u, которые Вы видели во время экспериментов с терминальной программой). При переходе на 8-битный PCM при 11025 Гц это ещё более вероятно (вспомните, что при скорости порта в 115200 бит/сек через порт можно прокачать всего лишь 11520 байт/с (при требуемых 11025 байт/с).

При воспроизведении голосовых данных модем сначала их накапливает, не начиная воспроизведения. Когда в буфере модема окажется достаточно большое количество данных, он начинает проигрывать голос. Так сделано для того, чтобы избежать ситуацию с нехваткой данных (data underrun) в начале воспроизведения. Если данных "хронически не хватает", то будет постоянный треск (накопили данные, начали воспроизведение и они тут же закончились, отключили воспроизведение и опять накапливаем и т.д. по кругу).

Другая типичная ошибка при работе с голосом состоит в том, что забывают о необходимости фильтрации символов <DLE>. Если такой символ встречается при записи голоса, то модем его удваивает; при воспроизведении программа должна передавать <DLE><DLE> вместо одиночного <DLE>.
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
madbob
Junior member


Зарегистрирован: 19.09.2006
Сообщения: 4

СообщениеДобавлено: Вт Сен 19, 2006 4:42 pm    Заголовок сообщения: Перевод модема в разные режимы при установленном соединении Ответить с цитатой

Тоже был треск, но после добавления в конфиг пропал.
ModemRate: 115200 # rate for DCE-DTE communication
ModemFlowControl: rtscts # default

Теперь мой вопрос:
История таже. IDC-5614BXL/VR firmware by Mike Telis, V2.26-V90_2M_DLS + HylaFax

HylaFax (faxgetty) берет трубку(входящий звонок),
говорит приветствие, пробует принять факс.
Если не получается, пробует установить DATA соединение.

Странно, но если идет звонок от DATA модема(Ext. USR Sportser 001663-00 V.90 Flash),
то устанавливается DATA CONNECT/NONE/300, если на удаленном модеме сделать at&u8
(установить минимальную скорость 14400),
то на IDC CONNECT 14400/V32/LAPM/V42BIS/14400.
Выше не соединяется. Если задать минимальные скорости выше(на удаленном модеме),
то IDC-5614 сразу ложит трубку(если удаленный модем звонит местному провайдеру, то CONNECT 28800/ARQ).

Еще одна странность, не получается вставить тон 1300hz(как я думаю индикатор, что звонит data модем).
....
Sep 19 17:00:36.34: [24176]: RECV FAX: No answer (T.30 T1 timeout)
Sep 19 17:00:36.34: [24176]: RECV FAX: end
Sep 19 17:00:36.34: [24176]: <-- [9:AT#CLS=8\r]
Sep 19 17:00:36.50: [24176]: --> [2:OK]
Sep 19 17:00:36.50: [24176]: <-- [18:AT#VSR=7200#VBS=4\r]
Sep 19 17:00:36.51: [24176]: --> [2:^h]
Sep 19 17:00:36.51: [24176]: --> [2:OK]
Sep 19 17:00:36.51: [24176]: <-- [9:AT#VLS=4\r]
Sep 19 17:00:36.52: [24176]: --> [2:OK]
Sep 19 17:00:36.52: [24176]: <-- [18:AT#VTS=[1300,0,5]\r]
Sep 19 17:00:36.53: [24176]: --> [5:ERROR]
Sep 19 17:00:36.53: [24176]: MODEM Command error
Sep 19 17:00:36.53: [24176]: ANSWER: No answer (T.30 T1 timeout)
Sep 19 17:00:36.53: [24176]: SESSION END

Полный лог сессии:
Sep 19 19:12:17.70: [26337]: SESSION BEGIN 000000178 19995551212
Sep 19 19:12:17.70: [26337]: HylaFAX (tm) Version 4.3.0.10
Sep 19 19:12:17.70: [26337]: <-- [9:AT#CID=0\r]
Sep 19 19:12:17.71: [26337]: --> [2:OK]
Sep 19 19:12:17.71: [26337]: <-- [9:AT#CLS=8\r]
Sep 19 19:12:17.72: [26337]: --> [2:OK]
Sep 19 19:12:17.72: [26337]: <-- [17:AT#VRA=50#VRN=70\r]
Sep 19 19:12:17.73: [26337]: --> [2:OK]
Sep 19 19:12:17.73: [26337]: <-- [18:AT#VSR=7200#VBS=4\r]
Sep 19 19:12:17.74: [26337]: --> [2:OK]
Sep 19 19:12:17.74: [26337]: <-- [4:ATA\r]
Sep 19 19:12:19.29: [26337]: --> [2:^h]
Sep 19 19:12:19.29: [26337]: <-- [9:AT#VLS=4\r]
Sep 19 19:12:19.29: [26337]: --> [4:VCON]
Sep 19 19:12:19.40: [26337]: --> [2:OK]
Sep 19 19:12:19.40: [26337]: <-- [7:AT#VTX\r]
Sep 19 19:12:19.42: [26337]: --> [7:CONNECT]
Sep 19 19:12:19.42: [26337]: Playing file "etc/play2.raw".
Sep 19 19:12:19.42: [26337]: <-- data [xxxx]
Sep 19 19:12:25.72: [26337]: --> [4:VCON]
Sep 19 19:12:25.72: [26337]: <-- [9:AT#VLS=4\r]
Sep 19 19:12:25.83: [26337]: --> [2:OK]
Sep 19 19:12:25.83: [26337]: <-- [18:AT#VTS=[1100,0,5]\r]
Sep 19 19:12:26.38: [26337]: --> [2:OK]
Sep 19 19:12:26.38: [26337]: <-- [9:AT#CLS=1\r]
Sep 19 19:12:27.82: [26337]: --> [2:OK]
Sep 19 19:12:27.82: [26337]: <-- [9:AT+FAA=0\r]
Sep 19 19:12:27.83: [26337]: --> [2:OK]
Sep 19 19:12:27.83: [26337]: <-- [9:AT+FAE=0\r]
Sep 19 19:12:27.84: [26337]: --> [2:OK]
Sep 19 19:12:27.84: [26337]: <-- [4:ATA\r]
Sep 19 19:12:33.24: [26337]: --> [7:CONNECT]
Sep 19 19:12:33.24: [26337]: ANSWER: FAX CONNECTION DEVICE '/dev/ttyS0'
Sep 19 19:12:33.24: [26337]: RECV FAX: begin
Sep 19 19:12:33.24: [26337]: <-- data [35]
Sep 19 19:12:33.24: [26337]: <-- data [2]
Sep 19 19:12:35.35: [26337]: --> [7:CONNECT]
Sep 19 19:12:35.35: [26337]: <-- data [23]
Sep 19 19:12:35.35: [26337]: <-- data [2]
Sep 19 19:12:36.17: [26337]: --> [7:CONNECT]
Sep 19 19:12:36.17: [26337]: <-- data [13]
Sep 19 19:12:36.17: [26337]: <-- data [2]
Sep 19 19:12:36.83: [26337]: --> [2:OK]
Sep 19 19:12:36.83: [26337]: <-- [9:AT+FRH=3\r]
Sep 19 19:12:43.84: [26337]: --> [0:]
Sep 19 19:12:43.84: [26337]: MODEM <Empty line>
Sep 19 19:12:43.84: [26337]: <-- data [1]
Sep 19 19:12:43.89: [26337]: --> [2:OK]
Sep 19 19:12:43.89: [26337]: RECV FAX: No answer (T.30 T1 timeout)
Sep 19 19:12:43.89: [26337]: RECV FAX: end
Sep 19 19:12:43.89: [26337]: <-- [9:AT#CLS=8\r]
Sep 19 19:12:44.05: [26337]: --> [2:OK]
Sep 19 19:12:44.05: [26337]: <-- [17:AT#VRA=50#VRN=70\r]
Sep 19 19:12:44.06: [26337]: --> [2:^h]
Sep 19 19:12:44.06: [26337]: --> [2:OK]
Sep 19 19:12:44.06: [26337]: <-- [18:AT#VSR=7200#VBS=4\r]
Sep 19 19:12:44.07: [26337]: --> [2:OK]
Sep 19 19:12:44.07: [26337]: <-- [9:AT#VLS=4\r]
Sep 19 19:12:44.08: [26337]: --> [2:OK]
Sep 19 19:12:44.08: [26337]: <-- [9:AT#CLS=0\r]
Sep 19 19:12:45.52: [26337]: --> [2:OK]
Sep 19 19:12:45.52: [26337]: <-- [6:AT%N1\r]
Sep 19 19:12:45.53: [26337]: --> [2:OK]
Sep 19 19:12:45.53: [26337]: <-- [5:ATV1\r]
Sep 19 19:12:45.54: [26337]: --> [2:OK]
Sep 19 19:12:45.54: [26337]: <-- [8:ATS7=30\r]
Sep 19 19:12:45.55: [26337]: --> [2:OK]
Sep 19 19:12:45.55: [26337]: <-- [6:AT%E3\r]
Sep 19 19:12:45.56: [26337]: --> [2:OK]
Sep 19 19:12:45.56: [26337]: <-- [8:ATS37=0\r]
Sep 19 19:12:45.57: [26337]: --> [2:OK]
Sep 19 19:12:45.57: [26337]: <-- [27:AT+MS=11,1,14400,31200,0,0\r]
Sep 19 19:12:45.59: [26337]: --> [2:OK]
Sep 19 19:12:45.59: [26337]: <-- [5:AT&V\r]
Sep 19 19:12:45.60: [26337]: --> [15:ACTIVE PROFILE:]
Sep 19 19:12:45.61: [26337]: --> [75:B0 E0 L2 M0 N1 Q0 T V1 W2 X4 Y0 &C1 &D2 &G0 &J0 &K3 &Q5 &R1 &S0 &T5 &X0 &Y0]
Sep 19 19:12:45.61: [26337]: --> [79:S00:000 S01:000 S02:043 S03:013 S04:010 S05:008 S06:002 S07:030 S08:002 S09:006]
Sep 19 19:12:45.62: [26337]: --> [79:S10:014 S11:095 S12:050 S13:000 S17:072 S18:000 S25:005 S26:001 S36:007 S37:000]
Sep 19 19:12:45.62: [26337]: --> [48:S38:020 S46:138 S48:007 S91:009 S92:009 S95:003 ]
Sep 19 19:12:45.65: [26337]: --> [17:STORED PROFILE 0:]
Sep 19 19:12:45.66: [26337]: --> [72:B0 E1 L2 M1 N1 Q0 T V1 W2 X4 Y0 &C1 &D2 &G0 &J0 &K3 &Q5 &R1 &S0 &T5 &X0 ]
Sep 19 19:12:45.67: [26337]: --> [79:S00:000 S02:043 S06:002 S07:060 S08:002 S09:006 S10:014 S11:095 S12:050 S13:000]
Sep 19 19:12:45.67: [26337]: --> [64:S17:072 S36:007 S37:000 S38:020 S40:104 S41:199 S46:138 S95:003 ]
Sep 19 19:12:45.70: [26337]: --> [17:STORED PROFILE 1:]
Sep 19 19:12:45.71: [26337]: --> [72:B0 E1 L2 M1 N1 Q0 T V1 W2 X4 Y0 &C1 &D2 &G0 &J0 &K3 &Q5 &R1 &S0 &T5 &X0 ]
Sep 19 19:12:45.71: [26337]: --> [79:S00:000 S02:043 S06:002 S07:060 S08:002 S09:006 S10:014 S11:095 S12:050 S13:000]
Sep 19 19:12:45.72: [26337]: --> [64:S17:072 S36:007 S37:000 S38:020 S40:104 S41:199 S46:138 S95:003 ]
Sep 19 19:12:45.72: [26337]: --> [18:TELEPHONE NUMBERS:]
Sep 19 19:12:45.73: [26337]: --> [41:0= 1=]
Sep 19 19:12:45.73: [26337]: --> [41:2= 3=]
Sep 19 19:12:45.73: [26337]: --> [2:OK]
Sep 19 19:12:45.73: [26337]: <-- [4:ATA\r]
Sep 19 19:13:01.87: [26337]: --> [35:CONNECT 14400/V32/LAPM/V42BIS/14400]
Sep 19 19:13:01.87: [26337]: ANSWER: DATA CONNECTION
Sep 19 19:13:01.88: [26337]: GETTY: START "/etc/hylafax/getty-link -r -b -s 115200 ttyS0", pid 26344
Sep 19 19:13:57.75: [26337]: CLOSE /dev/ttyS0
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


Зарегистрирован: 31.10.2002
Сообщения: 6330

СообщениеДобавлено: Вт Сен 19, 2006 9:10 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Странно, но если идет звонок от DATA модема(Ext. USR Sportser 001663-00 V.90 Flash), то устанавливается DATA CONNECT/NONE/300, если на удаленном модеме сделать at&u8 (установить минимальную скорость 14400), то на IDC CONNECT 14400/V32/LAPM/V42BIS/14400


Такие явления типичны для случая, когда вызывающий модем успел "проехать мимо" хэндшейка старших протоколов. Почему так получается? Как говорится, сами виноваты! Smile

По протоколу работы видно, что Вы пытаетесь запустить сначала приём факса, а потом данных. Так не работает, можно делать только наоборот (сначала данные, а потом факс). Не работает потому, что действия модема при ответе в режиме факса совпадают с хэндшейком протокола V.21 (те самые 300 бит/с, на которых устанавливается соединение).

Недаром в режиме адаптивного ответа (факс/данные) сначала анализируются сигналы CNG (данные или факс) а затем, если CNG не получен, делается попытка соединения в режиме данных. Если она провалилась, то запускается факс-соединение.

Кстати, а зачем огород городить, а? Модем поддерживает адаптивный ответ и умеет самостоятельно сделать то, над чем Вы ломаете копья...

Цитата:
Еще одна странность, не получается вставить тон 1300hz(как я думаю индикатор, что звонит data модем).


И здесь Вы всё перепутали Sad Тон 1300 Гц (data CNG tone) посылает вызывающий модем. Ваш же модем отвечает на звонок, т.е. не является вызывающим.

Что касается сообщения ERROR в ответ на команду AT#VTS, то причина очевидна: модем должен находится в активном голосовом режиме перед выдачей этой команды. О входе в активный режим свидетельствует сообщение VCON, его можно получить в ответ на команду ATA.
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
madbob
Junior member


Зарегистрирован: 19.09.2006
Сообщения: 4

СообщениеДобавлено: Ср Сен 20, 2006 2:13 pm    Заголовок сообщения: Адаптивный ответ и HylaFax Ответить с цитатой

Про 1300hz каюсь, мой недогляд.

Адаптивный ответ включил по команде
AT+FCLASS=0
AT+FAE=0
AT+FAA=1
соттвественно в терминале когда принимается звонок пишет FAX/DATA , т.е. вроде работает и это хорошо!
Но, теперь перестал приниматься факс. Т.е. оно (HylaFax) видит, что идет факс, но что-то не так =(. Судя по логу модем не получает какой-то ответ на "<-- data"?

Sep 20 06:34:41.51: [ 9532]: SESSION BEGIN 000000342 19995551212
Sep 20 06:34:41.51: [ 9532]: HylaFAX (tm) Version 4.3.0.10
Sep 20 06:34:41.51: [ 9532]: <-- [4:ATA\r]
Sep 20 06:34:45.62: [ 9532]: --> [3:FAX]
Sep 20 06:34:45.62: [ 9532]: ANSWER: FAX CONNECTION DEVICE '/dev/ttyS0'
Sep 20 06:34:45.62: [ 9532]: RECV FAX: begin
Sep 20 06:34:45.62: [ 9532]: <-- data [35]
Sep 20 06:34:45.62: [ 9532]: <-- data [2]
Sep 20 06:34:47.06: [ 9532]: --> [10:NO CARRIER]
Sep 20 06:34:47.06: [ 9532]: MODEM No carrier
Sep 20 06:34:47.06: [ 9532]: <-- [9:AT+FRS=7\r]
Sep 20 06:34:47.07: [ 9532]: --> [5:ERROR]
Sep 20 06:34:47.07: [ 9532]: MODEM Command error
Sep 20 06:34:47.07: [ 9532]: RECV FAX: Failure to receive silence.
Sep 20 06:34:47.07: [ 9532]: RECV FAX: end
Sep 20 06:34:47.07: [ 9532]: SESSION END

когда работает прием факса:
Sep 20 03:12:51.87: [ 2063]: <-- [4:ATA\r]
Sep 20 03:12:57.25: [ 2063]: --> [7:CONNECT]
Sep 20 03:12:57.25: [ 2063]: ANSWER: FAX CONNECTION DEVICE '/dev/ttyS0'
Sep 20 03:12:57.25: [ 2063]: RECV FAX: begin
Sep 20 03:12:57.25: [ 2063]: <-- data [35]
Sep 20 03:12:57.25: [ 2063]: <-- data [2]
Sep 20 03:12:59.36: [ 2063]: --> [7:CONNECT]
Sep 20 03:12:59.36: [ 2063]: <-- data [23]
Sep 20 03:12:59.36: [ 2063]: <-- data [2]
Sep 20 03:13:00.18: [ 2063]: --> [7:CONNECT]
Sep 20 03:13:00.18: [ 2063]: <-- data [13]
Sep 20 03:13:00.18: [ 2063]: <-- data [2]
Sep 20 03:13:00.84: [ 2063]: --> [2:OK]
Sep 20 03:13:00.84: [ 2063]: <-- [9:AT+FRH=3\r]
Sep 20 03:13:01.57: [ 2063]: --> [7:CONNECT]
Sep 20 03:13:02.57: [ 2063]: --> [2:OK]
Sep 20 03:13:02.57: [ 2063]: REMOTE wants 14400 bit/s
Sep 20 03:13:02.57: [ 2063]: REMOTE wants A4 page width (215 mm)
Sep 20 03:13:02.57: [ 2063]: REMOTE wants unlimited page length
Sep 20 03:13:02.57: [ 2063]: REMOTE wants 7.7 line/mm
Sep 20 03:13:02.57: [ 2063]: REMOTE wants 1-D MH
Sep 20 03:13:02.57: [ 2063]: REMOTE wants T.30 Annex A, 256-byte ECM
Sep 20 03:13:02.57: [ 2063]: RECV training at v.17 14400 bit/s
Sep 20 03:13:02.57: [ 2063]: <-- [11:AT+FRM=145\r]
Sep 20 03:13:04.20: [ 2063]: --> [7:CONNECT]
Sep 20 03:13:05.70: [ 2063]: RECV: TCF 2769 bytes, 2% non-zero, 2699 zero-run
Sep 20 03:13:05.71: [ 2063]: --> [10:NO CARRIER]
Sep 20 03:13:05.71: [ 2063]: <-- [9:AT+FRS=7\r]
Sep 20 03:13:05.83: [ 2063]: --> [2:OK]
Sep 20 03:13:05.83: [ 2063]: TRAINING succeeded
Sep 20 03:13:05.83: [ 2063]: <-- [9:AT+FTH=3\r]
Sep 20 03:13:05.87: [ 2063]: --> [7:CONNECT]
Sep 20 03:13:05.87: [ 2063]: <-- data [3]
Sep 20 03:13:05.87: [ 2063]: <-- data [2]
Sep 20 03:13:07.19: [ 2063]: --> [2:OK]
Sep 20 03:13:07.19: [ 2063]: <-- [11:AT+FRM=146\r]
Sep 20 03:13:07.91: [ 2063]: --> [7:CONNECT]
Sep 20 03:13:08.25: [ 2063]: RECV received frame number 0
Sep 20 03:13:08.40: [ 2063]: RECV received frame number 1
Sep 20 03:13:08.55: [ 2063]: RECV received frame number 2
Sep 20 03:13:45.49: [ 2063]: RECV received RCP frame
Sep 20 03:13:45.60: [ 2063]: --> [10:NO CARRIER]
Sep 20 03:13:45.60: [ 2063]: <-- [9:AT+FRH=3\r]
Sep 20 03:13:46.21: [ 2063]: --> [7:CONNECT]
Sep 20 03:13:47.19: [ 2063]: --> [2:OK]
Sep 20 03:13:47.19: [ 2063]: RECV recv PPS (partial page signal)
Sep 20 03:13:47.19: [ 2063]: RECV recv MPS (more pages, same document)
Sep 20 03:13:47.19: [ 2063]: RECV received 252 frames of block 1 of page 1
Sep 20 03:13:47.36: [ 2063]: RECV: 64462 bytes of data, 2574 total lines
Sep 20 03:13:47.36: [ 2063]: <-- [9:AT+FRS=7\r]
Sep 20 03:13:47.48: [ 2063]: --> [2:OK]
Sep 20 03:13:47.48: [ 2063]: <-- [9:AT+FTH=3\r]
Sep 20 03:13:47.53: [ 2063]: --> [7:CONNECT]
Sep 20 03:13:47.53: [ 2063]: RECV send MCF (message confirmation)
Sep 20 03:13:47.53: [ 2063]: RECV FAX (000000239): from <UNSPECIFIED>, page 1 in 0:50, INF, 7.7 line/mm, 1-D MH, 14400 bit/s
Sep 20 03:13:47.53: [ 2063]: <-- data [3]
Sep 20 03:13:47.53: [ 2063]: <-- data [2]
Sep 20 03:13:48.84: [ 2063]: --> [2:OK]
Sep 20 03:13:48.84: [ 2063]: <-- [11:AT+FRM=146\r]
Sep 20 03:13:49.51: [ 2063]: --> [7:CONNECT]
Sep 20 03:13:49.85: [ 2063]: RECV received frame number 0
....
Sep 20 03:15:47.86: [ 2063]: RECV send MCF (message confirmation)
Sep 20 03:15:47.86: [ 2063]: RECV FAX (000000239): from <UNSPECIFIED>, page 5 in 0:19, INF, 7.7 line/mm, 1-D MH, 14400 bit/s
Sep 20 03:15:48.87: [ 2063]: RECV FAX (000000239): recvq/fax000000122.tif from <UNSPECIFIED>, route to <unspecified>, 5 pages in 2:50
Sep 20 03:15:48.87: [ 2063]: <-- [9:AT+FRH=3\r]
Sep 20 03:15:55.88: [ 2063]: --> [0:]
Sep 20 03:15:55.88: [ 2063]: MODEM <Empty line>
Sep 20 03:15:55.88: [ 2063]: <-- data [1]
Sep 20 03:15:55.93: [ 2063]: --> [2:OK]
Sep 20 03:15:55.93: [ 2063]: RECV FAX: bin/faxrcvd "recvq/fax000000122.tif" "ttyS0" "000000239" ""
Sep 20 03:15:55.94: [ 2063]: RECV FAX: end
Sep 20 03:15:55.94: [ 2063]: SESSION END
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


Зарегистрирован: 31.10.2002
Сообщения: 6330

СообщениеДобавлено: Ср Сен 20, 2006 8:44 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Адаптивный ответ включил по команде
AT+FCLASS=0
AT+FAE=0
AT+FAA=1
соттвественно в терминале когда принимается звонок пишет FAX/DATA, т.е. вроде работает и это хорошо!
Но, теперь перестал приниматься факс. Т.е. оно (HylaFax) видит, что идет факс, но что-то не так =(. Судя по логу модем не получает какой-то ответ на "<-- data"?


AT+FAA=1 включает адаптивный ответ в Class 2. Hylafax, как видно из лога, желает работать в Class 1.

Соответственно, либо переводите Hylafax в Class 2, либо пользуетесь AT+FAE=1.
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
madbob
Junior member


Зарегистрирован: 19.09.2006
Сообщения: 4

СообщениеДобавлено: Чт Сен 21, 2006 12:18 am    Заголовок сообщения: Шаманство с адаптивным ответом Ответить с цитатой

Занятно, но все же заработало =). Непонятно почему но, после определения типа соединения DATA модем переходит в режим команд.

Время и труд все же делают свое, желаемое получено.

Такая строчка работает достаточно надежно для случая когда нужно выдать в линию приветствие, а затем адаптивно установить FAX Сlass1/DATA соединение:
AT+FCLASS=0
AT+FAA=1
AT+FAE=1

и в HylaFax
ModemRingResponse: "....приветствие..."
ModemAnswerFaxBeginCmd: "<waitfor:CONNECT>"
ModemAnswerDataBeginCmd: "ATO\n<waitfor:CONNECT>"

ЗЫ:
Я в силу своей малограмотности не очень отличаю Class1 от Class2, может модем принимает Class2?? хотя +FCLASS устанавливается в 1 при приеме.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


Зарегистрирован: 31.10.2002
Сообщения: 6330

СообщениеДобавлено: Чт Сен 21, 2006 7:38 am    Заголовок сообщения: Ответить с цитатой

Команды +FAA=1 и +FAE=1 несовместимы. При задании их вместе Вы "привязываетесь" к реализации обработчика этих команд в конкретном модеме (один модем может переходить в Class 1, другой - в Class 2).

На эту тему очень много различной литературы. Кое-что есть и в нашем форуме.
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
madbob
Junior member


Зарегистрирован: 19.09.2006
Сообщения: 4

СообщениеДобавлено: Чт Сен 21, 2006 10:49 am    Заголовок сообщения: Ответить с цитатой

Спасибо за ссылку, очень позновательно.

По поводу FAA/FAE - возможно мой уровень знания английского не настолько хорош, чтобы понять спеки и область применения / назначение этих комманд. То, что я запостил выше, вымученные =) опции получены экспериментальным путем.

Если у вас есть еще ссылки на документациию(можно на английском) буду очень признателен.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


Зарегистрирован: 31.10.2002
Сообщения: 6330

СообщениеДобавлено: Чт Сен 21, 2006 11:26 am    Заголовок сообщения: Ответить с цитатой

Команды +FAA и +FAE выполняют одну и ту же функцию, но для разных классов факс-команд (Class 2 и Class 1, соответственно). Можно рассматривать их, как приказ "включить адаптивный ответ", отданный на разных языках. Поэтому, нужно использовать либо одно (AT+FAA=1), либо другое (AT+FAE=1) в зависимости от того, на каком языке программа будет общаться с модемом после того, как обнаружится, что с другой стороны пытаются отправить факс. Модем понимает оба языка (в действительности, 3 языка, ещё и Class 1.0), но общаться он будет на том языке, на котором пришёл первоначальный приказ о включении адаптивного ответа.

Если Вы отдаёте приказ на двух языках, то модем (в зависимости от реализации) продолжит общение на одном из языков, причём не существует чётких правил на этот счёт. Получается, что Ваши настройки привязаны к определённому типу модема, причём нет гарантии, что в алгоритм не будут внесены изменения при переходе на другую версию микропрограммы ("прошивки").

Что касается материалов по теме, то их было немало на нашем форуме. Попробуйте поиск. Более глубокие познания - только через чтение оригиналов (ITU-T T.30, T.31, T.32, EIA 578, 2388).
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум по модемам IDC -> General Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group

Created this page in 0.032497 seconds : 15 queries executed : GZIP compression enabled : Debug Mode

©2002, INPRO Development Corporation

Rambler's Top100