IAX

Asterisk LogoМы уже имеем настроенный сервер Asterisk через который Oktell осуществляет звонки на мобильные. Вся статистика храниться в /var/log/asterisk/cdr-csv/Master.csv Не очень удобно в плане работы… Вот и хочу перенести все в MySQL, а потом смогу эту информацию использовать в сценариях Oktell. Как и в предыдущей статье все будим собирать с исходников на Ubuntu Linux.
Приступим!

Много я уже написал про Oktell и Asterisk, а вот сегодня провел эксперимент с Yate (Yet Another Telephony Engine). Yate — это программная IP-PBX, может интегрироваться с другими приложениями, например с WEB сервером. YATE работает под управлением операционных систем Linux, BSD и Windows, поддерживает SIP, H.323, IAX и Jingle. Написан на C++ и позволяет использовать внешние модули и расширения.

Документации по этой IP-PBX не очень много… Опишу процесс установки и запуска на Debian Linux.
Для начала установка зависимостей:

aptitude install libspeex-dev libgsm1-dev libopencore-amrnb-dev autoconf sox

Получаем последнюю версию кода:

svn checkout http://voip.null.ro/svn/yate/trunk yate

Процесс сборки и установки:

./autogen.sh
./configure --prefix=/usr/local
make install all

Asterisk LogoРасскажу о своем опыте создания SIP-GSM шлюза на базе Asterisk и подключение его к Oktell. У нас в офисе кроме сервера с установленным Oktell есть еще сервер для раздачи Интернета, на котором установлен Debian «Squeeze» Linux (Ubuntu тоже подойдет). Вот на нем и будем экспериментировать! 😉

1. Установка Asterisk
Мне нужна последняя стабильная версия Asterisk, та что имеется в репах не подходит.

mkdir ~/tmp && cd ~/tmp
aptitude install g++ libncurses-dev libxml2-dev subversion usb-modeswitch-data
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2-current.tar.gz
tar xzvf asterisk-1.6.2-current.tar.gz
cd asterisk-1.6.2-current
./configure
make install
make config
make samples

Если до этого момента Вам еще не стало страшно, тогда продолжаем!

Asterisk LogoПродолжаем наши эксперименты с Asterisk — сегодня расскажу немного о настройке маршрутизации исходящих звонком. После чего, попробуем объединить наш Asterisk с Oktell 🙂
Для чего нужна маршрутизация? Если мы захотим ограничить пользователей — кому можно выходить в город, а кому нет… И не только! В предыдущей статье мы разрешили пользователям осуществлять звонки друг-дружке…

Теперь о выходе через провайдера:

[dialout]
exten => _.,1,NoOp("Out Dial")
exten => _.,2,Dial(SIP/provider)
exten => _.,3,Hangup()

При поступлении звонка попавшего под наш маршрут первым делом выполнится команда NoOp под цифрой 1, затем маршрутизация звонка с помощью Dial и 3-м вызовет Hangup. Если мы хотим через код 81 на одного провайдера, а через 82 на другого, тогда это будет так:

Asterisk LogoКак мы уже обсуждали раньше, Asterisk — это замечательная свободная IP-АТС. Продолжая свой эксперимент, я перехожу к созданию пользователей. Пока у нас нету внешних каналов, но попробуй настроить возможность осуществлять звонки внутри офиса. На клиенте я буду использовать X-Lite или можете попробовать ZoIPer.

Для создания SIP пользователей, открываем файл sip.conf. Первое, что нужно сделать — это запретить по SIP принимать анонимные звонки! Нужно откомментировать одну строку, она будет выглядеть так:

allowguest=no

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

Asterisk IP-PBX — свободное решение компьютерной телефонии от компании Asterisk LogoDigium. В основном, я занимаюсь Oktell — это очень мощный коммерческий продукт. Но, если Вам нужно просто позвонить, если Вы не боитесь рыться в документации, если Вы на «ты» с Unix системами,- тогда будем создавать офисный IP-PBX своими руками! Я уже не раз устанавливал trixbox — быстрое решение… Но, в этот раз я решил пойти длинным путем — настройка всего с исходников 🙂 Для опытов был выбран FreeBSD 8-STABLE сервер. Всю историю событий буду описывать в этом блоге. И так, приступим!

Dynamix IP 510
Dynamix IP 510

Приобрел я IP телефон Dynamix — недорогой, но качественный. Телефон поддерживает стандарты SIP и IAX2, что гарантирует надежную работу с Oktell и Asterisk. Конечно, я захотел его подключить к Oktell серверу. Расскажу, как я это сделал (что бы он еще и работал с Terrasoft CRM).

Для начала подключаем сетевой кабель в WAN-порт телефона. Открываем в браузере страницу с настройками телефона (IP и пароль по-умолчанию найдете на страницах руководства). Прописываем в WAN Config свои настройки сети (у меня это DHCP). Для параллельного подключения компьютера, на закладке LAN Config активируем Bridge Mode.

Переходим в SIP Config и прописываем настройки для подключения к Oktell серверу. Здесь не должно у Вас возникнуть проблем. Сохраняем и перезагружаем телефон. Схема подключения такова: сетевой кабель в WAN, а компьютер в LAN.