Чтение онлайн

на главную - закладки

Жанры

Asterisk™: будущее телефонии Второе издание
Шрифт:

В данной главе мы попытались продемонстрировать лучшие практики, которые помогут обеспечить системе Asterisk надежную, стабильную платформу. Asterisk готова работать в намного более неблагоприятных условиях, но стабильность офисной АТС напрямую зависит от количества усилий и внимания, которые были потрачены на решение рассмотренных здесь вопросов при ее проектировании. Решение должно приниматься исходя из того, насколько ответственной будет создаваемая система Asterisk.

Глава 3. Установка Asterisk

Я жажду решать большие и выдающиеся задачи, но представлять скромные задачи так, как будто они большие и выдающиеся, является обязанностью моего шефа. Мир продвигается вперед не только мощными рывками его героев, но и скромными усилиями всех честных тружеников.

– Хелен Келлер

В предыдущей главе мы обсудили подготовку системы к установке Asterisk. Пора браться за дело!

Asterisk можно устанавливать на многих дистрибутивах Linux [45] и различных архитектурах ПК, но в данной книге было решено сосредоточиться на одном продукте, чтобы избежать путаницы

и неясностей. Мы сделали рекомендации максимально универсальными, но все равно можно заметить тяготение к структуре папок и системе утилит CentOS. CentOS (вероятно, самый популярный дистрибутив, используемый с Asterisk) был выбран потому, что его набор команд, структура папок и пр. хорошо знакомы большему числу читателей (мы обнаружили, что многие администраторы Linux знают CentOS, даже если предпочитают другой дистрибутив). Это не означает, что CentOS является единственным или даже лучшим выбором. В рассылках часто задают вопрос: «Какой дистрибутив Linux лучше всего использовать с Asterisk?» Все многообразие ответов обычно сводится к следующему: «Тот, который вам больше нравится» [46] .

45

А также и некоторых операционных систем не-Linux, таких как Solaris, *BSD и Mac OS X. Но следует отметить, что, хотя кому-то удавалось успешX. Но следует отметить, что, хотя кому-то удавалось успеш

46

но запустить Asterisk на этих альтернативных платформах, Asterisk предназначена и продолжает активно разрабатываться для Linux.

Какие нужны пакеты

Большинство конфигураций Asterisk включают три основных пакета: основная программа Asterisk (asterisk), драйверы телефонии (zaptel) и PRI-библиотеки (libpri). Если планируется исключительно VoIP-сеть, единственным обязательным пакетом является asterisk, но мы рекомендуем устанавливать все три пакета; какие модули активировать - можно выбрать позже. Драйверы zaptel необходимы, если используется аналоговое или цифровое оборудование или если источником временных интервалов служит драйвер ztdummy (обсуждается в данной главе позже). Библиотека libpri обязательна, только если используются PRI- интерфейсы ISDN. Можно не загружать эту библиотеку в оперативную память и сохранить небольшой объем свободного места, но мы рекомендуем установить ее вместе с пакетом zaptel для полноты. В первом издании данной книги рекомендовалось устанавливать дополнительный пакет asterisk-sounds. Это был отдельный архив, который надо было скачать, извлечь из архива и затем установить. Теперь для Asterisk версии 1.4.0 существует два набора пакетов звуковых файлов: Core Sound и Extra Sound. Поскольку Asterisk поддерживает несколько разных аудиоформатов, эти пакеты доступны в различных звуковых форматах, таких как G.729 и GSM. Основанием для существования такого разнообразия форматов является обеспечение Asterisk возможности использовать тот звуковой формат, для которого требуется меньшее количество преобразований в ЦП. Например, если имеется большое количество соединений, поступающих по каналам VoIP, которые используют GSM, выгоднее иметь звуковые файлы в формате GSM. В окне выбора компонентов сборки (обсуждается в данной главе позже) можно выбрать один или более из предлагаемых типов звуковых файлов. Рекомендуем установить по крайней мере по одному типу из каждого пакета (Core Sound и Extra Sound). Поскольку в данной книге могут упоминаться некоторые файлы Extra Sound, предполагается, что установлен хотя бы один из этих форматов.

Необходимые пакеты Linux

Для компиляции Asterisk в системе должен иметься компилятор GCC (версия 3.x или более поздняя) и все необходимые зависимости. Также для Asterisk требуется bison, программный генератор грамматического разбора, который заменяет yacc, и ncurses для обеспечения функциональности командной строки. Криптографическая библиотека в Asterisk требует наличия OpenSSL и его пакетов для разработки.

Для Zaptel необходима библиотека libnewt и ее пакеты для разработки, чтобы обеспечить компиляцию программы zttool (см. в данной главе раздел «Использование ztcfg и zttool»). Если используются PRI-интер- фейсы, Zaptel также требует установки пакета libpri (опять же, даже если линии PRI не используются, мы рекомендуем установить libpri вместе с zaptel).

Если пакеты Software Development устанавливаются на CentOS, все эти инструменты будут в наличии. Если вы стремитесь к порядку и желаете установить набор программ, только минимально необходимый для компиляции Asterisk и связанных с ней пакетов, обратитесь к табл. 3.1.

В следующей таблице использование ключа -у для приложения yum означает ответ «да» на все вопросы и обеспечит установку приложения и всех зависимостей без вывода этих вопросов на экран. Если это нежелательно, ключ -у должен быть опущен.

Если требуется установить сразу все вышеупомянутые пакеты, в командной строке можно указать несколько пакетов, например:

