Page 1 of 1

2.0.5 bugs ?

PostPosted: Sun Sep 27, 2009 8:06 pm
by schernit
I have installed vicibox server

VERSION: 2.0.5-173
BUILD: 90320-0424

First of all, I think this version is really much better thant 2.0.4.

We are making manual calls and we are having probllemas with some reports.

1 - VDAD CAMPAIGN OUTBOUND REPORT VS AGENT PERFORMANCE DETAIL

This reports show a lot of difference between them on many fields. Specially on "calls" and "talking time" fields. In only two hours of work we have an agent with 20 calls on VDAD report and perhaps 30 calls on AGENT PERFORMANCE DETAIL.

I think some calls don't show the "LIVE CALL" green message on viciial.php screen until customer pick up the phone. For a call that is not answer, the call is not inserted on vicidial_log but it is inserted on vicidial_agent_log. Is this possible or not ? is this a bug ? (remeber we are making manual calls)

2 - AGENT PERFORMANCE DETAIL / Pause Status

We have defined 3 Pause detailt statuses. When an agent selects one of them and then makes a call (after 2 minutes for example) this period of time is not added to the specific pause status. The only way we found the system add in the correct way is to logout once the agent finishs the pause. just to clarify.

a) agent selects link to select pause code
agent selects "break"
after two minutes agent comes back
agent makes another call
AGENT PERFORMANCE doesn´t add the pause time to "break"

b) agent selects link to select pause code
agent selects "break"
after two minutes agent comes back
agent logs out
AGENT PERFORMANCE adds the pause time to "break" !

INFORMATION:

- we are using carriers on ADMIN section
- this is the dial plan configured on carriers section:

exten => _50XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _50XXXXXXXX,n,Verbose(Llamando a ${EXTEN:2} via asterisk2)
exten => _50XXXXXXXX,n,Verbose(caller id ${CALLERID(all)} via asterisk2)
exten => _50XXXXXXXX,n,Set(CALLERID(num)=66324950)
exten => _50XXXXXXXX,n(crossfone-dial),Dial(sip/dialer2/9${EXTEN:2},${NORMALTO},tTo)
exten => _50XXXXXXXX,crossfone-dial+101,Verbose(Llamado a ${EXTEN:2} via crossfone2 devolvio ${DIALSTATUS})
exten => _50XXXXXXXX,n,GotoIf($[${DIALSTATUS} = CONGESTION | ${DIALSTATUS} = CHANUNAVAIL]?iplan:fin)
exten => _50XXXXXXXX,n(iplan),Verbose(Llamando a ${EXTEN:2} via iplan)
exten => _50XXXXXXXX,n,Set(CALLERID(num)=0000000000)
exten => _50XXXXXXXX,n(iplan-dial),Dial(sip/011${EXTEN:2}${IPLANDIALPSX},${NORMALTO},tTo)
exten => _50XXXXXXXX,iplan-dial+101,Playtones(congestion)
exten => _50XXXXXXXX,n,Playback(custom/nopuedocursar)
exten => _50XXXXXXXX,n,Verbose(La llamada devolvio status '${HANGUPCAUSE}' usando iplan)
exten => _50XXXXXXXX,n,gotoif,$[${HANGUPCAUSE} = 1|${HANGUPCAUSE} = 2|${HANGUPCAUSE} = 3]?nroerror:fin)
exten => _50XXXXXXXX,n(nroerror),Playback(nro_no_existe)
exten => _50XXXXXXXX,n(fin),NoOp(fin)
exten => _50XXXXXXXX,n,Playtones(congestion)

