Альтернативный VoIP - шлюз 
raxp@mail.zp.ua
Поводом к написанию данной статьи явилась необходимость создания моста между
ПК и телефонной линией.
Краткий экскурс...
VoIP (передача речи по IP- сетям) является одной самых прогрессивных технологий
связи и общения. Шутка-ли, находясь где-нибудь дома (офисе), преспокойно общаться
с родичами в России, да по тарифам не нашего всеми любимого монополиста, а инета.
Да и с обычного телефона можно “звякнуть” на голосовой шлюз, набрав номер “робота”
в тональном режиме... пока мне такие не попадались. Про защищенность таких сетей
речь не идет, взломать можно все, было бы желание… да это и не тема статьи.
Появились даже мобильники с Wi-Fi (стандарт IEEE 802.11b), что позволяет использовать
их в сетях ip- телефонии.
Возможности
Звонки можно совершать как: с ПК на ПК, с ПК на телефон, так и с телефона на
телефон.
Голосовых сервисов - приложений, как и IP-провайдеров уже довольно много:
скачать последний, как наименее “глючный” по-
моему мнению, и работающий в любых условиях, даже в сетях NAT и из-под брандмауэра,
можно отсюда:
http://download.skype.com/SkypeSetup.exe?20081.exe
Установка и установление связи проблем не вызовет,
благо включен русский интерфейс (см. рис.1).

|
…в большинстве
своем являясь условно - бесплатными, они позволяют общаться друг с другом
в сетях Ethernet без особых усилий со стороны пользователя, отличаясь
лишь ценами и условиями оплаты (либо в кредит, либо по карточке с кодом,

WEB-мани) на действительно голосовые звонки
в сеть телефонии (от 6 коп/мин в нашей валюте).
Качество речи (сигнала) зависит от степени
сжатия (используемых кодеков), линии связи, загруженности вашего провайдера
и т.п…. в основном наблюдал подтормаживание (задержку) и эхо. |

|
Было-бы неправильным
не упомянуть о встроенном в ось - TAPI (см. рис.2) функций известной библиотеки
TAPI32.DLL, которая и является телефоном ActiveVoice, позволяющим прекрасно
осуществлять голосовую (конференц) связь в локалке.
Вызвать оную можно выбрав “Пуск/выполнить/dialer” |
Есть-ли альтернатива?
“Ну и что?” - cкажите Вы. Чего это автор все распинается по поводу. Вот тут-то
и переходим к “грибочкам”...
По расценкам одной из киевских ip- фирмочек: для звонков с компа с выходом
в реальную линию 1-клиентское виртуальное место на 2- номера обойдется в 150
хрустящих, и это только программа, а еще нужен сервак-шлюз, оборудование...
к их чести сказать оно того стоит.
Вот и выбор, либо заплатить за готовый сервис типа Skyp-а с выходом
на линию, причем не во всех городах такое доступно, либо использовать оборудование
типа Cisco... или же реализовать собственный терминал-сервер, который
и будет мостом (gateway) между компьютером, подключенным к “сети” и телефонной
линией.
Принцип следующий: между 2-мя приложениями устанавливаем TCP соединение по
свободному порту, если да, то пингуем UDP порт. При наличии ответа в памяти
создаем поток с данными и пакуем в соответствии с выбранным вариантом сжатия
GSM6.10/PCM8/PCM11/PCM22/G.711, и перенаправляем в сокет, на обратной стороне
поток воспроизводится из буфера. Прием-передача пакетов разделена на 2 - этапа:
один буфер пишет данные, второй выводит (waveout) в реальном времени. Отсюда
условия:
- обмен пакетами (аудио с компрессией) по сокетам
- выбор приемлемой степени сжатия
- управление модемом (поднятие трубки и набор номера, AT)
- формирование факс-имиле
- автоответчик
- запись сообщений
- БД по обработке запросов (проверку паролей, учет трафика, список клиентов,
разрешенные подключения реализовать на основе MySQL)
- маршрутизация вызовов или статический ip
- открытый UDP порт

|
В основном все
функции работы с аудиопотоком и модемом вынесены в модуль IPTel, доступном
для свободного тестирования.
Тестирование модемных функций компонента не завершено,
ввиду отсутствия собственно модема
Программа создавалась
для использования в качестве офисного телефона для внутренней связи между
двумя зданиями. Для равномерной отправки голосовых пакетов достаточно
соединения на скорости не менее 19.2 бит/сек, а Ethernet соединения хватает
с лихвой. |
Автор готов любезно предоставить полные тексты проекта в обмен на участие в
разработке и тестировании шлюза.
Ссылки:
Контактная информация:
raxp@mail.zp.ua
18.04.2006
[Переход к списку статей]
|