Июл 25 2009

Установка Asterisk во FreeBSD

Asterisk — програмная телефонная станция ориентированная как на VoIP(IP телефонию), так и на маршрутизацию традиционной телефонии с помощью специальных карт подключаемой к серверу. Собственно Digium изначально начинал с разработки самих карт под телефонные потоки и обычную аналоговую телефонию, а вслед за картами начал разрабатывать Asterisk, что бы было с чем эти карты обслуживать. В портах FreeBSD присутствуют все версии Asterisk. 1.2 — первая версия которую можно было начинать использовать для работы. 1.4 — эта версия только недавно перестала активно развиваться и является на сегодняшний день стабильно версией, ну насколько слово стабильная может относится к астериск. 1.6 — эта версия сейчас активно развивается. Итак, на сегодняшний день, я работаю с Asterisk 1.4.XX, его и будем устанавливать.

cd /usr/ports/net/asterisk/
make install clean


вначале, перед сборкой, появится диалог настройки:

┌────────────────────────────────────────────────────────────────────┐
│                 Options for asterisk 1.4.24.1_3                    │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │       [ ] OGGVORBIS     Enable Ogg Vorbis support              │ │
│ │       [ ] ODBC          Enable ODBC support                    │ │
│ │       [ ] POSTGRES      Enable PostgreSQL support              │ │
│ │       [ ] RADIUS        Enable RADIUS accounting support       │ │
│ │       [ ] SNMP          Enable SNMP support                    │ │
│ │       [X] H323          Enable H.323 support                   │ │
│ │       [ ] FREETDS       Enable FreeTDS support                 │ │
│ │       [ ] JABBER        Enable Jabber and Gtalk support        │ │
│ │       [ ] SQLITE        Enable SQLITE support                  │ │
│ │       [ ] CODEC_PATCH   Apply codec negotiation patch          │ │
│ │       [X] ILBC          Enable iLBC codec                      │ │
│ │       [X] MISC_PATCHES  Apply additional patches               │ │
│ │       [X] ZAPTEL        Enable Zaptel support                  │ │
│ │                                                                │ │
│ │                                                                │ │                                   
├─└────────────────────────────────────────────────────────────────┘─┤
│                       [  OK  ]       Cancel                        │
└────────────────────────────────────────────────────────────────────┘

По настройкам:
H323 — поддержка протокола передачи голоса по негарантированным каналам H.323. Протокол применяется преимущественно для взаимодействия между операторами связи. Так же, вполне возможно попадется шлюз с поддержкой H.323.
Помимо опционального H.323, Asterisk так же поддерживает SIP и собственный протокол IAX.
SIP(Session Initialise Protocol) — это в общем то клиентский протокол, и Asterisk умеет выступать тут как клиентом, подключаясь к SIP провайдеру, так и сервером, давая возможность подключится к нему пользователям.
IAX (Inter Asterisk Exchange) — этот протокол разрабатывался для построения взаимодействия между астерисками. Сейчас часто применяется провайдерами VoIP для предоставления услуг.

iLBC — открытый кодек, обладающий хорошими характеристиками по сжатию голоса.

MISC_PATCHES — патчи предназначенные для улучшения работы Астериск под FreeBSD.

ZAPTEL — драйвер поддержка карт Digium. Под FreeBSD с поддержкой карт дело обстоит плачевно. Но если вы планируете использовать конференции или строить транки для взаимодействия с другими астерисками — поддержка zaptel нужна.

На этом с основными параметрами сборки все. Теперь остается дождаться когда астериск соберется.
Разрешим запуск asterisk:

echo 'asterisk_enable="YES"' >> /etc/rc.conf

и запустим астериск.

/usr/local/etc/rc.d/asterisk start

При установке у вас будут появятся демонстрационные номера 500 и 600. При звонке на 500, ваш звонок пойдет через интернет по протоколу IAX на digium, там вас поздравят с удачной установкой астериск.
600 — демонстрационный эхотест.

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

ekiga

Здесь на скриншоте видно 500 — номер на который мы звоним и 192.168.1.1 — сервер на котором стоит Asterisk.
Астериск — полноценная телефонная станция и в дальнейших статьях мы научимся с ней работать и настраивать ее.


Украинская Баннерная Сеть