exten => _5011XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _5011XXXXXXXX,n,Verbose(Llamando a ${EXTEN:1} via asterisk2)
exten => _5011XXXXXXXX,n,Verbose(caller id ${CALLERID(num)} via asterisk2)
exten => _5011XXXXXXXX,n,Set(CALLERID(num)=66324950)
exten => _5011XXXXXXXX,n(crossfone-dial),Dial(sip/dialer2/9${EXTEN:4},${NORMALTO},tTo)
exten => _5011XXXXXXXX,crossfone-dial+101,Verbose(Llamado a ${EXTEN:4} via crossfone2 devolvio ${DIALSTATUS})
exten => _5011XXXXXXXX,n,GotoIf($[${DIALSTATUS} = CONGESTION | ${DIALSTATUS} = CHANUNAVAIL]?iplan:fin)
exten => _5011XXXXXXXX,n(iplan),Verbose(Llamando a ${EXTEN:1} via iplan)
exten => _5011XXXXXXXX,n,Set(CALLERID(num)=0000000000)
exten => _5011XXXXXXXX,n(iplan-dial),Dial(sip/${EXTEN:1}${IPLANDIALPSX},${NORMALTO},tTo)
exten => _5011XXXXXXXX,n(iplan-dial),Dial(iax2/dialer/6${EXTEN:1},${NORMALTO},tTo)
exten => _5011XXXXXXXX,iplan-dial+101,Playtones(congestion)
exten => _5011XXXXXXXX,n,Playback(custom/nopuedocursar)
exten => _5011XXXXXXXX,n,Verbose(La llamada devolvio status '${HANGUPCAUSE}' usando iplan)
exten => _5011XXXXXXXX,n,gotoif,$[${HANGUPCAUSE} = 1|${HANGUPCAUSE} = 2|${HANGUPCAUSE} = 3]?nroerror:fin)
exten => _5011XXXXXXXX,n(nroerror),Playback(nro_no_existe)
exten => _5011XXXXXXXX,n(fin),NoOp(fin)
exten => _5011XXXXXXXX,n,Playtones(congestion)

exten => _5015XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _5015XXXXXXXX,n(portech-dial1),Verbose(Llamando a ${EXTEN:2} via PORTECH)
exten => _5015XXXXXXXX,n,Dial(sip/${EXTEN:2}@celu1,${NORMALTO},tToj)
exten => _5015XXXXXXXX,n,Verbose(Llamado a ${EXTEN:2} via PORTECH devolvio ${DIALSTATUS})
exten => _5015XXXXXXXX,n,GotoIf($[${DIALSTATUS} = CONGESTION | ${DIALSTATUS} = CHANUNAVAIL | ${DIALSTATUS} = BUSY]?sigo:fin)
exten => _5015XXXXXXXX,n(sigo),Verbose(Llamando a ${EXTEN:2} via VERSACOM)
exten => _5015XXXXXXXX,n,Dial(sip/dialer2/3${EXTEN:2},${NORMALTO},tTo)
exten => _5015XXXXXXXX,n(fin),NoOp(fin)


exten => _515XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _515XXXXXXXX,n(portech-dial1),Verbose(Llamando a ${EXTEN:1} via PORTECH)
exten => _515XXXXXXXX,n,Dial(sip/${EXTEN:1}@celu1,${NORMALTO},tToj)
exten => _515XXXXXXXX,n,Verbose(Llamado a ${EXTEN:1} via PORTECH devolvio ${DIALSTATUS})
exten => _515XXXXXXXX,n,GotoIf($[${DIALSTATUS} = CONGESTION | ${DIALSTATUS} = CHANUNAVAIL | ${DIALSTATUS} = BUSY]?sigo:fin)
exten => _515XXXXXXXX,n(sigo),Verbose(Llamando a ${EXTEN:1} via VERSACOM)
exten => _515XXXXXXXX,n,Dial(sip/dialer2/3${EXTEN:1},${NORMALTO},tTo)
exten => _515XXXXXXXX,n(fin),NoOp(fin)

