add($contextname, $exten, '', new ext_gotoif('$["${EMERGENCYROUTE}" = "YES"]', 'emergency,1')); $ext->add($contextname, $exten, '', new ext_gotoif('$["${INTRACOMPANYROUTE}" = "YES"]', 'intracompany,1')); switch ($outroutemsg_ids['default_msg_id']) { case DEFAULT_MSG: $ext->add($contextname, $exten, '', new ext_playback("all-circuits-busy-now&pls-try-call-later, noanswer")); break; case CONGESTION_TONE: $ext->add($contextname, $exten, '', new ext_playtones("congestion")); break; default: $message = recordings_get_file($outroutemsg_ids['default_msg_id']); $message = ($message != "") ? $message : "all-circuits-busy-now&pls-try-call-later"; $ext->add($contextname, $exten, '', new ext_playback("$message, noanswer")); } $ext->add($contextname, $exten, '', new ext_congestion()); $ext->add($contextname, $exten, '', new ext_hangup()); $exten = 'intracompany'; switch ($outroutemsg_ids['intracompany_msg_id']) { case DEFAULT_MSG: $ext->add($contextname, $exten, '', new ext_playback("all-circuits-busy-now&pls-try-call-later, noanswer")); break; case CONGESTION_TONE: $ext->add($contextname, $exten, '', new ext_playtones("congestion")); break; default: $message = recordings_get_file($outroutemsg_ids['intracompany_msg_id']); $message = ($message != "") ? $message : "all-circuits-busy-now&pls-try-call-later"; $ext->add($contextname, $exten, '', new ext_playback("$message, noanswer")); } $ext->add($contextname, $exten, '', new ext_congestion()); $ext->add($contextname, $exten, '', new ext_hangup()); $exten = 'emergency'; switch ($outroutemsg_ids['emergency_msg_id']) { case DEFAULT_MSG: $ext->add($contextname, $exten, '', new ext_playback("all-circuits-busy-now&pls-try-call-later")); break; case CONGESTION_TONE: $ext->add($contextname, $exten, '', new ext_playtones("congestion")); break; default: $message = recordings_get_file($outroutemsg_ids['emergency_msg_id']); $message = ($message != "") ? $message : "all-circuits-busy-now&pls-try-call-later"; $ext->add($contextname, $exten, '', new ext_playback("$message")); } $ext->add($contextname, $exten, '', new ext_congestion()); $ext->add($contextname, $exten, '', new ext_hangup()); } } function outroutemsg_add($default_msg_id, $intracompany_msg_id, $emergency_msg_id) { global $db; $default_msg_id = $db->escapeSimple($default_msg_id); $intracompany_msg_id = $db->escapeSimple($intracompany_msg_id); $emergency_msg_id = $db->escapeSimple($emergency_msg_id); // in future will do in a outroutemsg_del but not needed for now // $sql = "DELETE FROM outroutemsg WHERE `keyword` IN ('default_msg_id', 'intracompany_msg_id', 'emergency_msg_id')"; $result = $db->query($sql); if(DB::IsError($result)) { die_freepbx($result->getMessage().$sql); } $insert_fields =array( array('default_msg_id', "$default_msg_id"), array('intracompany_msg_id', "$intracompany_msg_id"), array('emergency_msg_id', "$emergency_msg_id"), ); $compiled = $db->prepare('INSERT INTO outroutemsg (keyword, data) values (?,?)'); $result = $db->executeMultiple($compiled,$insert_fields); if(DB::IsError($result)) { die_freepbx($result->getDebugInfo()."

".'error adding to outroutemsg table'); } } function outroutemsg_get() { global $db; $sql = "SELECT keyword, data FROM outroutemsg"; $results = $db->getAssoc($sql); if(DB::IsError($results)) { $results = array(); } $results['default_msg_id'] = isset($results['default_msg_id']) ? $results['default_msg_id'] : DEFAULT_MSG; $results['intracompany_msg_id'] = isset($results['intracompany_msg_id']) ? $results['intracompany_msg_id'] : DEFAULT_MSG; $results['emergency_msg_id'] = isset($results['emergency_msg_id']) ? $results['emergency_msg_id'] : DEFAULT_MSG; return $results; } function outroutemsg_recordings_usage($recording_id) { global $active_modules; $my_id = sql("SELECT `data` FROM `outroutemsg` WHERE `data` = '$recording_id'","getOne"); if (!isset($my_id) || $my_id == '') { return array(); } else { $type = isset($active_modules['outroutemsg']['type'])?$active_modules['outroutemsg']['type']:'tool'; $usage_arr[] = array( 'url_query' => 'config.php?type='.$type.'&display=outroutemsg', 'description' => _("Route Congestion Messages"), ); return $usage_arr; } } ?>