Статьи

FreeSWITCH на Raspberry Pi.

У меня был Raspberry Pi целую вечность .. В конце 2012 года я получил одну бесплатную любезность Paypal на их благотворительном хаке , и наша команда (см. Фото, я там!) Продолжила использовать его для создания (World’s Первый?) Raspberry Pi на основе Wifi Hotspot

Я хотел сделать что-то потенциально полезное, определенно интересное, и, возможно, какое-то время награждать этим.  

Я также недавно приобрел Arduino с Ethernet Shield, так что я тоже думал о другой хакерской платформе.  

Помимо этого, я недавно переехала из Лондона в подвальную квартиру у моих родителей.  

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

Единственная незначительная проблема заключалась в том, что до недавнего времени он был эффективно изолирован от остальной части дома. Был телефонный кабель BT с двумя парами, первоначально для питания простой 9-вольтовой системы внутренней связи, которая в то же время обеспечивала электрическое соединение для внутренней связи, не подойдет для FastEthernet, не говоря уже о Gigabit.

Поэтому на прошлых выходных мы подключили кабель CAT5e и использовали существующий телефонный кабель для повторной намотки нового кабеля CAT5 … Итак, теперь у меня есть Ethernet.

У меня есть старый телефон CiscoLinksys SPA942, который у меня есть по крайней мере 5 лет, и сейчас … И хотя все это очень хорошо для набора номера, это немного неудобно для моих людей, по крайней мере, пока я не получу местный номер на мой SIP-аккаунт, в противном случае это национальный тариф для набора номера 0203 ..

Поэтому я подумал про себя: «Ну, это телефон с 4 линиями…». Первоначально, я собирался получить подержанный ретро-тримфон или что-то подобное, вырвать кишки и использовать его для размещения Raspberry Pi, подключить USB-звуковую карту и USB Wifi Dongle, а затем использовать его в качестве SIP-трубки, звонить в мою службу AQL VoIP.

Но тогда у меня была идея получше.

Почему бы не скомпилировать FreeSWITCH на Raspberry Pi, а затем использовать свой VoIP-телефон здесь, чтобы зарегистрироваться на нем, и использовать VoIP Softphone на других устройствах моих родителей.  

Как выясняется, компиляция FreeSWITCH занимает всего около 6 часов (я удалил modules.conf , отключив IVR, mod_flite и некоторые другие вещи, которые, как мне показалось, не нужны / не нужны).

Однажды я скомпилировал ядро ​​и Gnome 3.0 на старом встроенном ПК с частотой 300 МГц, и это заняло 5 дней. Я очень доволен скоростью компиляции Raspberry Pi.

Я полагаю, если бы я спешил, я мог бы это скомпилировать. 

Я не новичок в VoIP, но в прошлом, когда я настраивал УАТС, я всегда использовал Asterisk, и хотя в Raspbian * есть * двоичный пакет Asterisk, я не * на самом деле * люблю Asterisk и их формат конфигурации Dialplan заставляет мои глаза кровоточить. 

Мой хороший друг Ричард ( @pobk ) большой поклонник FreeSWITCH, поэтому я подумал, что пора посмотреть, о чем идет речь. Если когда-либо есть хороший тест для приложения, оно работает в сильно ограниченной системе, как с точки зрения мощности процессора, дискового пространства и памяти. 

Моя единственная небольшая жалоба — количество библиотек, необходимых для сборки / запуска FreeSWITCH. 

Вот что я побежал строить:

sudo apt-get install build-essential
sudo apt-get install git-core build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev pkg-config unixodbc unixodbc-dev zlib1g-dev
sudo apt-get install libcurl4-openssl-dev libexpat1-dev libssl-dev screen
screen -S compile
#inside a Screen
cd /usr/local/src
git clone git://git.freeswitch.org/freeswitch.git
cd freeswitch
./bootstrap.sh
<edit modules.conf>
./configure
make && make install && make all install cd-sounds-install cd-moh-install

Общий установленный размер составляет 550 МБ.  Я уверен, что я мог бы получить это, так как 500 МБ из этого — каталог звуки /

Я думаю, что если бы у меня была вторая попытка, я бы беспокоился только о частоте дискретизации 8 кГц. (замена cd-sounds-install на звуки-установка)

Я также пробежался по этому http://wiki.freeswitch.org/wiki/Freeswitch_init#Debian.2FUbuntu

Затем сконфигурировал скрипт init.d, основанный на скрипте на этой странице. Не забудьте изменить переменную FS_GROUP на «daemon»

Краткий (очень) тест с sipp, и примерно через минуту он обрабатывает 700 соединений, а средняя нагрузка составляет около 190;).

Он по-прежнему принимает звонки, и задержка голоса составляет около 10 секунд.

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

Я настроил 5 устройств, все с использованием стандартных, предварительно настроенных расширений 1000-1004, а затем настроил группу звонков.

Я использую « Телефон»  на своем Mac, http://www.zoiper.com/ на своем Android (и) и «Arkphone» на iPad моей мамы.