e10aa96d by G Manojkumar

Added new context for after hrs

1 parent 7002a035
......@@ -306,28 +306,52 @@ class KPAMIListen implements IEventListener
$crmcall->data=json_encode($tdata);
$crmcall->save();
$userStatus=User::where("updated_at",">",date("Y-m-d"))->where("exten","like","%".substr($exten,-4)."%")->where("usertype","!=","Admin")->where('presence', '=', '1')->select('*')->get();
if($userStatus=="[]")
{
$newqueue=new Kqueue();
$newqueue->playabsencefile($dialline->channel,$dialline->server);
}
$callStat=CRMCall::where("did","like","%".substr($exten,-4)."%")->where("updated_at",">",date("Y-m-d"))->whereIn('state',['DialBegin', 'DialEnd'])->get();
$newqueue=new Kqueue();
if($callStat!="[]")
{
if( $this->isHoliday() ) {
// TODO: Handle Holidays here
} elseif( $this->isNonWorkingTime() ) {
$newqueue=new Kqueue();
$newqueue->playbusyfile($dialline->channel,$dialline->server);
}
$newqueue->playafterhrsfile($dialline->channel,$dialline->server);
} else {
$userStatus=User::where("updated_at",">",date("Y-m-d"))->where("exten","like","%".substr($exten,-4)."%")->where("usertype","!=","Admin")->where('presence', '=', '1')->select('*')->get();
if($userStatus=="[]")
{
$newqueue->playabsencefile($dialline->channel,$dialline->server);
} else {
$callStat=CRMCall::where("did","like","%".substr($exten,-4)."%")->where("updated_at",">",date("Y-m-d"))->whereIn('state',['DialBegin', 'DialEnd'])->get();
if($callStat!="[]")
{
$newqueue->playbusyfile($dialline->channel,$dialline->server);
}
}
}
}
}
}
}
function isHoliday() {
return false;
}
function isNonWorkingTime() {
return ( $this->isSunday() || $this->isNonWorkingHours() );
}
function isSunday() {
return (date('N') == 7);
}
function isNonWorkingHours() {
return (time() < strtotime('03:30:00') || time() > strtotime('13:30:00'));
}
private function VarSetEvent(EventMessage $event)
{
$eventname=$event->getKey("Event");
......@@ -1000,23 +1024,29 @@ class KPAMIListen implements IEventListener
$crmcall->data=json_encode($tdata);
$crmcall->save();
$userStatus=User::where("updated_at",">",date("Y-m-d"))->where("exten","like","%".substr($exten,-4)."%")->where("usertype","!=","Admin")->where('presence', '=', '1')->select('*')->get();
if($userStatus=="[]")
{
$newqueue=new Kqueue();
$newqueue->playbusyfile($dialline->channel,$dialline->server);
}
$callStat=CRMCall::where("did","like","%".substr($exten,-4)."%")->where("updated_at",">",date("Y-m-d"))->whereIn('state',['DialBegin', 'DialEnd'])->get();
$newqueue=new Kqueue();
if($callStat!="[]")
{
if( $this->isHoliday() ) {
// TODO: Handle Holidays here
} elseif( $this->isNonWorkingTime() ) {
$newqueue=new Kqueue();
$newqueue->playbusyfile($dialline->channel,$dialline->server);
}
$newqueue->playafterhrsfile($dialline->channel,$dialline->server);
} else {
$userStatus=User::where("updated_at",">",date("Y-m-d"))->where("exten","like","%".substr($exten,-4)."%")->where("usertype","!=","Admin")->where('presence', '=', '1')->select('*')->get();
if($userStatus=="[]")
{
$newqueue->playabsencefile($dialline->channel,$dialline->server);
} else {
$callStat=CRMCall::where("did","like","%".substr($exten,-4)."%")->where("updated_at",">",date("Y-m-d"))->whereIn('state',['DialBegin', 'DialEnd'])->get();
if($callStat!="[]")
{
$newqueue->playbusyfile($dialline->channel,$dialline->server);
}
}
}
}
}
......
......@@ -229,11 +229,11 @@ class Kqueue extends Model{
$this->data=json_encode($odata);
$this->save();
}
public function playhangupfile($fromext,$server)
public function playafterhrsfile($fromext,$server)
{
$odata=array();$odata['VARS']=array();
$odata['fromext']=$fromext;
$odata['context']="kstychPlayHangFile";
$odata['context']="kstychAfterFile";
$odata['callerid']="";
$odata['toext']="3001";
$odata['account']="";
......
......@@ -40,18 +40,25 @@ exten => _1002XXX!,n,Hangup
[kstychDialerINB]
exten => _X!,1,Answer
exten => _X!,n,GotoIfTime(12:58-03:58,mon-sat?aftrhrs,1)
exten => _X!,n,GotoIfTime(00:00-23:59,sun?afterhrs,1)
;exten => _X!,n,GotoIfTime(12:58-03:58,mon-sat?aftrhrs,1)
;exten => _X!,n,GotoIfTime(00:00-23:59,sun?afterhrs,1)
exten => _X!,n,Set(CONFBRIDGE(user,music_on_hold_when_empty)=yes)
exten => _X!,n,MixMonitor(/var/spool/asterisk/astrec/${STRFTIME(${EPOCH},,%Y/%m/%d)}/inb/inbound_${STRFTIME(${EPOCH},Asia/Kolkata,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${EXTEN}_${UNIQUEID}.gsm,av(0)V(0))
exten => _X!,n,ConfBridge(${CHANNEL})
exten => _X!,n,Hangup
exten => aftrhrs,1,Playback(/var/lib/asterisk/sounds/audio_holiday_vrm_V2)
exten => aftrhrs,n,Hangup
;exten => aftrhrs,1,Playback(/var/lib/asterisk/sounds/audio_holiday_vrm_V2)
;exten => aftrhrs,n,Hangup
;exten => afterhrs,1,Playback(/var/lib/asterisk/sounds/audio_holiday_vrm_V2)
;exten => aftrhrs,n,Hangup
[kstychAfterFile]
exten => 3001,1,Answer
exten => 3001,n,Playback(silence/1)
exten => 3001,n,Playback(/var/lib/asterisk/sounds/audio_holiday_vrm_V2)
exten => 3001,n,Hangup
exten => afterhrs,1,Playback(/var/lib/asterisk/sounds/audio_holiday_vrm_V2)
exten => aftrhrs,n,Hangup
[kstychPlayFile]
exten => 1001,1,Answer
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!