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

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

Сообщения 1 - 15 из 20
Начало | Пред. | 1 2 | След. | Конец
RSS
Не работает получение истории
 
Задача простая - убедиться перед покупкой, что ваше приложение работает с нашим сервером телефонии.

Сервер Asterisk 1.8.23.1
odbc настроен, звонки в таблицы PT1C_cdr и cel пишутся. Сделано по вашей инструкции


На данный момент не работает получение истории, вызов  1C_CDR.php заканчивается сообщением об ошибке:

1C_CDR.php: SEVERE: Unknown database type:
1C_CDR.php: SEVERE: Unable to connect to database.
1C_CDR.php: SEVERE: Unknown database type:
1C_CDR.php: SEVERE: Unable to connect to database.

Возможно он не находит информации о том, где искать базу для подключения, однако я не знаю, где эта информация должна быть
Код
    -- Executing [10000555@miko_ajam:1] NoCDR("Local/10000555@miko_ajam-00000044;2", "") in new stack
    -- Executing [10000555@miko_ajam:2] NoOp("Local/10000555@miko_ajam-00000044;2", "internal calling application: 10000555 1C_CDR") in new stack
    -- Executing [10000555@miko_ajam:3] AGI("Local/10000555@miko_ajam-00000044;2", "1C_CDR.php") in new stack
    -- Launched AGI Script /usr/local/share/asterisk/agi-bin/1C_CDR.php
 1C_CDR.php: AGI Request:
 1C_CDR.php: Array
 1C_CDR.php: (
 1C_CDR.php:     [agi_request] => 1C_CDR.php
 1C_CDR.php:     [agi_channel] => Local/10000555@miko_ajam-00000044;2
 1C_CDR.php:     [agi_language] => en
 1C_CDR.php:     [agi_type] => Local
 1C_CDR.php:     [agi_uniqueid] => 1415613627.754
 1C_CDR.php:     [agi_version] => 1.8.23.1
 1C_CDR.php:     [agi_callerid] => unknown
 1C_CDR.php:     [agi_calleridname] => unknown
 1C_CDR.php:     [agi_callingpres] => 67
 1C_CDR.php:     [agi_callingani2] => 0
 1C_CDR.php:     [agi_callington] => 0
 1C_CDR.php:     [agi_callingtns] => 0
 1C_CDR.php:     [agi_dnid] => unknown
 1C_CDR.php:     [agi_rdnis] => unknown
 1C_CDR.php:     [agi_context] => miko_ajam
 1C_CDR.php:     [agi_extension] => 10000555
 1C_CDR.php:     [agi_priority] => 3
 1C_CDR.php:     [agi_enhanced] => 0.0
 1C_CDR.php:     [agi_accountcode] =>
 1C_CDR.php:     [agi_threadid] => 34968290304
 1C_CDR.php: )
 1C_CDR.php:
 1C_CDR.php: PHPAGI internal configuration:
 1C_CDR.php: Array
 1C_CDR.php: (
 1C_CDR.php:     [phpagi] => Array
 1C_CDR.php:         (
 1C_CDR.php:             [debug] => 1
 1C_CDR.php:             [error_handler] => 1
 1C_CDR.php:             [admin] => admin@secret
 1C_CDR.php:             [hostname] => hostname
 1C_CDR.php:             [tempdir] => /var/spool/asterisk/tmp/
 1C_CDR.php:         )
 1C_CDR.php:
 1C_CDR.php:     [festival] => Array
 1C_CDR.php:         (
 1C_CDR.php:             [text2wave] => /usr/bin/text2wave
 1C_CDR.php:         )
 1C_CDR.php:
 1C_CDR.php:     [asmanager] => Array
 1C_CDR.php:         (
 1C_CDR.php:             [server] => 10.0.1.253
 1C_CDR.php:             [port] => 5038
 1C_CDR.php:             [username] => 1cami
 1C_CDR.php:             [secret] => pass
 1C_CDR.php:         )
 1C_CDR.php:
 1C_CDR.php:     [cepstral] => Array
 1C_CDR.php:         (
 1C_CDR.php:             [swift] => /opt/swift/bin/swift
 1C_CDR.php:             [voice] => David
 1C_CDR.php:         )
 1C_CDR.php:
 1C_CDR.php: )
 1C_CDR.php:
 1C_CDR.php: SEVERE: Unknown database type:
 1C_CDR.php: SEVERE: Unable to connect to database.
 1C_CDR.php: SEVERE: Unknown database type:
 1C_CDR.php: SEVERE: Unable to connect to database.
    -- AGI Script Executing Application: (UserEvent) Options: (Refresh1CHistory,Channel:SIP/7001,Date:2014-11-10)
    -- <Local/10000555@miko_ajam-00000044;2>AGI Script 1C_CDR.php completed, returning 4
  == Spawn extension (miko_ajam, 10000555, 3) exited non-zero on 'Local/10000555@miko_ajam-00000044;2'
    -- SIP/external-00000216 is making progress passing it to SIP/internal-00000215
    -- SIP/external-00000212 answered SIP/internal-00000211
 
