Вы не авторизованы

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

Сообщения 1 - 15 из 26
Начало | Пред. | 1 2 | След. | Конец
RSS
Не возвращает историю звонков, не отрабатывает скрипт 1C_CDR.php
 
Добрый день
Астериск 11 (чистый)
Настроен по предлагаемой инструкции

Доступ к БД есть:
isql -v MySQL-asteriskcdrdb asteriskuser admin - отрабатывает корректно
В extension.conf данные прописаны:
[globals]
AMPDBENGINE=mysql
AMPDBNAME=asteriskcdrdb
AMPDBHOST=127.0.0.1
AMPDBUSER=asteriskuser
AMPDBPASS=admin

По этим же данным я могу зайти в БД и прочитать её
Но выше обозначенный скрипт в любых вариантах возвращает 0

debug agi
Код
    -- Launched AGI Script /var/lib/asterisk/agi-bin/1C_CDR.php
<SIP/5002-0000002a>AGI Tx >> agi_request: 1C_CDR.php
<SIP/5002-0000002a>AGI Tx >> agi_channel: SIP/5002-0000002a
<SIP/5002-0000002a>AGI Tx >> agi_language: ru
<SIP/5002-0000002a>AGI Tx >> agi_type: SIP
<SIP/5002-0000002a>AGI Tx >> agi_uniqueid: 1470741088.204
<SIP/5002-0000002a>AGI Tx >> agi_version: 11.22.0
<SIP/5002-0000002a>AGI Tx >> agi_callerid: 5002
<SIP/5002-0000002a>AGI Tx >> agi_calleridname: 5002
<SIP/5002-0000002a>AGI Tx >> agi_callingpres: 0
<SIP/5002-0000002a>AGI Tx >> agi_callingani2: 0
<SIP/5002-0000002a>AGI Tx >> agi_callington: 0
<SIP/5002-0000002a>AGI Tx >> agi_callingtns: 0
<SIP/5002-0000002a>AGI Tx >> agi_dnid: 10000555
<SIP/5002-0000002a>AGI Tx >> agi_rdnis: unknown
<SIP/5002-0000002a>AGI Tx >> agi_context: internal
<SIP/5002-0000002a>AGI Tx >> agi_extension: 10000555
<SIP/5002-0000002a>AGI Tx >> agi_priority: 3
<SIP/5002-0000002a>AGI Tx >> agi_enhanced: 0.0
<SIP/5002-0000002a>AGI Tx >> agi_accountcode:
<SIP/5002-0000002a>AGI Tx >> agi_threadid: 139837885396736
<SIP/5002-0000002a>AGI Tx >>
<SIP/5002-0000002a>AGI Rx << GET VARIABLE v1
<SIP/5002-0000002a>AGI Tx >> 200 result=0
<SIP/5002-0000002a>AGI Rx << GET VARIABLE v2
<SIP/5002-0000002a>AGI Tx >> 200 result=0
<SIP/5002-0000002a>AGI Rx << GET VARIABLE v3
<SIP/5002-0000002a>AGI Tx >> 200 result=0
<SIP/5002-0000002a>AGI Rx << GET VARIABLE v4
<SIP/5002-0000002a>AGI Tx >> 200 result=0
<SIP/5002-0000002a>AGI Rx << GET VARIABLE AMPDBNAME
<SIP/5002-0000002a>AGI Tx >> 200 result=1 (asteriskcdrdb)
<SIP/5002-0000002a>AGI Rx << GET VARIABLE AMPDBENGINE
<SIP/5002-0000002a>AGI Tx >> 200 result=1 (mysql)
<SIP/5002-0000002a>AGI Rx << GET VARIABLE AMPDBHOST
<SIP/5002-0000002a>AGI Tx >> 200 result=1 (127.0.0.1)
<SIP/5002-0000002a>AGI Rx << GET VARIABLE AMPDBUSER
<SIP/5002-0000002a>AGI Tx >> 200 result=1 (asteriskuser)
<SIP/5002-0000002a>AGI Rx << GET VARIABLE AMPDBPASS
<SIP/5002-0000002a>AGI Tx >> 200 result=1 (admin)
<SIP/5002-0000002a>AGI Rx << GET VARIABLE AMPDBFILE
<SIP/5002-0000002a>AGI Tx >> 200 result=0
<SIP/5002-0000002a>AGI Rx << GET VARIABLE AMPDBNAME
<SIP/5002-0000002a>AGI Tx >> 200 result=1 (asteriskcdrdb)
<SIP/5002-0000002a>AGI Rx << VERBOSE "Running SQL Command describe asteriskcdrdb.PT1C_cdr" 4
       > 1C_CDR.php: Running SQL Command describe asteriskcdrdb.PT1C_cdr
<SIP/5002-0000002a>AGI Tx >> 200 result=1
    -- <SIP/5002-0000002a>AGI Script 1C_CDR.php completed, returning 0
