Есть ли способ ответить на телефонный звонок с помощью модема?
В последнее время мы получаем множество телемаркетеров и спамеров, звонящих на нашу домашнюю линию, хотя мы вписаны в национальный каталог "Не звонить".
На днях я обнаружил Pentium 1 в своем подвале - в нем был модем для коммутируемой линии, и нам действительно удалось отправить "телефонный звонок", сделанный из ужасного пронзительного, скрипучего звука.
Мне было интересно, есть ли способ использовать это, чтобы ответить на входящий телефонный звонок.
Наша текущая настройка такова: у нас есть телефонная связь и интернет-соединение. В стене есть 2 телефонных разъема (каждый из них полностью подключен). У нас есть фильтр DSL, подключенный к одному разъему, выходы которого поступают на модем и телефон.
То, что я предполагаю, это:
- Телемаркетер звонит нам.
- Мы проверяем CID, подтверждаем, что это спамер (те же самые 3 или около того называют нас OVER, OVER и OVER...)
- Мы быстро подбегаем к Пенту. 1, и щелкните что-нибудь, может быть, пакетный скрипт или что-то подобное, что сделает это:
- Нажмите на телефонную линию как обычную трубку
- Попытайтесь выполнить дозвон рукопожатия.
- Продавец: "?????"
- PROFIT! (Ну, может быть, не прибыль, как таковая, но, конечно, будет хорошо, если вы не будете получать спам каждые 5 минут...)
Так что, если кто-нибудь может помочь мне с этим, это было бы хорошо.
PS, если это незаконно (домогательство, спам и т. Д.), Просто ответьте на него как на гипотетический ответ на гипотетический вопрос. (Мне также может понадобиться гипотетическое устранение неполадок...;)
8 ответов
Хотя это и не является прямым ответом на ваш вопрос, кто-то достиг такого же результата, используя Raspberry Pi.
Их полную статью можно найти здесь, но в итоге они использовали адаптер телефона к Ethernet (как тот, который @Rich Homolka упоминает в своем ответе), подключенный к Pi и пару сценариев, чтобы убедиться, что вызывающий абонент человек или появляется в белом списке до того, как фактическому телефону позволят звонить. Я предполагаю, что вы сможете настроить его как черный список, чтобы три числа сказали, чтобы они исчезли в недвусмысленных терминах или просто навсегда были приостановлены.
Я предполагаю (и надеюсь), что по окончании конкурса он сделает свою работу доступной для всех.
Я хотел бы сказать, что это не отвечает на ваш вопрос напрямую, но я думаю, что вы смотрите на проблему неправильно. Вы действительно хотите, чтобы 400-ваттный компьютер работал весь день только для того, чтобы просматривать пару телефонных звонков? Я думаю, что и "что мне делать с Pentium I", и "как мне делать скрин-звонки" - это отличные вопросы, но я думаю, вы должны разделить их.
Я не уверен, что "беги к Pentium, щелкни по сценарию, пошуми над модемом" гораздо эффективнее, чем сказать "я никогда не куплю твой продукт" и повесить трубку. Или, что еще лучше, скажите "позвольте мне получить ____" и оставьте свой телефон снятым; эти парни живут и умирают от оборота, и мертвый воздух может стоить им и расстроить их настолько, что они не будут звонить вам.
Насколько грубо для звонящего, помни; человек, разговаривающий с вами по телефону, не является начальником. Это люди, чье тяжелое финансовое положение делает лучшую работу доступной для них, когда они делают повторяющиеся телефонные звонки, которые люди ненавидят.
У меня есть ObiTalk 110, подключенный к моей (запасной) учетной записи Google Voice. Устройство имеет две линии, и одна может быть существующей линией дома, как в вашей ситуации. Другой может быть SIP или Google Voice, так что у вас есть место для расширения. Это немного неудобно в настройке, но ObiTalk можно использовать для отображения телефонных номеров. Поскольку у вас есть небольшое количество номеров, которые нужно заблокировать, эта проблема не может быть проблемой.
Если вам нравится ObiTalk, вы можете использовать его для прямого общения с Google Voice. Вы даже можете перенести свой домашний номер в Google Voice, если вам нужно его сохранить (хотя вам может понадобиться сначала перенести номер на мобильный). Отличный просмотр звонков! Бесплатные звонки в США! Недостатком является то, что вы, по сути, будете VoIP на своей основной линии, боль, если вам когда-либо потребуется отправить факс.
Если ObiTalk слишком чист, и вы хотите проект, я бы предложил Asterisk на Raspberry Pi или что-то подобное. Веселее, чем старый Pentium, и вы экономите электроэнергию.
В прошлой злой жизни я работал на техническую сторону индустрии телемаркетинга. Мне жаль.
Что-то, что работает очень хорошо, - это быстро остановить вызывающего абонента и сказать: "Пожалуйста, добавьте меня в свой список звонков". По закону они должны остановить то, что они делают, и добавить вас в список. Иногда они спрашивают, уверены ли вы, но это все. Просто повторите им: "Пожалуйста, добавьте меня в свой список" не звонить "". Как будто ты сказал "Бетельгейзе" три раза. Если они этого не понимают, вам нужно настоять на том, чтобы поговорить с их руководителем. Это может стоить им тысячи долларов, и вам могут заплатить за неприятности.
Во-вторых, если вы хотите приблизиться к нему с технической точки зрения, вы можете добавить три тона в начале каждого звонка, который вы принимаете. Это то, что может сделать какое-то оборудование, которое вы могли бы добавить в свой телефон в 1990-х годах. Разные последовательности разных тонов означают разные вещи. Вот одна ссылка, которая входит в некоторые детали:
http://what-when-how.com/voip/tones-detection-voip/
Наконец, другие предложили взорвать звуки модема на телемаркетере. Вероятно, они никогда не услышат этот шум, но он может предотвратить обратные вызовы. Программное обеспечение телемаркетинга набирает огромное количество звонков в час. Если он услышит факс, он поймет, что человека там нет, и если он закодирован логически, отметит номер как факс и никогда не перезвонит, поскольку цель состоит в том, чтобы поговорить с как можно большим количеством людей. Если вы просто положите трубку или не ответите, или речь идет о автоответчике или голосовой почте, вам обязательно перезвонят в ближайшее время. Определенно.
Конечно, вы можете сделать это. Подключите модем к телефонной линии. Вам понадобится терминальная программа для управления модемом. Конечно, я не видел его годами, и MS больше не включает его в Windows, но я уверен, что если вы его найдёте в Google, вы сможете его найти.
Возможно, вы даже сможете передать команду "ATA" на COM-порт в командном окне.
К вашему сведению, "ATA" - это стандартная команда Hayes, чтобы сообщить модему о необходимости поднятия.
Позвольте мне ответить на ваш вопрос с чисто технической точки зрения. Вот что я бы сделал, если бы я был на вашем месте и разделял ваши мотивы:
- Google модем и скачать техническую информацию - если вы не можете найти, то это, вероятно, слишком много хлопот. Пока вы там, загрузите ссылку на набор команд Hayes (AT-команды и т. Д.)
- сдуть окна 95 - это больше проблем, чем стоит
- установить серверную версию Linux - или даже просто DSL (Damn Small Linux)
- Напишите небольшую программу на Python (Ruby, Lua и т. д., если хотите), чтобы выполнить то, что вам нужно.
NB. CID передается в виде набора тонов между первым и вторым звонками. Большинство модемов могут быть настроены на "чтение" этих номеров. Таким образом, вы можете иметь "черный список" чисел, которые вы автоматически обнаруживаете и обрабатываете.
Я знаю, что опоздал на 8 лет, но я написал простой пакетный скрипт для моего модема; он берет трубку, пытается выполнить подтверждение факса, а затем вешает трубку через 20 секунд, обычно этого достаточно для того, чтобы другой конец повесил трубку. Вероятно, он не будет работать для каждого модема, но несколько небольших изменений и, возможно, удаление команд должны заставить его работать со всем, что у вас есть. Преимущество попытки выполнить рукопожатие заключается в том, что существует вероятность того, что бот, совершающий вызов, обнаружит ваш номер как сервер коммутируемого доступа или факсимильный аппарат и может вообще перестать вам звонить.
К сожалению, с помощью этого сценария вам придется самостоятельно проверять CID и запускать сценарий вручную, но, как указано ниже, есть несколько способов полностью автоматизировать это, если имеется достаточно времени и ресурсов.
ECHO AT+FCLASS=1 > COM1
TIMEOUT 1
ECHO AT ^&D0 A > COM1
TIMEOUT 20
ECHO +++ > COM1
TIMEOUT 2
ECHO ATH0 > COM1
TIMEOUT 1
ECHO AT+FCLASS=0 > COM1
Большинство, если не все, модемы должны возвращатьNO CARRIER
результат, если они получат какие-либо входные данные до успешного установления соединения, поэтому+++
команда гарантирует, что указанный результат получен перед отправкойATH0
или команду повесить трубку.
Команды можно удалить, чтобы попытаться выполнить рукопожатие V.34 вместо отправки факса, и, судя по тому, с чем я экспериментировал, некоторые команды (особенно ), возможно, придется отправить дважды подряд...
ECHO AT+FCLASS=1 > COM1
ECHO AT+FCLASS=1 > COM1
...так как модем может реагировать некорректно из-за того, что вы отправляете команды и сразу закрываете порт, а не используете терминальную программу, такую как HyperTerminal или PuTTY. Если вы решите удалитьAT+FCLASS
линии, в этом нет необходимости.
Команды, возможно, придется заменить наPING localhost -n x > NUL
в старых системах x — число. Однако сTIMEOUT
вы сможете нажать клавишу, чтобы повесить трубку раньше, если вызывающий абонент повесит трубку раньше или в конечном итоге окажется на тихой линии.
Порт может иметь другой номер, напримерCOM2
или в зависимости от того, как ваш модем подключен к компьютеру. Например, внешний модем должен подключаться непосредственно к порту RS232 и, как таковой, будет назначенCOM1
. Однако внутренний модем PCI может быть указан какCOM3
илиCOM4
.
Автоматизация, аналогичная решению jcblock , должна быть возможна на более новых компьютерах (любых, поддерживающих Python 3.4, Node.js или PowerShell), но вам нужно будет включить Caller ID на модеме и написать программу самостоятельно.
Кто-то написал программу, которая выглядит примерно так, как вы хотите. Возможно, даже лучше, чем вы хотите:
http://jcblock.sourceforge.net/
Документированное решение основано на Raspberry Pi и голосовом модеме определенной марки, но с тех пор они поддерживают несколько других брендов.
Похоже, ядром программы является программа на C, которая просто читает и записывает в последовательный порт, на котором включен модем.
Это должно быть легко перенесено (т.е. с небольшими изменениями) в любую операционную систему, при условии, что вы можете скомпилировать программу на C и Google, как читать / записывать последовательный порт для вашей ОС.
Это должно быть намного проще, чем связанное решение "Bananaphone" - решение "jcblock" просто подключается к любой розетке, и когда оно обнаруживает нежелательный вызов (из черного списка), оно на короткое время набирает номер через модем, а затем кладет трубку таким образом, положив трубку на телемаркетера и не давая другим телефонам звонить в вашем доме после одного звонка или около того. т.е. это полностью бесполезная операция после установки.
Я серьезно думаю о том, чтобы собрать его вместе...
Потому что вы думаете сделать это вручную, это должно быть довольно легко. настройте модем на линии, как это было бы для факса или сети, и инициируйте набор номера. Открытие браузера с настройками подключения к Интернету инициирует набор номера. Есть также параметры, которые могут быть введены в большинство модемов для быстрого набора (много), и другие команды, которые были введены прямо в настройки параметров сети, система отправит модему по модему.
Когда у нас был модем на той же линии, что и (единственный) стационарный телефон, это иногда случалось случайно, кто-то мог разговаривать по телефону, а кто-то другой открывал программу, которая хотела получить сетевой доступ. Модем не был достаточно умен, чтобы проверить тональный сигнал готовности, он просто наберет номер и начнет пробовать соединение. В остальное время нет проблем с подключением модема к линии.
Это не только возвращает меня к использованию модема, но и к тому времени, когда Интернет не был чем-то, с чем люди были связаны как константа:-)
Я думаю, что вам нужно другое "использование" для этого компьютера, хотя, чтобы он сидел там и тратил энергию, просто чтобы пошуметь, похоже, телемаркетеры победили бы.