But I read everything and everything is right, let me pass down the details of the asterisk cli
-- Executing [
551137115959@a2billing:1] Set("SIP/204.11.194.35-b76f7fc0", "AGISIGHUP=no") in new stack
-- Executing [551137115959@a2billing:2] DeadAGI("SIP/204.11.194.35-b76f7fc0", "a2billing.php|2|callback|") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/a2billing.php
a2billing.php|2|callback|: A2Billing AGI internal configuration:
a2billing.php|2|callback|: Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [debug] => 1
a2billing.php|2|callback|: [asterisk_version] => 1_4
a2billing.php|2|callback|: [answer_call] =>
a2billing.php|2|callback|: [play_audio] => 1
a2billing.php|2|callback|: [say_goodbye] =>
a2billing.php|2|callback|: [play_menulanguage] =>
a2billing.php|2|callback|: [force_language] => BR
a2billing.php|2|callback|: [intro_prompt] =>
a2billing.php|2|callback|: [min_credit_2call] => 0.56
a2billing.php|2|callback|: [min_duration_2bill] => 4
a2billing.php|2|callback|: [notenoughcredit_cardnumber] =>
a2billing.php|2|callback|: [notenoughcredit_assign_newcardnumber_cid] =>
a2billing.php|2|callback|: [use_dnid] => 1
a2billing.php|2|callback|: [no_auth_dnid] => Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [0] => 2400
a2billing.php|2|callback|: [1] => 2300
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: [number_try] => 3
a2billing.php|2|callback|: [force_callplan_id] =>
a2billing.php|2|callback|: [say_balance_after_auth] =>
a2billing.php|2|callback|: [say_balance_after_call] =>
a2billing.php|2|callback|: [say_rateinitial] =>
a2billing.php|2|callback|: [say_timetocall] =>
a2billing.php|2|callback|: [auto_setcallerid] => 1
a2billing.php|2|callback|: [force_callerid] => 1
a2billing.php|2|callback|: [cid_sanitize] => CID
a2billing.php|2|callback|: [cid_enable] => 1
a2billing.php|2|callback|: [cid_askpincode_ifnot_callerid] =>
a2billing.php|2|callback|: [cid_auto_assign_card_to_cid] => 1
a2billing.php|2|callback|: [cid_auto_create_card] =>
a2billing.php|2|callback|: [cid_auto_create_card_len] => 10
a2billing.php|2|callback|: [cid_auto_create_card_typepaid] => POSTPAY
a2billing.php|2|callback|: [cid_auto_create_card_credit] => 0
a2billing.php|2|callback|: [cid_auto_create_card_credit_limit] => 1000
a2billing.php|2|callback|: [cid_auto_create_card_tariffgroup] => 6
a2billing.php|2|callback|: [callerid_authentication_over_cardnumber] =>
a2billing.php|2|callback|: [sip_iax_friends] =>
a2billing.php|2|callback|: [sip_iax_pstn_direct_call_prefix] => 9
a2billing.php|2|callback|: [sip_iax_pstn_direct_call] =>
a2billing.php|2|callback|: [ivr_voucher] =>
a2billing.php|2|callback|: [ivr_voucher_prefix] => 8
a2billing.php|2|callback|: [jump_voucher_if_min_credit] =>
a2billing.php|2|callback|: [extracharge_did] => Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [0] =>
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: [extracharge_fee] => Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [0] =>
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: [international_prefixes] => Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [0] => 011
a2billing.php|2|callback|: [1] => 00
a2billing.php|2|callback|: [2] => 09
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: [dialcommand_param] => |60|HRgrL(%timeout%:61000:30000)
a2billing.php|2|callback|: [dialcommand_param_sipiax_friend] => |60|HRgirL(3600000:61000:30000)
a2billing.php|2|callback|: [switchdialcommand] =>
a2billing.php|2|callback|: [failover_recursive_limit] => 4
a2billing.php|2|callback|: [maxtime_tocall_negatif_free_route] => 5400
a2billing.php|2|callback|: [send_reminder] =>
a2billing.php|2|callback|: [record_call] =>
a2billing.php|2|callback|: [monitor_formatfile] => gsm
a2billing.php|2|callback|: [agi_force_currency] =>
a2billing.php|2|callback|: [currency_association] => Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [0] => usd:dollars
a2billing.php|2|callback|: [1] => mxn:pesos
a2billing.php|2|callback|: [2] => eur:euros
a2billing.php|2|callback|: [3] => all:credit
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: [file_conf_enter_destination] => prepaid-enter-dest
a2billing.php|2|callback|: [file_conf_enter_menulang] => prepaid-menulang2
a2billing.php|2|callback|: [callback_bill_1stleg_ifcall_notconnected] => 1
a2billing.php|2|callback|: [logger_enable] => 1
a2billing.php|2|callback|: [log_file] => /tmp/a2billing.log
a2billing.php|2|callback|: [extracharge_buyfee] => Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [0] =>
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: [currency_association_internal] => Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [usd] => dollars
a2billing.php|2|callback|: [mxn] => pesos
a2billing.php|2|callback|: [eur] => euros
a2billing.php|2|callback|: [all] => credit
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: [ivr_voucher_prefixe] => 8
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: file:a2billing.php - line:78 - IDCONFIG : 2
a2billing.php|2|callback|: file:a2billing.php - line:79 - MODE : callback
a2billing.php|2|callback|: file:a2billing.php - line:91 - AGI Request:
a2billing.php|2|callback|: file:a2billing.php - line:92 - Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [agi_request] => a2billing.php
a2billing.php|2|callback|: [agi_channel] => SIP/204.11.194.35-b76f7fc0
a2billing.php|2|callback|: [agi_language] => en
a2billing.php|2|callback|: [agi_type] => SIP
a2billing.php|2|callback|: [agi_uniqueid] => 1238276641.7451
a2billing.php|2|callback|: [agi_callerid] => 553438222426
a2billing.php|2|callback|: [agi_calleridname] => 553438222426
a2billing.php|2|callback|: [agi_callingpres] => 0
a2billing.php|2|callback|: [agi_callingani2] => 0
a2billing.php|2|callback|: [agi_callington] => 0
a2billing.php|2|callback|: [agi_callingtns] => 0
a2billing.php|2|callback|: [agi_dnid] => 551137115959
a2billing.php|2|callback|: [agi_rdnis] => unknown
a2billing.php|2|callback|: [agi_context] => a2billing
a2billing.php|2|callback|: [agi_extension] => 551137115959
a2billing.php|2|callback|: [agi_priority] => 2
a2billing.php|2|callback|: [agi_enhanced] => 0.0
a2billing.php|2|callback|: [agi_accountcode] =>
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: file:Class.A2Billing.php - line:621 - get_agi_request_parameter = 553438222426 ; SIP/204.11.194.35-b76f7fc0 ; 1238276641.7451 ; ; 551137115959
a2billing.php|2|callback|: file:a2billing.php - line:699 - [CALLBACK]:[MODE : CALLBACK]
a2billing.php|2|callback|: file:a2billing.php - line:703 - [CALLBACK]:[ANSWER CALL]
-- Playing 'prepaid-callback_intro' (escape_digits=#) (sample_offset 0)
a2billing.php|2|callback|: file:a2billing.php - line:747 - [CALLBACK]:[GET VARIABLE : CALLED= | CALLING= | MODE= | TARIFF= | CBID= | LEG=]
a2billing.php|2|callback|: file:Class.A2Billing.php - line:1788 - Requesting DTMF, CARDNUMBER_LENGTH_MAX 15
-- <SIP/204.11.194.35-b76f7fc0> Playing 'prepaid-enter-pin-number' (language 'en')
a2billing.php|2|callback|: file:Class.A2Billing.php - line:1790 - R
ES DTMF : 7341621469
a2billing.php|2|callback|: file:Class.A2Billing.php - line:1794 -
CARDNUMBER ::> 7341621469
a2billing.php|2|callback|: file:Class.A2Billing.php - line:1817 - QUERY = 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, cc_card.id_campaign, cc_card.id, useralias FROM cc_card LEFT JOIN cc_tariffgroup ON tariff=cc_tariffgroup.id WHERE username='7341621469'
a2billing.php|2|callback|: Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [0] => Array
a2billing.php|2|callback|: (
a2billing.php|2|callback|: [0] => 41.57370
a2billing.php|2|callback|: [credit] => 41.57370
a2billing.php|2|callback|: [1] => 1
a2billing.php|2|callback|: [tariff] => 1
a2billing.php|2|callback|: [2] => t
a2billing.php|2|callback|: [activated] => t
a2billing.php|2|callback|: [3] => 0
a2billing.php|2|callback|: [inuse] => 0
a2billing.php|2|callback|: [4] => 1
a2billing.php|2|callback|: [simultaccess] => 1
a2billing.php|2|callback|: [5] => 0
a2billing.php|2|callback|: [typepaid] => 0
a2billing.php|2|callback|: [6] =>
a2billing.php|2|callback|: [creditlimit] =>
a2billing.php|2|callback|: [7] => en
a2billing.php|2|callback|: [language] => en
a2billing.php|2|callback|: [8] => 0
a2billing.php|2|callback|: [removeinterprefix] => 0
a2billing.php|2|callback|: [9] => 551137115959
a2billing.php|2|callback|: [redial] => 551137115959
a2billing.php|2|callback|: [10] => 0
a2billing.php|2|callback|: [enableexpire] => 0
a2billing.php|2|callback|: [11] => 1502475203
a2billing.php|2|callback|: [UNIX_TIMESTAMP(expirationdate)] => 1502475203
a2billing.php|2|callback|: [12] => 0
a2billing.php|2|callback|: [expiredays] => 0
a2billing.php|2|callback|: [13] => 2432
a2billing.php|2|callback|: [nbused] => 2432
a2billing.php|2|callback|: [14] => 1186929421
a2billing.php|2|callback|: [UNIX_TIMESTAMP(firstusedate)] => 1186929421
a2billing.php|2|callback|: [15] => 1186856040
a2billing.php|2|callback|: [UNIX_TIMESTAMP(cc_card.creationdate)] => 1186856040
a2billing.php|2|callback|: [16] => BRL
a2billing.php|2|callback|: [currency] => BRL
a2billing.php|2|callback|: [17] => Danilo Borges
a2billing.php|2|callback|: [lastname] => Danilo Borges
a2billing.php|2|callback|: [18] => Brito
a2billing.php|2|callback|: [firstname] => Brito
a2billing.php|2|callback|: [19] =>
[email protected]
a2billing.php|2|callback|: [email] =>
[email protected]
a2billing.php|2|callback|: [20] => 791028
a2billing.php|2|callback|: [uipass] => 791028
a2billing.php|2|callback|: [21] => 1
a2billing.php|2|callback|: [id] => 1
a2billing.php|2|callback|: [22] => -1
a2billing.php|2|callback|: [id_campaign] => -1
a2billing.php|2|callback|: [23] => 1
a2billing.php|2|callback|: [24] => 0881000
a2billing.php|2|callback|: [useralias] => 0881000
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: )
a2billing.php|2|callback|:
a2billing.php|2|callback|: file:Class.A2Billing.php - line:1889 - [SET CHANNEL(language) en]
a2billing.php|2|callback|: file:Class.A2Billing.php - line:654 - [CARD STATUS UPDATE : UPDATE cc_card SET inuse=inuse+1 WHERE username='7341621469']
a2billing.php|2|callback|: file:Class.A2Billing.php - line:1400 - [AUTO SetCallerID]
a2billing.php|2|callback|: file:Class.A2Billing.php - line:1404 - [EXEC SetCallerID : 1]
a2billing.php|2|callback|: file:a2billing.php - line:775 - [CALLBACK]:[CHANNEL STATUS : 6 = Line is up][status_channel=6]:[ORIG_CREDIT : 41.57370 - CUR_CREDIT - : 20.78685 - CREDIT MIN_CREDIT_2CALL : 0.56]
a2billing.php|2|callback|: file:Class.A2Billing.php - line:676 - 1 && && 12&& 0
a2billing.php|2|callback|: file:Class.A2Billing.php - line:701 - DESTINATION ::> 551137115959
a2billing.php|2|callback|: file:Class.A2Billing.php - line:703 - RULES APPLY ON DESTINATION ::> 551137115959
a2billing.php|2|callback|: file:Class.A2Billing.php - line:741 - OK - RESFINDRATE::> 1
a2billing.php|2|callback|: file:Class.A2Billing.php - line:763 - RES_ALL_CALCULTIMEOUT ::> 1
a2billing.php|2|callback|: file:Class.A2Billing.php - line:780 - TIMEOUT::> 11334 : minutes=188 - seconds=54
a2billing.php|2|callback|: file:Class.RateEngine.php - line:1012 - app_callingcard: Dialing 'SIP/200.143.0.181/39836551137115959|60|HRgrL(11334000:61000:30000)' with timeout of '11334'.
a2billing.php|2|callback|:
a2billing.php|2|callback|: file:Class.RateEngine.php - line:1037 - app_callingcard: CIDGROUPID='-1' OUTBOUND CID SELECTED IS '0'.
-- AGI Script Executing Application: (Dial) Options: (SIP/200.143.0.181/39836551137115959|60|HRgrL(11334000:61000:30000))
-- Limit Data for this call:
> timelimit = 11334000
> play_warning = 61000
> play_to_caller = yes
> play_to_callee = no
> warning_freq = 30000
> start_sound = (null)
> warning_sound = timeleft
> end_sound = (null)
--
Called 200.143.0.181/39836551137115959
What I do not understand is that after entering the PIN he me the option to dial the desired number, he simply dials the same number you dial to access the callback
[a2billing]
exten => 551137115959,1,Set(AGISIGHUP=no)
exten => 551137115959,n,DeadAGI(a2billing.php|2|callback|)
exten => 551137115959,3,Hangup
[a2billing-callback]
exten => _X.,1,Set(AGISIGHUP=no)
exten => _X.,n,DeadAGI(a2billing.php|1|callback)
exten => _X.,n,Hangup
[agi-conf2]
; the debug level
; 0=none, 1=low, 2=normal, 3=all
debug = 1
; Asterisk Version Information
; 1_1,1_2,1_4 By Default it will take 1_2 or higher
asterisk_version = 1_4
; Manage the answer on the call
answer_call = NO
; Play audio - this will disable all stream file but not the Get Data
; for wholesale ensure that the authentication works and than number_try = 1
play_audio = YES
; play the goodbye message when the user has finished.
say_goodbye = NO
; enable the menu to choose the language
; press 1 for English, pulsa 2 para el español, Pressez 3 pour Français
play_menulanguage = NO
; force the use of a language, if you dont want to use it leave the option empty
; Values : ES, EN, FR, etc... (according to the audio you have installed)
force_language = BR
; Introduction prompt : to specify an additional prompt to play at the beginning of the application
intro_prompt =
; Minimum amount of credit to use the application
min_credit_2call=0.56
; this is the minimum duration in seconds of a call in order to be billed
; any call with a length less than min_duration_2bill will have a 0 cost
; useful not to charge callers for system errors when a call was answered but it actually didn't connect
min_duration_2bill=4
; if user doesn't have enough credit to call a destination, prompt him to enter another cardnumber
notenoughcredit_cardnumber=NO
; if notenoughcredit_cardnumber = YES then assign the CallerID to the new cardnumber
notenoughcredit_assign_newcardnumber_cid=NO
; if YES it will use the DNID and try to dial out, without asking for the phonenumber to call
; value : YES, NO
use_dnid = YES
; list the dnid on which you want to avoid the use of the previous option "use_dnid"
no_auth_dnid = 2400,2300
; number of times the user can dial different number
number_try = 3
; this will force to select a specific call plan by the Rate Engine
force_callplan_id =
; Play the balance to the user after the authentication (values : yes - no)
say_balance_after_auth = NO
; Play the balance to the user after the call (values : yes - no)
say_balance_after_call = NO
; Play the initial cost of the route (values : yes - no)
say_rateinitial = NO
; Play the amount of time that the user can call (values : yes - no)
say_timetocall = NO
; enable the setup of the callerID number before the outbound is made, by default the user callerID value will be use
auto_setcallerid = YES
; If auto_setcallerid is enabled, the value of force_callerid will be set as CallerID
force_callerid = YES
; If force_callerid is not set, then the following option ensures that CID is set to one of the card's configured caller IDs or blank if none available.
; NO - disable this feature, caller ID can be anything.
; CID - Caller ID must be one of the customers caller IDs
; DID - Caller ID must be one of the customers DID nos.
; BOTH - Caller ID must be one of the above two items.
cid_sanitize = CID
; enable the callerid authentication
; if this option is active the CC system will check the CID of caller
cid_enable = YES
; if the CID does not exist, then the caller will be prompt to enter his cardnumber
cid_askpincode_ifnot_callerid = NO
; if the callerID authentication is enable and the authentication fails then the user will be prompt to enter his cardnumber
; this option will bound the cardnumber entered to the current callerID so that next call will be directly authenticate
cid_auto_assign_card_to_cid = YES
; if the callerID is captured on a2billing, this option will create automatically a new card and add the callerID to it
cid_auto_create_card = NO
; set the length of the card that will be auto create (ie, 10)
cid_auto_create_card_len = 10
; If cid_auto_create_card has been set to YES, the following options will define with which configuration we will create the card
;
; billing type of the new card
; ( value : POSTPAY or PREPAY)
cid_auto_create_card_typepaid = POSTPAY
; amount of credit of the new card
cid_auto_create_card_credit = 0
; if postpay, define the credit limit for the card
cid_auto_create_card_credit_limit = 1000
; the tariffgroup to use for the new card (this is the ID that you can find on the admin web interface)
cid_auto_create_card_tariffgroup = 6
; to check callerID over the cardnumber authentication (to guard against spoofing)
callerid_authentication_over_cardnumber = NO
; enable the option to call sip/iax friend for free (values : YES - NO)
sip_iax_friends = NO
; if SIP_IAX_FRIENDS is active, you can define a prefix for the dialed digits to call a pstn number
; values : number
sip_iax_pstn_direct_call_prefix = 9
; this will enable a prompt to enter your destination number.
; if number start by sip_iax_pstn_direct_call_prefix we do directly a sip iax call, if not we do a normal call
sip_iax_pstn_direct_call = NO
; enable the option to refill card with voucher in IVR (values : YES - NO)
ivr_voucher = NO
; if ivr_voucher is active, you can define a prefix for the voucher number to refill your card
; values : number - don't forget to change prepaid-refill_card_with_voucher audio accordingly
ivr_voucher_prefix = 8
; When the user credit are below the minimum credit to call min_credit
; jump directly to the voucher IVR menu (values: YES - NO)
jump_voucher_if_min_credit = NO
; Extracharge DIDs, multiple numbers and fees must be separated by comma
; extracharge_did = 1800XXXXXXX,1888XXXXXXX
extracharge_did =
;extracharge_fee = 0.02,0.03
extracharge_fee =
; List the prefixes that will be stripped off if the call plan requires it
international_prefixes = 011,00,09
; More information about the Dial :
http://voip-info.org/wiki-Asterisk+cmd+dial
; 30 : The timeout parameter is optional. If not specifed, the Dial command will wait indefinitely, exiting only when the originating channel hangs up, or all the dialed channels return a busy or error condition. Otherwise it specifies a maximum time, in seconds, that the Dial command is to wait for a channel to answer.
; H: Allow the caller to hang up by dialing *
; r: Generate a ringing tone for the calling party
; g: When the called party hangs up, exit to execute more commands in the current context. (new in 1.4)
; i: Asterisk will ignore any forwarding (302 Redirect) requests received. Essential for DID usage to prevent fraud. (new in 1.4) Useful if you are ringing a group of people and one person has set their phone to forwarded direct to voicemail on their cell or something which normally prevents any of the other phones from ringing.
; R: Indicate ringing to the calling party when the called party indicates ringing, pass no audio until answered.
; m: Provide Music on Hold to the calling party until the called channel answers.
; L(x[:y][:z]): Limit the call to 'x' ms, warning when 'y' ms are left, repeated every 'z' ms)
; %timeout% tag is replaced by the calculated timeout according the credit & destination rate!
dialcommand_param = "|60|HRgrL(%timeout%:61000:30000)"
; by default (3600000 = 1HOUR MAX CALL)
dialcommand_param_sipiax_friend = "|60|HRgirL(3600000:61000:30000)"
; Define the order to make the outbound call
; YES -> SIP/dialedphonenumber@gateway_ip - NO SIP/gateway_ip/dialedphonenumber
; Both should work exactly the same but i experimented one case when gateway was supporting dialedphonenumber@gateway_ip
; So in case of trouble, try it out
switchdialcommand = NO
; failover recursive search - define how many time we want to authorize the research of the failover trunk when a call fails (value : 0 - 20)
failover_recursive_limit = 4
; For free calls, limit the duration: amount in seconds
maxtime_tocall_negatif_free_route = 5400
; Send a reminder email to the user when they are under min_credit_2call
send_reminder = NO
; enable to monitor the call (to record all the conversations)
; value : YES - NO
record_call = NO
; format of the recorded monitor file
monitor_formatfile = gsm
; Force to play the balance to the caller in a predefined currency, to use the currency set for by the customer leave this field empty
agi_force_currency =
; CURRENCY SECTION
; Define all the audio (without file extensions) that you want to play according to currency (use , to separate, ie "usd:prepaid-dollar,mxn:pesos,eur:Euro,all:credit")
currency_association = usd:dollars,mxn:pesos,eur:euros,all:credit
; Please enter the file name you want to play when we prompt the calling party to enter the destination number
; file_conf_enter_destination = prepaid-enter-number-u-calling-1-or-011
file_conf_enter_destination = prepaid-enter-dest
; Please enter the file name you want to play when we prompt the calling party to choose the prefered language
; file_conf_enter_menulang = prepaid-menulang
file_conf_enter_menulang = prepaid-menulang2
; Define if you want to bill the 1st leg on callback even if the call is not connected to the destination
callback_bill_1stleg_ifcall_notconnected = YES