Устройство это на самом деле x86-based компьютер. Задачи у него такие (не в порядке важности).
Устройство должно быть прозрачным. То есть сквозь него можно звонить, принимать звонки, разговаривать так, как будто его нет.
Устройство должно уметь записывать всё что происходит на линии (номера телефонов, сами разговоры)
Устройство должно уметь реагировать на звуковые команды и в ответ посылать звук в линию. (типичный пример автоответчик управляемый тоновым набором)
Устройство должно уметь соединятся с другим таким же устройством через телефонную линию ПОСЛЕ установления телефонного соединения. То есть человек позвонил другому у которого тоже есть устройство, поговорил немного, потом набрал в тоновом режиме специальный код и устройства начали общатся между собой, обмениватся информацией. Минимальная необходимая скорость — 33.6Kbps, 56 лучше Когда устроства подключены, линия DEVICE<->PHONE должна продолжать работать (человек не слышит модемное шипение, продолжает подавать звуковые команды устройству и слышать звуковую диагностику от устройства).
Вопрос — можно ли это сделать на модемах, voice-модемах?
Здравствуйте, adontz, Вы писали:
A> A> Устройство должно быть прозрачным. То есть сквозь него можно звонить, принимать звонки, разговаривать так, как будто его нет.
Это можно.
A> Устройство должно уметь записывать всё что происходит на линии (номера телефонов, сами разговоры)
Это, afaik, нет.
A> Устройство должно уметь реагировать на звуковые команды и в ответ посылать звук в линию. (типичный пример автоответчик управляемый тоновым набором)
Это можно.
A> Устройство должно уметь соединятся с другим таким же устройством через телефонную линию ПОСЛЕ установления телефонного соединения. То есть человек позвонил другому у которого тоже есть устройство, поговорил немного, потом набрал в тоновом режиме специальный код и устройства начали общатся между собой, обмениватся информацией. Минимальная необходимая скорость — 33.6Kbps, 56 лучше Когда устроства подключены, линия DEVICE<->PHONE должна продолжать работать (человек не слышит модемное шипение, продолжает подавать звуковые команды устройству и слышать звуковую диагностику от устройства). A>
Это, afaik, нет. 56kbps — точно нет. Два обычных модема, как известно, держать друг с другом могут только 33.6 максимум.
Здравствуйте, Kemm, Вы писали:
A>> A>> Устройство должно быть прозрачным. То есть сквозь него можно звонить, принимать звонки, разговаривать так, как будто его нет. K>Это можно.
Хорошо
A>> Устройство должно уметь записывать всё что происходит на линии (номера телефонов, сами разговоры) K>Это, afaik, нет.
A>> Устройство должно уметь реагировать на звуковые команды и в ответ посылать звук в линию. (типичный пример автоответчик управляемый тоновым набором)
K>Это можно.
Погоди. Если моджно реагировать на звуковые команды, посылать звук и звонить сквозь устройство, то почему нельзя записывать номера телефонов и разговор?
A>> Устройство должно уметь соединятся с другим таким же устройством через телефонную линию ПОСЛЕ установления телефонного соединения. То есть человек позвонил другому у которого тоже есть устройство, поговорил немного, потом набрал в тоновом режиме специальный код и устройства начали общатся между собой, обмениватся информацией. Минимальная необходимая скорость — 33.6Kbps, 56 лучше Когда устроства подключены, линия DEVICE<->PHONE должна продолжать работать (человек не слышит модемное шипение, продолжает подавать звуковые команды устройству и слышать звуковую диагностику от устройства). A>>
K>Это, afaik, нет. 56kbps — точно нет. Два обычных модема, как известно, держать друг с другом могут только 33.6 максимум.
33.6 в принципе устраивает, просто на 56 не нужно было бы сжатие. А что именно нельзя? Можно по-подробнее?
Здравствуйте, adontz, Вы писали:
A>>>2. Устройство должно уметь записывать всё что происходит на линии (номера телефонов, сами разговоры) K>>Это, afaik, нет. A>>>3. Устройство должно уметь реагировать на звуковые команды и в ответ посылать звук в линию. (типичный пример автоответчик управляемый тоновым набором) K>>Это можно. A>Погоди. Если моджно реагировать на звуковые команды, посылать звук и звонить сквозь устройство, то почему нельзя записывать номера телефонов и разговор?
Потому что может оно это не одновременно. 8))
A>>>4. Устройство должно уметь соединятся с другим таким же устройством через телефонную линию ПОСЛЕ установления телефонного соединения. То есть человек позвонил другому у которого тоже есть устройство, поговорил немного, потом набрал в тоновом режиме специальный код и устройства начали общатся между собой, обмениватся информацией. Минимальная необходимая скорость — 33.6Kbps, 56 лучше Когда устроства подключены, линия DEVICE<->PHONE должна продолжать работать (человек не слышит модемное шипение, продолжает подавать звуковые команды устройству и слышать звуковую диагностику от устройства). A>>>[/list] K>>Это, afaik, нет. 56kbps — точно нет. Два обычных модема, как известно, держать друг с другом могут только 33.6 максимум. A>33.6 в принципе устраивает, просто на 56 не нужно было бы сжатие. А что именно нельзя? Можно по-подробнее?
Переключение голосом на другой режим сделать нельзя. Равно и как управление при использовании модема как модема. 8))
А если я, скажем, буду использовать звуковую карту для прослушивания телефонной линии и выдачи диагностик, а модем для передачи данных?
То есть задача такая — установить соединение между двумя модемами когда телефонное подключение уже установлено разрешима?
Здравствуйте, adontz, Вы писали:
A>33.6 в принципе устраивает, просто на 56 не нужно было бы сжатие. А что именно нельзя? Можно по-подробнее?
На это могу ответить. 56 — это не в обе стороны, это скорость закачки, если с другой стороны стоит не модем, а цифровая станция. Я сейчас уже не помню, почему так получается, но сам факт помню твёрдо Поэтому, если с обоих концов модемы, будет только 33.6 в обе строны.
Здравствуйте, adontz, Вы писали:
A>А если я, скажем, буду использовать звуковую карту для прослушивания телефонной линии и выдачи диагностик, а модем для передачи данных?
С ходу чего-то сообразить не могу...
A>То есть задача такая — установить соединение между двумя модемами когда телефонное подключение уже установлено разрешима?
K>С ходу чего-то сообразить не могу...
A>>То есть задача такая — установить соединение между двумя модемами когда телефонное подключение уже установлено разрешима?
K>Да. ATA на обоих модемах, пойдет handshake.
Не пойдет. Точнее, в большинстве случаев не пойдет. На одном модеме надо делать ATA, а на другом — ATX3D.
Здравствуйте, Andrew S, Вы писали:
A>>>То есть задача такая — установить соединение между двумя модемами когда телефонное подключение уже установлено разрешима? K>>Да. ATA на обоих модемах, пойдет handshake. AS>Не пойдет. Точнее, в большинстве случаев не пойдет. На одном модеме надо делать ATA, а на другом — ATX3D.
A>>33.6 в принципе устраивает, просто на 56 не нужно было бы сжатие. А что именно нельзя? Можно по-подробнее?
SH>На это могу ответить. 56 — это не в обе стороны, это скорость закачки, если с другой стороны стоит не модем, а цифровая станция. Я сейчас уже не помню, почему так получается, но сам факт помню твёрдо Поэтому, если с обоих концов модемы, будет только 33.6 в обе строны.
Получается за счет отсутствия лишнего АЦП-ЦАП на участке АТС-(EWSD)-провайдер. Фактически, потоки T1\T3 заводятся сразу с EWSD или АТС на RAS\NAS. (Кстати, почему там обратно всего 28800 в варианте V90 — объяснено довольно мутно. В том же v92 можно и сихронную скорость выше 33600 получать, порядка 44-46 кбит).
Здравствуйте, adontz, Вы писали:
A>Устройство это на самом деле x86-based компьютер. Задачи у него такие (не в порядке важности).
A> Устройство должно быть прозрачным. То есть сквозь него можно звонить, принимать звонки, разговаривать так, как будто его нет.
Любой нормальный модем прозрачен, если на нем не снята трубка. Если прозрачность нужна при том, что модем пишет разговор, то тут уже надо подбирать конкретную модель, т.к. многие блокируют телефон при полключении к линии. Например, ZyXEL Omni56k PLUS не отключает телефон, а просто ZyXEL Omni56k отключает.
A>Устройство должно уметь записывать всё что происходит на линии (номера телефонов, сами разговоры)
Запись разговоров — без проблем. Что подразумевается под записью номера телефона? АОН?
A>Устройство должно уметь реагировать на звуковые команды и в ответ посылать звук в линию. (типичный пример автоответчик управляемый тоновым набором)
Можно в режиме автоответчика.
A>Устройство должно уметь соединятся с другим таким же устройством через телефонную линию ПОСЛЕ установления телефонного соединения.
Можно прервать режим приема/передачи звуковых данных по факту приема определенного кода DTMF, перейти в режим модема и, как уже написали, сказать одному модему atx3d (х3,афаик, чтобы сообщение NODIALTONE отрубить), а другому модему — ata. Должно сработать.
A>То есть человек позвонил другому у которого тоже есть устройство, поговорил немного, потом набрал в тоновом режиме специальный код и устройства начали общатся между собой, обмениватся информацией. Минимальная необходимая скорость — 33.6Kbps, 56 лучше
Про скорость уже сказали.
A>Когда устроства подключены, линия DEVICE<->PHONE должна продолжать работать (человек не слышит модемное шипение, продолжает подавать звуковые команды устройству и слышать звуковую диагностику от устройства).
Тут не понял. Не должны шипеть при обмене информацией? Без отключения модемом телефона этого не добиться.
Или модем не должен проявлять себя при записи разговора?
Всего доброго!
... np: Death in Vegas — Track 7
<< RSDN@Home 1.1.4 stable rev. 510>>
Здравствуйте, adontz, Вы писали:
A>Ты не на то отвечаешь. Посмтори на схему подключения.
Твое описание я понял так: есть линия от АТС, на нее вешается модем с компом, а к модему подключается телефон.
A>Одна линия идёт в компьютер из АТС и одна из компьютера в телефон. Они не связаны.
Это как? Откуда берется вторая линия (dev<->phone)? Ты ее эмулировать будешь, что ли? Как на ней телефон-то работать будет? Если линии не связаны, то как такое устройство может быть прозрачным для телефона (в случае использования модема)???
Вообще ничего не понимаю. Похоже, пора мне спать.
Всего доброго!
... np: Death in Vegas — Track 6
<< RSDN@Home 1.1.4 stable rev. 510>>
Здравствуйте, adontz, Вы писали:
S>>Это как? Откуда берется вторая линия (dev<->phone)? A>Сделал сам S>>Ты ее эмулировать будешь, что ли? A>Да
Хм... а связывать эти две линии ты думал через два модема, подключенных к компу, или как? Т.е. один модем_А работает с АТС, а второй — модем_Б — с телефоном? Допустим, модем_Б всегда сидит в режиме автоответчика и принимает DTMF-команды с телефона. На компе стоит софт, который обрабатывает эти команды и выполняет соответсвующие действия, например, набирает номер нужного абонента на модеме_А и в случае ответа переводит модем_А в голосовой режим и обеспечивает голосовой поток между модемом_А и модемом_Б, с которым делает все, что его софтварной душе угодно. При этом софт через модем_Б продолжает следить за командами с телефона. Если нужно передать данные, то опять с телефона подается команда модему_Б, которую софт обрабатывает, выводит модем_А из голосового режима и приказывает ему сделать atx3d, прохэндшейкиться и начать обмен данными, которым опять же можно управлять с телефона. Так?
Проблема возникает в постоянной связи модема_Б и телефона, т.е. модем_Б должен знать, что с телефона хотят передать команды. Тут придется как-то эмулировать вызов, чтобы модем_Б смог сам снять трубку и начать работать с телефоном.
Нда... системка не для слабонервных, однако. А вообще интересно...
Всего доброго!
... np: In Flames — Lord Hypnos
<< RSDN@Home 1.1.4 stable rev. 510>>
Между АТС и компьютером модем. Модем изначально ничего не делает.
Между компьютером и телефоном штучка (штучку будут паять в четверг) управляемая звуковой картой. Штучка изначально слушает линию.
Линии связаны через реле управляемое компьютером (его тоже будут паять в четверг). Изначально оно замкнуто. Пока реле замкнуто штучка фактически слушает обе линии.
Сценарий входящего звонка. Поступает звонок.
Пользователь берёт трубку, разговаривает.
Пользователь набирает в тоновом режиме специальный код.
Компьютер узнаёт этот код, указывает модему установить соединение. Если удалось, то размыкает реле.
По кончании разговора или после набора другого кода компьютер указывает модему повесить трубку и замыкает реле обратно.Сценарий исходящего звонка. Набирается номер, происходит соединение.
Пользователь разговаривает.
От удалённого абонетна послупает специальный код.
Компьютер узнаёт этот код и указывает модему принять соединение. Если удалось, то размыкает реле.
По кончании разговора или после поступления другого кода компьютер указывает модему повесить трубку и замыкает реле обратно.
Начиная с пункта №3 всё может быть наоборот. То есть
Сценарий входящего звонка. Поступает звонок.
Пользователь берёт трубку, разговаривает.
От удалённого абонетна послупает специальный код.
Компьютер узнаёт этот код и указывает модему принять соединение. Если удалось, то размыкает реле.
По кончании разговора или после поступления другого кода компьютер указывает модему повесить трубку и замыкает реле обратно.Сценарий исходящего звонка. Набирается номер, происходит соединение.
Пользователь разговаривает.
Пользователь набирает в тоновом режиме специальный код.
Компьютер узнаёт этот код, указывает модему установить соединение. Если удалось, то размыкает реле.
По кончании разговора или после набора другого кода компьютер указывает модему повесить трубку и замыкает реле обратно.
Что скажешь? Вроде должно работать...
Можно я в диалог влезу? Спасибо
Так вот, дабы осуществить задуманное, нужно
1. Войсовый модем (т.е. модем, позволяющий записывать голос с линии).
2. Софт, позволяющий распозновать dtmf сигналы из линии
2а. Модем, поддерживающий распознование dtmf сигналов (кажется, были и такие, да).
Насколько я помню, в войсовых модемах можно управлять режимом спикерофона (по крайней мере, в том спортстере, что был у меня, это было делать можно — см at#cls\at#vls.) Т.е. одновременно и писать с линии, и разговаривать по телефону. Так что пункт 1 позволяет вам обойтись без доп. устройств (с условием того, что модем отреагирует на RING, снимет трубку и перейдет в войсовый режим — пользователю останется только снять трубку и говорить).
насчет 2а я не уверен. То, что в каком то модеме были режимы распознования dtmf — 100%. Вот только сейчас я не помню — может, это был и isdn модем. А может и в дягилевской прошивке курьера. Давно было дело. Опять же, насколько реально активировать этот режит + voice — надо смотреть команды конкретного модема. Но я лично очень сомневаюсь в наличии таких экзотических функций. Хотя тот же us robotics message, кажется, позволял управлять собой с линии посредством dtmf — а значит, аппаратная реализация оного там была.
насчет 2. — все очень печально. Похожая проблема была при реализации русского аона софтом (для войсовых модемов). Фактически, надо в реальном времени производить тонкий спектральный анализ. Учитывая тормознутость модема в плане записи линии + отстойное качество даже при adpcm кодировани — дело довольно нетривиальное и долгое (хотя, может tapi тут чем то и поможет, но сомнительно).
Это было просто в порядке потока мысли — анализировать придется вам самому.
Вдогонку
Ага, да, точно нашел. Дягилевский курьер. http://www.iasnet.ru/~jia/ftp/driver/usr/id_sdl/idsdl402.pdf
AT%T.
Вероятно, сия команда решает все ваши проблемы (поскольку модем, судя по описанию, не снимает трубку, а именно мониторит линию). Т.о. требуется найти "старый" курьер и попробовать там это... Рекомендую поступить именно так — проблем будет в разы меньше.
Но в любом случае — похоже, дополнительное устройства вам не нужно.
Здравствуйте, Andrew S, Вы писали:
AS>Можно я в диалог влезу? Спасибо
Всегда рад Тут смотри какое дело. В некоторый момент линии от телефона до компьютера и от компьютера до АТС работают одновременно и независимо.
Так что в принципе одним модемом ну никак не обойтись.
Кроме того абы какой модем не подходит. Это на самом деле не обычный PC, а просто некоторое x86-based нечто на котором стоит Windows. И модем там будет фиг его знает какой (даже не факт, что voice). Более того, там всего 1 PCI слот. Моя последняя идея вроде позволяла путём ухищерений обойтись одним обычным модемом. Просто она хороша в теории, а на на практике не известно что будет.
Здравствуйте, Andrew S, Вы писали:
AS>насчет 2а я не уверен. То, что в каком то модеме были режимы распознования dtmf — 100%.
ZyXEL OMNI56K PLUS (я не зря его упоминал) умеет распознавать dtmf при работе в голосовом режиме и слать их в потоке к компу в виде спецсимволов.
AS>насчет 2. — все очень печально. Похожая проблема была при реализации русского аона софтом (для войсовых модемов).
Да, было дело. На роквеллоидах,емнип, не работало именно из-за их тормознутости. Хотя оно и на других модемах не особо работало. Да и посылки слались не пойми как. Ну это все уже неактуально. Правда, детектирование dtmf по-сложнее будет.
AS> Фактически, надо в реальном времени производить тонкий спектральный анализ. Учитывая тормознутость модема в плане записи линии + отстойное качество даже при adpcm кодировани — дело довольно нетривиальное и долгое (хотя, может tapi тут чем то и поможет, но сомнительно).
TAPI, как у меня сложилось впечатление, сам по себе тормозной.
AS>Вероятно, сия команда решает все ваши проблемы (поскольку модем, судя по описанию, не снимает трубку, а именно мониторит линию). Т.о. требуется найти "старый" курьер и попробовать там это... Рекомендую поступить именно так — проблем будет в разы меньше. AS>Но в любом случае — похоже, дополнительное устройства вам не нужно.
А как в таком случае добиться того, что при передаче данных в телефоне не слышно шипения, а модем реагирует на dtmf от телефона? ИМХО, этого при одном модеме не получить.
Всего доброго!
... np: Death in Vegas — Track 5
<< RSDN@Home 1.1.4 stable rev. 510>>
A>Тут смотри какое дело. В некоторый момент линии от телефона до компьютера и от компьютера до АТС работают одновременно и независимо.
Ну, в описанном выше сценарии работы это совсем не очевидно, верно? A>Так что в принципе одним модемом ну никак не обойтись.
Честно говоря, совсем непонятно, зачем одновременно 2 линии. При использовании at#vls0 у нас телефон активен (то бишь не отрубется) вообще всегда, если этого только не захочет модем, при использовании at%t — тоже. Т.е. модем фактически осуществляет мониторинг проходящей через него линии, никоим образом ее не затрагивая. Или пользователь намерен иногда поговорить с компьютером (фактически со звуковой картой?), а не через атс? Но исходя их сценария видно, что это не так — там всегда общение с внешним абонентом...
Может, имеет смысл объяснить более подробно, что хочется? Наверняка есть более простые решения проблемы.
A>Кроме того абы какой модем не подходит. Это на самом деле не обычный PC, а просто некоторое x86-based нечто на котором стоит Windows. И модем там будет фиг его знает какой (даже не факт, что voice). Более того, там всего 1 PCI слот. Моя последняя идея вроде позволяла путём ухищерений обойтись одним обычным модемом. Просто она хороша в теории, а на на практике не известно что будет.
Если есть pci слот — значит, можно купить карту с com портами и пользовать любой внешний нормальный модем. Если есть isa — собственно, найти нормальный isa модем. Это хоть трудно, но можно. Повторюсь — программное детектирование dtmf — очень нетривиальная задача. Разница в стоимости между курьером + pci com port и "самый дешевый винмодем" ~$180-200. Это ну никоим образом не окупить моральных и физических страданий (а тем более стоимость времени разработки) кодирования детектирования dtmf с нуля. Там нужно и уровень dtmf определять\задавать, и прочее-прочее-прочее — все в реалтайме. Гемор, в общем.