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

АОН с симуляцией CallerID, контроль непрерывного гудка?

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


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

СообщениеДобавлено: Вт Июл 12, 2005 10:09 am    Заголовок сообщения: АОН с симуляцией CallerID, контроль непрерывного гудка? Ответить с цитатой

В случае если на удаленном телефоне повесили трубку после определения входящего звонка модемом, но до определения номера, модем пытается определить номер и после этого выдает КПВ в линию и RINGи на терминал, хотя в линии уже идет непрерывный гудок.
Можно ли с терминала это проконтролировать, а также в случае если модем определил сигнал занято и повесил трубку?

В данном режиме при #CLS=8 модем выдает DLE-коды (t/h)поднята/опущена трубка на телефоне(Phone), но не выдает кодов длинного и короткого гудка.


Спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


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

СообщениеДобавлено: Вт Июл 12, 2005 10:54 am    Заголовок сообщения: Ответить с цитатой

Есть к Вам просьба: пожалуйста, приводите последовательность команд, которую Вы посылаете модему, в описании проблемы. "На слух" воспринимать подобные вопросы довольно затруднительно.

По существу вопроса. Начиная с версии 2.21, IDC/VR+ проверяют сигналы занято в паузах между длинными гудками (КПВ), посылаемыми в режиме симуляции Caller ID. Вот цитата из whatsnew.221:

Код:

3. Добавлена возможность  распознавания "Занято" в режиме симуляции аме-
   риканского Caller ID.  Если в процессе генерации КПВ (длинных гудков)
   модем обнаружил сигнал "Занято", генерация КПВ будет прекращена и мо-
   дем отключится от линии.  В  данном случае используется обычная схема
   распознавания "Занято",  допускающая  настройку  при помощи регистров
   S100, S101 и S111.

Непрерывный гудок не распознаётся по простой причине: если звонящий повесил трубку, то Ваш модем услышит сигнал "Занято", а не что-либо ещё.

Теперь по поводу <DLE>b. Вот что просиходит:

at #cid=1 #cls=8
OK

... входящий звонок ...

RING
NMBR = ...

RING

Если теперь повесить трубку, то модем должен опознать сигнал "Занято" и также повесить трубку. Никаких <DLE>b при этом не появится, и вот почему. Отрабатывая симуляцию Caller ID, модем логически остаётся в положении on-hook (трубка положена). Это естественно, поскольку "настоящий" Caller ID принимается при положенной трубке. При положенной трубке модем не прослушивает сигналы в линии, и поэтому никаких связанных с этим прослушиванием событий не выдаётся. Ни <DLE>b, ни <DLE>d, никаких DTMF и CNG...

Единственные события, которые в этот момент могут быть выданы модемом - изменение положения трубки телефона. Хотите большего? Нет проблем - отправьте команду ATA:

ata
VCON

Теперь модем логически в состоянии off-hook, наблюдение за сигналами в линии включено, все события выдаются. Заметим, что в этой ситуации модем не выдаёт сигналов КПВ (длинных гудков) - это Ваша программа должна делать сама. И она же (программа) должна выдать команду ATH при обнаружении сигнала "Занято" - модем сам трубку не повесит.
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
RomanL
Associated member


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

СообщениеДобавлено: Чт Июл 14, 2005 1:08 pm    Заголовок сообщения: Ответить с цитатой

Ситуация несколько прояснилась, но все таки хотелось бы разобраться с некоторыми возможности:

Режим тот же
#cid=1 #cls=8

1. В случае если поступил 1 длинный гудок (после чего сразу повесили трубку на удаленном телефоне) модем определяет входящий вызов, поднимает трубку (физически), но уже после того, как она была повешена на удаленном телефоне, он пытается определить номер, не определяет его и выдает на терминал и внутр. динамик около 6 RING ов. Хотя в линии в это время уже непрерывный гудок.

2. Если трубку на удаленном телефоне вешают уже после физического поднятия и определения номера модемом, тогда
получается, вот что:

RING
NMBR = 2545820
RING
RING
<здесь абонент вешает трубку, модем определяет сигнал занято и вешает трубку> Хотелось бы как то зарегистрировать в программе
поступивший вызов?

. . .

RING <идет новый вызов, номер не определился, получается в
программе без организации таймаута после рингов
предыдущего вызова, различить новый вызов нельзя?

RING
RING

3. Если организовать все след. образом:

. . .
#cid=1 #cls=8
- поступил вызов
- принял определенный номер
- поднял трубку AT#VLS=0A
- перешел в режим передачи данных #VTX
- выдаю сообщение либо длинные гудки в линию
- по DLE коду поднятия трубки на телефоне <t
выхожу из режима #VTX перехожу в режим приема
данных #VRX и получаю данные с линии