# yum install -у gcc ncurses-devel libtermcap-devel [...]

Таблица 3.1. Список пакетов, необходимых для компиляции libpri, zaptel и asterisk

Имя пакета Команда установки Примечание Используется программами
GCC 3.x yum install -y gcc Необходим для компиляции zaptel, libpri и asterisk libpri, zaptel, asterisk
ncurses-devel yum install -y ncurses-devel Необходим для menuselect menuselect
libtermcap-devel yum install -y libtermcap-devel Необходим для asterisk asterisk
Kernel yum install -y kernel-devel Необходим
для компиляции zaptel
zaptel
Development
Headers
Kernel Development Headers (SMP) yum install -y kernel-smp-devel Необходим для компиляции zaptel zaptel
GCC C++ 3.x yum install -y gcc-c++ Необходим для asterisk asterisk
OpenSSL (необязательный) yum install -y openssl-devel Зависимость OSP, шифрование IAX2, res_crypto (поддержка RSA- ключа) asterisk
Имя пакета Команда установки Примечание Используется программами
newt-devel yum install -y Зависимость zttool zaptel
(необязательный) newt-devel
zlib-devel yum install -y Зависимость asterisk
(необязательный) zlib-devel DUNDi
unixODBC; yum install -y Зависимость func_ asterisk
unixODBC-devel unixODBC-devel odbc, cdr_odbc,
(необязательный) res_config_odbc,
res odbc,
ODBC_STORAGE
libtool yum install -y Зависимость asterisk
(необязательный; libtool связанных с ODBC модулей
рекомендуемый)
GNU make yum install -y Необходим для компиляции asterisk
(версия 3.80 или более поздняя)* make zaptel и asterisk

Обычной ошибкой тех, кто впервые устанавливает какой-либо дистрибутив Linux, является использование программы GNU make версии 3.79 или еще более ранней. Следует учесть, что правильно сборка Asterisk может быть выполнена только при наличии версии GNU make не ниже 3.80.

Получение исходного кода

Лучше всего взять исходный код для Asterisk и его пакетов прямо на веб-сайтеhttp://www.asterisk.org или FTP-сервере.

*

Получение исходного кода Asterisk

Проще всего получить самую последнюю выпущенную версию с помощью программы wget.

Чем отличается код стабильной версии от кода, находящегося в процессе тестирования

Кодовая база Asterisk находится в процессе постоянного изменения. Для управления ею разработчики используют инструмент контроля версий Subversion (SVN) [47] . Subversion обеспечивает сообществу разработчиков возможность совместной работы над сложными проектами программного обеспечения. Существует две основных области разработки Asterisk: ветвь (Branch) и ствол (Trunk). В ствол добавляются новые функции, вносятся изменения в архитектуру и всевозможные нововведения. Это та часть кодовой базы, где содержатся все новые элементы, но которая может в любой момент оказаться в нерабочем состоянии. Ее категорически нельзя использовать для производственной эксплуатации (см. рисунок).

47

Subversion - превосходная система управления кодом. Ее можно найти по адресуhttp://subversion.tigris.org/. Кроме того, издательство Creative Commons выпустило не менее замечательную книгу Бена Коллинза-Сассмана (Ben Collins-Sussman) и др. «Version Control with Subversion» (O'Reilly), которая представлена по адресуhttp://svnbook.red-bean.com/.

Подобно дереву, ствол имеет ветви. Эти ветви пронумерованы соответственно основным редакциям, например 1.0, 1.2 и 1.4 (в будущем мы, скорее всего, увидим 1.6, 1.8, 1.8.2, 1.8.4. 1.8.6, 1.8.8. 1.8.8.2... м-м... и т.д...). В ветви не вносятся большие архитектурные изменения или новые функции, здесь просто исправляются дефекты и выполняются работы по обеспечению безопасности. В среде производственной эксплуатации стабильность намного важнее, чем введение новых функциональных возможностей. Примерно каждые 14 месяцев (хотя Asterisk не следует формальному графику выпуска версий, как многие пакеты коммерческого программного обеспечения) выпускается версия Asterisk, предназначенная для использования в средах производственной эксплуатации. Начальная версия Asterisk шла под номером 1.0 и была представлена на самой первой конференции AstriCon в Атланте в сентябре 2004 года. Asterisk 1.2 была выпущена на IP4IT в ноябре 2005, а Asterisk 1.4 вышла в декабре 2006.

Поделиться:
Популярные книги

Огненный князь 6

Машуков Тимур
6. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 6

Лорд Системы 12

Токсик Саша
12. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 12

Последний Паладин. Том 4

Саваровский Роман
4. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 4

Тринадцатый

NikL
1. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
6.80
рейтинг книги
Тринадцатый

Газлайтер. Том 2

Володин Григорий
2. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 2

Сирота

Шмаков Алексей Семенович
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Сирота

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Сердце Дракона. Том 10

Клеванский Кирилл Сергеевич
10. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.14
рейтинг книги
Сердце Дракона. Том 10

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Государь

Кулаков Алексей Иванович
3. Рюрикова кровь
Фантастика:
мистика
альтернативная история
историческое фэнтези
6.25
рейтинг книги
Государь

Релокант

Ascold Flow
1. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант

Безнадежно влип

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Безнадежно влип

Магия чистых душ 3

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Магия чистых душ 3

Первый среди равных

Бор Жорж
1. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных