0361b189 by Manish Mihsra

Added Attended Transfer Logic and made required changes

1 parent 74336949
......@@ -497,18 +497,18 @@ if($action=="transfercall")
$olddialline=Dialline::find($oldcrmcall->dialline_id);
$dspan="1";if($olddialline)$dspan=$olddialline->dspan;
$dialline=Dialline::where("status","=","Free")->where("enabled","=","1");
if($dspan!="")$dialline=$dialline->where('dspan','=',$dspan);
$dialline=$dialline->orderBy('updated_at','ASC')->first();
// $dialline=Dialline::where("status","=","Free")->where("enabled","=","1");
// if($dspan!="")$dialline=$dialline->where('dspan','=',$dspan);
// $dialline=$dialline->orderBy('updated_at','ASC')->first();
if($dialline)
if($olddialline)
{
$callerid=$oldcrmcall->did;
$dialline->status="transfer";
$dialline->channel=$olddialline->channel;
$dialline->save();
// $dialline->status="transfer";
// $dialline->channel=$olddialline->channel;
// $dialline->save();
$nowts=microtime(true)*1000;
......@@ -521,10 +521,10 @@ if($action=="transfercall")
$crmcall->client=$oldcrmcall->client;
$crmcall->department=$oldcrmcall->department;
$crmcall->state='New';
$crmcall->userstatus='Conference';
$crmcall->usersubstatus='Conference';
$crmcall->type='Conference';
$crmcall->dialline_id=$dialline->id;
$crmcall->userstatus='Transfer';
$crmcall->usersubstatus='Transfer';
$crmcall->type='Transfer';
//$crmcall->dialline_id=$dialline->id;
$crmcall->setTs('ts_Wait',$nowts);
$crmcall->setTs('ts_Call',$nowts);
......@@ -537,7 +537,7 @@ if($action=="transfercall")
$newqueue=new Kqueue();
$newqueue->transferCall($sipid,$callnumber,$callerid,$crmcall,$dialline);
$newqueue->transferCall($sipid,$callnumber,$callerid,$crmcall,$olddialline);
//start actual calls
// $newqueue=new Kqueue();
......
......@@ -850,7 +850,7 @@ class KPAMIListen implements IEventListener
//notify UI (only the sip id)
$newqueue=new Kqueue();
$newqueue->sipNotify($tsip,"dialerUI","dialend","c",$crmcall->id."~".$crmcall->number."~".base64_encode($dchannel));
$newqueue->sipNotify($tsip,"dialerUI","dialend","c",$crmcall->id."~".$crmcall->number."~".base64_encode($channel));
$crmcall->addEventLog($nowts,"$accountcode:Unknown : $eventname $dchannelstate:$dchannelstatedesc $duniqueid $dexten:$dpriority $dchannel $dialstatus");
......@@ -886,40 +886,6 @@ class KPAMIListen implements IEventListener
}
}
else if($accountcodearr[1]=="t") // Code Added by AmolG: AutoDial
{
$crmcall=CRMCall::find($accountcodearr[2]);
if($crmcall)
{
$nowts=microtime(true)*1000;
$crmcall->setTs('ts_Talk',$nowts);
$crmcall->state=$eventname;
$crmcall->status=$dialstatus;
$crmcall->uniqueid=$uniqueid;
$dialline=Dialline::find($crmcall->dialline_id);
if($dialline && $dialstatus=="ANSWER")
{
// $tsip=Sipid::find($crmcall->sipid_id);
// $newqueue=new Kqueue();
// $newqueue->channelRedirectToExten($tsip->server,$dchannel,"1004".$tsip->id."|".$dialline->channel,"confTransfer","1");
$dialline->channel=$dchannel;
$dialline->uniqueid=$uniqueid;
$dialline->status="transfer";
$dialline->save();
}
$crmcall->addEventLog($nowts,"$accountcode:Unknown : $eventname $dchannelstate:$dchannelstatedesc $duniqueid $dexten:$dpriority $dchannel $dialstatus");
$crmcall->type="transferred";
$crmcall->save();
}
}
}
}
}
......@@ -1780,7 +1746,7 @@ if($crmcall->did=='46130234'){
}
else if($tqueue->key=="transfer")
{
$blindtransferaction=new BlindTransferAction($data['channel'],$data['exten'],$data['context']);
$blindtransferaction=new AttendedTransferAction($data['channel'],$data['exten'],$data['context'],"1");
$res=$this->_client->send($blindtransferaction);
}
......
......@@ -88,7 +88,7 @@ class Kqueue extends Model{
$odata['VARS']['callnumber']=$callnumber;*/
$odata['channel']=$channel;
$odata['exten']="1003".$dialline->dialstr.$callnumber;
$odata['exten']="1003".$callnumber;
$odata['context']="initiateTransfer";
$odata['priority']=1;
......
......@@ -49,8 +49,8 @@ exten => _X!,n,ConfBridge(${CHANNEL})
exten => _X!,n,Hangup
[initiateTransfer]
exten => _X!,n,Dial(${EXTEN:4},30,tT)
exten => _X!,n,Hangup
exten => _1003XXXXXXXXXX!,1,Dial(SIP/GATEWAY/${EXTEN:4},30,tT)
exten => _1003XXXXXXXXXX!,n,Hangup
;exten => _X!,1,Answer
;exten => _X!,n,Verbose(${CALLERID(num)}${dialstr}${chnl})
......@@ -86,4 +86,4 @@ exten => _X!,1,Goto(kstychDialerINB,${EXTEN},1)
exten => _X!,n,Hangup()
[kstychDialerIVR]
#include kstych-*.conf
\ No newline at end of file
#include kstych-*.conf
......
......@@ -1247,11 +1247,6 @@ function dialerTimersUpdate()
saveCloseDialerCall('AUTOWRAPUP');
}
if(thiswraptime==90 || thiswraptime==300)
{
showWrapUp();
}
dispD="Wrapup : "+thiswraptime;
$("#spandialer_ts").html(dispD);
$("#dialertimes1").removeClass("btn-default").addClass("btn-primary");
......@@ -2247,7 +2242,7 @@ function dialerSipMsg(omsg)
{
try
{
if(omsg.ao_headers[6].s_name=='kstych-data')
if(omsg.ao_headers[6].s_name=='kstych-Data')
{
var vparts=omsg.ao_headers[6].s_value.split("|");
......
......@@ -380,8 +380,8 @@ $("#"+divid).html(searchRecordDivHTML);
doAjax('dialer?action=transfercall&confnumber='+confnumber,datastr,'__fake__div__', 'ajax_confdial','singlefail','POST', function(retstr){
if(retstr.responseText.indexOf('Error')<0)
{
kcallSetConnection(confnumber,'callid',retstr.responseText);
kcallSetConnection(confnumber,'ts_Call',getNowTS());
// kcallSetConnection(confnumber,'callid',retstr.responseText);
// kcallSetConnection(confnumber,'ts_Call',getNowTS());
updateDialerState();
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!