artem
17.01.2016
5102

Подключение Asterisk к Microsoft SQL Server с помощью FreeTDS

Параметры подключения к серверу MS SQL, которые будут использоваться в примерах:

IP-адрес: 192.168.101.10
порт: 1433
имя базы данных: asterisk
имя пользователя: odbc_user
пароль: odbc_pass

Установка и настройка FreeTDS

Пакет FreeTDS входит в репозиторий EPEL, достаточно просто установить EPEL и установить пакет freetds:

yum install epel-release
yum install freetds

Настройки FreeTDS находятся в файле /etc/freetds.conf, его мы не будем трогать (разве что можно закомментировать примеры подключений egServer50 и egServer70).

Настройки ODBC-подключения нужно описать в файле /etc/odbc.ini:

[MSSQLServer]
Driver = FreeTDS
Description = MSSQL Server
Trace = No
Server = 192.168.101.10
Database = asterisk
Port = 1433
TDS_Version = 7.0

Здесь MSSQLServer – произвольное имя ODBC-подключения, далее оно будет использоваться в настройках ODBC-подключения Asterisk.
Драйвер “FreeTDS” должен быть описан в файле /etc/odbcinst.ini, если пакет freetds установлен, там должны быть следующие строки:

[FreeTDS]
Description=ODBC for SQL Server
Driver=/usr/lib64/libtdsodbc.so.0
Setup=/usr/lib64/libtdsS.so
FileUsage=1

Желательно сразу проверить ODBC-подключение с помощью утилиты isql для выявления ошибок в введённых настройках и проблем с подключением к серверу (утилита isql входит в состав пакета unixODBC, который является зависимостью пакета freetds, поэтому должен быть уже установлен).

isql MSSQLServer odbc_user odbc_pass

ПРИМЕЧАНИЕ
Для работы с сервером MS SQL удобнее использовать утилиту sqsh вместо isql, скачать RPM-пакет для CentOS 6 можно здесь http://sourceforge.net/projects/sqsh/files/sqsh/sqsh-2.5/

Настройка ODBC-подключения на стороне Asterisk

Описываем подключение в файле /etc/asterisk/res_odbc.conf:

[mssql-connection]
enabled = yes
dsn = MSSQLServer
username = odbc_user
password = odbc_pass
pooling = yes
limit = 5
pre-connect = yes
charset = utf8

mssql-connection – произвольное имя подключения, его можно использовать в других конфигах Asterisk.

MSSQLServer – имя подключения из файла /etc/odbc.ini.
Т.к. протокол TDS позволяет выполнять одновременно только один запрос в рамках одного соединения, лучше использовать небольшой пул подключений.

Для применения настроек, выполняем в консоли Asterisk команду:

module reload res_odbc.so

Если модуль res_odbc.so ранее не был загружен, вместо этого нужно выполнить команду:

module load res_odbc.so

После этого, команда “odbc show all” в консоли Asterisk должна выводить сведения о состоянии подключения:

> odbc show all
Name: mssql-connection
DSN: MSSQLServer
Last connection attempt: 1970-01-01 03:00:00
Pooled: Yes
Limit: 5
Connections in use: 1
– Connection 1: connected

Если подключение не удалось установить (Connected: No), проверьте правильность настроек в файле /etc/asterisk/res_odbc.conf.

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices