Personal Internet Phone Equipment
Автор Александр Мельников
Содержание
 
ВВЕДЕНИЕ
ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ
СИСТЕМНЫЕ ТРЕБОВАНИЯ
КАК ПОЛЬЗОВАТЬСЯ ПРОГРАММОЙ
 
ЗАПУСК ПРИЛОЖЕНИЯ
РЕЖИМ ЗВОНКА
РЕДАКТИРОВАНИЕ АДРЕСНОЙ КНИГИ
СИСТЕМНОЕ МЕНЮ
ИНФОРМАЦИОННОЕ МЕНЮ
TRAY ИНТЕРФЕЙС
ГОРЯЧИЕ КНОПКИ
БЛАГОДАРНОСТЬ
Введение
 

Personal Internet Phone Equipment (PIPE) - это приложение, предназначенное для голосового общения в режиме реального времени при помощи компьютеров и IP сети. Т.е. эта программа позволит Вам разговаривать со своими друзьями, коллегами или родственниками через Интернет либо локальную сеть.

Создание PIPE изначально преследовало две цели:

  • Проведение бесплатных междугородних и международных переговоров через компьютеры, подключенные к Интернету, с учётом наших российских особенностей, как то: не очень хорошее качество соединения и ограничение самой возможности такого соединения фаерволами и прокси.
  • Для использования в качестве офисного телефона в компаниях, имеющих локальную IP сеть.

В настоящее время в области интернет-телефонии существует несколько десятков программных продуктов, обладающих своими достоинствами и недостатками. Отметим несколько особенностей, отличающих PIPE от его аналогов:

  1. PIPE обеспечивает надежную и качественную передачу голоса по сети,
  2. PIPE позволяет устанавливать соединение через прокси сервера, поддерживающие Socks протоколы,
  3. PIPE содержит в себе настраиваемый механизм сканирования свободных UDP портов, через которые могут передаваться голосовые пакеты,
  4. Программа очень нетребовательна к системным ресурсам,
  5. По виду она напоминает сотовый телефон.

PIPE успешно работает на подавляющем большинстве компьютеров с операционной системой Windows 9x/NT или старше. Искренне надеюсь, что мой телефончик Вам понравится.

Лицензионное соглашение
 

PIPE является программным продуктом с shareware лицензией. Если Вы пользуетесь программой в коммеческих или бизнес целях, пожалуйста, купите лицензию и зарегистрируйтесь. Однако если же Вы используете PIPE в личных целях, Вы можете зарегистрироваться бесплатно. Для этого в качестве регистрационного кода просто введите с маленькой буквы по-русски текущий день недели. Приветствуются любые предложения пользователей программы по ее улучшению, а также и замечания.

Отсутствие гарантий. К сожалению невозможно гарантировать надежную работу программы на любом компьютере с заявленной ниже конфигурацией. Программный продукт и сопроводительная документация поставляется "как есть", включая возможные ошибки и недостатки.

Системные требования
 

Программа должна быть установлена на персональном компьютере, отвечающем нижеперечисленным минимальным требованиям.

Аппаратная платформа:

  • Пентиум, 75 МГц с мин. количеством оперативной памяти 8 Мб.
  • Кабельное или модемное подключение к IP сети.
  • Звуковая карта, желательно полнодуплексная.
  • Гарнитура или микрофон с наушниками/колонками.

Операционная система:

  • Windows 95/98/Me или Windows NT/2K/XP.
  • Установленный Winsock-2 сетевой драйвер (актуально для пользователей Windows 95 ранних версий).
  • Установленный драйвер для звуковой карты.

Как видно требования к системе очень скромные. Наиболее критическим ресурсом является качество связи в IP сети, поскольку при низкоскоростном подключении наблюдается массовое "выпадание" фрагментов передаваемой речи. Удовлетворительное качество связи наблюдается уже при скорости 19,2 Кбит в секунду при равномерной (!) отправке речевых пакетов.

Другое ограничение касается установления голосовой связи через Интернет - оба компьютера должны иметь реальный с точки зрения Интернета IP адрес. Это касается главным образом пользователей, подключенных к Интернету через локальную сеть - IP адрес не должен быть локальным. Если прямое соединение между компьютерами блокируется фаерволом/прокси сервером, существует возможность сделать исходящий звонок. Для этого должны быть выполнены следующие требования:

  • Компьютер должен иметь реальный IP адрес.
  • Прокси сервер должен поддерживать протокол Socks-4 или Socks-5.
  • IP адрес, порт прокси сервера и прочая информация для подключения должна быть известна.
  • Нужно знать или как минимум предполагать порты, открытые для приема и передачи UDP пакетов. Например, очень часто 4000-й порт, используемый ICQ является открытым.

Следует упомянуть о такой особенности компьютерной телефонии как задержка (до 5-7 секунд при плохом качестве канала) между вопросом и ответом с другого конца "телефонной линии". Она обусловлена неизбежной потерей времени при захвате очередной порции звука, компрессии, передачи сжатых голосовых пакетов через n-ное количество хостов, декомпресии и восстановлении непрерывного звучания. Каждый такой этап вносит свой вклад в общую задержку.

Как пользоваться программой
 

Программа PIPE очень проста в использовании, и в этой главе будет подробно описано как с ней работать. Легко увидеть, что пользовательский интерфейс состоит из следующих основных элементов: строки с IP адресом компьютера, на котором запущена программа, дисплейчика и кнопок.

Дисплей телефона предназначен для показа следующей информации: служебных меню, контекстной подсказки и всевозможных сообщений. Он также используется для ввода и редактирования текстовой информации, например IP адресов, портов, имен и т.д.

Кнопки телефона делятся на две категории по их функциональному назначению: это переключатели режимов и кнопки управления. Первый тип предназначен для переключения между различными режимами работы программы: телефонным звонком, редактированием адресной книги, системными операциями и информационной поддержкой. Назначение каждой из управляющих кнопок находится в контекстной зависимости от того, какой режим выбран.


Телефонные кнопки

Вид Название Описание Горячая клавиша
Звонок Переключиться в режим звонка "Alt-C"
Редактор Редактирование записей в адресной книге "Alt-E"
Операции Системные операции, настройка телефона "Alt-S"
Справка Получение справочной информации о программе и регистрация "Alt-I"
Стрелка вверх Строллинг для выбора пунктов меню. Изменение уровня громкости во время разговора. Стрелки на клавиатуре
Стрелка вниз
Подтверждение Зависимая от режима кнопка подтверждения действия "Enter" или двойной щелчек левой кнопки мыши в меню
Отмена Зависимая от режима кнопка отмены или удаления "Esc" или "-"
Дополнение Зависимая от режима дополнительная кнопка "Alt-Space" или "+"

Запуск приложения

Для запуска приложения достаточно просто щелкнуть мышкой на исполняемом файле Phone.exe. Если необходимо чтобы при старте не показывалось окно телефона (например при добавлении в автостарт) следует запустить программу с параметром m, т.е. так: Phone.exe m .

Существует черыре основных режима работы программы, между которыми пользователь может переключаться при помощи кнопок. Рассмотрим подробно каждый из них.

Режим звонка

Данный режим предназначен для совершения звонков через IP сети. Чтобы переключиться в это режим достаточно нажать кнопку Звонок. Чтобы позвонить следует выполнить следующие действия:

  1. С помощью стрелок выбрать из адресной книги нужного абонента. Если необходимая запись в книге отсутствует, можно ввести IP адрес или имя компьютера непосредственно в адресную строку.
  2. Нажать на кнопку Подтверждение.
  3. Начнется процесс соединения с удаленным компьютером, информация о этапах которого будет отображаться на дисплее.
  4. Если эта процедура прошла успешно пользователь слышит длинные гудки в наушниках/колонках.
  5. В противном случае, если PIPE не смог созать голосовое соединение, на дисплее телефона появится сообщение об ошибке.
  6. Если на другом конце линии абонент "поднял трубку" длинные гудки прекращаются и Вы можете говорить.
  7. Уровень звука в наушниках можно настроить при помощи кнопок со стрелками.
  8. Чтобы завершить разговор воспользуйтесь кнопкой Отмена.

