Skip to content

AMI/ARI integration of Asterisk-based PBX with Bitrix24 CRM

License

Notifications You must be signed in to change notification settings

vaestvita/bitrix-asterisk

Repository files navigation

Bitrix AMI/ARI

Протестировано с Asterisk v. 16, 18, 20 (FreePBX) - если названия используемых в фильтрах контекстов, отличаются от используемых в вашей системе - замените их.

Скрипт позволяет отправлять историю звонков и файлы записей из Asterisk (FreePBX) в Битрикс24

Работает с AMI событиями CEL или ARI

Настройка на стороне Битрикс24

  • Входящий вебхук с правами: crm, user, telephony. Интеграции > Rest API > Другое > Входящий вебхук
  • Исходящий вебхук для события ONEXTERNALCALLSTART (звонок по клику)

Установка

Для временного хранения информации о звонках используется RedisJSON

docker run -p 6379:6379 --name redis-stack redis/redis-stack:latest
cd /opt
git clone https://github.com/vaestvita/bitrix-asterisk.git
cd bitrix-asterisk
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp examples/config.ini config.ini
nano config.ini

Заполнить данные в config.ini

Описание параметров [bitrix]

  • [url] - Адрес воходящего вебхука.
  • [token] - Выдаётся Битриксом при создании исходящего вебхука
  • [crm_create] - Создавать или нет сущность CRM (1/0)
  • [show_card] - Показывать или нет карточку клиента (1/0)
  • [default_phone] - Внутренний номер по умолчанию (должен быть указан в настройках телефонии - пользователи телефонии).

Описание параметров [asterisk]

  • [ws_type] - wss/ws - требуестя при подключении к ARI
  • [host] - адрес ATC (example.com)
  • [port] - AMI/ARI порт
  • [username] - AMI/ARI пользователь
  • [secret] - AMI/ARI пароль
  • [records_url] - url с записями звонков с HTTP Basic Auth (https://example.com/monitor/). Пример конфига Apache
  • [record_user] - логин Basic Auth
  • [record_pass] - пароль Basic Auth
  • [loc_count] - количество знаков внутренних номеров. Если поставить 0, то внутренние звонки тоже будет передаваться в битрикс
  • [loc_contexts] - список контекстов внутренних (исходящие) вызовов. По умолчанию "from-internal"
  • [out_contexts] - список контекстов внешних вызовов. По умолчанию "from-pstn"
  • [logging] - True/False - включить/отключить запись получаемых событий в файл.

Запуск интеграции

  • ARI - python ari/engine.py
  • AMI - python ami/engine.py
  • ARI + Click2call - python ari/app.py
  • AMI + Click2call - python ami/app.py
  • Yeastar API - python yestar/app.py

Пример конфигурации systemd для автоматического запуска

Releases

No releases published

Languages