-->

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

На нашем литературном портале можно бесплатно читать книгу Asterisk™: будущее телефонии Второе издание, Меггелен Джим Ван-- . Жанр: ОС и Сети. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Asterisk™: будущее телефонии Второе издание
Название: Asterisk™: будущее телефонии Второе издание
Дата добавления: 16 январь 2020
Количество просмотров: 701
Читать онлайн

Asterisk™: будущее телефонии Второе издание читать книгу онлайн

Asterisk™: будущее телефонии Второе издание - читать бесплатно онлайн , автор Меггелен Джим Ван
Asterisk - система телефонии, обладающая такими фантастическими возможностями, о которых обычная офисная коммутируемая АТС может только мечтать. Голосовая почта, конференц-связь, очереди вызовов и агенты, музыка во время ожидания и парковка вызовов - это лишь часть функций, обеспечиваемых Asterisk. Описать в одной книге всю функциональность этой необыкновенно гибкой системы невозможно, но вы получите исчерпывающее представление о базовых функциях Asterisk. А проявив свои творческие способности, вы сможете создать офисную АТС, настроенную целиком под ваши нужды с учетом абсолютно всех требований пользователей.

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала

1 ... 77 78 79 80 81 82 83 84 85 ... 157 ВПЕРЕД
Перейти на страницу:

Необходимо установить пакет unixODBC-devel, потому что Asterisk использует его для создания модулей ODBC, которые будут применяться в данной главе.

Убедитесь в наличии сконфигурированного ODBC-драйвера PostgreSQL в файле /etc/odbcinst.ini. Он должен выглядеть примерно так:

[PostgreSQL]

Description = ODBC for PostgreSQL Driver = /usr/lib/libodbcpsql.so

Setup = /usr/lib/libodbcpsqlS.so

FileUsage = 1

Убедитесь, что система видит драйвер, выполнив приведенную ниже команду. Если все хорошо, она должна возвратить имя метки используемой СУБД PostgreSQL. # odbcinst -q -d

[PostgreSQL]

Далее сконфигурируем файл /etc/odbc.ini, используемый для создания коннектора, который Asterisk будет применять для ссылки на эту конфигурацию. Если когда-то в будущем понадобится изменить базу данных или что-то еще, просто надо будет внести изменения в этот файл, не меняя ссылок в Asterisk [112].

[asterisk-connector][asterisk-connector]
Description = PostgreSQL connection to 'asterisk' database
Driver = PostgreSQL
Database = asterisk
Servername = localhost
UserName = asterisk
Password = welcome
Port = 5432
Protocol = 7.4
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =

Убедимся, что мы можем соединяться с нашей базой данных, используя приложение isql. Приложение isql не будет осуществлять соединение как пользователь с правами администратора (root) и должно выполняться под учетной записью владельца базы данных. Поскольку владельцем базы данных asterisk в PostgreSQL является пользователь asterisk, необходимо создать учетную запись Linux с таким же именем. В главе 14 эта учетная запись будет использоваться для запуска Asterisk от лица пользователя, не имеющего прав администратора.

# su - asterisk

$ echo "select 1" | isql -v asterisk-connector

+ +

| Connected! |

| sql-statement

| help [tablename]

| quit |

+ +

SQL> + +

| 'column? + +

I 1

+ +

SQLRowCount returns 1 1 rows fetched $ exit

После установки, конфигурации и проверки unixODBC, необходимо повторно скомпилировать Asterisk, чтобы модули ODBC были созданы и установлены. Вернитесь в папку исходного кода Asterisk и запустите сценарий ./configure, чтобы система знала, что unixODBC установлен.

# cd /usr/src/asterisk-1.4

# make distclean

# ./configure

# make menuselect

# make install

Практически все, о чем говорится в данной главе, включено по умолчанию. Выполнив команду make menuselect, убедитесь, что модули, связанные с ODBC, активированы. Сюда относятся cdr_odbc, func_odbc, func_realtime, pbx_realtime, res_config_ odbc, res_odbc. Для хранения голосовой почты в базе данных, совместимой с ODBC, не забудьте выбрать пункт ODBC STORAGE (ХРАНИЛИЩЕ ODBC) в меню Voicemail Build Options (Опции сборки голосовой почты). Чтобы убедиться в существовании модулей, загляните в папку /usr/lib/asterisk/modules/.