Звонок на IP адрес "127.0.0.1" позволяет пользователю позвонить самому себе для проверки нормальной работы программы и оборудования. Рекомендуется при первом запуске программы выполнить такую самопроверку.

О входящем звонке пользователь будет уведомлен звуковым сигналом "телефонный звонок" и сообщением на дисплее. В этом случае пользователю нужно:

  1. Переключиться в режим звонка кнопкой Звонок
  2. Да дисплее будет отображен IP адрес или имя звонящего.
  3. Нажать кнопку Подтверждение чтобы принять звонок и "снять трубку", или кнопку же Отмена чтобы отклонить звонок.

Если голосовое соединение установлено и Ваша звуковая карта полнодуплексная, Вы можете говорить. Если же карта полудуплексная (программа Вам об этом сообщит), Вы не сможете говорить и слушать одновременно. Подобно тому, как это происходит в радиостанциях, Вам необходимо вручную переключаться между режимом приема и передачи при помощи кнопки Дополнение.

Редактирование адресной книги

Меню редактирования позволяет вносить изменения в адресную книгу, т.е. создавать новые записи и модифицировать, сортировать и удалять старые. Чтобы выбрать необходимую операцию следует:

  1. Нажать на кнопку Редактор.
  2. Стрелками выбрать желаемое действие.
  3. Активировать выбор при помощи кнопки Подтверждение.

Чтобы создать новую запись следует:

  1. Выбрать пункт меню "Создать запись".
  2. Ввести имя абонента и нажать на кнопку Подтверждение.
  3. Ввести цифры IP адреса или имя компьютера (опознаваемое службой DNS при звонках через Интернет) и снова нажать на кнопку Подтверждение.

Для изменения существующей записи нужно:

  1. Выбрать пункт меню "Изменить".
  2. Стрелками выбрать запись, подлежащую изменению и нажать на кнопку Подтверждение.
  3. Изменить имя абонента (если это необходимо) и снова нажать на кн. Подтверждение.
  4. Отредактировать IP адрес или имя компьютера и в очередной раз подтвердить действие кнопкой Подтверждение.

Чтобы удалить запись:

  1. Выбрать пункт меню "Удалить".
  2. Стрелками выбрать запись, подлежащую удалению и нажать на кнопку Подтверждение.
  3. Для подтверждения выбора снова нажать на кн. Подтверждение.
  4. Для отмены операции нажать на кн. Отмена.

Для изменения порядка следования записей:

  1. Выбрать пункт меню "Переместить".
  2. Стрелками выбрать запись, подлежащую перемещению.
  3. Зафиксировать ее нажатием на кнопку Дополнение, после чего запись станет красного цвета.
  4. Передвинуть запись в нужную позицию при помощи стрелок или мышки.
  5. Отпустить запись кнопкой Подтверждение.

Системное меню

Системное меню предназначено для выполнения таких действий как выход из программы, сворачивания окна приложения и настройки. Для выполнения первых двух операций:

  1. Нажмите на кнопку Операции.
  2. Стрелками выберите нужное действие.
  3. Нажмите на кнопку Подтверждение.

Третий пункт данного меню служит для входа в подменю Настройка, с помощью которого можно изменить ряд опций, например язык пользовательского интерфейса, список TCP и UDP портов, используемых приложением и многое другое.

Внимание: любые изменения в настройках вступают в силу только после перезапуска программы.

Рассмотрим каждую опцию более подробно.

Пункт меню Выбор языка определяет на каком языке пользователю будут выводятся текстовые сообщения.

Опция Звуковой режим задает интерфейс Windows, который будет использован при выводе звука: Direct Sound или Waveform Audio. Как правило выбор Direct Sound более предпочтителен, однако для некоторых звуковых карт Waveform Audio подходит лучше. Какой интерфейс выбрать в каждом конкретном случае можно определить самотестированием, т.е. звонком на IP адрес 127.0.0.1

