25.03.2019

freepbx + a2biling different places

Чтобы разнести а2биллинг и астериск по разным машинам, нужно определиться будем ли мы запускать скрипты на машине с астериском или через fastAGI

в интернете есть упоминания о том, что при использовании fastAGI возникли проблемы с биллингом по этому,был выбран путь 1. скачать скрипты, подключиться к БД и вперед

Есть одно неудобство, которая пока не знаю как победить – просмотр логов из панели а2биллинга невозможет, т.к. они лежат на другой тачке.

Что нужно чтобы скрипты заработали, за основу берем хорошую статью:

  • Скачать исходники а2биллинга(распаковывать кстати командой unzip, через mc Занимает много времени)
  • добавить AGI

Цитата: Set up AGI

mkdir /var/lib/asterisk/agi-bin
cd /usr/src/a2billing/AGI               
cp a2billing.php /var/lib/asterisk/agi-bin
cp a2billing_monitoring.php /var/lib/asterisk/agi-bin
chown -R asterisk. /var/lib/asterisk/agi-bin
chmod 755 /var/lib/asterisk/agi-bin/a2billing.php
chmod 755 /var/lib/asterisk/agi-bin/a2billing_monitoring.php
ln -s /var/www/html/a2billing/common/lib /var/lib/asterisk/agi-bin/lib
ln -s /var/www/html/a2billing/vendor /var/lib/asterisk/vendor

Add the following extensions to /etc/asterisk/extensions_custom.conf

If not using Freepbx then this would go into /etc/asterisk/extensions.conf.  Customize this to your needs.

The 1 in a2billing.php,1 refers to the default agi-conf1 configuration in a2billing system settings.  It is possible to add additional agi-conf such as agi-conf2 etc. via System Settings > Add agi-conf.

nano /etc/asterisk/extensions_custom.conf
[a2billing-did] 
exten => _X.,1,AGI(a2billing.php,1,did)
exten => _X.,n,Hangup()

[a2billing-out]
exten => _X.,1,AGI(a2billing.php,1)
exten => _X.,n,Hangup()

Add custom destinations to FreePBX via FreePBX GUI>Admin>Custom Destinations

These destinations are referring to the custom extensions created above in /etc/asterisk/extensions_custom.conf

Target: a2billing-did,${EXTEN},1 
Description: A2Billing - Inbound

Target: a2billing-out,${EXTEN},1 
Description: A2Billing - Outbound

Create inbound route

We are creating a universal DID inbound route.  This requires _. in the DID number field.  That is underscore character followed by period or dot character. 

Connectivity > Inbound Routes

Description: Some descriptive name

DID number: _.

Set Destination: Custom Destinations
                               A2Billing - Inbound