Page 1 of 1

Customer has hung up

PostPosted: Sat Aug 01, 2009 9:53 am
by arpit.modi
Hi,

There seems one issue in agent screen of version 2.0.5.

VICIDIAL web-client version: 2.0.5-203
BUILD: 90323-1554

Actually calls going smoothely but when the call is being hung up by customer side, then agent is not being notified on their screen like "Customer has hung up" and go back and Finish and Disposition Call links.

I have checked the code which is displaying this screen is,

Code: Select all
<span style="position:absolute;left:0px;top:0px;z-index:29;" id="CustomerGoneBox">
    <table border=1 bgcolor="#CCFFFF" width=<?=$CAwidth ?> height=500><TR><TD align=center> Customer has hung up: <span id="CustomerGoneChanneL"></span><BR>
   <a href="#" onclick="CustomerGoneOK();return false;">Go Back</a>
   <BR><BR>
   <a href="#" onclick="CustomerGoneHangup();return false;">Finish and Disposition Call</a>

   </TD></TR></TABLE>
</span>




and this will be pop up by this code,

Code: Select all
if ( (custchannellive < -30) && (lastcustchannel.length > 3) ) {CustomerChanneLGone();}



i debugged the value of both custchannellive and lastcustchannel variable by alert,

lastcustchannel value seems fine, and custchannellive variable is increasing when call is connected but when customer hangup, i mean channel is dropped that time but the value of custchannelive is stopped increasing, its just gone constant not even decreasing.


That is the only reason of not popping up the screen for customer hang up.


anybody faced the same issue?

also please help me out if you have solution.


Thanks in advance.

PostPosted: Sun Aug 02, 2009 7:59 am
by mflorell
This is working as it was designed to. On highly loaded systems sometimes the channel will not show up for a couple seconds which is why we wait 30 seconds before we alert the agent. Although it might be a good idea to add an option to make that delay configurable in the admin web interface.

PostPosted: Sun Aug 02, 2009 1:24 pm
by arpit.modi
Hi matt,

Thanks for the reply.

yes its should alert agent after waiting for 30 seconds, but its not doing that.
I tried to keep screen idle for more then 3 minutes after the customer hung up but it didnt give me that alert.


Any suggestions?

Thanks Again.

PostPosted: Mon Aug 03, 2009 2:59 pm
by arpit.modi
Hi all,

does anybody facing same issue?

please help me out.

Thanks in advance.

I got the solution..

PostPosted: Tue Aug 04, 2009 4:30 am
by arpit.modi
Hello,

Its working now. :)

Actually with autodial it was working but was taking long time to get details of dead channel, but it was not working with manual dial.

I have implemented some code to make it work with manual dial too.

Here are the changes in vicidial.php file.


Around line 2252, it should be like below :
Note : i have take two new variables custchannelcnt and custprevlive.

Code: Select all
       var custchannellive=0;
   var custprevlive=0;
   var custchannelcnt=0;
   var xferchannellive=0;


Around line 3018, it should be like

Code: Select all
custchannellive=0;
custchannelcnt=0;
custprevlive=0;
dialedcall_send_hangup();



Around line 6389

Code: Select all
   function CustomerGoneOK()
   {
      hideDiv('CustomerGoneBox');
      WaitingForNextStep=0;
      custchannellive=0;
      custchannelcnt=0;
      custprevlive=0;   
   }
   function CustomerGoneHangup()
   {
      hideDiv('CustomerGoneBox');
      WaitingForNextStep=0;
      custchannellive=0;
      custchannelcnt=0;
      custprevlive=0;
      dialedcall_send_hangup();
   }



And then at last, Around line 7444

Code: Select all
Replace

if ( (custchannellive < -30) && (lastcustchannel.length > 3) ) {CustomerChanneLGone();}

with
   if(auto_dial_level==0)
   {
          if ((custprevlive==custchannellive) && custchannellive!=0)
          {
            custchannelcnt++;
            }
            else if(custprevlive<custchannellive)
            {
            custprevlive=custchannellive;
            custchannelcnt=0;
            }
            
            if ( (custchannelcnt > 3) && (lastcustchannel.length > 3) ) {CustomerChanneLGone();}
         }
         else
         {
            if ( (custchannellive < -3) && (lastcustchannel.length > 3) ) {CustomerChanneLGone();}
         }




i have currently kept 3 seconds for manual and autodial, you can increase it, i have kept it less for immediate popup of screen.


Hope it help anybody else.

Thanks.
Arpit

PostPosted: Tue Aug 04, 2009 6:34 am
by mflorell
Thank you for your feedback, please post this to the issue tracker if you can.

Thanks matt....

PostPosted: Tue Aug 04, 2009 6:43 am
by arpit.modi
Can you pass me the link of issue tracker?

I will surely post this as someone who also want this issue can fix it.

Thanks :D

PostPosted: Tue Aug 04, 2009 7:03 am
by mflorell
Hit the "Home" key on your keyboard right now and click on the "VICIDIAL Issue Tracker" link at the top of your browser window :)

PostPosted: Tue Aug 04, 2009 7:15 am
by arpit.modi
Huh, very simple matt :)

Anyways thanks a lot..........