Диагностика проблем создания дел

По результату разговора дела могут не создаваться по следующим причинам:


0. Состоялся разговор между сотрудниками на портале.

Внимание! Дела по разговорам между сотрудниками портала не создаются!

Если телефонный номер на который Вы звоните указан в контактах сотрудника - этот разговор тоже будет считаться внутренним и дело создано не будет.


  1. Нет доступа к MySQL таблице CDR (в будущем CDR)
  2. Данные о разговоре не попадают в CDR
  3. Не указаны контексты для входящих и исходящих разговоров, или они указаны не верно, либо данные в CDR не корректны

1. Нет доступа к CDR

Убедитесь, что в серверных настройках верно указаны реквизиты подключения к MySQL. При подключении к базе с указанными реквизитами должна быть доступна таблица `cdr`.


Распространенные проблемы:

  • Указана база MySQL, в которой нет таблицы `cdr`. Например, для FreePBX указана база `asterisk`, тогда как `cdr` расположена в `asteriskcdrdb`

2. Данные о разговоре не попадают в CDR

Для проверки, совершите разговор с клиентом, положите трубку и выполните в SQL-клиенте запрос

SELECT * FROM `cdr` ORDER BY `calldate` DESC LIMIT 50

В полученной выборке найдите данные о состоявшемся разговоре.

Если их нет - обратитесь к вашим специалистам по Asterisk с этой проблемой. В CDR должны попадать данные обо всех состоявшихся разговорах


Распространенные проблемы:

  • Asterisk настроен вручную и в CDR попадают данные о входящих вызовах, но не попадают об исходящих. Или, наоборот.

3. Контексты для входящих и исходящих вызовов, данные в CDR

Для отладки создания дел необходимо:

  1. Совершить звонок, поговорить, положить трубку
  2. Выполнить в SQL-клиенте запрос: SELECT * FROM `cdr` ORDER BY `calldate` DESC LIMIT 50
  3. Найти запись, относящуюся к совершенному звонку

При определении направления вызова мы опираемся на контекст: в настройках приложения вы указали контексты входящих и исходящих вызовов. Проверьте, что для текущей записи указан контекст, он присутствует в только в списке входящих, или только в списке исходящих контекстов, по нему однозначно можно определить направление вызова.


Для входящих звонков данные берутся из полей:

  • Звонящий - src
  • Ответивший - из dstchannel
  • Номер, на который пришел звонок - did

Для исходящих звонков данные берутся из полей:

  • Звонящий - из channel
  • Ответивший - из lastdata

В том случае, если в этих полях не содержатся нужные данные, необходимо проводить настройки Asterisk, или производить кастомизацию приложения. Вы можете провести её самостоятельно в файле bx24asterisk_parser.php, либо обратиться к нашим специалистам.


В том случае, если у вас всегда данные о звонившем и ответившем содержатся в полях src и dst, независимо от контекста, добавьте, или замените функцию convertHistoryToCall(array $entry) в файле bx24asterisk_parser.php на следующее:

public function convertHistoryEntryToCall(array $entry)
{
    $call = array(
        "from" => $entry["src"],
        "to" => $entry["dst"],
        "direction" => ($this->isInternalPhoneNumber($entry['src'])) ? "out" : "in",
        "external" => $entry["did"],
    );
    return $call;
}


Распространенные проблемы:

  • Один контекст используется и для входящих и для исходящих вызовов. В таком случае, потребуется кастомизация приложения, обратитесь в нашу службу технической поддержки
  • Нет поля did, или оно не заполнено. В таком случае информация об источнике лида не будет попадать в CRM


Эта статья была полезна для 2 людей. Эта статья помогла вам?

Сервис поддержки клиентов работает на платформе UserEcho