подключение к базе данных происходит через объект
$AGIDB = new AGIDB($agi, $db_name);
$db_name - имя базы данных
$agi - объект класса AGI

прочие параметры подключения к базе данных запрашиваются средствами объекта AGI
Код
      $this->dbtype = $this->get_var("AMPDBENGINE");
      $this->dbhost = $this->get_var("AMPDBHOST");
      $this->dbuser = $this->get_var("AMPDBUSER");
      $this->dbpass = $this->get_var("AMPDBPASS");
      $this->dbfile = $this->get_var("AMPDBFILE");
      $this->dbname = $this->get_var("AMPDBNAME");
Обычно - эти переменные (AMPDBENGINE, AMPDBHOST...) определяются в файле extension.conf и они стандартны для FreePBX дистрибутивов.

Класс AGIDB  описан в файле 1C_sql_class.php.
 
После обозначения переменных в extensions.conf получение истории заработало. Хорошо бы указать это в документации "универсальная" -- http://wiki.miko.ru/astpanel:ats:asterisk_v6, поскольку документация для freePBX совсем в другом месте. Теперь не работает 1C_Download.php,
Код
1C_Download.php: SEVERE PROGRAMMING ERROR: For portability, FIELDS must be surrounded by SINGLE QUOTES ('), yet none were found. Continuing.
    -- AGI Script Executing Application: (UserEvent) Options: (FailDownloadRecord,Channel:SIP/7001)
    -- <Local/10000666@miko_ajam-000000a9;2>AGI Script 1C_Download.php completed, returning 4
тоже непонятно, где он ищет и ищет ли вообще (учитывая выдаваемую ошибку).
 
Код
Notice: Undefined variable: searchDir in /usr/local/share/asterisk/agi-bin/1C_Download.php on line 71
 
Даже номер строки указан )))
Не определена переменная searchDir.

Существует более универсальный набор скриптов.
https://github.com/boffart/dialplan_miko_ajam

Возможно он будет полезен.
К сожалению он пока не достаточно задокументирован.
Разработан для Ubuntu, без FreePBX.
 
То, что она не определена я вижу и сам, я не вижу, чтобы у вас в документации (wiki, не для freepbx, а универсальная) было написано, что я в ВАШИХ скриптах, вашего продукта должен её определять сам и где я это должен делать.

Не вижу тут ничего особенно смешного, может плохо смотрю?

Если вы НЕ поддерживаете работу с обычным asterisk'ом, ну так прямо и напишите, зачем людей в заблуждение вводить? Для нас важно, чтобы мы могли работать с нашей АТС, иначе никакого смысла покупать ваш продукт нет.
Изменено: gennady.marchenko@gmail.com - 10.11.2014 16:25:32
 
Что не понятно из описания работы приложения?
Существует более универсальный набор скриптов. Что не понятно в его использовании?
 
>Что не понятно из описания работы приложения?
Все понятно. Непонятно, почему "приложение" написанное вами не работает.

