a2b 1.9.4 and freepbx 2.9.0.7(asterisk 1.8.4.4)
Может, я неправильно формулирую некоторые вещи, постараюсь передать смысл.
установил сабж. а2билллинг как транк Local/$OUTNUM$@a2billing/n
в биллинге use_dnid =yes, то есть клиент идентифицируется по account_code
вопрос в том что account_code при звонке не передаётся из астериска в биллинг
a2billing.php,1: [agi_request] => a2billing.php
a2billing.php,1: [agi_channel] => Local/74951234567@a2billing-341f;2
a2billing.php,1: [agi_language] => en
a2billing.php,1: [agi_type] => Local
a2billing.php,1: [agi_uniqueid] => 1325723076.16
a2billing.php,1: [agi_version] => 1.8.4.4
a2billing.php,1: [agi_callerid] => 777
a2billing.php,1: [agi_calleridname] => 777
a2billing.php,1: [agi_callingpres] => 0
a2billing.php,1: [agi_callingani2] => 0
a2billing.php,1: [agi_callington] => 0
a2billing.php,1: [agi_callingtns] => 0
a2billing.php,1: [agi_dnid] => unknown
a2billing.php,1: [agi_rdnis] => unknown
a2billing.php,1: [agi_context] => a2billing
a2billing.php,1: [agi_extension] => 74951234567
a2billing.php,1: [agi_priority] => 2
a2billing.php,1: [agi_enhanced] => 0.0
a2billing.php,1: [agi_accountcode] => ПУСТО !!!
a2billing.php,1: [agi_threadid] => 140186194032384
a2billing.php,1: [agi_arg_1] => 1
a2billing.php,1: )
Соотвественно , биллинг просит ввести номер карты(а цель была без диалога с железом)
account code, указанный для екстеншена фрипбх, в её CDR пишется
делал аналогичную связку asterisk 1.6 - freepbx 2.8 - a2b 1.9.4 - account code не был пустой и всё работало как надо
Подскажите где искать?
как можно это отдебажить?
напишу про всё
это софт-телефон с него звоню
[777]
deny=0.0.0.0/0.0.0.0
secret=secret
dtmfmode=rfc2833
canreinvite=no
context=from-internal
host=dynamic
trustrpid=yes
sendrpid=no
type=friend
nat=no
port=5060
qualify=yes
qualifyfreq=60
transport=udp
encryption=no
callgroup=
pickupgroup=
dial=SIP/777
accountcode=7519747276
mailbox=777@device
permit=0.0.0.0/0.0.0.0
callerid=device
callcounter=yes
faxdetect=no
транк на биллинг
OUT_2 = AMP:Local/$OUTNUM$@a2billing/n
в файле extensions_custom.conf:
#include extensions_a2billing.conf
файл extensions_a2billing.conf:
[a2billing]
exten => _X.,1,Wait(1)
exten => _X.,n,DeadAGI(a2billing.php,1)
exten => _X.,n,Wait(1)
exten => _X.,n,Hangup
роут если направить не на биллинг а напрямую на транк(IAX),то звонки идут
вот транк
[my-server]
host=10.8.0.12
username=my-user
type=peer
secret=secret
disallow=all
allow=g729
qualify=yes
transfer=no
context=from-trunk-iax2-my-server
вопрос решился отказом от freepbx
осталось asterisk+billing.
тема закрыта,
всем спасибо
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
https://github.com/nixonch/a2billing
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_channel] => Local/74956360636@a2billing-27ea;2
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_language] => en
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_type] => Local
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_uniqueid] => 1329411997.15
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_version] => 1.8.8.1
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_callerid] => 107
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_calleridname] => 107
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_callingpres] => 0
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_callingani2] => 0
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_callington] => 0
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_callingtns] => 0
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_dnid] => unknown
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_rdnis] => unknown
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_context] => a2billing
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_extension] => 74956360636
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_priority] => 2
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_enhanced] => 0.0
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_accountcode] =>
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_threadid] => -1220580464
[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_arg_1] => 1
как и у топикстартера не передаётся accountcode, хотя в настройках экстеншена freepbx он вписан. вызов направляется на custom trunk Local/$OUTNUM$@a2billing/n. подскажите, куда копать?
Что мешает входящий звонок сразу в а2б направлять?
_________________
https://github.com/nixonch/a2billing
настраивал примерно так
http://sysadminman.net/blog/2010/create- ... lling-1282
какие есть варианты сливать звонки с экстеншенов сразу в биллинг? если можете, напишите поподробнее, или скиньте ссылку, где можно прочитать.
exten => _X!,1,AGI(a2billing.php,1)
Просмотрите примеры конфигурационных файлов, которые идут в дистрибутиве с а2б.
Кроме того админка а2б имеет полурусский интерфейс. Можно методично разобраться.
_________________
https://github.com/nixonch/a2billing
exten => _X.,n,Set(CDR(accountcode)=youraccountcode)
возникает вопрос:
что прописать в кастом, чтобы для определённого экстеншена подставлялся соответствующий аккаунт код?
ЗЫ
наткнулся на такую штуку. отпишитесь, если кто сможет приладить
http://www.freepbx.org/trac/browser/cont ... module.xml
| nixon писал(а): |
| Что мешает входящий звонок сразу в а2б направлять? |
_________________
https://github.com/nixonch/a2billing
Если так, то freepbx по ходу перед "DIAL(LOCAL/..." где-то и трёт accountcode.
Копайте в исходниках freepbx.
_________________
https://github.com/nixonch/a2billing
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_request] => a2billing.php
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_channel] => Local/84956360636@a2billing-1cd1;2
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_language] => en
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_type] => Local
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_uniqueid] => 1330356762.10
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_version] => 1.6.2.20
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_callerid] => 107
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_calleridname] => 107
[Feb 27 19:32:44] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_callingpres] => 0
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_callingani2] => 0
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_callington] => 0
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_callingtns] => 1
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_dnid] => unknown
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_rdnis] => unknown
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_context] => a2billing
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_extension] => 84956360636
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_priority] => 3
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_enhanced] => 0.0
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_accountcode] => 1513001931
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_threadid] => -1251218544
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: [agi_arg_1] => 1
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: )
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1:
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: file:Class.A2Billing.php - line:601 - get_agi_request_parameter = 107 ; Local/84956360636@a2billing-1cd1;2 ; 1330356762.10 ; 1513001931 ; 84956360636
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: file:a2billing.php - line:138 - [ANSWER CALL]
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: file:Class.A2Billing.php - line:1668 - SELECT credit, tariff, activated, inuse, simultaccess, typepaid, creditlimit, language, removeinterprefix, redial, enableexpire, UNIX_TIMESTAMP(expirationdate), expiredays, nbused, UNIX_TIMESTAMP(firstusedate), UNIX_TIMESTAMP(cc_card.creationdate), cc_card.currency, cc_card.lastname, cc_card.firstname, cc_card.email, cc_card.uipass, cc_card.id_campaign, cc_card.id, useralias FROM cc_card LEFT JOIN cc_tariffgroup ON tariff=cc_tariffgroup.id WHERE username='1513001931'
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: a2billing.php,1: file:Class.A2Billing.php - line:1742 - [SET CHANNEL(language) en]
[Feb 27 19:32:45] VERBOSE[4732] res_agi.c: -- Playing 'prepaid-auth-fail' (escape_digits=#) (sample_offset 0)
[Feb 27 19:32:48] VERBOSE[4732] res_agi.c: a2billing.php,1: file:a2billing.php - line:316 - [AUTHENTICATION FAILED (cia_res:-2)]
[Feb 27 19:32:48] VERBOSE[4732] res_agi.c: -- AGI Script a2billing.php completed, returning 4
[Feb 27 19:32:48] VERBOSE[4732] pbx.c: == Spawn extension (a2billing, 84956360636, 3) exited non-zero on 'Local/84956360636@a2billing-1cd1;2'
Решение:
http://www.neomano.net/index.php/en/comp ... oblem.html
http://forum.asterisk2billing.org/viewtopic.php?p=15787
https://issues.asterisk.org/jira/browse/ASTERISK-19384