Скринкаст установки и начального запуска

Для тех, кто предпочитает смотреть, а не читать.

 

Также предлагаем Вашему вниманию текстовое описание вышепроделанной работы.

Odoo

Система работает на базе Odoo версии 8. Скачать Odoo можно тут.

Следуйте инструкции по установке Odoo для Вашей ОС.

Asterisk

Требуется Asterisk версии 12 и выше. 

Следуйте инструкции по установке Asterisk для Вашей ОС.

В Asterisk должна быть собрана функция CURL, проверить:

*CLI> core show function CURL
  -= Info about function 'CURL' =- 

Данная функция используется для обновления статуса звонков.

Asterisk ARI

Для работы с Asterisk требуется библиотека Asterisk RESTful Interface (ARI), которую можно установить через pip install ari.

Asterisk Dialer

Скачайте Asterisk Dialer, и поместите его в папку с модулями Odoo.  Вы можете воспользоватсья скриптом по автоматической установке всех компонентов в текущую директорию, скачать install.sh или запустить из web:
wget -O - https://raw.githubusercontent.com/litnimax/asterisk_dialer/master/install.sh | bash

Asterisk extensions.conf

В план набора Asterisk необхолимо добавать следующий диалплан:

[peer-1]
include => dialer_hangup
exten => _X!,1,Dial(SIP/${EXTEN}@peer-1,60,g)

[peer-2]
include => dialer_hangup
exten => _X!,1,Dial(SIP/${EXTEN}@peer-2,60,g)

[e1]
include => dialer_hangup
exten => _X!,1,Dial(DAHDI/g0/${EXTEN},60,g)

[dialer_hangup]
exten => h,1,Set(res=${CURL(http://localhost:8069/dialer/channel_update/?channel_id=${UNIQUEID}&status=${DIALSTATUS}&answered_time=${ANSWEREDTIME})})
;
;exten => h,n,Verbose(CALL ID: ${UNIQUEID}, DIAL STATUS: ${DIALSTATUS}, UPDATE RESULT: ${res})
          

Система использует Local канал Asterisk для оригинации звонка через ARI (из-за ограничения Asterisk по возвращения статуса асинхронно оригинированного звонка).

В настройках маршрутизации в качестве  Названия Контекста Вызова следует указывать имя контекста Asterisk, в вышеприведенном примере это будет peer-1, peer-2, e1.

Совет. Иногда требуется ограничить максимальное возможную продолжительность разговора, например, для борьбы с зависшими звонками. В этом случае в параметры команды Dial можно добавить флаг S(timeout), подробности см. в core show application Dial.

Asterisk ari.conf

Необходимо активировать ARI в Asterisk.  Пример конфигурационного файла:
allowed_origins = *
[username]
type = user
read_only = no
password = $6$GPX.W2HVNvy9Bo$EeHySUu89U8.Wg6BvJCWNv51bDhu82t8gNz1u5n83MH1qWK282G2zV4V4neFldBRNb.nVchmRq28EGFTYl4QH.
password_format = crypt

Конфигурационный файл Odoo

Необходимо обратить внимание и переопределить значение опции data_dir, так как загружаемые голосовые файлы сохраняются в данной папке, к которой к тому же должен иметь доступ на чтение Asterisk.
Пример минимального конфигурационного файла Odoo:
 
            
[options]
addons_path = /home/max/tmp-work/odoo/odoo/openerp/addons,/home/max/tmp-work/odoo/myaddons,/home/max/tmp-work/odoo/odoo/addons,
admin_passwd = admin
data_dir = /home/max/tmp-work/odoo/filestore
db_host = localhost
db_password = openerp
db_user = openerp
dbfilter = .*
debug_mode = False
log_level = info
logfile = False
          

Режим Stasis приложения

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

Режим Плана Набора Asterisk

Данный режим позволяет расширять функциональные возможности Обзвонщика при помощи плана набора Asterisk. Например, если вместо голосового оповещения требуется перенаправление отвеченных вызовов в кол-центр на оператора, в extensions.conf создается следующий план набора:
 
            
[queue]
exten => _X.,1,Queue(test)
          

Чтобы данный пример заработал, необходимо установить тип Обзвонщика в План Набора Asterisk, и указать название контекста queue (без квадратных скобок).

Таким образом, все отвеченные вызовы будут направлены в очередь queue.

Вопросы и Ответы

Задать свой вопрос или обратиться за бесплатной консультацией по работе Обзвонщика можно в разделе Вопросов и Ответов.  

Баги на GitHub

Список багов, а также новые функции, находящиеся в разработке, можно увидеть на сайте проекта

Заказать разработку

Вы можете написать нам и рассказать о своем проекте, и мы адаптируем наш Продукт к Вашим требованиям, или проведем проект интеграции Продукта с Вашей Системой.