Библиотека сайта rus-linux.net
Twinkle - моя любимая SIP-программа
Оригинал: Twinkle: My favorite SIP program
Автор: Andrew Min
Дата: 11 марта 2008
Перевод: Александр Тарасов aka oioki
Дата перевода: 2 апреля 2008
Долгое время я искал хорошую SIP-программу. Среди найденных были Linphone, OpenWengo и Gizmo, но все они не смогли сработаться с моим USB-микрофоном Logitech AK5370. В конце концов, перепробовав с полдюжины программ, я сдался. Но тут как гром среди ясного неба появилась Twinkle - программа IP-телефонии на основе библиотеки Qt.
Что такое Twinkle и где ее взять?
Как уже было сказано выше, Twinkle - это SIP-программа. SIP - это протокол для поддержки IP-телефонии. Говоря простым языком, он позволяет пользователям звонить друг другу со своих компьютеров, и вести разговор через микрофон. SIP - это открытый протокол; поэтому, в отличие от закрытого протокола (к примеру, Skype), вы можете пользоваться каким угодно SIP-клиентом.
Twinkle - достаточно популярная программа, поэтому ее можно найти в репозиториях основных дистрибутивов. Пользователи Debian и Ubuntu могут установить пакет twinkle
из своих репозиториев, а у пользователей DVD-версии openSuSE Twinkle уже установлен. Еще можно скомпилировать Twinkle из исходников, для этого потребуются заголовочные файлы Qt и соответствующие библиотеки (не используйте Qt 4.4, нужна версия 3.3.0 или более ранняя). Подробнее об этом методе можно узнать
на домашней страничке Twinkle.
Установка Twinkle
Первое дело, которое нужно сделать - это получить аккаунт SIP, нечто похожее на адрес электронной почты. В этой статье я получу аккаунт на сайте
sipphone.com, но можно воспользоваться и другим SIP-провайдером. Сервис SIPphone предлагает несколько приятных функций, о которых я расскажу ниже. Сначала создайте аккаунт на
соответствующей странице. Затем запустите Twinkle. При первом запуске программы откроется мастер. Если же это не в первый раз, выберите пункт меню File -> Change User, и нажмите Wizard. В любом случае, в открывшемся окне введите имя своего профиля (к примеру, SIPphone) и нажмите Next. На следующем шаге выберите SIPphone! в качестве провайдера. Введите свое имя пользователя (к примеру, andrewmin
) и пароль, который вы вводили на странице регистрации, после чего нажмите OK. На последнем шаге проверьте, что отмечен именно ваш профиль, после чего должно появиться соединение.
Рисунок 1: Настройка SIPphone
Пробуем Twinkle
Итак, установили Twinkle. Пришло время кому-нибудь позвонить. Вместо того, чтобы отвлекать случайного человека, можно просто позвонить в эхо-службу. Чтобы сделать звонок, наберите sip:username@domain.com
в поле Call и нажмите Dial (хорошие эхо-сервисы - sip:echo@proxy01.sipphone.com
от SIPphone и sip:enum-echo-test@sip.nemox.net
). Все, что вы будете говорить в микрофон, будет незамедлительно перенаправлено обратно вам. Если этого нет, проверьте свои аудионастройки в меню Edit -> System Settings -> Audio (попробуйте сменить звуковую систему с OSS на ALSA).
Рисунок 2: Звонок эхо-боту на nemox.net
Тонкости Twinkle
Одна из наиболее полезных функций для пользователей KDE является интеграция с KAddressBook (это часть программы Kontact, отвечающая сугубо за информацию о людях, т.е. контактах). Все, что нужно сделать - это добавить SIP-адрес в поле Телефон (к примеру, sip:andrewmin@proxy01.sipphone.com
). Twinkle автоматически запустит KAddressBook при нажатии на кнопке адресной книги (справа от поля Call).
Но что если вы не пользуетесь KAddressBook (или совсем не пользуетесь KDE)? В любом случае, в Twinkle есть достаточно удобная адресная книга. Для ее открытия нажмите соответствующую кнопку справа от поля Call и выберите вкладку Local address book. Затем нажмите кнопку Add для добавления человека в свой список. Позвонить ему можно двойным щелчком мышки - имя человека поместится в поле Call, и останется лишь нажать кнопку Dial.
Рисунок 3: Мой контакт-лист (очень короткий)
Иногда при разговоре с роботом на другом конце линии вас попросят набрать что-либо на цифровой клавиатуре. Однако, как вы могли заметить, у Twinkle ее нет. К счастью, это легко исправить. Просто щелкните мышью в текстовом поле Display и набирайте требуемые цифры. Каждая цифра в отдельности будет отослана адресату.
Еще одной удобной функцией является возможность запуска скриптов по определенным событиям. К примеру, при входящем звонке можно выводить диалоговое окно KDE с какой-нибудь надписью. Это делается просто: создайте bash-скрипт наподобие
kdialog --title "Входящий звонок" --msgbox "Парень, тебя к телефону!"
сохраните его с расширением (например, twinklecall.sh
) в каком-нибудь удобном месте (например, ~/twinklescripts/
) и дайте право выполнения (chmod +x twinklecall.sh
). Затем откройте окно скриптов в Twinkle (Edit -> User Profile -> Scripts) и введите полный путь с именем файла скрипта (к примеру, ~/twinklescripts/twinklecall.sh
) в соответствующем поле (например, Incoming call - Входящий звонок). Теперь при каждом событии будет запускаться ваш скрипт.
Рисунок 4: Для GTK-диалога использован скрипт Zenity
(http://fosswire.com/2007/12/23/gtk-dialog-boxes-from-shell-scripts/)
Иногда имеет смысл, чтобы линия была зашифрована. Для этих целей Twinkle предоставляет шифрование ZRTP/SRTP (David Sugar написал на эту тему хорошую статью). Для включения шифрования откройте окно Security (Edit -> User Profile -> Security) и отметьте Enable ZRTP/SRTP encryption. Но учтите, что если клиент на той стороне не поддерживает шифрование, то канал так и останется незашифрованным.
Тонкости SIPphone
Twinkle не достает одной важной функции, а именно голосовой почты. К счастью, если вы пользуетесь сервисом SIPphone, то это недоразумение легко устраняется. Просто позвоните на sip:record@proxy01.sipphone.com
и следуйте инструкциям на экране.
Еще одной приятной функцией является создание голосовых конференций через SIPphone (в самой Twinkle пока нет такой возможности). За подробностями обращайтесь
на эту страницу либо позвоните на sip:CONFERENCE@proxy01.sipphone.com
.
Заключение
Twinkle - чрезвычайно мощный и полезный SIP-клиент. На данный момент я пользуюсь им и он меня устраивает, поэтому я советую вам именно его.