Solved

# IMEI Checksum

Posted on 2004-04-18
2,788 Views
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?
0
Question by:Lukasz Lach
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 4
• 3

LVL 2

Expert Comment

ID: 10857640
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

LVL 5

Author Comment

ID: 10860036
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

LVL 2

Expert Comment

ID: 10860660
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

LVL 2

Accepted Solution

anupvijay earned 250 total points
ID: 10860692
This is the spec for the Check Digit computation.

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

HTH,
Cheers.
0

LVL 5

Author Comment

ID: 10861163
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

LVL 5

Author Comment

ID: 10861255
oh, ok =)
0

LVL 5

Author Comment

ID: 10862000
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

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Working settings for French ISP Orange "Prêt à Surfer" SIM cards for data connections only. Can't be found anywhere else !
Using in-flight Wi-Fi when you travel? Business travelers beware! In-flight Wi-Fi networks could rip the door right off your digital privacy portal. That’s no joke either, as it might also provide a convenient entrance for bad threat actors.
This Micro Tutorial will show you how to maximize your wireless card to its maximum capability. This will be demonstrated using Intel(R) Centrino(R) Wireless-N 2230 wireless card on Windows 8 operating system.
Viewers will learn how to connect to a wireless network using the network security key. They will also learn how to access the IP address and DNS server for connections that must be done manually. After setting up a router, find the network security…
###### Suggested Courses
Course of the Month4 days, 22 hours left to enroll