В данном случае все вроде работает модем после AT#VLS=0A определяет и выдает DLE коды сигналов занято и непр. гудок,
но для определения поднятия трубки на телефоне, выходу из режима
#VТX и перехода в режим #VRX модему требуется некоторое время
и прием данных идет примерно со 2-й 3-й секунды разговора.
В режиме эмуляции CallerID было бы вроде несколько побыстрее,
вобщем хотелось бы поточнее уяснить возможности этого режима.

Спасибо. Роман.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


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

СообщениеДобавлено: Чт Июл 14, 2005 1:38 pm    Заголовок сообщения: Ответить с цитатой

Создаётся впечатление, что симуляция Caller ID - не лучший режим для решения Ваших задач. Может быть, попробуете пойти другим путём? Smile

Идея такая: отвечаете на звонок в режиме данных с включённым АОН. Как только определение номера прошло (неважно, успешное или неуспешное), обрываете процедуру ответа, переходите в голосовой режим и дальше по уже накатанной дорожке. Вот как реализовать этот сценарий:

Код:

atz
OK

at s115=2 *k2
OK

... ждём входящий звонок ...

RING
ata
CALLER'S NUMBER: ....

... получив это сообщение, посылаем модему любой символ, кроме LF ...

NO CARRIER

... модем прервал процедуру ответа, но остался в положении off-hook (трубка снята), индикатор OH горит ...

at #cls=8 a
VCON

... ответили в голосовом режиме ...

at #vtx
CONNECT

... проигрываем сообщение, следим за <DLE>b и другими кодами ...

Команда AT*K2 нужна для удержания линии. Когда закончите работу, выдайте ATH или ATZ, чтобы модем повесил трубку.

В голосовых режимах определение факта снятия трубки телефона происходит примерно в течении 1 сек. Если модем при этом выполняет команду AT#VTX, то будет дополнительная задержка примерно в 1 сек (зависит от параметров воспроизведения), пока модем обработает все данные в своём буфере и доберётся до <DLE><ETX>.
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
RomanL
Associated member


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

СообщениеДобавлено: Чт Июл 14, 2005 3:24 pm    Заголовок сообщения: Ответить с цитатой

Спасибо. Будем пробовать таким образом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


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

СообщениеДобавлено: Чт Июл 14, 2005 3:45 pm    Заголовок сообщения: Ответить с цитатой

Можно посмотреть на работу этого алгоритма в протоколе IDC Ventafax. Программа использует этот алгоритм в режиме доступа к модему через COM-порт, если убрать "галочку" использования симуляции Caller ID в настройках АОН.
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
RomanL
Associated member


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

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

Здравствуйте!

Пришлось мне вернуться к данной проблеме еще раз. : )
Все уже довольно неплохо работало с 'древним' дисковым телефоном, но пришлось его заменить на более новые телефоны с АОН и с радиотрубкой, с которыми модем, в некоторых режимах не
выдает dle коды поднятие трубки.

Приведу простой пример, который легко проверяется в терминале:

<ATS52.1=0
(кстати, так и не нашел описания этого бита, как я понял задает
подключение напрямую к линии / либо только ее прослушивание,
также интересно узнать назначение битов с 0-5 этого регистра
в документации на русском языке про них ничего не сказано)
ОК

<AT*K2
ОК

<АТА
<g
NO CARRIER

<AT#CLS=8A

VCON

Здесь модем подключается к линии и переходит в голосовой режим, так вот для дискового телефона модем выводит здесь и dle коды поднята/положена трубка и dle коды занято и непр. гудок.

А для телефона с АОН, в случае когда идут короткие гудки, что-то
пытается определять, а в режиме разговора или при непр. гудке
нет. Т.е. при проигрывании сообщения в линию я не могу проконтролировать положение трубки на телефоне Sad

Можно ли в данном случае подстроить чувствительность определения
сигналов трубка поднята/опущена?
Я так понимаю, что у новых телефонов меньше нагрузка на линию,
и модем не может их различить?

В другом режиме, для
ATS52.1=1

< все тоже самое

VCON

Тут все работает довольно логично:

-модем находится в режиме прослушивания

-поднимаем трубку на телефоне
>t

-дальше определяются длинные гудки
>d>d>d>d>....

и после некоторого времени короткие
>b>b>b

-ложим трубку на телефоне
>h

Но этот режим не подходит т.к. в нем нельзя удержать линию
до поднятия трубки на телефоне.

Спасибо, Роман.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


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

СообщениеДобавлено: Сб Авг 13, 2005 11:42 pm    Заголовок сообщения: Ответить с цитатой

Биты 0-5 регистра S52 используются режимами регистрации переговоров; при работе Вашей программы они всегда должны быть нулевыми.

