IP телефония в Emacs

Дата публикации:14.05.2009
Дата обновления:14.11.2012
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Введение

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

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

Однако, наряду с этим, существует множество провайдеров услуг связи по протоколу SIP, широко используемому в IP-телефонии. Это открытый протокол и, соответственно, он поддерживается целым рядом различных клиентских приложений.

Для конкретизации дальнейшего изложения мы остановим свой выбор на службе Sipnet и покажем как можно воспользоваться ее возможностями в привычной и хорошо озвученной среде Emacs.

Регистрация учётной записи

Ознакомиться с условиями регистрации, как и со спектром предлагаемых услуг, можно на странице Sipnet. Чтобы открыть новую учетную запись, найдите там пункт Регистрация и аккуратно заполните предложенную форму. Если ваша регистрация прошла успешно, т.е., если вы всё заполнили правильно и выбрали имя и пароль, которых ещё нет в базе провайдера, для вас будет открыт кабинет, в который можно зайти по адресу http://customer.sipnet.ru.

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

Установка и настройка клиента

В качестве клиентского приложения будем использовать программу Linphone, причем тот ее вариант, который допускает управление посредством командной строки, что позволит нам в дальнейшем организовать естественный интерфейс в среде Emacs. Для этого следует установить пакет linphone-el из моего репозитория, на заглавной странице которого есть пошаговая инструкция по его подключению. Итак, подключив репозиторий, достаточно выдать команду

sudo aptitude install linphone-el

и все необходимые компоненты будут установлены.

Теперь нужно настроить программу на нашу учетную запись, для чего в подчиненной оболочке Emacs или в терминале наберем команду

linphonec

Вывод этой команды может быть следующим:

Ready
Warning: video is disabled in linphonec. Run with -V option to enable it.
linphonec>

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

proxy add

Получив ответ

Adding new proxy setup. Hit ^D to abort.
Enter proxy sip address:

вводим запрашиваемый sip-адрес:

sip:sipnet.ru

Получаем следующий запрос:

Your identity for this proxy:

Вот здесь мы вспоминаем запомненное ранее семизначное число, наш SIP ID. Для определённости пусть это будет число 2233445. Тогда на полученный запрос мы должны ответить

sip:2233445@sipnet.ru

Далее отвечаем yes на вопрос, хотим ли мы зарегистрироваться на этом прокси-сервере

Do you want to register on this proxy (yes/no): yes

На следующие два запроса просто нажимаем ENTER, если вы согласны с предложениями по умолчанию.

Specify register expiration time in seconds (default is 600):
Expiration: 600 seconds
Specify route if needed:
No route specified.
--------------------------------------------
sip address: sip:sipnet.ru
route:
identity: sip:2233445@sipnet.ru
register: yes
expires: 600
--------------------------------------------
Accept the above proxy configuration (yes/no) ?:

Если вы считаете, что все ответы вас удовлетворяют, то на последний запрос ответьте yes. В ответ вы получите следующее сообщение:

Proxy added.
linphonec>

Если в системе используется firewall, то следует позаботиться о том, чтобы порты 5060, 7078 и 9078 были открыты или настроить соединение через так называемый stun-сервер, выдав команду

stun

На появившийся запрос

Stun server:

надо ответить

stun.sipnet.ru:3478

В ответ вы можете получить сообщение

(disabled- use 'firewall stun' to enable)
linphonec>

На этот запрос нужно ответить

firewall stun

Если никакой firewall нашу жизнь не осложняет, то на приглашение

linphonec>

следует ответить

firewall none

и в ответ получите строку

No firewall

На этом процесс настройки можно считать законченным. Завершим программу командой

quit

и удостоверимся в том, что все прошло успешно. Для этого снова вызовем ее командой

linphonec

В дополнение к уже знакомому приглашению мы должны увидеть сообщение Registration on sip:sipnet.ru successful.

Свои настройки Linphone сохраняет в конфигурационном файле ~/.linphonerc. Этот файл создается автоматически в результате только что описанного процесса, но потом, если необходимо, его можно и подправить руками.

Emacs-интерфейс и работа с программой

После всех описанных действий достаточно перезагрузить Emacs и программа готова к использованию. Обратиться к ней можно через главное меню или командой M-x linphone. В результате открывается главное окно, содержащее кнопки Call, Standby, Quit и Customize, которые можно выбирать при помощи табуляции, или просто наводя на них курсор. Названия кнопок говорят сами за себя и вряд ли нуждаются в пространных комментариях. Если нажать Standby, окно пропадает, но программа остаётся в ждущем режиме и способна принимать входящие звонки. При поступлении входящего вызова звучит звонок и открывается окошко с кнопками, позволяющими либо принять, либо отклонить вызов. Во время разговора в окне программы имеются кнопки для отключения микрофона и завершения разговора.

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

Метки

Emacspeak, Linux/Unix, Самоозвучивающиеся рабочие среды


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024