Когда я вас спрашиваю - вы отвечаете "ну переменная же не определена", когда я спрашиваю "где она должна быть определена и почему вы не указали это в документации" вы отвечаете мне "есть другой набор скриптов".

>Существует более универсальный набор скриптов. Что не понятно в его использовании?
Где в документации написано, что я должен его использовать, а не то, на что дали ссылку при скачивании?

Я пытаюсь вам сообщить про пробелы в вашей документации или ваших скриптах чтобы вы могли их устранить и получить таким образом больше клиентов и денег за продажу вашего ПО. В т.ч. нам. Видимо я что-то делаю не так и вы не заинтересованы в этом.

 
В документации нигде не упоминается используемый скрипт.

Все понятно. Непонятно, почему "приложение" написанное вами не работает.

Скрипт разработан для FreePBX 2.8 (elastix)  и 2.11 (freepbx distro) и исправно работает на этих сборках (хотя я до конца не понял откуда именно был взят вами скрипт).

Где в документации написано, что я должен его использовать, а не то, на что дали ссылку при скачивании?
Нигде.
 
>В документации нигде не упоминается используемый скрипт.
Давайте попробуем вместе  ctrl-f нажать и поискать по указанной ссылке:
-- Executing [10000666@miko_ajam:2] NoOp("SIP/104-00000016", "internal calling application: 10000666 1C_Download";) in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/1C_Download.php


>Скрипт разработан для FreePBX 2.8 (elastix) и 2.11 (freepbx distro) и исправно работает
О'кей. Для обычного asterisk нет, но есть какие то другие скрипты, которые в теории должны работать, я правильно вас понял?

>Нигде.
Тогда может быть добавить?
 
Ок, выбирайте: либо мы пробуем Вам помочь или разводим тут холивар и споры.
Мне больше нравится первый вариант.
На второй отвечать не буду, просто закрою эту тему.
 
>Ок, выбирайте: либо мы пробуем Вам помочь
Я безусловно за этот вариант.
 
Начните с набор скриптов.
Файл pt1c/agi-bin/1C_Download.php описан более "универсально" и не "привязан" к FreePBX.
у него есть зависимости
Код
require_once('phpagi.php');
require_once('1C_Functions.php');
require_once('1C_sql_class.php');
все эти файлы есть в дистрибутив по указанной ссылке.
предполагается, что имя файла записи храниться в колонке recordingfile, если колонка не существует, то поиск производиться по userfield.

убедитесь, что эти поля заполняются в таблице cdr записей. В вашем случае эта таблица может называться как PT1C_cdr.
 
С download более менее разобрался, playback тоже работает. Указанные вами скрипты  пока ставить не стал - немного изменил существующие.
Ваши замечания по поводу обязательного наличия recordingfile и его заполнения были полезны, но к сожалению не смотря на наличие колонки recordingfile все равно используется userfield.

Остались еще вопросы (лучше их задать в новой теме или тут же?):

1. При входящем звонке открывает событие "телефонный звонок (исходящий)", хотелось бы (входящий).
2. При указании резервного телефона при невозможности ответить посылает АТС для набора номер в формате "XX-XX" (1С исправляет сама 4 знака на 2-2 автоматически, при вводе резервного номера в поле) вместо "XXXX", есс-но АТС отвечает, что такого номера нет.
3. Нет пункта "включить переадресацию"
4. Не добавляет "9" перед номерами когда жмем "перезвонить".
Изменено: gennady.marchenko@gmail.com - 11.11.2014 12:53:33
 
  1. Используется конфигурация 1С: CRM?  Судя по всему необходима доработка со стороны 1С. После записи события и его повторного открытия "направление звонка" сохраняется?  
  2. Решается настройкой со стороны 1С. Функция относится  к конфигурации. Называется наподобие "шаблоны номеров". См. настройках программы.
  3. Переадресация доступна только для АТС Askozia.
  4. А где Вы настроили добавление этого префикса?
Сообщения 1 - 15 из 20
Начало | Пред. | 1 2 | След. | Конец
Читают тему (гостей: 1)