Администраторы группы

  • Аватар

Модераторы группы

  • Аватар

Интеграция Vtiger CRM

Открытая группа активность: 2 дн., 10 ч. назад

Обсуждаем вопросы использования интеграции SalesPlatform Vtiger CRM с другими системами: Asterisk, 1С и др., а также использование Клиентского портала.

servlets.MakeCallServlet WARN [...] – Request to get recording with invalid secret key null (записей: 15)

← Форум группы   Все форумы
  • Аватар Виталий - 1 мес. назад:

    SPv6.4 и AsteriskConnector 1.4
    не удается настроить прослушку разговоров. Сами записи видно, но как только жмешь прослушать, получаю это – servlets.MakeCallServlet WARN [...] – Request to get recording with invalid secret key null

    а весь остальной функционал с этим secret key работает нормально…
    кто знает куда копнуть?

  • Аватар Алексей - 1 мес. назад:

    Да, собственно, туда же, куда и обычно.
    Самое главное – это понять, что это простой форум, а не съезд телепатов.
    Для тех, кто в танке: конфиги, может, стоит выложить? Описание где что работает?

  • Аватар Виталий - 1 мес. назад:

    Алексей, упражняетесь в остроумии?
    Ну а что тут выкладывать если ВСЕ работает?
    Исходящие звонки из СРМ совершаются, входящие принимаются, окошки всплывают, во вкладке ЗВОНКИ статистика звонков отображается, отображается возможность прослушки записей разговоров.
    НО когда жмешь прослушать запись, в логе вываливается – Request to get recording with invalid secret key null

    я пытался поставить неправильный VtigerSecretKey, но тогда коннектор перестает совершать исходяшие звонки. Значит VtigerSecretKey первоначально у меня был правильный. Похоже на какой-то БАГ…

    ServerIP = 1.1.1.1
    ServerPort = 5000
    AsteriskAppDBPath = /path/to/db

    AsteriskServerIP = 127.0.0.1
    AsteriskServerPort = 5038
    AsteriskUsername = login
    AsteriskPassword = pass

    VtigerURL = http://2.2.2.2
    VtigerSecretKey = passkey

    DefaultOriginateChannelProtocol = SIP

    естественно, все пути, IP и пароли в данном примере изменены.

  • Аватар Алексей - 1 мес. назад:

    Это баг, кстати, да. Напишите на гитхаб, пусть разработчики с вас тоже поржут. Удачи.

  • Аватар Михаил - 3 нед., 6 дн. назад:

    Это не проблема ключа.
    Что то в коннекторе 1,4
    Так как если считать напрямю по ссылке
    http://192.168.0.14:5000/recording?id=1
    Получаю Request to get recording with invalid secret key null
    в sqlite запись есть.
    INSERT INTO «spvtiger_calls_info» VALUES(1,’1500583074′,’1500583074′,’HangupEvent’,NULL,’SIP/oti-00000085′,’79100000000′,’953′,NULL,NULL,NULL,’Unlink’,'Normal Clearing’,'/var
    /spool/asterisk/monitor/2017/07/20/rg-601-79100000000-20170720-233754-1500583074.135.wav’,'http://192.168.0.14:5000/recording?id=1′);

  • Аватар Алексей - 3 нед., 5 дн. назад:

    Причина в том, что с версии 1.4.0 коннектор проверяет в запросе для получения записи наличие ключа. А более старые версии crm его не присылают. На следующей неделе выпустим версию 1.4.1 с некоторыми исправлением. В нее же добавим опцию для необязательности проверки ключа.

  • Аватар Михаил - 3 нед., 5 дн. назад:

    У меня последняя версия CRM – 7

  • Аватар Алексей - 3 нед., 5 дн. назад:

    Версия 7 от SP?

    Если да, то не могли бы вы выложить файл modules/PBXManager/actions/ListenRecord.php в вашей системе на ресурс?

  • Аватар Алексей Зозуля - 3 нед., 5 дн. назад:

    SalesPlatform Asterisk Connector 1.4.1 доступен для загрузки.

  • Аватар Михаил - 3 нед., 5 дн. назад:

    файл
    ListenRecord.php

    getModule();

    if(!Users_Privileges_Model::isPermitted($moduleName, ‘ListView’, $request->get(‘record’))) {
    throw new AppException(vtranslate(‘LBL_PERMISSION_DENIED’, $moduleName));
    }
    }

    public function process(Vtiger_Request $request) {
    $pbxRecordModel = PBXManager_Record_Model::getInstanceById($request->get(‘record’));
    if($pbxRecordModel->get(‘recordingurl’) != null) {
    $curl = $this->prepareCurl($pbxRecordModel);
    $response = curl_exec($curl);
    $requestInfo = curl_getinfo($curl);
    if($requestInfo !== false) {
    if($requestInfo['http_code'] == 200) {
    $headerSize = $requestInfo['header_size'];
    $headerContent = substr($response, 0, $headerSize);
    $bodyContent = substr($response, $headerSize);

    $headersList = $this->getHeadersList($headerContent);
    header(‘Content-Type: ‘ . $headersList['content-type']);
    header(‘Content-Length: ‘ . $headersList['content-length']);
    header(‘Content-disposition: ‘ . $headersList['content-disposition']);
    echo $bodyContent;
    }
    }
    curl_close($curl);
    }
    }
    private function prepareCurl($pbxRecordModel) {
    $pbxSettinsModel = PBXManager_Server_Model::getInstance();
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_HEADER, 1);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($curl, CURLOPT_URL, $pbxRecordModel->get(‘recordingurl’) . «&secret=» . urlencode($pbxSettinsModel->get(‘vtigersecretkey’)));

    return $curl;
    }

    private function getHeadersList($headerContent) {
    $headersList = array();
    foreach(explode(«rn», $headerContent) as $number => $header) {
    if($number == 0) {
    $headersList['http_code'] = $header;
    } else {
    list($headerName, $headerValue) = explode(‘: ‘, $header);
    $headersList[strtolower($headerName)] = trim($headerValue);
    }
    }

    return $headersList;
    }
    }

  • Аватар Михаил - 3 нед., 5 дн. назад:

    Спасибо за новый релиз!
    При запуске в логе
    Error: Could not find or load main class spasteriskconnector.SPAsteriskConnector

  • Аватар Виталий - 2 нед. назад:

    У меня на версии 6.4.0 новый релиз коннектора по-мимо Error: Could not find or load main class spasteriskconnector.SPAsteriskConnector еще и перестал отображать звонки…

    6.4.0 + 1.4.0. у меня показывает только входящие звонки и неактивные записи разговоров
    6.4.0 + 1.4.1 – ни каких не показывает.

  • Аватар Виталий - 2 нед. назад:

    p.s.
    для 1.4.1 в ../bin/webapp.sh ошибка в пути к class spasteriskconnector.SPAsteriskConnector.
    исправив его, я получил то, что описал в предыдущем посту.

  • Аватар Николай - 1 нед., 2 дн. назад:

    Error: Could not find or load main class spasteriskconnector.SPAsteriskConnector
    Разработчики что скажут?
    Asterisk 13.9
    Connector 1.4.1
    SalesPlatform 7
    openjdk version «1.8.0_141″
    OpenJDK Runtime Environment (build 1.8.0_141-b16)
    OpenJDK 64-Bit Server VM (build 25.141-b16, mixed mode)

  • Аватар Алексей Зозуля - 1 нед., 2 дн. назад:

    Надо подправить скрипт webapp.sh – вместо ../SPAsteriskConnector/build/classes: должно быть ../source/classes:

    И рекомендуется использовать Oracle JDK.