Deciphering the CCID in the H3 radio

The H3 radio reports the CCID in a different format compared to the H4 and G2 radios. The following are examples of responses from the various radios ("WXYZ" included just to obscure the actual SIM ID).

H3 radio:
AT^ICCID?
^ICCID: "9810144052XWZY397460"

H4 radio:
AT!ICCID?
!ICCID: 8901410425WXYZ934706

G2 radio:
AT+CCID?
+CCID: "8901410425WXYZ934706"


The pattern to interpret the numbers returned from H3 radio query AT^ICCID? is as follows:

Rule 1:
Starting at the beginning of the ID string, swap each adjacent pair of numbers (for example 98 becomes 89, 10 becomes 01.)

Rule 2:
In numbers which have an odd number of total SIM digits the "F" in the last pair of the response gets dropped. The examples below show the ID string broken into pairs to better see the correlation of the response to the number on the SIM. In two of the examples the "F" which appears in the last pair is dropped leaving a single digit. If you swap each pair as indicated above and drop the "F" (if present), then the CCID value matches that of the SIM.

^CCID 98 10 71 40 XW ZY 00 23 35 96
SIM 89 01 17 04 WX YZ 00 32 53 69

^CCID 98 10 56 90 XW ZY 23 64 03 F3
SIM 89 01 65 09 WX YZ 32 46 30 3

^CCID 98 10 56 90 XW ZY 80 03 83 F0
SIM 89 01 65 09 WX YZ 08 30 38 0