AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Asterisk 1.8.7+FreePBX 2.9.0+a2billing(nixonch) установка.

Биллинг 23 сообщений -
#1

Asterisk 1.8.7+FreePBX 2.9.0+a2billing(nixonch) установка.


Здравствуйте!

Прошу помощи.
Имеется связка Asterisk 1.8.7+FreePBX 2.9.0, к ней прикручиваю a2billing(nixonch) взятый от сюда https://github.com/nixonch/a2billing.

При открытии http://ip-addr/a2billing/admin/Public/ - пустая страница.

В логе httpd/error_log появляются след. записи:

[Wed Apr 04 19:04:43 2012] [error] [client 192.168.0.49] PHP Notice: Undefined
index: worldpay in /var/www/html/a2billing/common/lib/admin.help.php on line 31
1
[Wed Apr 04 19:04:43 2012] [error] [client 192.168.0.49] PHP Fatal error: Call
to undefined function filter_var() in /var/www/html/a2billing/common/lib/protect
_sqli.php on line 18

До этого ставил версию с asterisk2billing.org - работала нормально.
#3

Спасибо.
#4

Пожалуйста подскажите, есть ли какая-то пошаговая инструкция по установке nixonch на сборку Elastix?
#6

Возможно ли использование отдельного патча для A2Billing 1.9.4 или замена некоторых файлов, чтобы избежать переустановки биллинга полностью?
#7

1. Полностью замените содержимое каталога с а2б на новое.
2. Дополнения к базе накатите с помощью DataBase/mysql-5.x/UPDATE-a2billing-nixonch.sh
Скрипт может выдавать ошибки о невозможности создания таблиц и полей - это нормально, только если вы подновляете базу не в первый раз.

_________________
https://github.com/nixonch/a2billing
#8

Че то такая же фигня вылезла, как у ТС. Систему ставил новую, на чистую машину, по стандартному сценарию. Сам веб-интерфейс работает, но при изменении конфигурационных файлов типа additional_a2billing_sip.conf появляются вышеупомянутые ошибки.
Еще дополнительно возникает:
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32 bytes) in /var/www/a2billing/admin/Public/cls_phpconfig.php on line 441, referer: http://xxx.xxx.xxx.xxx/a2billing/admin/P ... g_sip.conf

Памяти выделил уже 256 мб.

Правда у меня астериск 1.10.3 и без фрипбх.
#9

Цитата:
Правда у меня астериск 1.10.3 и без фрипбх.

Не влияет на объем conf файла

_________________
https://github.com/nixonch/a2billing
#10

А не подскажите с чем тогда связана эта ошибка.
Права на запись стоят:
-rwxr-x--- 1 www-data asterisk 0 Apr 11 01:42 /etc/asterisk/additional_a2billing_sip.conf

апач запущен под www-data.
Когда меняю через а2б конфигурационный файл, то вроде в вебе никаких ошибок не возникает, просто возвращает к списку файлов.
#11

Всем привет. Установил вилку nixonch на Elastix. Если зайти через веб-морду Elastix, то появляется белая стриница. Родной a2billing работал нормально. В теме предлагалось установить php-фильтры. Можно поподробнее?
#12

Abwer, если пофиксите проблему высылайте плиз патч, добавлю в ветку.
_________________
https://github.com/nixonch/a2billing
#13

Кому-нибудь удалось решить проблему пустого экрана в Elastix?
#14

Проблема с пустым экраном решена путём установки php-фильтров. web-морда открывается. но возникла другая проблема: не работают ограничения "First Destination Limited". звонок проходит как через обычный биллинг. "USED SECONDS PER PERIOD A" и "LAST CALL STOPPED A" по нулям. подскажите, куда копать? базу пропатчил.
#15

Цитата:
DIALPREFIX A
Определите условие-префикс, с учётом отработки REMOVE PREFIX, чтобы обрабатывался этот блок правил

Например,
    _0(50|66|95|99).

_________________
https://github.com/nixonch/a2billing
#16

REMOVE PREFIX у меня пусто, а DIALPREFIX A к примеру _1. при таких параметрах ограничение не работает.
#17

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

_________________
https://github.com/nixonch/a2billing
#18

[/img]






Есть некоторое предложение по вилке:
Если возможно, добавьте, пожалуйста, ограничение по кол-ву звонков за период. Это актуально для SIPNET.
#19

1. DIALPREFIX A = 1
    если у вас это правило должно выполняться для номеров начинающихся с 1, то должно быть записано
    _1X.
2. Если у вас один участник в развесовке, то RANDOM TRUNKS должен быть пустым.

3. MAXIMUM SECONDS PER PERIOD = 20
    нельзя делать меньше чем
    MIN TIME LEFT FOR CALL = 60
    да и 20 секунд на день - как то маловато.
