General purpose UICC-related functions
Commands sent to the /pps/services/cellular/uicc/card0/control object are of the form:
msg::command_string\nid::msg_ID\ndat:json:{JSON_data}
Responses always reflect the command_string and msg_ID that were sent in the message, along with any errors:
res::command_string
id::msg_ID
dat:json:{JSON_data}
error::error_description
The response includes either the dat attribute (on success) or the err attribute (on error).
Request UICC service to enable/disable the PIN lock for CHV1.
msg::pin
id::msg_ID
dat:json:
{
"mode":operation_mode,
"password":chv1_password
}
where mode is either ENABLE or DISABLE
and password is the personal identification number (PIN) for CHV1. Both parameters are required.res::pin id::msg_ID err:n:error_codewhere err_code is one of the following codes:
Request UICC service to verify and unlock the SIM for CHV1 using a PIN.
msg::pin_code
id::msg_ID
dat:json:
{
"chv_number":chv_number,
"password":password
}
where chv_number is CHV1 and
password is the PIN for the specified CHV number. Both parameters are required.
res::pin_code id::msg_ID err:n:error_codewhere err_code is one of the following codes:
Request the UICC service to unblock the SIM (CHV1) using a PIN unlock key (PUK), and set the PIN to a new value.
msg::puk_code
id::msg_ID
dat:json:
{
"chv_number":chv_number,
"puk_password":puk_password
"new_password":new_password
}
The puk_code command has the following parameters, all of which are required:
res::puk_code id::msg_ID err:n:error_codewhere err_code is one of the following codes:
Request UICC service to change the PIN for CHV1.
msg::pin_new
id::msg_ID
dat:json:
{
"chv_number":chv_number,
"old_password":old_password
"new_password":new_password
}
The pin_new command has the following parameters, all of which are required:
res::pin_new id::msg_ID err:n:error_codewhere err_code is one of the following values:
Request UICC service to get the file information for the specified UICC elementary file (EF).
msg::ef_req_info id::msg_ID dat::EF_IDwhere EF_ID (required) is the string representation of the ID of the UICC EF. See IDs for UICC Elementary Files for the list of IDs.
res::ef_req_info
id::msg_ID
dat:json:
{
"type":EF_type_string,
"size":EF_size,
"rec_length":EF_record_length,
"num_rec":number_of_records
}
err:n:error_code
The ef_req_info response returns the following fields in the dat attribute:
Request the UICC service to read the specified UICC elementary file (EF).
The ef_read command has the following format:
msg::ef_read
id::msg_ID
dat:json:
{
"efid":EF_ID,
"rec_num":EF_record_number,
"len":EF_record_length
>
The parameters are as follows:
res::ef_read id::msg_ID dat:json:EF_data err:n:error_codewhere EF_data is a binary hexadecimal string of the EF record data and err_code (returned only on error) is one of the following codes:
Request UICC service to enable or disable Fixed Dialing Number (FDN).
The fdn command has the following format:
msg::fdn
id::msg_ID
dat:json:
{
"mode":FDN_mode,
"password":password
}
where mode is either "ENABLE" or "DISABLE" and password is the PIN .
res::fdn id::msg_ID err:n:error_codewhere err_code is one of the following codes:
Get the phonebook information of the specifiied type.
The pb_get_info command has the following format:
msg::pb_get_info
id::msg_ID
dat:json:
{
"type":"pb_type"
}
res::pb_get_info
id:msg_ID
dat:json:
{
"type":"pb_type,
"rec_total":num_entries,
"available":true|false,
"mode":ENABLE|DISABLE,
"name_length":max_name_length,
"number_length":max_digits,
"email_length":max_email_length
}
err:n:error_code
The following parameters and attributes may be returned in the response:
Read a phonebook entry.
The pb_read_entry command has the following form:
msg::pb_read_entry
id::msg_ID
dat:json:
{
"type":"phonebook_type",
"rec_num":"record_number",
}
The parameters are as follows:
The UICC service sends the pb_read_entry response to the client in reply to the pb_read_entry command. The response has the following form:
res::pb_read_entry
id::msg_ID
dat:json:
{
"type":phonebook_type,
"rec_num":record_number,
"name":entry_name,
"number":entry_number,
"hidden":true|false",
"second_name":second_entry_name",
"group":["group1","group2", ... ]
"email":["email1","email2", ... ]
"extended":[
{"alpha":"name1","number":"number1"},
{"alpha":"name2","number":"number2"},
...
]
}
err:n:error_code
The following parameters and attributes may be returned in the response:
Create or update a phonebook entry.
The pb_update_entry requests the UICC service to update the specified phonebook entry. If the entry doesn't exist, it will be created. The command has the following form:
msg::pb_update_entry
id::msg_ID
dat:json:
{
"type":phonebook_type,
"rec_num":record_number,
"name":entry_name,
"number":entry_number,
"hidden":true|false,
"second_name":second_entry_name,
"group":["group1","group2", ... ]
"email":["email1","email2", ... ]
"extended":[
{"alpha":"name1","number":"number1"},
{"alpha":"name2","number":"number2"},
...
]
}
where the attributes and parameters are as described for the pb_read_entry response.
The UICC service sends the pb_update_entry response to the client in reply to the pb_update_entry command. The response has the following form:
res::pb_update_entry id::msg_ID err:n:error_code
Delete a phonebook entry.
The pb_delete_entry command has the following form:
msg::pb_delete_entry
id::msg_ID
dat:json:
{
"type":phonebook_type
"rec_num":record_number
}
where:
The UICC service sends the pb_delete_entry response to the client in reply to the pb_delete_entry command. The response has the following form:
res::pb_delete_entry id::msg_ID err:n:error_code
Get the network name.
The ons_get_network_names command has the following form:
msg::ons_get_network_names
id::msg_ID
dat:json:
{
"mcc":"mcc_string",
"mnc":"mnc_string",
"lac":location_area_code,
"hplmn":true|false
}
where:
The UICC service sends the ons_get_network_names response to the client in reply to the ons_get_network_names command. The response has the following form:
res::ons_get_network_names
id::msg_ID
dat:json:
{
"name_long":"operator_long_name",
"name_short":"operator_short_name",
}
err:n:error_code
The following parameters and attributes may be returned in the response:
Resolve the network name from SE13 table and BBSE network override table. If not found, empty strings will be returned.
The se13_get_network_names command has the following form:
msg::se13_get_network_names
id::msg_ID
dat:json:
{
"mcc":"mcc_string",
"mnc":"mnc_string",
}
where:
The UICC service sends the se13_get_network_names response to the client in reply to the se13_get_network_names command. The response has the following form:
res::se13_get_network_names
id::msg_ID
dat:json:
{
"name_long":"operator_long_name",
"name_short":"operator_short_name",
}
err:n:error_code
The following parameters and attributes may be returned in the response:
Set the MSISDN.
The set_msisdn command has the following form:
msg::set_msisdn id::msg_ID dat::msisdn_phone_number
where the dat attribute contains a string representing the MSISDN to set.
The UICC service sends the set_msisdn response to the client in reply to the set_msisdn command. The response has the following form:
res::set_msisdn id::msg_ID err:n:error_code