function findUserIdFromChannel($channel) { global $userGUID; $asteriskExt = extractExtensionNumberFromChannel($channel); $maybeAssignedUser = findUserByAsteriskExtension($asteriskExt); if ($maybeAssignedUser) { $assignedUser = $maybeAssignedUser; logLine("! Assigned user id set to {$assignedUser}\n"); } else { $assignedUser = $userGUID; logLine(" ! Assigned user will be set to Administrator.\n"); } return $assignedUser; }
// raw data from asterisk_log $query = sprintf("UPDATE asterisk_log SET callstate='%s', timestampHangup=%s, hangup_cause=%d, hangup_cause_txt='%s' WHERE asterisk_id='%s'", 'Hangup', 'NOW()', $e['Cause'], $e['Cause-txt'], $id); $updateResult = mysql_checked_query($query); if ($updateResult) { // // Attempt to find assigned user by asterisk ext // $assignedUser = $userGUID; // Use logged in user as fallback $channel = $rawData['channel']; $channelSplit = array(); echo "# Channel was {$channel}\n"; if (eregi('^([[:alpha:]]+)/([[:alnum:]]+)-', $channel, $channelSplit) > 0) { $asteriskExt = $channelSplit[2]; echo "# Extension was " . $asteriskExt . "\n"; $maybeAssignedUser = findUserByAsteriskExtension($asteriskExt); if ($maybeAssignedUser) { $assignedUser = $maybeAssignedUser; echo "! Assigned user id set to {$assignedUser}\n"; } } // // ... on success also update entry in Calls module // // // Calculate call duration... // $hangupTime = time(); $callDurationRaw = 0; // call duration in seconds, only matters if timestampLink != NULL if ($rawData['timestampLink'] != NULL) {
$query = sprintf("UPDATE asterisk_log SET callstate='%s', timestampHangup=%s, hangup_cause=%d, hangup_cause_txt='%s' WHERE asterisk_id='%s'", 'Hangup', 'NOW()', $e['Cause'], $e['Cause-txt'], $id); $updateResult = mysql_checked_query($query); if ($updateResult) { // // Attempt to find assigned user by asterisk ext // $direction = $rawData['direction']; $assignedUser = $userGUID; // Use logged in user as fallback $channel = $rawData['channel']; if ($direction == 'O') { // Assigned user is the caller $assignedUser = findUserByAsteriskExtension($rawData['callerID']); } else { echo "# Extension was " . $rawData['recipientID'] . "\n"; $maybeAssignedUser = findUserByAsteriskExtension($rawData['recipientID']); if ($maybeAssignedUser) { $assignedUser = $maybeAssignedUser; } } echo "# Channel was {$channel}\n"; echo "! Assigned user id set to {$assignedUser}\n"; // // ... on success also update entry in Calls module // // // Calculate call duration... // $hangupTime = time(); $callStart = strtotime($rawData['timestampCall']); $callDurationRaw = 0;