IMEI Checksum

I need to check in my application if enetered IMEI number is valid.
Can someone provide me some code sample or specification about counting IMEI checkum?
LVL 5
Who is Participating?

Commented:
This is the spec for the Check Digit computation.

www.arib.or.jp/IMT-2000/ARIB-spec/ARIB/22016-310.PDF

HTH,
Cheers.
0

Commented:
Hi AnAkin,

I did not completely understand your question. Do you want to check the IMEI entered against the IMEI against the
phone connected to your PC or is it something else ?

Just let me know a little more about what you are trying to do.

Cheers.
0

Author Commented:
i have seen that some simlock applications have IMEI check. I don't want to have a moile connected to the computer. There is something like checking if IMEI is valid just by counting IMEI checksum...
0

Commented:
Does this look like something of use to you.
http://forums.devshed.com/t130517/s.html?highlight=Video+card+selection+for+2+monitors

By the way the IMEI/IMEISV is predefined by the ETSI and have a specific format in which it should be present.
If that is what you want, then you could find the spec at www.3gpp.org

Cheers.
0

Author Commented:
ok i think that is what i was looking for. but i still don't understand one thing:
IMEI: 351462809239889

Sum = 3 + 1 + 0 + 1 + 8 + 6 + 4 + 8 + 0 + 9 + 4 + 3 + 1 + 8 + 8 + 1 + 6 = 71
So, 80 - 71 = 9

But what does it mean, that the sum equals 9?
How do i know IMEI is valid?
0

Author Commented:
oh, ok =)
0

Author Commented:
so...

<?php

function imeiChecksum(\$imei) {

if (strlen(\$imei) != 15) return False;
\$checksum = 0;
for (\$nr = 0; \$nr < 14; \$nr++) {
if (\$nr % 2 == 0) \$checksum += \$imei{\$nr}; else {
\$nr2 = \$imei{\$nr} * 2;
\$checksum += (\$nr2 % 10) + (int)(\$nr2 / 10);
}
}
\$nr = (\$checksum{1} != '0') ? (int)((\$checksum / 10)+1) * 10 : \$checksum;
return (\$nr - \$checksum) == \$imei{14};
}

var_dump(imeiChecksum('350770205545506'));

?>
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.