Детектор голоса - полезная опция предназначенная для того, чтобы убрать исходящий трафик в ситуации когда человек молчит. Как только он начинает говорить голосовой детектор возобновляет посылку речевых пакетов. Пользователь может разрешить или запретить эту опцию.

TCP порты. При старте программа создает TCP сервер на каждый занесенный в список порт для приема входящих звонков. Эти же порты последовательно используются для установления связи при исходящих звонках. Оптимальное количество количество портов в списке 2-5.

UDP ports. Один из портов данного списка будет задействован для передачи голоса. После установления первичного TCP соединения программа проведет поиск открытых UDP портов. Какой конкретно порт будет выбран зависит от результатов сканирования. Данный список может содержать до 50 значений.

Пользователь может просматривать списки портов, добавлять новые или удалять уже существующие.

Чтобы добавить порт:.

  1. Выберите нужный список и нажмите кн. Подтверждение.
  2. Нажмите кнопку Дополнение.
  3. Введите новый порт.
  4. Снова нажмите кн. Подтверждение.

Для удаления порта:

  1. Выберите нужный список портов и нажмите кн. Подтверждение.
  2. Выберите порт, подлежащий удалению.
  3. Нажмите на кнопку Отмена чтобы удалить выбранный порт.
  4. Подтвердите удаление нажатием кн. Подтверждение.

Фаервол. Настройка этой опции зависит от того, имеется ли в сети прокси сервер для фильтрации IP пакетов. Если прямой доступ в Интернет ограничен, но прокси сервер поддерживает протоколы Socks-4 или Socks-5 пользователь должен указать здесь тип выбранного протокола. Далее, нужно выбрать следующий пункт меню Стрелкой вниз, указать адрес прокси сервера и его рабочий порт (обычно 1080). Если в системе используется Socks-5, то необходимо ввести дополнительную информацию: нужен ли прокси logon, имя пользователя и пароль доступа.

К сожалению через прокси сервер можно делать только исходящие звонки. Также важно напомнить, что и в этом случае как минимум один UDP порт должен быть открытым. Для приема входящих звонков должен быть открыт также и TCP порт.

Информационное меню

Это меню предоставляет пользователю доступ к справочной информации о программе и ее авторе. Кроме этого здесь находится подменю ввода регистрационного кода. Чтобы перейти в это меню нажмите кнопку Информация.

Для того, чтобы зарегистрироваться нужно:

  1. Выбрать пункт меню "Регистрация" и нажать на кн. Подтверждение.
  2. Ввести корректный регистрационный код.
  3. Подтвердить код нажатием кн. Подтверждение.
  4. Ввести имя, под которым Вы желаете зарегистрироваться.
  5. Снова нажать на кн. Подтверждение.

Tray интерфейс

Помимо главного окна в программе есть простой tray интерфейс. С его помощью можно:

  1. Показать или спрятать главное окно щелкнув на пиктограмме телефона левой кнопкой мыши.
  2. Вызывать всплывающее меню нажатием правой кнопки мыши.

Выплывающее меню также позволяет показать или спрятать окно телефона. Кроме того, оно дает возможность быстро выйти из программы.

Горячие кнопки

Для того ускорить работу с телефоном, кроме уже упомянутых горячих клавиш, в программу было добавлено несколько дополнительных комбинаций:

  • "Alt-Shift-P" показать окно телефона
  • "Alt-H" спрятать телефон
  • "Alt-X" завершить работу с приложением.
Благодарность
 

В заключение я хочу выразить благодарность моим друзьям и коллегам, помогавшим мне в работе над этой программой. Персональная благодаргость выражается:

  • Дмитрию Карпову - за полезные консультации по работе с Win32 GDI.
  • Алексею Толмачеву и Олегу Сигиде - за пре- и альфа тестирование.
  • Антону Викторову - за существенные замечания, касающиеся пользовательского интерфейса.
  • Варваре Митяшиной - за грамматическу "полировку" английской версии документа.
  • Андрею Лебедеву - за перевод документа в формат HTML.
  • Алексею Шинкину, Сергею Волвенко, Андрею Гуменюку, Максиму Фалько - за бета тестирование.