Шлюз Asterisk и Skype через SipToSis под Debian или Ubuntu

by fire_anton on 31.12.2012

и через под или

ПО:
OS Ubuntu 12.10 или Debian 6.0.6
Клиент Skype Ubuntu

Задача: привязать к Asterisk аккаунт Skype. Для приема звонков из популярного месенжера. И звонить абонентам Skype.
Для такой услуги существует расширение Asterisk производства , но насколько я знаю, выдача лицензий приостановлена, сейчас туннели продаются напрямую из сайта Skype по 5 евро за канал.
Кто любит шару, и не хочет платить там где можно не платить. Существует для решения подобных задач проект SipToSis позволяющий делать то же самое.

Для начала нам необходимо клиент программы Skype. Для Debian мы качаем версию Skype для Ununtu. С SipToSis работает путем взаимодействия с ним через Skype API. Так же необходимо не забывать, что для работы Skype необходима графическая среда. Для запуска его в консольном Linux, будем использовать Xvfb (X Virtual Frame Buffer) и для доступа с другой машины – .

Устанавливаем все необходимые приложения:

Для аудио:

sudo apt-get install -y alsa-utils alsa-base alsa-tools

Графический сервер:

sudo apt-get install -y  x11vnc 

Java приложения:

sudo apt-get install -y openjdk-6-jdk 

Графическая оболочка:

sudo apt-get install -y fluxbox

Устанавливаем пакет Skype, который взят с официально сайта и актуален на момент написания статьи:

dpkg -i skype-ubuntu-lucid_4.1.0.20-1_i386.deb

Возможно ругнется на неустановленные зависимости, лечится это:

sudo apt-get -f install

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

modprobe snd-dummy

Или можно подключить в /etc/modules для постоянно загрузки.

nano /etc/modules
в конце файла вписываем
snd-dummy

Данная команда поможет установить необходимые зависимости.

Кочаем SipToSis с сайта разработчика SipToSis Download
Распаковываем архив, делаем запускаемым файл SipToSis_linux

chmod +x /etc/siptosis/SipToSis_linux

Открываем siptosis.cfg, комментируем блок настроек, начинающийся с #Sample AUTO config with NO registration и убираем комментарии с блока #Sample Asterisk registration example, в нем правим:

host_port=5070
contact_url=Skype_to_Sip@127.0.0.1:5060
from_url=»Skype_to_Sip» 
username=Skype_to_Sip
realm=asterisk
passwd=************
expires=300
do_register=yes
minregrenewtime=120
regfailretrytime=15

Редактируем файл SkypeToSipAuth.props

nano SkypeToSipAuth.props 

Данный файл определяет куда перенаправлять все входящие звонки Skype SIP-пользователю «user2″.
Обязательно, необходимо создать в extensions.conf контекст «Skype», в котором разрешить звонки на этот extension.

*,sip:user2@127.0.0.1:5060

Запускаем маленький скрипт, ставим паузы по 3 секунды, что бы приложения запускались последовательно.

#!/bin/sh
# setting DISPLAY
export DISPLAY=:1
Xvfb ${DISPLAY} -screen 0 800x600x16 &
sleep 3
fluxbox &
sleep 3
echo login1 password1 | skype --pipelogin &
sleep 3
/home/login1/Skype/SipToSis/SipToSis_linux &
sleep 3
x11vnc -display ${DISPLAY} -bg -nopw -listen XXX.XXX.XXX.XXX -xkb

Если вы все сделали правильно, SipToSis запустится и подключиться к Skype. Skype выдаст вопрос – разрешить ли подключение.
Подключаемся с другой машины (в моем случае, с Windows 7 через VNC Viewer), подтверждаем лицензию, настраиваем, отключаем все лишнее.
Я поднял данный клиент на древней машине Seleron 400, 128Мб оперативной памяти, 1Гигобайт винчестер.
Так, что старое железо еще может пригодится.

К сожалению у меня так и не получилось добиться стабильной работы с несколькими аккаунтами. Если у Вас получилось, прошу поделится опытом.

Ссылка Шлюз Asterisk и Skype через SipToSis под Debian или Ubuntu

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA image
*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>