Skip to content

Commit

Permalink
Merge pull request #35 from errdemk/main
Browse files Browse the repository at this point in the history
Documentation improvements
  • Loading branch information
PeterHasse authored Oct 30, 2024
2 parents 48fdada + 9f8fb5b commit 7d20214
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
2 changes: 2 additions & 0 deletions docs/OpenMobileNetworkToolkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
* [Slicing](./slicing.md)
* [InfluxDB](./influxdb.md)
* [Workprofile](./workprofile.md)
* IMS
* [How-to Enable IMS on 999xx PLMNs](./howto_ims.md)
* [Settings](settings/settings.md)
* [Logging](settings/logging.md)
* [Mobile Network](settings/mobile_network.md)
Expand Down
26 changes: 26 additions & 0 deletions docs/carrier-permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,30 @@ aram_store_ref_ar_do --aid ffffffffffff --device-app-id E849B63A7B96E571F788FC58
```
This assumes the credentials to access the card are stored in the pySim format.
---
#### Alternative Solution
The `aram_store_ref_ar_do` command may return the following error:
```
EXCEPTION of type 'ValueError' occurred with message: Dict [{'ref_ar_do': [{'ref_do': [{'aid_ref_do': 'FFFFFFFFFFFF'}, {'dev_app_id_ref_do': 'E46872F28B350B7E1F140DE535C2A8D5804F0BE3'}]}, {'ar_do': [{'apdu_ar_do': {'generic_access_rule': 'always'}}, {'perm_ar_do': {'permissions': '0000000000000001'}}]}]}] doesn't contain expected key command_store_ref_ar_do
```
In this case, the GP provided by the [CoIMS_Wiki](https://github.com/herlesupreeth/CoIMS_Wiki) project can be used as an alternative solution by following the steps below. To implement this solution, the KIC1, KID1 and KIK1 keys of the SIM card are required.
```bash
git clone https://github.com/herlesupreeth/CoIMS_Wiki
cd CoIMS_Wiki
alias gp="java -jar $PWD/gp.jar"
gp --key-enc <KIC1> --key-mac <KID1> --key-dek <KIK1> -lvi
# Unlock the SIM card for easier installation of applet
gp --key-enc <KIC1> --key-mac <KID1> --key-dek <KIK1> --unlock
# Install ARA-M Java Card applets on USIM/ISIM
gp --install applet.cap
# Push the SHA-1 certificate of the OMNT app onto ARA-M in USIM/ISIM
gp -a 00A4040009A00000015141434C0000 -a 80E2900033F031E22FE11E4F06FFFFFFFFFFFFC114E849B63A7B96E571F788FC5845C4AA3C520D18E8E30DD00101DB080000000000000001
# Check the list of installed certificates
gp --acr-list-aram
```
[Home](OpenMobileNetworkToolkit.md)
26 changes: 26 additions & 0 deletions docs/howto_ims.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# How-to Enable IMS on 999xx PLMNs

It is possible to activate IMS on PLMN IDs such as 999xx using OMNT. To achieve this, the following steps should be followed:

1. In addition to the **internet** APN, create another APN value for IMS on the smartphone.

* Go to `Settings/Network and Internet/SIMs/<Name of SIM card>`
* Add the APN in `Access point names`. (Name: *ims*, APN: *ims*, APN type: *ims*, APN protocol: *IPv4*, APN roaming protocol: *IPv4*). After that, save it and leave the **internet** APN selected.

2. Disable SQN checking on SIM cards. (See the *Disabling / Enabling SQN validation* section of the sysmoISIM user manuals)
```bash
# Add '--pcsc-shared' flag if the card status includes 'Shared Mode'
# p: Card reader number in the 'pcsc_scan' output
./pySim-shell.py --pcsc-shared -p 1
pySIM-shell > verify_adm <your-admin-key>
pySIM-shell > select ADF.USIM/EF.USIM_SQN
pySIM-shell > read_binary_decoded # Check the "sqn_check" value
pySIM-shell > update_binary_decoded --json-path $.flag1.sqn_check false
pySIM-shell > read_binary_decoded # Check again if the "sqn_check" value is false
```
3. IMS activation by overriding the IMS settings may be required if the PLMN ID of the SIM card is not in the [carrier list](https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/refs/heads/main/assets/sdk34_carrier_id/carrier_list.textpb). SysmoISIM cards can connect to IMS without needing extra SIM card configuration if the PLMN ID is **00101**, but for some PLMN IDs such as **999xx**, the following steps should be applied:
* The carrier permissions should be activated. (See [SIM Card Setup for Carrier Permissions](./carrier-permissions.md))
* Open the OMNT app and enable `CARRIER_VOLTE_AVAILABLE_BOOL` and `CARRIER_VOLTE_PROVISIONED_BOOL` in `Settings/Mobile Network/Android 10 API 29 (Q)`. Then, press `Apply carrier settings now`.

0 comments on commit 7d20214

Please sign in to comment.