Конфигурация res_odbc

для обеспечения доступа к базе данных

Asterisk™: будущее телефонии Второе издание - img_103.png

Конфигурация ODBC-коннекторов выполняется в файле res_odbc.conf, располагающемся в папке /etc/asterisk. Файл res_odbc.conf задает параметры, которые будут использоваться различными модулями Asterisk для соединения с базой данных [113].

Внесем изменения в файл res_odbc.conf:

[asterisk]

enabled => yes

dsn => asterisk-connector

username => asterisk

password => welcome

pooling => no

limit => 0

pre-connect => yes

Опция dsn указывает на соединение с базой данных, которое мы конфигурировали в файле /etc/odbc.ini, а опция pre-connect говорит Asterisk открыть и обслуживать соединение с базой данных при загрузке модуля res_odbc.so. Это снижает некоторые издержки, которые возникли бы при многократном повторном установлении и разрыве соединения с базой данных.

Сконфигурировав res_odbc.conf, запустите Asterisk и проверьте соединение с базой данных с помощью CLI-команды odbc show:

*CLI> odbc show Name: asterisk DSN: asterisk-connector Pooled: no Connected: yes

Использование архитектуры реального времени

Архитектура реального времени Asterisk (Asterisk Realtime Architecture, ARA) - это метод хранения конфигурационных файлов (которые при обычных обстоятельствах располагались бы в папке /etc/asterisk) и их конфигурационных опций в таблице базы данных. Существует два типа архитектур реального времени: статическая и динамическая. Статический вариант аналогичен традиционному методу чтения конфигурационного файла, за исключением того что чтение данных осуществляется из базы данных. Метод динамической реализации архитектуры реального времени используется для таких элементов, как объекты user и peer (SIP, IAX2) и голосовая почта, которые загружают и обновляют информацию по мере необходимости. Изменение в статической информации требует перезагрузки текстового файла сразу после внесения в него изменений, но динамическая информация запрашивается Asterisk по мере необходимости и не требует перезагрузки. Архитектура реального времени настраивается в файле extconfig.conf, располагающемся в папке /etc/asterisk. Этот файл указывает Asterisk, что брать из базы данных и откуда именно, что обеспечивает возможность загружать некоторые файлы из базы данных, а другие - из стандатных конфигурационных файлов.

Статическая архитектура реального времени

Статическая архитектура реального времени используется, если требуется загрузить конфигурацию, которая обычно размещается в конфигурационных файлах в папке /etc/asterisk, из базы данных. Те же правила, которые применяются к плоским [114] файлам в системе, действуют и при использовании статической архитектуры реального времени. Например, требование выполнить команду перезагрузки из интерфейса командной строки Asterisk или перезагрузить модуль, связанный с конфигурационным файлом (то есть выполнить команду module reload chan_sip. so).

При использовании статической архитектуры реального времени мы указываем Asterisk, какие файлы хотим загрузить из базы данных, используя в файле extconfig.conf следующий синтаксис:

Asterisk™: будущее телефонии Второе издание - img_104.png

; /etc/asterisk/extconfig.conf filename.conf => драйвер,базаданных[,таблица]

Если имя таблицы не задано, Asterisk будет использовать имя файла.

Использование директивы preload

Большинство файлов можно загружать посредством статической архитектуры реального времени, но несколько файлов не могут быть загружены при использовании этого метода. Это файлы asterisk. conf, extconfig.conf и logger.conf. Кроме того, файлы manager.conf, cdr.conf и rtp.conf не могут загружаться из статической архитектуры реального времени, если драйверы подключения к базе данных не были загружены до запуска основного ядра Asterisk (потому что архитектура реального времени должна загрузить конфигурационные файлы до того, как модуль начнет читать свою конфигурацию). Поскольку в данной главе используется ODBC, в modules.conf пришлось бы добавить следующие строки: ; /etc/asterisk/modules.conf preload => res_odbc.so preload => res_config_odbc.so

1 ... 77 78 79 80 81 82 83 84 85 ... 157 ВПЕРЕД
Перейти на страницу:
Комментариев (0)
название