Проблема sip аккаунт и rates. A2billing [Решено]
Еще один непонятный момент нашел для себя в а2биллинге.
В наличии:
1. А2билинг от nixon с последними обновлениями
2. SIP-аккаунт 7495285139, автоматически сгенерированный билингом
3. Внешний DID 121212121212. С него переадресация на SIP-аккаунт описанный выше.
Лог входязщего звонка(включен дебаг в а2б):
| Код: |
| pbx.c: -- Executing [121212121212@default:1] NoOp("SIP/provider-did-00001398", "---- Check Blacklist ----") in new stack pbx.c: -- Executing [121212121212@default:2] GotoIf("SIP/provider-did-00001398", "0?blacklist") in new stack pbx.c: -- Goto (default,121212121212,4) pbx.c: -- Executing [121212121212@default:4] NoOp("SIP/provider-did-00001398", "---Goto calling---") in new stack pbx.c: -- Executing [121212121212@default:5] Set("SIP/provider-did-00001398", "__FROM_DID=121212121212") in new stack pbx.c: -- Executing [121212121212@default:6] Set("SIP/provider-did-00001398", "__FROM_NUM=anonymous") in new stack pbx.c: -- Executing [121212121212@default:7] Goto("SIP/provider-did-00001398", "a2billing-did,121212121212,1") in new stack pbx.c: -- Goto (a2billing-did,121212121212,1) pbx.c: -- Executing [121212121212@a2billing-did:1] AGI("SIP/provider-did-00001398", "a2billing.php,1,did") in new stack res_agi.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/a2billing.php res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:621 - uniqueid: - A2Billing AGI internal configuration: |
Массив настроек билинга
res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:622 - uniqueid: - Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [dialcommand_param_call_2did] => ,60,HiL(%timeout%:61000:30000)
res_agi.c: a2billing.php,1,did: [description] => agi-config
res_agi.c: a2billing.php,1,did: [asterisk_version] => 1_8
res_agi.c: a2billing.php,1,did: [answer_call] => 0
res_agi.c: a2billing.php,1,did: [play_audio] => 1
res_agi.c: a2billing.php,1,did: [say_goodbye] => 0
res_agi.c: a2billing.php,1,did: [play_menulanguage] => 0
res_agi.c: a2billing.php,1,did: [force_language] =>
res_agi.c: a2billing.php,1,did: [intro_prompt] =>
res_agi.c: a2billing.php,1,did: [min_credit_2call] => 0.00
res_agi.c: a2billing.php,1,did: [min_duration_2bill] => 0
res_agi.c: a2billing.php,1,did: [notenoughcredit_cardnumber] => 0
res_agi.c: a2billing.php,1,did: [notenoughcredit_assign_newcardnumber_cid] => 0
res_agi.c: a2billing.php,1,did: [use_dnid] => 1
res_agi.c: a2billing.php,1,did: [no_auth_dnid] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [0] => 2400
res_agi.c: a2billing.php,1,did: [1] => 2300
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [number_try] => 1
res_agi.c: a2billing.php,1,did: [force_callplan_id] =>
res_agi.c: a2billing.php,1,did: [say_balance_after_auth] => 0
res_agi.c: a2billing.php,1,did: [say_balance_after_call] => 0
res_agi.c: a2billing.php,1,did: [say_rateinitial] => 0
res_agi.c: a2billing.php,1,did: [say_timetocall] => 0
res_agi.c: a2billing.php,1,did: [auto_setcallerid] => 1
res_agi.c: a2billing.php,1,did: [force_callerid] =>
res_agi.c: a2billing.php,1,did: [cid_sanitize] => BOTH
res_agi.c: a2billing.php,1,did: [cid_enable] => 0
res_agi.c: a2billing.php,1,did: [cid_askpincode_ifnot_callerid] => 0
res_agi.c: a2billing.php,1,did: [failover_lc_prefix] => 0
res_agi.c: a2billing.php,1,did: [cid_auto_assign_card_to_cid] => 0
res_agi.c: a2billing.php,1,did: [callerid_authentication_over_cardnumber] => 0
res_agi.c: a2billing.php,1,did: [sip_iax_friends] => 0
res_agi.c: a2billing.php,1,did: [sip_iax_pstn_direct_call_prefix] => 555
res_agi.c: a2billing.php,1,did: [sip_iax_pstn_direct_call] => 0
res_agi.c: a2billing.php,1,did: [ivr_voucher] => 0
res_agi.c: a2billing.php,1,did: [ivr_voucher_prefix] => 8
res_agi.c: a2billing.php,1,did: [jump_voucher_if_min_credit] => 0
res_agi.c: a2billing.php,1,did: [dialcommand_param] => ,60,RiL(%timeout%:61000:30000)
res_agi.c: a2billing.php,1,did: [dialcommand_param_sipiax_friend] => ,10,HiL(3600000:61000:30000)
res_agi.c: a2billing.php,1,did: [switchdialcommand] => 1
res_agi.c: a2billing.php,1,did: [failover_recursive_limit] => 2
res_agi.c: a2billing.php,1,did: [maxtime_tocall_negatif_free_route] => 1800
res_agi.c: a2billing.php,1,did: [send_reminder] => 1
res_agi.c: a2billing.php,1,did: [record_call] => 0
res_agi.c: a2billing.php,1,did: [monitor_formatfile] => gsm
res_agi.c: a2billing.php,1,did: [agi_force_currency] =>
res_agi.c: a2billing.php,1,did: [currency_association] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [0] => usd:dollars
res_agi.c: a2billing.php,1,did: [1] => mxn:pesos
res_agi.c: a2billing.php,1,did: [2] => eur:euros
res_agi.c: a2billing.php,1,did: [3] => all:credit
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [local_dialing_addcountryprefix] => 0
res_agi.c: a2billing.php,1,did: [max_call_call_2_did] => 1800
res_agi.c: a2billing.php,1,did: [file_conf_enter_destination] => prepaid-enter-dest
res_agi.c: a2billing.php,1,did: [conf_order_menulang] => en:fr:es
res_agi.c: a2billing.php,1,did: [callback_bill_1stleg_ifcall_notconnected] => 1
res_agi.c: a2billing.php,1,did: [international_prefixes] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [0] => 011
res_agi.c: a2billing.php,1,did: [1] => 00
res_agi.c: a2billing.php,1,did: [2] => 09
res_agi.c: a2billing.php,1,did: [3] => 1
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [extracharge_did] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [0] => 1800
res_agi.c: a2billing.php,1,did: [1] => 1900
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [extracharge_fee] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [0] => 0
res_agi.c: a2billing.php,1,did: [1] => 0
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [extracharge_buyfee] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [0] => 0
res_agi.c: a2billing.php,1,did: [1] => 0
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [maxtime_tounlimited_calls] => 1800
res_agi.c: a2billing.php,1,did: [maxtime_tofree_calls] => 1800
res_agi.c: a2billing.php,1,did: [callplan_deck_minute_threshold] =>
res_agi.c: a2billing.php,1,did: [disable_announcement_seconds] => 0
res_agi.c: a2billing.php,1,did: [currency_cents_association] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [0] => usd:prepaid-cents
res_agi.c: a2billing.php,1,did: [1] => eur:prepaid-cents
res_agi.c: a2billing.php,1,did: [2] => gbp:prepaid-pence
res_agi.c: a2billing.php,1,did: [3] => all:credit
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [verbosity_level] => 4
res_agi.c: a2billing.php,1,did: [logging_level] => 3
res_agi.c: a2billing.php,1,did: [dial_balance_reservation] => 0.25
res_agi.c: a2billing.php,1,did: [callerid_update] => 0
res_agi.c: a2billing.php,1,did: [cid_auto_create_card] => 0
res_agi.c: a2billing.php,1,did: [cid_auto_create_card_len] => 10
res_agi.c: a2billing.php,1,did: [cid_auto_create_card_typepaid] => PREPAID
res_agi.c: a2billing.php,1,did: [cid_auto_create_card_credit] => 0
res_agi.c: a2billing.php,1,did: [cid_auto_create_card_credit_limit] => 0
res_agi.c: a2billing.php,1,did: [cid_auto_create_card_tariffgroup] => 1
res_agi.c: a2billing.php,1,did: [busy_timeout] => 1
res_agi.c: a2billing.php,1,did: [callback_reduce_balance] => 5
res_agi.c: a2billing.php,1,did: [ivr_enable_locking_option] => 0
res_agi.c: a2billing.php,1,did: [ivr_enable_account_information] => 0
res_agi.c: a2billing.php,1,did: [ivr_enable_ivr_speeddial] => 0
res_agi.c: a2billing.php,1,did: [play_rate_cents_if_lower_one] => 0
res_agi.c: a2billing.php,1,did: [callback_beep_to_enter_destination] => 0
res_agi.c: a2billing.php,1,did: [cid_prompt_callback_confirm_phonenumber] => 0
res_agi.c: a2billing.php,1,did: [lcr_mode] => 1
res_agi.c: a2billing.php,1,did: [logger_enable] => 1
res_agi.c: a2billing.php,1,did: [log_file] => /var/log/a2billing/a2billing.log
res_agi.c: a2billing.php,1,did: [dialcommand_param_call_2did ] => ,30,HL(3600000:61000:30000)
res_agi.c: a2billing.php,1,did: [currency_association_internal] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [usd] => dollars
res_agi.c: a2billing.php,1,did: [mxn] => pesos
res_agi.c: a2billing.php,1,did: [eur] => euros
res_agi.c: a2billing.php,1,did: [all] => credit
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [currency_cents_association_internal] => Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [usd] => prepaid-cents
res_agi.c: a2billing.php,1,did: [eur] => prepaid-cents
res_agi.c: a2billing.php,1,did: [gbp] => prepaid-pence
res_agi.c: a2billing.php,1,did: [all] => credit
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: [file_conf_enter_menulang] => prepaid-menulang
res_agi.c: a2billing.php,1,did: [ivr_voucher_prefixe] => 8
res_agi.c: a2billing.php,1,did: [cheat_on_announcement_time] => 0
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
res_agi.c: a2billing.php,1,did: file:a2billing.php - line:113 - uniqueid: - IDCONFIG : 1
res_agi.c: a2billing.php,1,did: file:a2billing.php - line:114 - uniqueid: - MODE : did
res_agi.c: a2billing.php,1,did: file:a2billing.php - line:146 - uniqueid: - AGI Request:
res_agi.c: a2billing.php,1,did: Array
res_agi.c: a2billing.php,1,did: (
res_agi.c: a2billing.php,1,did: [agi_request] => a2billing.php
res_agi.c: a2billing.php,1,did: [agi_channel] => SIP/provider-did-00001398
res_agi.c: a2billing.php,1,did: [agi_language] => ru
res_agi.c: a2billing.php,1,did: [agi_type] => SIP
res_agi.c: a2billing.php,1,did: [agi_uniqueid] => 1363359486.5018
res_agi.c: a2billing.php,1,did: [agi_version] => 1.8.13.0
res_agi.c: a2billing.php,1,did: [agi_callerid] => anonymous
res_agi.c: a2billing.php,1,did: [agi_calleridname] => Anonymous
res_agi.c: a2billing.php,1,did: [agi_callingpres] => 0
res_agi.c: a2billing.php,1,did: [agi_callingani2] => 0
res_agi.c: a2billing.php,1,did: [agi_callington] => 0
res_agi.c: a2billing.php,1,did: [agi_callingtns] => 0
res_agi.c: a2billing.php,1,did: [agi_dnid] => 121212121212
res_agi.c: a2billing.php,1,did: [agi_rdnis] => unknown
res_agi.c: a2billing.php,1,did: [agi_context] => a2billing-did
res_agi.c: a2billing.php,1,did: [agi_extension] => 121212121212
res_agi.c: a2billing.php,1,did: [agi_priority] => 1
res_agi.c: a2billing.php,1,did: [agi_enhanced] => 0.0
res_agi.c: a2billing.php,1,did: [agi_accountcode] =>
res_agi.c: a2billing.php,1,did: [agi_threadid] => 139691725068032
res_agi.c: a2billing.php,1,did: [agi_arg_1] => 1
res_agi.c: a2billing.php,1,did: [agi_arg_2] => did
res_agi.c: a2billing.php,1,did: )
res_agi.c: a2billing.php,1,did:
Продолжение лога
| Код: |
| res_agi.c: a2billing.php,1,did: file:a2billing.php - line:148 - uniqueid: - [INFO : A2Billing - Version 1.9.4 (Cuprum)] res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:773 - uniqueid:1363359486.5018 - get_agi_request_parameter = anonymous ; SIP/provider-did-00001398 ; 1363359486.5018 ; ; 121212121212 res_agi.c: a2billing.php,1,did: file:a2billing.php - line:892 - uniqueid:1363359486.5018 - [NO ANSWER CALL] res_agi.c: a2billing.php,1,did: file:a2billing.php - line:904 - uniqueid:1363359486.5018 - [DID CALL - [CallerID=anonymous]:[DID=121212121212] res_agi.c: a2billing.php,1,did: file:a2billing.php - line:925 - uniqueid:1363359486.5018 - Array res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:1312 - uniqueid:1363359486.5018 - [A2Billing] DID call friend: FOLLOWME=1 (cardnumber:1495344037|destination:SIP/7495285139|tariff:1) res_agi.c: a2billing.php,1,did: res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:2909 - uniqueid:1363359486.5018 - - Account code ::> 1495344037 res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:2996 - uniqueid:1363359486.5018 - [SET CHANNEL(language) ru] res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:3000 - uniqueid:1363359486.5018 - [credit=15.10560 :: tariff=1 :: status=1 :: isused=0 :: simultaccess=1 :: typepaid=0 :: creditlimit= :: language=ru] res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:805 - uniqueid:1363359486.5018 - [CARD STATUS UPDATE] res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:814 - uniqueid:1363359486.5018 - [QUERY USING CARD UPDATE::> UPDATE cc_card SET inuse=inuse+1, credit=credit-0.25 WHERE username='1495344037'] res_agi.c: a2billing.php,1,did: file:Class.A2Billing.php - line:1357 - uniqueid:1363359486.5018 - [A2Billing] DID call friend: Dialing 'SIP/7495285139,60,HiL(1800000:61000:30000)' Friend. res_agi.c: a2billing.php,1,did: res_agi.c: -- AGI Script Executing Application: (DIAL) Options: (SIP/7495285139,15,HiL(1800000:61000:30000)) netsock2.c: == Using SIP RTP CoS mark 5 app_dial.c: -- Called SIP/7495285139 |
И здесь начинается странность. Система не начинает звонить на SIP-аккаунт как обычно, а воспринимает его как DID
| Код: |
| -- Executing [7495285139@default:1] NoOp("SIP/serverpbx-0000139a", "---- Check Blacklist ----") in new stack -- Executing [7495285139@default:2] GotoIf("SIP/serverpbx-0000139a", "0?blacklist") in new stack -- Goto (default,7495285139,4) -- Executing [7495285139@default:4] NoOp("SIP/serverpbx-0000139a", "---Goto calling---") in new stack -- Executing [7495285139@default:5] Set("SIP/serverpbx-0000139a", "__FROM_DID=7495285139") in new stack -- Executing [7495285139@default:6] Set("SIP/serverpbx-0000139a", "__FROM_NUM=anonymous") in new stack -- Executing [7495285139@default:7] Goto("SIP/serverpbx-0000139a", "a2billing-did,7495285139,1") in new stack -- Goto (a2billing-did,7495285139,1) -- Executing [7495285139@a2billing-did:1] AGI("SIP/serverpbx-0000139a", "a2billing.php,1,did") in new stack |
Начальные цифры сип-аккаунта совпадают с одним из направлений прописанных в rates (в частности, есть маршрут с префиксом 7495). Если же удалить это направление в rates, то звонок идет нормально в IP-телефон.
Как избежать такой путаницы?
Последний раз редактировалось: sergeagle (Вс Мар 17, 2013 12:41)
В сип-аккаунте был прописан OUTBOUNDPROXY=IP-адрес-сервера