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
Lukasz LachAsked:
Who is Participating?
 
anupvijayCommented:
This is the spec for the Check Digit computation.

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

HTH,
Cheers.
0
 
anupvijayCommented:
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
 
Lukasz LachAuthor 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
How do you know if your security is working?

Protecting your business doesn’t have to mean sifting through endless alerts and notifications. With WatchGuard Total Security Suite, you can feel confident that your business is secure, meaning you can get back to the things that have been sitting on your to-do list.

 
anupvijayCommented:
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
 
Lukasz LachAuthor 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
 
Lukasz LachAuthor Commented:
oh, ok =)
0
 
Lukasz LachAuthor 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.

All Courses

From novice to tech pro — start learning today.