PDA

Просмотр полной версии : Старый радиотелефон и VoIP телефония



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