Изменено: Мизякин Антон - 09.08.2016 15:22:46
 
Цитата
Мизякин Антон написал:
Настроен по предлагаемой инструкции
Какая инструкция была взята?
 
http://wiki.telefon1c.ru/astpanel:ats:asterisk_v6
 
Настройки следует производить согласно примеру настроек:
http://wiki.telefon1c.ru/astpanel:dialplan_miko_ajam

В архиве с дистрибутивом есть примеры скриптов.
Пример скрипта запроса истории во вложении.
 
Инструкция эта - её и использовал
Была версия 3
У вас 4
Вот что дал дебаг аги.
Вышел из скрипта пораньше. Чую какой то переменной не хватает ему. Обидно что скрипт ругается только на проблему доступа к себе, все остальное (заведомо ложные сведения подключеня к sql базе например) возвращает тупо 0
Код
    -- Launched AGI Script /var/lib/asterisk/agi-bin/1C_CDR.php
<SIP/5002-00000030>AGI Tx >> agi_request: 1C_CDR.php
<SIP/5002-00000030>AGI Tx >> agi_channel: SIP/5002-00000030
<SIP/5002-00000030>AGI Tx >> agi_language: ru
<SIP/5002-00000030>AGI Tx >> agi_type: SIP
<SIP/5002-00000030>AGI Tx >> agi_uniqueid: 1470746332.246
<SIP/5002-00000030>AGI Tx >> agi_version: 11.22.0
<SIP/5002-00000030>AGI Tx >> agi_callerid: 5002
<SIP/5002-00000030>AGI Tx >> agi_calleridname: 5002
<SIP/5002-00000030>AGI Tx >> agi_callingpres: 0
<SIP/5002-00000030>AGI Tx >> agi_callingani2: 0
<SIP/5002-00000030>AGI Tx >> agi_callington: 0
<SIP/5002-00000030>AGI Tx >> agi_callingtns: 0
<SIP/5002-00000030>AGI Tx >> agi_dnid: 10000555
<SIP/5002-00000030>AGI Tx >> agi_rdnis: unknown
<SIP/5002-00000030>AGI Tx >> agi_context: internal
<SIP/5002-00000030>AGI Tx >> agi_extension: 10000555
<SIP/5002-00000030>AGI Tx >> agi_priority: 3
<SIP/5002-00000030>AGI Tx >> agi_enhanced: 0.0
<SIP/5002-00000030>AGI Tx >> agi_accountcode:
<SIP/5002-00000030>AGI Tx >> agi_threadid: 139837881841408
<SIP/5002-00000030>AGI Tx >>
    -- <SIP/5002-00000030>AGI Script 1C_CDR.php completed, returning 0
Изменено: Мизякин Антон - 09.08.2016 15:44:31
 
в начале скрипта подключаются некоторые файлы:
Код
require_once('phpagi.php');
require_once('1C_Functions.php');
require_once('1C_sql_class.php');
возможно проблема с ними, они существуют? должны лежать рядом со скриптом.
Ссылка на архив:
http://files.miko.ru/public.php?service=files&t=6859aa81881d16b7208526e9efbc59c3
 
  1. Перейдите в директорию со скриптом
  2. Выполните команду php -q 1C_CDR.php
  3. Если проблема с подключаемыми файлами - увидите сообщение об ошибке
 
Цитата
Портнов Алексей написал:
require_once('1C_Functions.php')
Этого файла нет в том числе и в архиве вашем, так же отмечу что файл
1C_sql_class.php живет в папке func рядом

Обновил все файлы, картина не изменилась
Изменено: Мизякин Антон - 09.08.2016 16:06:00
 
Цитата
Портнов Алексей написал:
Если проблема с подключаемыми файлами - увидите сообщение об ошибке
Failed opening required '1C_Functions.php'

Подтверждение моих слов выше

Кстати, у меня есть настроенный сервер под рукой, так я там этого файла тоже не нашел
 
Хм.. странно, действительно файл отсутствует, попробуйте во вложении.  
 
По сути, из этого файла нужна только функция:
Код
// Получение переменной AGI канала
//   
function GetVarChannnel($agi, $_varName){
  $v = $agi->get_variable($_varName);
  if(!$v['result'] == 0){
    return $v['data'];
  }
  else{
    return "";
  }
} // GetVarChannnel($_agi, $_varName)
 
Итого, замените
Код
require_once('phpagi.php');
require_once('1C_Functions.php');
require_once('1C_sql_class.php');
на
Код
require_once('phpagi.php');
require_once('func/1C_sql_class.php');

// Получение переменной AGI канала
//   
function GetVarChannnel($agi, $_varName){
  $v = $agi->get_variable($_varName);
  if(!$v['result'] == 0){
    return $v['data'];
  }
  else{
    return "";
  }
} // GetVarChannnel($_agi, $_varName)
 
