Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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`.