30 июн. 2009 г.

Сотовый телефон как FXO gateway

Вот тут написаны интересные вещи: как настроить астериск так, чтобы он мог звонить "наружу" через сотовый телефон, подключенный к нему по блютуфу.
Эта технология открывает неограниченные возможности в deployment решений на базе астериска - можно поднять телефонный сервер с выходом на межгород даже там, где нет PSTN - лишь бы сотовый мог поймать какую-нибудь сеть.

Для создания второго FXO порта придется использовать еще один USB Bluetooth адаптер, поскольку телефоны не могут вешаться все на один блютуф.

Таким образом можно и дома поднять телефонный сервер с IVR, присоединив свой собственный сотовый к астериску. Причем совершенно бесплатно! Уже хочу :)

29 июн. 2009 г.

Смешались в кучу кони, люди

Показательная статья:

И еще об одной тенденции. в последнее время много говорят о программных IP-УАТС с открытым исходным кодом (open source). Самая известная из них – система Asterisk, но есть и масса других: ASTLinux, FreePBX, Trixbox, Freeswitch, Call Weaver… Однако надо четко понимать, что к бесплатному софту придется покупать еще платы, например для подключения телефонов и выхода в ТфОП. Собрать такой конструктор можно и самому – было бы время... И все-таки, на мой взгляд, системы типа Asterisk еще сыроваты для применения в качестве серьезных корпоративных решений. Им недостает проверенных средств отказоустойчивости и управляемости, что очень важно для солидных заказчиков.


Пока пишутся такие статьи - будет хлеб у нас :) Слова выделены мной.
(В перечислении с типом "программные IP-УАТС с открытым исходным кодом" присутствуют: операционная система и две веб-морды, которые не являются IP-УАТС. Показателен так же пассаж про "надо покупать платы" и "конструктор").

25 июн. 2009 г.

Сборка астериска

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

Понравилась текстовая картинка, которую выдает ./configure в процессе своей работы:
config.status: creating include/asterisk/autoconfig.h

.$$$$$$$$$$$$$$$=..
.$7$7.. .7$$7:.
.$$:. ,$7.7
.$7. 7$$$$ .$$77
..$$. $$$$$ .$$$7
..7$ .?. $$$$$ .?. 7$$$.
$.$. .$$$7. $$$$7 .7$$$. .$$$.
.777. .$$$$$$77$$$77$$$$$7. $$$,
$$$~ .7$$$$$$$$$$$$$7. .$$$.
.$$7 .7$$$$$$$7: ?$$$.
$$$ ?7$$$$$$$$$$I .$$$7
$$$ .7$$$$$$$$$$$$$$$$ :$$$.
$$$ $$$$$$7$$$$$$$$$$$$ .$$$.
$$$ $$$ 7$$$7 .$$$ .$$$.
$$$$ $$$$7 .$$$.
7$$$7 7$$$$ 7$$$
$$$$$ $$$
$$$$7. $$ (TM)
$$$$$$$. .7$$$$$$ $$
$$$$$$$$$$$$7$$$$$$$$$.$$$$$$
$$$$$$$$$$$$$$$$.

configure: Package configured for:
configure: OS type : linux-gnu
configure: Host CPU : i686

Здорово, правда? :)

Скомпилял, запустил, астериск при этом сразу отконнектился от консоли и стал работать в бэкграунде. Подключил к нему консоль (asterisk -r) и появилось еще одно забавное сообщение, игра слов:

Connected to Asterisk 1.6.2.0-beta3 currently running on alpha (pid = 25741)

(beta запущена на alpha, alpha это хостнейм моего сервера).

23 июн. 2009 г.

Настройка freeSWITCH

Попалась отличная статья по настройке freeSWITCH. Попробую его поставить.

Начал с того, что выкачал из репозитория последнюю версию сорцов. Их оказалось 300 мегов!

danx@alpha:~/freeswitch$ svn checkout http://svn.freeswitch.org/svn/freeswitch/trunk freeswitch
...
Checked out revision 13912.

danx@alpha:~/freeswitch$ du -ms .
300

svn, похоже, выкачивает сорцы в запакованном виде при выполнении команды checkout.

Собираем:

./bootstrap.sh (7,5 минут работы)
./configure (13,5 минут)
(включил русский язык в modules.conf - нужно, чтобы оно говорило по-русски; сконфигурить это потом надо будет так)
make all install sounds-install moh-install (2 часа сборки и все готово!)

