Сейчас много народу общается через интернет по VoIP телефонии. Стандартный вариант, это использование гарнитуры - микрофона и наушников. Все это "привязано" проводами к компьютеру. Конечно сидеть долгое время перед ящиком радиолюбители умеют, но может кого то посещала мысль использовать радио гарнитуру, для того что бы получить мобильность в пределах квартиры или дома. Меня такая мысль посетила. Есть конечно USB телефоны, но те которые тоже привязаны шнурком к компьютеру – то же что и гарнитура, но меньше удобная, а те что с базой и радиотрубкой, еще не дошли до всех дальних уголков нашей Родины. Есть еще вариант приспособить Bluetooth гарнитуру. Я же решил для этого использовать мой старый радиотелефон Panasonic. Общая структурная схема показана ниже. Звуковая карта подключена линейным выходом и входом к определенным точкам телефона перед процессором DSP, там где сигнал еще аналоговый. Диффсистему отключил, что бы не было влияния между передачей и приемом. Такая схема уже позволяет говорить через радиотрубку, и к компьютеру надо подходить только для начала сеанса (вызова), и его окончания. Аппетит разыгрался и я написал небольшую программу, которая ловила тональные DTMF посылки, преобразовывала и иммитировала нажатие клавиш для программного телефона. Программным телефоном я использовал SippointM от компании Sipnet (www.sipnet.ru). Символы * и # у меня были служебными.
** - сброс набора, положить трубку
# - набор окончен, звонить
Конечно звонить можно только на цифровые номера и SIP ID, которые тоже цифровые. Но в в принципе, я это добавил из-за моей лени бегать к компьютеру (он у меня в шеке, а говорить лучше на диване ). Но чего не хватало, так это прохождения стандартного вызова на радио трубу. Не держать же трубу все время включенной, ведь аккумуляторы быстрее садятся. Пришлось задействовать сом порт (в моем случае переходник с USB в COM - BM8050 от МастерКит). При приеме вызова на программный телефон SippointM, он выскакивает с трея на передний план. Как только это происходило, моя программа начинала вызов на телефон. При подъеме трубки проходил сигнал с телефона на сом порт, моя программа имитировала для SippointM нажатие на клавиатуре клавиши Enter и разговор начинался. При окончании разговора, нажималась кнопка отбой, проходил сигнал с телефона на сом порт, для SippointM нажималась на клавиатуре клавиша Esc и проходила команда минимизации окна, и SippointM прятался в трей.
Может кому то мои эксперименты покажутся извращением, но я шел по пути наименьшего сопротивления, учитывая имеющиеся у меня знания и навыки. Результат получился довольно таки нормальным и работоспособным.
Хотелось бы узнать,кто нибудь задавался такой проблемой? Если да, то какие были варианты?