} break; # Switch On/Off # Switch On/Off case 'change': # Change DND status $dnd = Aastra_manage_dnd_Asterisk($user, 'change'); # Prepare display update require_once 'AastraIPPhoneExecute.class.php'; $object = new AastraIPPhoneExecute(); # Pause/Unpause from queues if ($AA_DNDPAUSE) { if ($dnd) { Aastra_queue_pause_Asterisk($user, '', 'true'); } else { Aastra_queue_pause_Asterisk($user, '', 'false'); } } # Update LED and idle screen $data = Aastra_get_user_context($user, 'dnd'); $key = $data['key']; $last = $data['last']; $data['last'] = $dnd; if ($dnd != $last) { Aastra_save_user_context($user, 'dnd', $data); $object->setBeep(); $object->addEntry($XML_SERVER . '&action=msg&status=' . $dnd); if ($key != '' and Aastra_is_ledcontrol_supported()) { if ($dnd == 1) { $object->addEntry('Led: ' . $key . '=on'); } else {
$object->addSoftKey('10', Aastra_get_label('Exit', $language), 'SoftKey:Exit'); } } break; # Pause or unpause # Pause or unpause case 'pause': # Get agent status for this queue $status = get_agent_status($queue, $agent); # Agent logged? if ($status['Logged']) { # New pause state? if ($status['Paused']) { Aastra_queue_pause_Asterisk($agent, $queue, 'false'); } else { Aastra_queue_pause_Asterisk($agent, $queue, 'true'); } # Prepare display callback require_once 'AastraIPPhoneExecute.class.php'; $object = new AastraIPPhoneExecute(); $object->addEntry($XML_SERVER . '&action=show_queues&queue=' . $queue); } else { # Do Nothing require_once 'AastraIPPhoneExecute.class.php'; $object = new AastraIPPhoneExecute(); $object->addEntry(''); } break; # Initial or recurrent check # Initial or recurrent check case 'check':