Это уже становиться интересным(такое я получал на старой версии файла но не мог объяснить)
Код
PHP Notice:  Undefined index: PATH in /var/lib/asterisk/agi-bin/agi-bin/phpagi.php on line 1693
PHP Notice:  Undefined index: PATH in /var/lib/asterisk/agi-bin/agi-bin/phpagi.php on line 1693

 
В этой строке производится получение переменной окружения "PATH"
Код
        $chpath = is_null($checkpath) ? $_ENV['PATH'] : $checkpath;
Подробнее тут
http://php.net/manual/ru/reserved.variables.environment.php
 
Цитата
Портнов Алексей написал:
Итого, замените
Я понимаю что где-то накривил но не могу понять где
Код
-- Launched AGI Script /var/lib/asterisk/agi-bin/1C_CDR.php
<SIP/5002-00000035>AGI Tx >> agi_request: 1C_CDR.php
<SIP/5002-00000035>AGI Tx >> agi_channel: SIP/5002-00000035
<SIP/5002-00000035>AGI Tx >> agi_language: ru
<SIP/5002-00000035>AGI Tx >> agi_type: SIP
<SIP/5002-00000035>AGI Tx >> agi_uniqueid: 1470749086.287
<SIP/5002-00000035>AGI Tx >> agi_version: 11.22.0
<SIP/5002-00000035>AGI Tx >> agi_callerid: 5002
<SIP/5002-00000035>AGI Tx >> agi_calleridname: 5002
<SIP/5002-00000035>AGI Tx >> agi_callingpres: 0
<SIP/5002-00000035>AGI Tx >> agi_callingani2: 0
<SIP/5002-00000035>AGI Tx >> agi_callington: 0
<SIP/5002-00000035>AGI Tx >> agi_callingtns: 0
<SIP/5002-00000035>AGI Tx >> agi_dnid: 10000555
<SIP/5002-00000035>AGI Tx >> agi_rdnis: unknown
<SIP/5002-00000035>AGI Tx >> agi_context: internal
<SIP/5002-00000035>AGI Tx >> agi_extension: 10000555
<SIP/5002-00000035>AGI Tx >> agi_priority: 3
<SIP/5002-00000035>AGI Tx >> agi_enhanced: 0.0
<SIP/5002-00000035>AGI Tx >> agi_accountcode:
<SIP/5002-00000035>AGI Tx >> agi_threadid: 139837881841408
<SIP/5002-00000035>AGI Tx >>
<SIP/5002-00000035>AGI Rx << GET VARIABLE v1
<SIP/5002-00000035>AGI Tx >> 200 result=0
<SIP/5002-00000035>AGI Rx << GET VARIABLE v2
<SIP/5002-00000035>AGI Tx >> 200 result=0
<SIP/5002-00000035>AGI Rx << GET VARIABLE v3
<SIP/5002-00000035>AGI Tx >> 200 result=0
<SIP/5002-00000035>AGI Rx << GET VARIABLE ASTVERSION
<SIP/5002-00000035>AGI Tx >> 200 result=0
<SIP/5002-00000035>AGI Rx << GET VARIABLE v4
<SIP/5002-00000035>AGI Tx >> 200 result=0
<SIP/5002-00000035>AGI Rx << GET VARIABLE CDRDBNAME
<SIP/5002-00000035>AGI Tx >> 200 result=0
<SIP/5002-00000035>AGI Rx << GET VARIABLE AMPDBENGINE
<SIP/5002-00000035>AGI Tx >> 200 result=1 (mysql)
<SIP/5002-00000035>AGI Rx << GET VARIABLE AMPDBHOST
<SIP/5002-00000035>AGI Tx >> 200 result=1 (127.0.0.1)
<SIP/5002-00000035>AGI Rx << GET VARIABLE AMPDBUSER
<SIP/5002-00000035>AGI Tx >> 200 result=1 (asteriskuser)
<SIP/5002-00000035>AGI Rx << GET VARIABLE AMPDBPASS
<SIP/5002-00000035>AGI Tx >> 200 result=1 (admin)
<SIP/5002-00000035>AGI Rx << GET VARIABLE AMPDBFILE
<SIP/5002-00000035>AGI Tx >> 200 result=0
<SIP/5002-00000035>AGI Rx << GET VARIABLE AMPDBNAME
<SIP/5002-00000035>AGI Tx >> 200 result=1 (asteriskcdrdb)
<SIP/5002-00000035>AGI Rx << VERBOSE "Running SQL Command describe asteriskcdrdb.cdr" 4
       > 1C_CDR.php: Running SQL Command describe asteriskcdrdb.cdr
<SIP/5002-00000035>AGI Tx >> 200 result=1
    -- <SIP/5002-00000035>AGI Script 1C_CDR.php completed, returning 0

Сообщения 1 - 15 из 26
Начало | Пред. | 1 2 | След. | Конец
Читают тему (гостей: 1)