В результате папка с прогой заняла 486 мегов после сборки, сам freeSWITCH установился в /usr/local/freeswitch/ и занял там 65 мегов.

Готово!

FreeSWITCH Version 1.0.trunk (13912) Started.
Crash Protection [Disabled]
Max Sessions[1000]
Session Rate[30]
SQL [Enabled]

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

22 июн. 2009 г.

Asterisk или Yate?

Стою перед выбором - какой из IP PBX выбрать для проекта.

Критерии выбора такие:
* Достаточное количество документации и community по продукту
* Наличие большого числа телефонных фич, от sipping 19 до IVR и CDR
* Гибкость конфигурации
* Возможность написания собственных конфигураторов
* Стабильная работа, в идеале "пять девяток".

16 июн. 2009 г.

Кастомеры мигрируют с Asterisk обратно на Cisco

Вот тут пишут, что один крупный университет в США перешел на Астериск 3 года назад, с благой целью экономить на ежегодных затратах на лицензии и поддержку своей телефонной сети. Однако через 3 года ситуация поменялась и университет опять возвращается к Cisco. При этом их уже не смущают затраты на поддержку и на лицензии.
Все дело в том, что из универа уходят перцы, которые хорошо знали астериск, и которые, на самом деле, переписывали даже его и затачивали под университетские требования, поддерживали свой кастомный бранч в астериске. Они теперь уходят и смотреть за звездочкой теперь будет некому. Поэтому универ переходит на Cisco, поскульку специалистов CCVP (Cisco Certified Voice Proffesional) можно найти на улице, а вот перцев со знаниями астериска наврядли.
Кстати, а уходят специалисты по астериску из того универа потому, что они крутые фичи написали и закоммитили их в основной бранч астериска, в результате чего Digium предложил им работу :)

Поучительная история... Кастомерам все же надо предлагать простые в поддержке решения.

Еще факт: около 90% всех предприятий используют VoIP для своих внутренних разговоров.

11 июн. 2009 г.

Meet the gurus

Информация для изучения: куча видеоматериалов от основателей IP PBX.

Music on hold и Yate

В локалке на данный момент разведены сип клиенты, среди которых мне понравился 3CX VOIP Phone для Windows (прямая ссылка тут).

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

Технологии, тем временем, не дремлят. Поставил флафон под эйр (flaphone) - написанный на флеше софтфон, который можно также встраивать в веб-страницы. Пока не разобрался, почему он не хочет регистряться на моей сип проксе внутри локальной сети (192.168.0.100). То, что он заточен под коммерческих сип провайдеров типа sipnet, это понятно. Может быть его и не предполагали использовать в внутрикорпоративных сетях.

Сейчас разбираюсь с moh. В конфиге в качестве примеров приведены команды cat для сбрасывания музыки на stdout - интересно где он такую команду найдет под винду, скорее всего надо использовать type :)

Проблема в том, что сервер отвечает 503-ей ошибкой... Скорее всего он не может найти mpg123, хотя я эту программу скачал и она есть в путях...

moh.conf:
default=while true; do mpg123 -q -m -r 8000 -s C:\sounds\*.mp3; done

regexroute.conf:
^777$=moh/default

Лог:
<sip/1:ALL> YateSIPConnection::YateSIPConnection(011C4440,011A8E88) [011C5168]
<INFO> Could not classify call from 'sergey', wasted 0 usec
<CdrBuilder:INFO> Got message 'call.route' for untracked id 'sip/1'
<INFO> Routing call to '777' in context 'default' via 'moh/default' in 0 usec
<sip/1:MILD> Call rejected error='noconn' reason='Could not connect to target' [011C5168]
<sip/1:ALL> YateSIPConnection::~YateSIPConnection() [011C5168]
<sip/1:ALL> YateSIPConnection::hangup() state=0 trans=011A8E88 error='noconn' code=503 reason='Could not connect to target' [011C5168]
<sip:INFO> Sending code 503 011C4A48 to 192.168.0.100:3180


UPD: Ура, работает Music On Hold.... Но только в debian Linux - свежескомпиленный из исходников Йейт смог у меня проиграть музыку на холде.... Качество фиговое конечно, т.к. линукс стоит в виртуальной машине на том же относительно древнем ноутбуке, что и клиент.
Под Виндой не работает moh. Жалко. Придется дебажить как-нибудь.