# is it a valid user id? # if ($user['id'] > 0) { $num = (int) $db->executeGetOne('SELECT COUNT(*) FROM `users` WHERE `id`=' . (int) $user['id']); } else { $num = 0; } if ($num < 1) { $users[$i]['id'] = (int) @gs_prov_assign_default_nobody($db, $mac_addr, null); if ($users[$i]['id'] < 1) { _settings_err('Failed to assign nobody account to phone ' . $mac_addr); } } # who is logged in at that phone? # $user = @gs_prov_get_user_info($db, $user['id']); if (!is_array($users[$i])) { _settings_err('DB error.'); } $user['id'] = $users[$i]['id']; $users[$i]['name'] = $user['name']; $users[$i]['mailbox'] = $user['mailbox']; $users[$i]['secret'] = $user['secret']; $users[$i]['nobody_index'] = $user['nobody_index']; $users[$i]['user'] = $user['user']; $users[$i]['firstname'] = $user['firstname']; $users[$i]['lastname'] = $user['lastname']; # get host for user # $users[$i]['host'] = @gs_prov_get_host_for_user_id($db, $user['id']); if (!$users[$i]['host']) {
$user_id = @gs_prov_assign_default_nobody($db, $mac, null); if ($user_id < 1) { _settings_err('Failed to assign nobody account to phone ' . $mac); } } # get host for user # $host = @gs_prov_get_host_for_user_id($db, $user_id); if (!$host) { _settings_err('Failed to find host.'); } $pbx = $host; # $host might be changed if SBC configured # who is logged in at that phone? # $user = @gs_prov_get_user_info($db, $user_id); if (!is_array($user)) { _settings_err('DB error.'); } # store the current firmware version in the database: # @$db->execute('UPDATE `phones` SET ' . '`firmware_cur`=\'' . $db->escape($fw_vers_nrml) . '\' ' . 'WHERE `mac_addr`=\'' . $db->escape($mac) . '\''); # firmware update # $firmware_prefix = ''; if (!gs_get_conf('GS_GRANDSTREAM_PROV_FW_UPDATE')) { gs_log(GS_LOG_DEBUG, 'Grandstream firmware update not enabled'); } elseif (in_array($phone_model, array('bt200', 'bt201', 'gxp280', 'gxp1200', 'gxp2000', 'gxp2010', 'gxp2020', 'gxv3000', 'gxv3005'), true)) { # get phone_id $phone_id = (int) $db->executeGetOne('SELECT `id` FROM `phones` WHERE `mac_addr`=\'' . $db->escape($mac) . '\''); # do we have to update to a default version?
if ($user_id < 1) { gs_log(GS_LOG_WARNING, "Failed to assign nobody account to phone {$mac}"); _dls_response_cleanup($nonce, 'DB error'); } } # get host for user # $host = @gs_prov_get_host_for_user_id($DBM, $user_id); if (!$host) { _dls_response_cleanup($nonce, 'Error. See log for details.'); } $pbx = $host; # $host might be changed if SBC configured # who is logged in at that phone? # $user = @gs_prov_get_user_info($DBM, $user_id); if (!is_array($user)) { _dls_response_cleanup($nonce, 'DB error'); } # store the current firmware version in the database: # @$DBM->execute('UPDATE `phones` SET ' . '`firmware_cur`=\'' . $DBM->escape($sw_vers) . '\' ' . 'WHERE `mac_addr`=\'' . $DBM->escape($mac) . '\''); # store the user's current IP address in the database: # if (!@gs_prov_update_user_ip($DBM, $user_id, $requester['phone_ip'])) { gs_log(GS_LOG_WARNING, 'Failed to store current IP addr of user ID ' . $user_id); } # get SIP proxy to be set as the phone's outbound proxy # $sip_proxy_and_sbc = gs_prov_get_wan_outbound_proxy($DBM, $requester['phone_ip'], $user_id); if ($sip_proxy_and_sbc['sip_server_from_wan'] != '') {