4. Планируется ввести ограничитель количества удачных звонков, но он не на первом месте. Ждите или делайте сами - с удовольствием добавлю.

_________________
https://github.com/nixonch/a2billing
#20

Здравствуйте!
установил сабж, страница открывается, но получаем licence violation и дальше ничего не работает
на форуме asterisk2billing.org об этом пишут, что происходит в случае if you remove/edit the author, AGPL, or copyright information from the installation
http://forum.asterisk2billing.org/viewto ... f7d#p36832
я ничего такого не делал( да и не умею), только установил как указано здесь
Цитата:
1. Полностью замените содержимое каталога с а2б на новое.
2. Дополнения к базе накатите с помощью DataBase/mysql-5.x/UPDATE-a2billing-nixonch.sh

Shocked
какие варианты?
1. Криво установлено?
2. a2billing nixonch - платный?
3. ???

Подскажите плиз, что делать
#21

Добрый день всем.
Не стал открывать новую тему.

Установил а2б по этой http://www.powerpbx.org/content/a2billing-install-guide-v1 инструкции. Всё работает пока я звоню с экстеншена. Но как только я делаю CF или звоню на внешний номер через ринг-групп то требует секретного кода.

Код:
-- Executing [s@macro-auto-blkvm:4] ExecIf("Local/0542000440@from-internal-00000309;1", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(name))=)") in new stack
-- Executing [0542000440@custom-freepbx-a2billing:2] Wait("Local/0542000440@from-internal-00000309;2", "1") in new stack
-- Executing [0542000440@custom-freepbx-a2billing:3] Set("Local/0542000440@from-internal-00000309;2", "ACCOUNTCODE=5593599118") in new stack
-- Executing [0542000440@custom-freepbx-a2billing:4] DeadAGI("Local/0542000440@from-internal-00000309;2", "a2billing.php,1") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/a2billing.php
a2billing.php,1: file:Class.A2Billing.php - line:621 - uniqueid: - A2Billing AGI internal configuration:
a2billing.php,1: file:Class.A2Billing.php - line:622 - uniqueid: - Array
a2billing.php,1: (
a2billing.php,1: [dialcommand_param_call_2did] => |60|HiL(%timeout%:61000:30000)
a2billing.php,1: [description] => agi-config
a2billing.php,1: [asterisk_version] => 1_8
a2billing.php,1: [answer_call] => 1
a2billing.php,1: [play_audio] => 1
a2billing.php,1: [say_goodbye] => 0
a2billing.php,1: [play_menulanguage] => 0
a2billing.php,1: [force_language] =>
a2billing.php,1: [intro_prompt] =>
a2billing.php,1: [min_credit_2call] => 0
a2billing.php,1: [min_duration_2bill] => 0
a2billing.php,1: [notenoughcredit_cardnumber] => 0
a2billing.php,1: [notenoughcredit_assign_newcardnumber_cid] => 1
a2billing.php,1: [use_dnid] => 1
a2billing.php,1: [no_auth_dnid] => Array
a2billing.php,1: (
a2billing.php,1: [0] => 2400
a2billing.php,1: [1] => 2300
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [number_try] => 1
a2billing.php,1: [force_callplan_id] =>
a2billing.php,1: [say_balance_after_auth] => 0
a2billing.php,1: [say_balance_after_call] => 0
a2billing.php,1: [say_rateinitial] => 0
a2billing.php,1: [say_timetocall] => 0
a2billing.php,1: [auto_setcallerid] => 0
a2billing.php,1: [force_callerid] =>
a2billing.php,1: [cid_sanitize] => BOTH
a2billing.php,1: [cid_enable] => 0
a2billing.php,1: [cid_askpincode_ifnot_callerid] => 0
a2billing.php,1: [failover_lc_prefix] => 0
a2billing.php,1: [cid_auto_assign_card_to_cid] => 0
a2billing.php,1: [callerid_authentication_over_cardnumber] => 0
a2billing.php,1: [sip_iax_friends] => 0
a2billing.php,1: [sip_iax_pstn_direct_call_prefix] => 555
a2billing.php,1: [sip_iax_pstn_direct_call] => 0
a2billing.php,1: [ivr_voucher] => 0
a2billing.php,1: [ivr_voucher_prefix] => 8
a2billing.php,1: [jump_voucher_if_min_credit] => 0
a2billing.php,1: [dialcommand_param] => |60|HRrL(%timeout%:61000:30000)
a2billing.php,1: [dialcommand_param_sipiax_friend] => |60|HiL(3600000:61000:30000)
a2billing.php,1: [switchdialcommand] => 0
a2billing.php,1: [failover_recursive_limit] => 2
a2billing.php,1: [maxtime_tocall_negatif_free_route] => 5400
a2billing.php,1: [send_reminder] => 0
a2billing.php,1: [record_call] => 0
a2billing.php,1: [monitor_formatfile] => gsm
a2billing.php,1: [agi_force_currency] =>
a2billing.php,1: [currency_association] => Array
a2billing.php,1: (
a2billing.php,1: [0] => usd:dollars
a2billing.php,1: [1] => mxn:pesos
a2billing.php,1: [2] => eur:euros
a2billing.php,1: [3] => all:credit
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [local_dialing_addcountryprefix] => 0
a2billing.php,1: [max_call_call_2_did] => 3600
a2billing.php,1: [file_conf_enter_destination] => prepaid-enter-dest
a2billing.php,1: [conf_order_menulang] => en:fr:es
a2billing.php,1: [callback_bill_1stleg_ifcall_notconnected] => 1
a2billing.php,1: [international_prefixes] => Array
a2billing.php,1: (
a2billing.php,1: [0] => 011
a2billing.php,1: [1] => 00
a2billing.php,1: [2] => 09
a2billing.php,1: [3] => 1
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [extracharge_did] => Array
a2billing.php,1: (
a2billing.php,1: [0] => 1800
a2billing.php,1: [1] => 1900
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [extracharge_fee] => Array
a2billing.php,1: (
a2billing.php,1: [0] => 0
a2billing.php,1: [1] => 0
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [extracharge_buyfee] => Array
a2billing.php,1: (
a2billing.php,1: [0] => 0
a2billing.php,1: [1] => 0
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [maxtime_tounlimited_calls] => 5400
a2billing.php,1: [maxtime_tofree_calls] => 5400
a2billing.php,1: [callplan_deck_minute_threshold] =>
a2billing.php,1: [disable_announcement_seconds] => 0
a2billing.php,1: [currency_cents_association] => Array
a2billing.php,1: (
a2billing.php,1: [0] => usd:prepaid-cents
a2billing.php,1: [1] => eur:prepaid-cents
a2billing.php,1: [2] => gbp:prepaid-pence
a2billing.php,1: [3] => all:credit
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [verbosity_level] => 4
a2billing.php,1: [logging_level] => 3
a2billing.php,1: [dial_balance_reservation] => 0.25
a2billing.php,1: [callerid_update] => 0
a2billing.php,1: [cid_auto_create_card] => 0
a2billing.php,1: [cid_auto_create_card_len] => 10
a2billing.php,1: [cid_auto_create_card_typepaid] => POSTPAID
a2billing.php,1: [cid_auto_create_card_credit] => 0
a2billing.php,1: [cid_auto_create_card_credit_limit] => 0
a2billing.php,1: [cid_auto_create_card_tariffgroup] => 1
a2billing.php,1: [busy_timeout] => 1
a2billing.php,1: [callback_reduce_balance] => 1
a2billing.php,1: [ivr_enable_locking_option] => 0
a2billing.php,1: [ivr_enable_account_information] => 0
a2billing.php,1: [ivr_enable_ivr_speeddial] => 0
a2billing.php,1: [play_rate_cents_if_lower_one] => 0
a2billing.php,1: [callback_beep_to_enter_destination] => 0
a2billing.php,1: [cid_prompt_callback_confirm_phonenumber] => 0
a2billing.php,1: [lcr_mode] => 0
a2billing.php,1: [logger_enable] => 1
a2billing.php,1: [log_file] => /var/log/a2billing/a2billing.log
a2billing.php,1: [dialcommand_param_call_2did ] => |30|HL(3600000:61000:30000)
a2billing.php,1: [currency_association_internal] => Array
a2billing.php,1: (
a2billing.php,1: [usd] => dollars
a2billing.php,1: [mxn] => pesos
a2billing.php,1: [eur] => euros
a2billing.php,1: [all] => credit
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [currency_cents_association_internal] => Array
a2billing.php,1: (
a2billing.php,1: [usd] => prepaid-cents
a2billing.php,1: [eur] => prepaid-cents
a2billing.php,1: [gbp] => prepaid-pence
a2billing.php,1: [all] => credit
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: [file_conf_enter_menulang] => prepaid-menulang
a2billing.php,1: [ivr_voucher_prefixe] => 8
a2billing.php,1: [cheat_on_announcement_time] => 0
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: file:a2billing.php - line:113 - uniqueid: - IDCONFIG : 1
a2billing.php,1: file:a2billing.php - line:114 - uniqueid: - MODE : standard
a2billing.php,1: file:a2billing.php - line:146 - uniqueid: - AGI Request:
a2billing.php,1: Array
a2billing.php,1: (
a2billing.php,1: [agi_request] => a2billing.php
a2billing.php,1: [agi_channel] => Local/0542000440@from-internal-00000309;2
a2billing.php,1: [agi_language] => he
a2billing.php,1: [agi_type] => Local
a2billing.php,1: [agi_uniqueid] => 1373451127.7133
a2billing.php,1: [agi_version] => 1.8.22.0
a2billing.php,1: [agi_callerid] => 36083588
a2billing.php,1: [agi_calleridname] => unknown
a2billing.php,1: [agi_callingpres] => 0
a2billing.php,1: [agi_callingani2] => 0
a2billing.php,1: [agi_callington] => 1
a2billing.php,1: [agi_callingtns] => 0
a2billing.php,1: [agi_dnid] => unknown
a2billing.php,1: [agi_rdnis] => unknown
a2billing.php,1: [agi_context] => custom-freepbx-a2billing
a2billing.php,1: [agi_extension] => 0542000440
a2billing.php,1: [agi_priority] => 4
a2billing.php,1: [agi_enhanced] => 0.0
a2billing.php,1: [agi_accountcode] =>
a2billing.php,1: [agi_threadid] => 23825264
a2billing.php,1: [agi_arg_1] => 1
a2billing.php,1: )
a2billing.php,1:
a2billing.php,1: file:a2billing.php - line:148 - uniqueid: - [INFO : A2Billing - Version 1.9.4 (Cuprum)]
a2billing.php,1: file:Class.A2Billing.php - line:773 - uniqueid:1373451127.7133 - get_agi_request_parameter = 36083588 ; Local/0542000440@from-internal-00000309;2 ; 1373451127.7133 ; ; 0542000440
a2billing.php,1: file:a2billing.php - line:340 - uniqueid:1373451127.7133 - [ANSWER CALL]
a2billing.php,1: file:Class.A2Billing.php - line:2877 - uniqueid:1373451127.7133 - - Account code ::>
a2billing.php,1: file:Class.A2Billing.php - line:3061 - uniqueid:1373451127.7133 - Requesting DTMF, CARDNUMBER_LENGTH_MAX 15
-- Playing 'prepaid-enter-pin-number.slin' (language 'he')
-- Executing [h@macro-dial:1] Macro("IAX2/kmtnewiax-7045", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("IAX2/kmtnewiax-7045", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] Hangup("IAX2/kmtnewiax-7045", "") in new stack


В глобалс я выставил ACCOUNTCODE=8732536. У меня нет разных клиентов. Есть только один аккаунт. Но тем не менее всё-равно получаю:

Код:

a2billing.php,1: Array
a2billing.php,1: (
a2billing.php,1: [agi_request] => a2billing.php
a2billing.php,1: [agi_channel] => Local/0542000440@from-internal-00000309;2
a2billing.php,1: [agi_language] => he
a2billing.php,1: [agi_type] => Local
a2billing.php,1: [agi_uniqueid] => 1373451127.7133
a2billing.php,1: [agi_version] => 1.8.22.0
a2billing.php,1: [agi_callerid] => 36083588
a2billing.php,1: [agi_calleridname] => unknown
a2billing.php,1: [agi_callingpres] => 0
a2billing.php,1: [agi_callingani2] => 0
a2billing.php,1: [agi_callington] => 1
a2billing.php,1: [agi_callingtns] => 0
a2billing.php,1: [agi_dnid] => unknown
a2billing.php,1: [agi_rdnis] => unknown
a2billing.php,1: [agi_context] => custom-freepbx-a2billing
a2billing.php,1: [agi_extension] => 0542000440
a2billing.php,1: [agi_priority] => 4
a2billing.php,1: [agi_enhanced] => 0.0
a2billing.php,1: [agi_accountcode] =>
a2billing.php,1: [agi_threadid] => 23825264
a2billing.php,1: [agi_arg_1] => 1
a2billing.php,1: )

Мне нужно чтоб вообще все исходящие звонки шли через биллинг. Входящие не учитываются.
Собсно вопрос: где мне глобально выставить accountcode?
Asterisk 1.8.22 + A2billing 1.9.4 (nixon branch) + FreePBX 2.9

Заранее спасибо.
#22

В диалплане перед вызовом agi можно выставить
SET(CDR(accountcode)=${IF($["${CDR(accountcode)}" == ""]?1234567890:${CDR(accountcode)})})
где 1234567890 - ваш желаемый accountcode

_________________
https://github.com/nixonch/a2billing
#23

Огромное спасибо!!! Beer 2
А ларчик-то просто открывался))) Я просто не подумал что нужно делать SET(CDR(accountcode) = 1234). Я делал просто SET(ACCOUNTCODE=1234) Dash