Optimize dialing, call next number faster
Posted: Fri Jul 08, 2011 5:33 am
I have been looking more deeply in whats happening when calls are being made from asterisk
and found that call that gets a dialstatus: CONGESTION or CANCEL (cause 1 or 0) will still be in mysql-table: vicidial_auto_calls as status SENT
and thous prevent the system from dialing an other number.
Dial timeout is set to 40 sec in my campaigns.
A call can get dialstatus CONGESTION a few seconds after asterisk started ringing but still will be in vicidial_auto_calls about 50 seconds.
I would like to optimize the system to end those calls faster. Does anyone know what to do?
I will show an example on a call that gets dialstatus CONGESTION.
first in vicidial_auto_calls (Not exactly from that table, but its the source for the data)
At the same time the length is 6 sec, this is how vicidial_carrier_log looks like:
I dont know technically what cause 1 and CONGESTION is, but i see a lot of them. (I found this info http://networking.ringofsaturn.com/Rout ... ecodes.php on an other topic in this forum, and that is all i know)
here is vicidial_log:
and here is call_log:
here is asterisk log /var/log/asterisk/messages
it hangs up after 1 sec, so why does it take about 50 sec before it continue on a other phone number?
here is the last log, and there you can see its deleted 54 seconds after asterisk started to dial /var/log/astguiclient/vdautodial.2011-07-07:
Maybe you need my carrier information, Account Entry:
[tele2carrier]
disallow=all
allow=ulaw
allow=alaw
allow=gsm
type=friend
username=XXXXXXXXXX
secret=XXXXXXXXXX
host=sip-corporate.tele2.se
dtmfmode=rfc2833
context=trunkinbound
insecure=invite
Globals String: TELE2SIPTRUNK = SIP/tele2carrier
Dialplan Entry:
exten => _90047XXXXXX.,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _90047XXXXXX.,2,Dial(${TELE2SIPTRUNK}/${EXTEN:1},,tTor)
exten => _90047XXXXXX.,3,Hangup
Notes:
its the same thing with dialstatus CANCEL, about 54 seconds before an other phone number is called, but it wont get the dialstatus before the dial timeout is reached
I tried to manually call a phone number that got dialstatus CONGESTION and I hear one regular signal and then the busy signal starts beeping
and found that call that gets a dialstatus: CONGESTION or CANCEL (cause 1 or 0) will still be in mysql-table: vicidial_auto_calls as status SENT
and thous prevent the system from dialing an other number.
Dial timeout is set to 40 sec in my campaigns.
A call can get dialstatus CONGESTION a few seconds after asterisk started ringing but still will be in vicidial_auto_calls about 50 seconds.
I would like to optimize the system to end those calls faster. Does anyone know what to do?
I will show an example on a call that gets dialstatus CONGESTION.
first in vicidial_auto_calls (Not exactly from that table, but its the source for the data)
- Code: Select all
+---------------------+---------+------+--------------+--------+--------+-------------------+
| call_time | lead_id | code | phone_number | status | length | status_text |
+---------------------+---------+------+--------------+--------+--------+-------------------+
| 2011-07-07 13:52:59 | 159091 | 0047 | 11111111 | SENT | 6 | Call being placed |
+---------------------+---------+------+--------------+--------+--------+-------------------+
At the same time the length is 6 sec, this is how vicidial_carrier_log looks like:
- Code: Select all
+---------------------+----------+--------+------------+-----------+
| call_date | lead_id | cause | dialstatus | dial_time |
+---------------------+----------+--------+------------+-----------+
| 2011-07-07 13:53:01 | 159091 | 1 | CONGESTION | 0 |
+---------------------+----------+--------+------------+-----------+
I dont know technically what cause 1 and CONGESTION is, but i see a lot of them. (I found this info http://networking.ringofsaturn.com/Rout ... ecodes.php on an other topic in this forum, and that is all i know)
here is vicidial_log:
- Code: Select all
+-----------------+---------+---------+-------------+---------------------+-------------+------------+---------------+--------+------------+--------------+------+----------+-----------+------------+-------------+----------+
| uniqueid | lead_id | list_id | campaign_id | call_date | start_epoch | end_epoch | length_in_sec | status | phone_code | phone_number | user | comments | processed | user_group | term_reason | alt_dial |
+-----------------+---------+---------+-------------+---------------------+-------------+------------+---------------+--------+------------+--------------+------+----------+-----------+------------+-------------+----------+
| 1310039579.5833 | 159091 | 1005 | A_CAMP | 2011-07-07 13:53:53 | 1310039633 | 1310039633 | 0 | NA | 0047 | 11111111 | VDAD | NULL | N | NULL | NONE | NONE |
+-----------------+---------+---------+-------------+---------------------+-------------+------------+---------------+--------+------------+--------------+------+----------+-----------+------------+-------------+----------+
and here is call_log:
- Code: Select all
+-----------------+------------------------------------+--------------------+---------+-----------------+---------------+-----------------+----------------------+---------------------+-------------+---------------------+------------+---------------+
| uniqueid | channel | channel_group | type | server_ip | extension | number_dialed | caller_code | start_time | start_epoch | end_time | end_epoch | length_in_sec |
+-----------------+------------------------------------+--------------------+---------+-----------------+---------------+-----------------+----------------------+---------------------+-------------+---------------------+------------+---------------+
| 1310039579.5833 | Local/9004711111111@default-baf2,2 | Local Channel Line | Local | 111.111.111.111 | 9004711111111 | 9004711111111 | V7071352590000159091 | 2011-07-07 13:52:59 | 1310039579 | 2011-07-07 13:53:01 | 1310039581 | 2 |
+-----------------+------------------------------------+--------------------+---------+-----------------+---------------+-----------------+----------------------+---------------------+-------------+---------------------+------------+---------------+
here is asterisk log /var/log/asterisk/messages
- Code: Select all
[Jul 7 13:52:59] VERBOSE[21244] logger.c: [Jul 7 13:52:59] -- Executing [9004711111111@default:1] AGI("Local/9004711111111@default-baf2,2", "agi://127.0.0.1:4577/call_log") in new stack
[Jul 7 13:52:59] VERBOSE[21244] logger.c: [Jul 7 13:52:59] -- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
[Jul 7 13:52:59] VERBOSE[21244] logger.c: [Jul 7 13:52:59] -- Executing [9004711111111@default:2] Dial("Local/9004711111111@default-baf2,2", "SIP/tele2carrier/004711111111||tTor") in new stack
[Jul 7 13:52:59] VERBOSE[21244] logger.c: [Jul 7 13:52:59] -- Called tele2carrier/004711111111
[Jul 7 13:52:59] VERBOSE[21248] logger.c: [Jul 7 13:52:59] -- Executing [9004722222222@default:1] AGI("Local/9004722222222@default-e5dc,2", "agi://127.0.0.1:4577/call_log") in new stack
[Jul 7 13:52:59] VERBOSE[21248] logger.c: [Jul 7 13:52:59] -- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
[Jul 7 13:52:59] VERBOSE[21246] logger.c: [Jul 7 13:52:59] -- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
[Jul 7 13:52:59] VERBOSE[21248] logger.c: [Jul 7 13:52:59] -- Executing [9004722222222@default:2] Dial("Local/9004722222222@default-e5dc,2", "SIP/tele2carrier/004722222222||tTor") in new stack
[Jul 7 13:52:59] VERBOSE[21246] logger.c: [Jul 7 13:52:59] -- Executing [9004733333333@default:2] Dial("Local/9004733333333@default-a368,2", "SIP/tele2carrier/004733333333||tTor") in new stack
[Jul 7 13:52:59] VERBOSE[21248] logger.c: [Jul 7 13:52:59] -- Called tele2carrier/004722222222
[Jul 7 13:52:59] VERBOSE[21246] logger.c: [Jul 7 13:52:59] -- Called tele2carrier/004733333333
[Jul 7 13:53:01] VERBOSE[21233] logger.c: [Jul 7 13:53:01] -- SIP/tele2carrier-00000658 is ringing
[Jul 7 13:53:01] VERBOSE[21246] logger.c: [Jul 7 13:53:01] -- SIP/tele2carrier-0000065c is ringing
[Jul 7 13:53:01] VERBOSE[21244] logger.c: [Jul 7 13:53:01] -- SIP/tele2carrier-0000065a is circuit-busy
[Jul 7 13:53:01] VERBOSE[21244] logger.c: [Jul 7 13:53:01] == Everyone is busy/congested at this time (1:0/1/0)
[Jul 7 13:53:01] VERBOSE[21244] logger.c: [Jul 7 13:53:01] -- Executing [9004711111111@default:3] Hangup("Local/9004711111111@default-baf2,2", "") in new stack
[Jul 7 13:53:01] VERBOSE[21244] logger.c: [Jul 7 13:53:01] == Spawn extension (default, 9004711111111, 3) exited non-zero on 'Local/9004711111111@default-baf2,2'
[Jul 7 13:53:01] VERBOSE[21244] logger.c: [Jul 7 13:53:01] -- Executing [h@default:1] DeadAGI("Local/9004711111111@default-baf2,2", "agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----1-----CONGESTION----------") in new stack
it hangs up after 1 sec, so why does it take about 50 sec before it continue on a other phone number?
here is the last log, and there you can see its deleted 54 seconds after asterisk started to dial /var/log/astguiclient/vdautodial.2011-07-07:
- Code: Select all
2011-07-07 13:53:53||SELECT auto_alt_dial,auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='A_CAMP';|NONE| B N NA DC -|NA|167837|NONE|
2011-07-07 13:53:53|| dead call vac deleted|1576|159091|V7071352590000159091|1310039581|1||OUT|40|5|45|2|47|0E0||
2011-07-07 13:53:53||SELECT result FROM vicidial_cpd_log where callerid='V7071352590000159091' order by cpd_id desc limit 1;||
2011-07-07 13:53:53||SELECT list_id from vicidial_list where lead_id='159091' limit 1;||
2011-07-07 13:53:53|| dead NA call added to log 1310039579.5833|159091|11111111|SENT|NA|1|0|
2011-07-07 13:53:53|| dead call vac lead marked NA|159091|11111111|SENT||
2011-07-07 13:53:53||SELECT auto_alt_dial,auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='A_CAMP';|NONE| B N NA DC -|NA|159091|NONE|
2011-07-07 13:53:53|| dead call vac deleted|1574|161536|V7071352590000161536|1310039619|1||OUT|40|5|45|40|47|0E0||
Maybe you need my carrier information, Account Entry:
[tele2carrier]
disallow=all
allow=ulaw
allow=alaw
allow=gsm
type=friend
username=XXXXXXXXXX
secret=XXXXXXXXXX
host=sip-corporate.tele2.se
dtmfmode=rfc2833
context=trunkinbound
insecure=invite
Globals String: TELE2SIPTRUNK = SIP/tele2carrier
Dialplan Entry:
exten => _90047XXXXXX.,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _90047XXXXXX.,2,Dial(${TELE2SIPTRUNK}/${EXTEN:1},,tTor)
exten => _90047XXXXXX.,3,Hangup
Notes:
its the same thing with dialstatus CANCEL, about 54 seconds before an other phone number is called, but it wont get the dialstatus before the dial timeout is reached
I tried to manually call a phone number that got dialstatus CONGESTION and I hear one regular signal and then the busy signal starts beeping