%useSession(); if( request["SESSION_ID"]!=session["sessionid"] ) redirect('/index.html');%>
SIM Security
<% if (request['REQUEST_METHOD'] == "POST") {
simpin = get_single('wwan.0.sim.pin');
mypin = form['pin'];
set_single('wwan.0.sim.cmd.param.pin='+mypin);
mystatus = form['SIMStatus'];
set_single('wwan.0.sim.cmd.status=');
set_single('wwan.0.sim.status.result_of_user_operation=');
if( mystatus=='SIM locked' ) {
set_single('wwan.0.sim.cmd.command=verifypin');
//check last operation
esp_sleep(6000);
// workaround for those SIM cards that take longer than 15 seconds - BIP 1024 Telstra memory SIM card and some Vodafone SIM cards
esp_wait_for_chg('wwan.0.sim.status.status','SIM BUSY',30)
}
else if( mystatus=="PUK" ) {
mypuk = form['confirmPUK'];
set_single('wwan.0.sim.cmd.param.newpin='+mypin);
set_single('wwan.0.sim.cmd.param.puk='+mypuk);
set_single('wwan.0.sim.cmd.command=verifypuk');
//check last operation
esp_sleep(6000);
// workaround for those SIM cards that take longer than 15 seconds - BIP 1024 Telstra memory SIM card and some Vodafone SIM cards
esp_wait_for_chg('wwan.0.sim.status.status','SIM BUSY',30)
}
else if( mystatus=="PH-NET PIN" || mystatus=="SIM PH-NET" || mystatus=="SIM MEP locked") {
meppin = form['mepCode'];
set_single('wwan.0.sim.cmd.param.mep='+meppin);
set_single('wwan.0.sim.cmd.command=unlockmep');
esp_sleep(5000);
redirect('/pinsettings.html?PH-NET');
return;
}
else {
mystatus = form['action'];
if( mystatus == 'changepin' ) {
if( simpin != "" )
set_single('wwan.0.sim.cmd.param.pin='+simpin);
else
set_single('wwan.0.sim.cmd.param.pin='+mypin);
mypin = form['newPIN'];
set_single('wwan.0.sim.cmd.param.newpin='+mypin);
set_single('wwan.0.sim.cmd.command=changepin');
//check last operation
esp_sleep(6000);
tempval = get_single('wwan.0.sim.status.result_of_user_operation');
if(tempval=="N/A")
tempval = get_single('wwan.0.sim.cmd.status');
form['lastOpFailed'] = tempval;
if( tempval == "Operation succeeded" ) {
//only change the settings if last operation is successful
set_single('wwan.0.sim.pin='+mypin);
}
}
else if( mystatus == 'disablepin' ) {
tempval=get_single('wwan.0.sim.status.pin_enabled');
if(tempval!="Disabled") {
set_single('wwan.0.sim.cmd.command=disablepin');
form['rememberSIMPIN']=0;
}
}
else if( mystatus == 'enablepin' ) {
tempval=get_single('wwan.0.sim.status.pin_enabled');
if(tempval!="Enabled") {
set_single('wwan.0.sim.cmd.command=enablepin');
}
}
else {
mystatus="";
}
esp_sleep(6000);
}
//check remember pin
tempval = form['rememberSIMPIN'];
set_single('wwan.0.sim.autopin='+tempval);
if( tempval == '1' ) {
set_single('wwan.0.sim.pin='+mypin);
}
else {
set_single('wwan.0.sim.pin=');
form['pin'] = "";
form['confirmPIN'] = "";
}
esp_sleep(1000);
redirect('/pinsettings.html?'+mystatus)
}
else { //GET
tempval = get_single('wwan.0.if');
if (tempval == 'at' && request['QUERY_STRING'] == "") {
set_single('wwan.0.sim.cmd.command=check');
esp_sleep(1000);
}
}
tempval = get_single('wwan.0.sim.autopin');
form['rememberSIMPIN'] = tempval;
if( tempval == '1' ) {
tempval = get_single('wwan.0.sim.pin');
form['pin'] = tempval;
form['confirmPIN'] = tempval;
}
else {
form['pin'] = "";
form['confirmPIN'] = "";
form['puk'] = "";
form['confirmPUK'] = "";
}
esp_sleep(2000);
tempval=get_single('wwan.0.sim.status.pin_enabled');
form['currentPINProtection']=tempval;
if (tempval=="Disabled") {
form['disablePIN']= "disablepin";
} else {
form['disablePIN']= "enablepin";
}
form['numRetriesRem']=get_single('wwan.0.sim.status.retries_remaining');
tempval = get_single('wwan.0.sim.status.result_of_user_operation');
if(tempval=="N/A") {
tempval = get_single('wwan.0.sim.cmd.status');
}
form['lastOpFailed']=tempval;
form['pukRetries']=get_single('wwan.0.sim.status.retries_puk_remaining');
form['SIMStatus']=get_single('wwan.0.sim.status.status');
%>