exten => _501115XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _501115XXXXXXXX,n(portech-dial1),Verbose(Llamando a ${EXTEN:4} via PORTECH)
exten => _501115XXXXXXXX,n,Dial(sip/${EXTEN:4}@celu1,${NORMALTO},tToj)
exten => _501115XXXXXXXX,n,Verbose(Llamado a ${EXTEN:4} via PORTECH devolvio ${DIALSTATUS})
exten => _501115XXXXXXXX,n,GotoIf($[${DIALSTATUS} = CONGESTION | ${DIALSTATUS} = CHANUNAVAIL | ${DIALSTATUS} = BUSY]?sigo:fin)
exten => _501115XXXXXXXX,n(sigo),Verbose(Llamando a ${EXTEN:4} via VERSACOM)
exten => _501115XXXXXXXX,n,Dial(sip/dialer2/3${EXTEN:4},${NORMALTO},tTo)
exten => _501115XXXXXXXX,n(fin),NoOp(fin)

exten => _5XXXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _5XXXXXXXXXXXXX,n,Verbose(Llamando a ${EXTEN:1} via PORTECH)
exten => _5XXXXXXXXXXXXX,n,Dial(sip/${EXTEN:1}@celu1,${NORMALTO},tToj)
exten => _5XXXXXXXXXXXXX,n,Verbose(Llamado a ${EXTEN:1} via PORTECH2 devolvio ${DIALSTATUS})
exten => _5XXXXXXXXXXXXX,n,GotoIf($[${DIALSTATUS} = CONGESTION | ${DIALSTATUS} = CHANUNAVAIL | ${DIALSTATUS} = BUSY]?sigo:fin)
exten => _5XXXXXXXXXXXXX,n(sigo),Verbose(Llamando a ${EXTEN:1} via VERSACOM)
exten => _5XXXXXXXXXXXXX,n,Dial(sip/dialer2/3${EXTEN:1},${NORMALTO},tTo)
exten => _5XXXXXXXXXXXXX,n(fin),NoOp(fin)

exten => _50ZXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _50ZXXXXXXXXX,n,Verbose(Llamando a ${EXTEN:1} via asterisk2)
exten => _50ZXXXXXXXXX,n(crossfone),Set(CALLERID(num)=66324950)
exten => _50ZXXXXXXXXX,n(crossfone-dial),Dial(sip/dialer2/9${EXTEN:1},${NORMALTO},tTo)
exten => _50ZXXXXXXXXX,crossfone-dial+101,Verbose(Llamado a ${EXTEN:1} via crossfone2 devolvio ${DIALSTATUS})
exten => _50ZXXXXXXXXX,n,GotoIf($[${DIALSTATUS} = CONGESTION | ${DIALSTATUS} = CHANUNAVAIL]?iplan:fin)
exten => _50ZXXXXXXXXX,n(iplan),Verbose(Llamando a ${EXTEN:1} via iplan)
exten => _50ZXXXXXXXXX,n,Set(CALLERID(num)=0000000000)
exten => _50ZXXXXXXXXX,n(iplan-dial),Dial(sip/${EXTEN:1}${IPLANDIALPSX},${NORMALTO},tTo)
exten => _50ZXXXXXXXXX,n(iplan-dial),Dial(iax2/dialer/6${EXTEN:1},${NORMALTO},tTo)
exten => _50ZXXXXXXXXX,iplan-dial+101,Playtones(congestion)
exten => _50ZXXXXXXXXX,n,Playback(custom/nopuedocursar)
exten => _50ZXXXXXXXXX,n,Verbose(La llamada devolvio status '${HANGUPCAUSE}' usando iplan)
exten => _50ZXXXXXXXXX,n,gotoif,$[${HANGUPCAUSE} = 1|${HANGUPCAUSE} = 2|${HANGUPCAUSE} = 3]?nroerror:fin)
exten => _50ZXXXXXXXXX,n(nroerror),Playback(nro_no_existe)
exten => _50ZXXXXXXXXX,n(fin),NoOp(fin)
exten => _50ZXXXXXXXXX,n,Playtones(congestion)

PostPosted: Mon Sep 28, 2009 6:55 am
by mflorell
That's quite an interesting dialplan.

As for the logging issues, there are many complex known bugs that exist in the 2.0.5 tree that have been fixed in SVN trunk including the one you mention. The reason they have not all been backported is due to the complexity of the solution for them.