Теперь вернёмся к разбору ситуации с новым телефонным аппаратом.

Цитата:
Можно ли в данном случае подстроить чувствительность определения сигналов трубка поднята/опущена?

Я так понимаю, что у новых телефонов меньше нагрузка на линию,
и модем не может их различить?


Давайте для начала уточним: речь идёт о телефоне, включённом в гнездо модема, правильно?

Если это не так, то телефон надо переключить в гнездо модема, предназначенное для подключения телефонного аппарата.

Что касается ситуации, в которой модем не понимает, что трубка телефона снята, то прежде всего обратите внимание на сам факт "снятия трубки" телефона. Слышите ли Вы какие-либо сигналы в трубке?

Многие телефонные аппараты "не срабатывают" (не снимают трубку), если напряжение в линии ниже примерно 10В. Когда модем снял трубку, он может "просадить" напряжение в линии ниже этого порога...

Это - Ваш случай?
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
RomanL
Associated member


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

СообщениеДобавлено: Вс Авг 14, 2005 2:07 am    Заголовок сообщения: Ответить с цитатой

Да, действительно, модем просаживает напряжение в линии с 50В до
15В после выполнение команды ATA (в примере выше) и до 7.5В после выполнения команды AT#CLS=8a.

Если поднять трубку на телефоне подкл. к гнезду Phone, то слышны соответственно все сигналы в линии, в том числе и разговор.

При поднятии трубки на телефоне напряжение просаживается дополнительно с 7.5В до 5.2В.


Можно еще, что-то сделать в этой ситуации?

Спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


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

СообщениеДобавлено: Вс Авг 14, 2005 8:30 am    Заголовок сообщения: Ответить с цитатой

Цитата:
Да, действительно, модем просаживает напряжение в линии с 50В до 15В после выполнение команды ATA (в примере выше) и до 7.5В после выполнения команды AT#CLS=8a


Разница объясняется не командами модема, а "ситуацией на линии". Модем подключает к линии один и тот же нагрузочный элемент в ответ на любую команду, приводящую к снятию трубки (ATA, ATD, ATH1). Было подмечено, что многие АТС меняют напряжение на линии в зависимости от ситуации. Т.е. сняли трубку - одно напряжение. Приступили к набору номера - другое. Установилось соединение - третье. А бывает и так, что напряжение меняется после подключения к междугородней АТС, т.е. после набора 8-ки.

Цитата:
Можно еще, что-то сделать в этой ситуации?


Можно Smile Надо подать на телефонный аппарат напряжение от внутреннего источника модема, а не от линии. Иными словами, надо включить голосовое реле модема, которое отключит телефонный аппарат от линии и подключит его к встроенному источнику. Вот как это делается:

Код:
atz
OK

at s115=2 *k2
OK

... ждём входящий звонок ...

RING
at %n1 a
CALLER'S NUMBER: ....

... получив это сообщение, посылаем модему любой символ, кроме LF ...

NO CARRIER

... модем прервал процедуру ответа, но остался в положении off-hook (трубка снята), индикатор OH горит ...

at #cls=8 a
VCON

... ответили в голосовом режиме ...
... телефонный аппарат отключён от линии ...

at #vtx
CONNECT

... проигрываем сообщение, следим за <DLE>b и другими кодами ...


Как видите, порядок действий практически идентичен предложенному ранее. Разница лишь в том, что команда ATA заменяется на AT%N1A, чтобы после отмены процедуры ответа голосовое реле осталось включённым.

Осталось лишь разобраться с тем, как подключить телефонный аппарат к линии после того, как его трубка будет снята. Делается это так:

Код:
... получен <DLE>t ...

at s19.7=1 %n0 h #cls=8 a
VCON

at s19.7=0
OK

После выдачи первой команды Вы услышите щелчок реле, и телефонный аппарат окажется подключённым к линии. "Пляски с бубном" вокруг S19.7 нужны для ускорения процесса, иначе процесс выхода и повторного входа в голосовой режим займёт 1.5..2 секунды.
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
RomanL
Associated member


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

СообщениеДобавлено: Ср Авг 17, 2005 1:45 am    Заголовок сообщения: Ответить с цитатой

Спасибо!
Теперь все заработало.
Будут вопросы будем обращаться Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Technical Support
Expert


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

СообщениеДобавлено: Ср Авг 17, 2005 7:24 am    Заголовок сообщения: Ответить с цитатой

Конечно, обращайтесь! Всегда рады помочь! Very Happy
_________________
Inpro
Technical Support
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум по модемам IDC -> General Часовой пояс: GMT + 3
Страница 1 из 1

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


Powered by phpBB © 2001, 2005 phpBB Group

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

©2002, INPRO Development Corporation

Rambler's Top100