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

a2b 1.9.4 and freepbx 2.9.0.7(asterisk 1.8.4.4)

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

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 не был пустой и всё работало как надо

Подскажите где искать?
как можно это отдебажить?
#2

Настройки пира в студию
#3

Не совсем понял про какой пир идёт речь
напишу про всё

это софт-телефон с него звоню
[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
#4

Добрый день!
вопрос решился отказом от freepbx
осталось asterisk+billing.
тема закрыта,
всем спасибо
#5

У меня такая же проблема. Настраивал так же, как и автор поста. Но звонок не идёт через биллинг. Пожалуйста, подскажите решение.
#6

что значит "не идет"? а куда он идёт тогда? лог кто показывать будет? или думаете раз пришли на форум то можно мозг теперь выключить совсем чтоли? за вас думать тут никто не будет!
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#7

прошу прощения за простой вопрос, но как включить логи? У меня все лог-файлы пусты. не судите строго. первый раз пытаюсь настроить биллинг. (Elastix 2.3.0 a2billing 1.9.4)
#8

SYSTEM SETTINGS => Group List => agi-confX через который обрабатываете звонок => переменные verbosity_level и logging_level
_________________
https://github.com/nixonch/a2billing
#9

[Feb 16 21:06:39] VERBOSE[4186] res_agi.c: a2billing.php,1: [agi_request] => a2billing.php
[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. подскажите, куда копать?
#10

Подозреваю, что accountcode через Local не обязан переваливаться.
Что мешает входящий звонок сразу в а2б направлять?

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

спасибо за скорый ответ.
настраивал примерно так
http://sysadminman.net/blog/2010/create- ... lling-1282
какие есть варианты сливать звонки с экстеншенов сразу в биллинг? если можете, напишите поподробнее, или скиньте ссылку, где можно прочитать.
#12

У вас приходит в заданный контекст входящий звонок. Заворачивайте его обработку в а2б строкой, подобной
exten => _X!,1,AGI(a2billing.php,1)
Просмотрите примеры конфигурационных файлов, которые идут в дистрибутиве с а2б.
Кроме того админка а2б имеет полурусский интерфейс. Можно методично разобраться.

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

в общем, нашёл временный выход из ситуации. Единственное, звонки со всех экстеншенов будут сливаться на один аккаунт в биллинге.
exten => _X.,n,Set(CDR(accountcode)=youraccountcode)

возникает вопрос:
что прописать в кастом, чтобы для определённого экстеншена подставлялся соответствующий аккаунт код?


ЗЫ
наткнулся на такую штуку. отпишитесь, если кто сможет приладить
http://www.freepbx.org/trac/browser/cont ... module.xml
#14

Повторюсь...
nixon писал(а):
Что мешает входящий звонок сразу в а2б направлять?

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

мне нужно направлять в a2billing только определённые маршруты. все настройки произвожу во freepbx. custom-trunk в данном случае для меня наиболее удобен. кстати, на elastix с астериском 1.6 и a2billing 1.8.1 account code проходит через local, но там возникают другие проблемы.
#16

Т.е. freepbx создаёт вызов?
Если так, то freepbx по ходу перед "DIAL(LOCAL/..." где-то и трёт accountcode.
Копайте в исходниках freepbx.

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

Не смотря на долгие мучения, биллинг на Elastix 2.3.0 по-человечески так и не заработал. В связи с чем пришлось вернуться к Elastix 2.0, где при попытке совершить звонок сообщают "AUTHENTICATION FAILED". Аккаунткод проходит через локал. Кто-нибудь сталкивался с подобным?

[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'