Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Asterisk и ODBC

Asterisk и ODBC

Откуда: Москва
Сообщений: 186

Re: Asterisk и ODBC

Начался новый день...
[root@asterisk asterisk]# isql -v asterisk-connector
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> SELECT SUM(billsec) FROM cdr
+----------+
| sum |
+----------+
| 5529324 |
+----------+
SQLRowCount returns 1
1 rows fetched
SQL>


to litnimax
Подскажите, как посмотреть статус коннектов к базе?

asterisk*CLI> odbc show asterisk
asterisk*CLI>
ODBC DSN Settings
-----------------

Name: asterisk
DSN: asterisk-connector
Pooled: No>
Connected: Yes
2010-03-17 09:56

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Asterisk и ODBC

Connected: yes
Типа подключен.
Смотрите - http://asteriskpbx.ru/wiki/skype-for-asterisk
Я так с ODBC работаю.

http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2010-03-17 18:18

Откуда: Москва
Сообщений: 186

Re: Asterisk и ODBC

Непонятный глюк, попробую обновить версию астериск.
В общем зачем всё это было надо: отказался от mysql и всё перевожу в postgresql. Некоторые функции отсутствуют для работы напрямую с *. Как я понял, этих прямых обращений вообще нет напрямую в пострге (аналог MYSQL()). Хотел через ODBC прикрутить нормально.

to litnimax
Какая версия * была собрана в Вашем проекте для скайпа ?
У меня при загрузке модуля pbx_lua.so на 1.6.2.6 астериск падает замертво.
1.6.2.6 просто установлен как тестовый.
2010-03-17 20:03

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Asterisk и ODBC

Дело в библиотеках. Видимо, что-то криво слинковалось. У меня работает на 1.6.0, 1.6.1, 1.6.2
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2010-03-17 22:27

Откуда: Москва
Сообщений: 186

Re: Asterisk и ODBC

система centos5.4 - lua установлен через yum
[root@localhost ~]# rpm -qa | grep lua
lua-5.1.2-1.el5
lua-devel-5.1.2-1.el5
2010-03-18 08:01

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Asterisk и ODBC

Вот поэтому и слетает. Я работаю с Gentoo, там все собирается из исходников, бинарных пакетов нет. Поэтому все и работает. Поэтому сорри, ничем не помогу.
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2010-03-19 11:32

Откуда: Москва
Сообщений: 186

Re: Asterisk и ODBC

установил тестово 1.6.2.6 - odbc к postgresql выдаёт такую-же ошибку.
Поделитесь - у кого работает вообще данная связка ???
Или заявленая возможность совсем дохлая (?
2010-03-21 17:46

Сообщений: 135

Re: Asterisk и ODBC

Гм. давайте начнем с начала.

У меня вот на 1.4 и на 1.6(0) по крайней мере func_odbc прекрасно работает и я сильно подозреваю что никто его не ломал.

Во-первых, озвучьте версию odbc. Я очень надеюсь, что мы говорим про unixODBC 2.2+

Во-вторых, сделайте человеческий файл с коннектором
Я подозреваю, что от ЭТОГО
Protocol = 7.4
RowVersioning = No
ShowOidColumn = No
FakeOidIndex = No

ODBC внутри астериска запросто может гм, удивляться.
На дворе 8.4 уже практически.

Description = PostgreSQL connector to our DB
Driver = PostgreSQL
Database = asterisk
Servername = ...
UserName = ...
Password = ...
Port = 5432
ReadOnly = No

Как показывает практика вполне хватает такого DSN.

В-третьих, надо разобраться с дебагом:
Добавил в /etc/odbc.ini параметры дебага ODBC

Есть предложение попробовать так:
# To enable unixODBC tracing, add this section to odbcinst.ini.
# Include the [ODBC] section heading.
[ODBC]
Trace = yes
TraceFile = trace_file_path


Ну и далее по результатам отписываться..

P.S.
Как я понял, этих прямых обращений вообще нет напрямую в пострге (аналог MYSQL()). Хотел через ODBC прикрутить нормально.

Людей, придумавших MYSQL() надо анально покарать. Есть умеренно нормальная логика - диалплан, взаимодействие с внешним миром - через функции. Конфигурация функций для запроса к базе - в отдельном файле. Нормальное разделение представления и реализации. Так нет же..
2010-03-21 22:21

Откуда: Москва
Сообщений: 186

Re: Asterisk и ODBC

[root@asterisk ~]# rpm -qa | grep ODBC
unixODBC-2.2.11-7.1
odbc.ini упростил до
[asterisk-connector]
Description = PostgreSQL connection to 'asterisk' database
Driver = PostgreSQL
Database = asterisk
Servername = localhost
UserName = asteriskus
Password = asteriskpw
Port = 5432
ReadOnly = No

Завтра отпишу по результату )
2010-03-21 23:26

Откуда: Москва
Сообщений: 186

Re: Asterisk и ODBC

Видать совсем глубоко у меня ошибка в ДНК - не помогло и это ( Мож ктото ещё что дельное подскажет ?
-- Executing [705@from-e1:1] Set("SIP/755-00000000", "date=2010-03%") in new stack
[Mar 22 08:21:52] ERROR[7610]: func_odbc.c:320 acf_odbc_read: Unable to execute query [SELECT SUM(billsec) FROM cdr]
-- Executing [705@from-e1:2] NoOp("SIP/755-00000000", "") in new stack
-- Executing [705@from-e1:3] Hangup("SIP/755-00000000", "") in new stack
== Spawn extension (from-e1, 705, 3) exited non-zero on 'SIP/755-00000000'

Лог ODBC
[root@asterisk tmp]# cat sql.log
[ODBC][7363][__handles.c][444]
Exit:[SQL_SUCCESS]
Environment = 0xb7d05898
[ODBC][7363][SQLSetEnvAttr.c][182]
Entry:
Environment = 0xb7d05898
Attribute = SQL_ATTR_ODBC_VERSION
Value = 0x3
StrLen = 0
[ODBC][7363][SQLSetEnvAttr.c][349]
Exit:[SQL_SUCCESS]
[ODBC][7363][SQLAllocHandle.c][345]
Entry:
Handle Type = 2
Input Handle = 0xb7d05898
[ODBC][7363][SQLAllocHandle.c][463]
Exit:[SQL_SUCCESS]
Output Handle = 0xb7d01998
[ODBC][7363][SQLSetConnectAttr.c][318]
Entry:
Connection = 0xb7d01998
Attribute = SQL_ATTR_LOGIN_TIMEOUT
Value = 0xa
StrLen = 0
[ODBC][7363][SQLSetConnectAttr.c][500]
Exit:[SQL_SUCCESS]
[ODBC][7363][SQLSetConnectAttr.c][318]
Entry:
Connection = 0xb7d01998
Attribute = SQL_ATTR_CONNECTION_TIMEOUT
Value = 0xa
StrLen = 0
[ODBC][7363][SQLSetConnectAttr.c][500]
Exit:[SQL_SUCCESS]
[ODBC][7363][SQLConnect.c][3549]
Entry:
Connection = 0xb7d01998
Server Name = [asterisk-connector][length = 18 (SQL_NTS)]
User Name = [asteriskus][length = 10 (SQL_NTS)]
Authentication = [**********][length = 10 (SQL_NTS)]
UNICODE Using encoding ASCII 'ISO8859-1' and UNICODE 'UCS-2LE'

[ODBC][7363][SQLConnect.c][4123]
Exit:[SQL_SUCCESS_WITH_INFO]
2010-03-22 08:26

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru