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

Asterisk и ODBC

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

Asterisk и ODBC

Дошли руки попробывать ODBC на *. Поискал по инету, вроде всё настроил как у людей. Но при исполнении скрипта выдаёт вот такую бяку

-- Accepting call from '184' to '705' on channel 0/30, span 1
-- Executing [705@from-e1:1] Set("DAHDI/30-1", "date=2010-03%") in new stack
[Mar 15 15:06:18] ERROR[29791]: func_odbc.c:320 acf_odbc_read: Unable to execute query [SELECT SUM(billsec) FROM cdr WHERE dstchannel LIKE 'SIP/0001%']
-- Executing [705@from-e1:2] NoOp("DAHDI/30-1", "") in new stack


Файлы настроек
/etc/odbcinst.ini
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/libodbcpsql.so
Setup = /usr/lib/libodbcpsqlS.so
FileUsage = 1


/etc/odbc.ini
[asterisk-connector]
Description = PostgreSQL connection to 'asterisk' database
Driver = PostgreSQL
Database = asterisk
Servername = localhost
UserName = asteriskus
Password = asteriskpw
Port = 5432
Protocol = 7.4
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =


res_odbc.conf
[asterisk]
enabled => yes
dsn => asterisk-connector
username => asteriskus
password => asteriskpw
pooling => no
limit => 5
pre-connect => yes


func_odbc.conf
[GSM]
dsn=asterisk-connector
readsql=SELECT SUM(billsec) FROM cdr WHERE dstchannel LIKE 'SIP/0001%'


extensions.conf
exten => 705,1,Set(date=${STRFTIME(${EPOCH},,%Y-%m%)})
exten => 705,n,NoOp(${ODBC_GSM()})


* выдаёт
odbc show all
asterisk*CLI>
ODBC DSN Settings
-----------------

Name: asterisk
DSN: asterisk-connector
Pooled: No>
Connected: Yes


База соответственно с логами присутствует и запущена.
Мож ктото тыкнёт где ошибка ?)
2010-03-15 15:21

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Asterisk и ODBC

зайдите в БД и выполните
SELECT SUM(billsec) FROM cdr WHERE dstchannel LIKE 'SIP/0001%'

а потом вопросы.
http://линия24.рф - Астериск и прочие бубны!
2010-03-15 16:39

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

Re: Asterisk и ODBC

ну не совсем же я идиот чтоб несуществующие данные выбирать с базы )))
всё присутствует - и база и данные - вот только не исполняет запрос никак (
asterisk=# SELECT SUM(billsec) FROM cdr WHERE dstchannel LIKE 'SIP/0001%' ;
sum
--------
542463
(1 row)
2010-03-15 17:58

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

Re: Asterisk и ODBC

На уровне ODBC драйвера надо трейс запросов включать, и тогда будет все понятно, что приходит от астериска, и что случается. Также на уровне базы надо трейсы включать, будет видно, что приходит и уходит на уровень ODBC.
Ну а так, навскидку, думаю, проблема в кавычках, их надо экранировать. Типа так:
SELECT SUM(billsec) FROM cdr WHERE dstchannel LIKE \'SIP/0001%\'
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2010-03-15 18:09

Откуда: Киев
Сообщений: 749

Re: Asterisk и ODBC

наиболее вероятно чегото нет..
попробуйте для начала через isql коннект
2010-03-16 03:55

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

Re: Asterisk и ODBC

# echo "SELECT SUM(billsec) FROM cdr WHERE dstchannel LIKE 'SIP/0001%'" | isql -v asterisk-connector
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> +---------+
| sum |
+---------+
| 542588 |
+---------+
SQLRowCount returns 1
1 rows fetched
ушел тестировать экранирование кавычек )
2010-03-16 07:32

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

Re: Asterisk и ODBC

С кавычками ошибка осталась
[Mar 16 07:40:58] ERROR[936]: func_odbc.c:320 acf_odbc_read: Unable to execute query [SELECT SUM(billsec) FROM cdr WHERE dstchannel LIKE \'SIP/0001%\']
-- Executing [705@from-e1:2] NoOp("SIP/755-00000000", "") in new stack


Включил лог базы - в постгрес запроса не поступало.
Упростил запрос до SELECT SUM(billsec) FROM cdr
Ошибка осталась.
2010-03-16 07:46

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Asterisk и ODBC

Попробуйте строку в двойные ковычки заключить "" , может он запрос как список строк передает. мало ли. Включите дебаг , думаю много полезного расскажет.
http://линия24.рф - Астериск и прочие бубны!
2010-03-16 10:15

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

Re: Asterisk и ODBC

Заключил в двойные ""
[Mar 16 10:39:48] ERROR[2533]: func_odbc.c:320 acf_odbc_read: Unable to execute query ["SELECT SUM(billsec) FROM cdr"]


Добавил в /etc/odbc.ini параметры дебага ODBC

Trace = Yes
TraceFile = /tmp/sql.log


Файла /tmp/sql.log нет. На сайте ODBC написано что он создаётся автоматом.

ЗЫ. Видать не судьба взлететь с ODBC на астериске (

2010-03-16 10:45

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Asterisk и ODBC

Ну значит занесем Вас в список неосиливших)

ну а если серьезно , что говорит дебаг самого астериска , он же когда коннектор испотльзует , должен что -то дебагеру рассказать. посмотрите внимательней.
http://линия24.рф - Астериск и прочие бубны!
2010-03-16 12:12

1 234>
Добавить страницу в закладки:  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