I would recommend you try SVN trunk, it is in production at dozens of our client sites so it is proven stable.

2.0.5 bugs

PostPosted: Wed Oct 07, 2009 3:05 pm
by schernit
I have update 2.0.5 version but we still have some bugs. I have investigated them and this are the results:

- VDAD report don't count call when length_in_sec = 0
- Some bug may exists that is leaves NULL on some vicidial_log records. When that happens, VDAD counts that records on some queries but don't do that on "---------- AGENT STATS" category. So on the same report we have 740 calls on AGENT STATS and 730 call on the rest of the categries.
- agent_performance_detail doesn't count INCALL STATUS: When agent call a record and for example that records ring 4 times, the agent hang up and then the agent clicks on "MAIN PHONE" or "ALTERNATIVE PHONE" then that call leaves with "INCALL" status and is never recorded on vicidial_agent_log (but it adds times to the next call). So, you have one call on vicidial_log (with incall status) and you don't have that call on vicidial_agent_log.

Regards,

Sebastián

PostPosted: Fri Oct 09, 2009 9:25 pm
by mflorell
If you are looking for better log accuracy I would recommend looking into upgrading to SVN trunk codebase. We have made a lot of changes to logging and reports since 2.0.5.

2.0.5 bugs

PostPosted: Tue Oct 13, 2009 1:40 pm
by schernit
Matt,

Perhaps I wasn't clear enough. We are working with the last version of 2.0.5 downloaded from svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.5

Is this OK ?

Thanks,

Sebastian

PostPosted: Wed Oct 14, 2009 9:23 pm
by mflorell
Yes, we stopped developing 2.0.5 when it became the stable release 6 months ago. I was referring to SVN/trunk, not SVN/branches/agc_2.0.5

You should try the SVN trunk codebase, which is what will become 2.2.0 in a couple months.

hi

PostPosted: Wed Oct 14, 2009 10:29 pm
by eliasferreyra
where can ia find the 2.2.0 trunk upgrade docuemnt MATT?

PostPosted: Sat Oct 17, 2009 11:03 pm
by mflorell
The UPGRADE doc is right in the root directory of SVN/trunk

2.2.0 bugs

PostPosted: Tue Oct 20, 2009 1:45 pm
by schernit
Matt,

We have updated to 2.2.0 and we are seeing same bugs on reports. For instance, on VDAD report we have some sections showing 300 calls and other sections showing 270 calls.

On previous reply I wrote where the errors are and why they are generated by vicidial.

Do you need me to do something ?

Regards,

Sebastián

PostPosted: Tue Oct 20, 2009 3:30 pm
by mflorell
We have done quite a bit of auditing on those reports. And some of the differences have to do with whether the calls went to agents or not, but if your system is properly configured they should be accurate.

2.2.0

PostPosted: Tue Oct 20, 2009 3:50 pm
by schernit
Matt,

We are making manual calls. The most important bug happens when user select MAIN PHONE/ALTER PHONE and dial it again.

First Call has INCALL status
Second Call has Disposition status

All 'INCALL' status are not selected on all reports. 'INCALL' is not recorded on vicidial_agent_log

Another issue is that not all queries on vdad selects same records of vicidial_log. Some of them include calls of 0 (zero) seconds and other querys don't.

if you need more information please just tell me. I have modified VDAD and agent_log_detail and now they are showing same information but I think 'INCALL' status should be solved. This happens on all versions of vicidial with MANUAL calls.

Regards,

Sebastián

PostPosted: Wed Oct 21, 2009 8:28 am
by mflorell
Multiple Manual Dial calls to the same lead in an agent session should only be logged with one disposition because you do not select a disposition for every call, only when you are done with the lead.

Do you have a patch file for your modifications?

bugs

PostPosted: Sun Nov 01, 2009 5:36 pm
by schernit
I can make a patch file if you want but I have not tested our changes on a predictive enviroment. I have only tested them using manual calls.

Thanks,

Sebastián