- This topic has 6 replies, 1 voice, and was last updated 16 years, 4 months ago by Rons.
25th October 2004 at 07:00 #40028RonsGuest
when you check subscriber IMEI number in nokia switch with command MVP, it is not showing the correct number? what could be the reason for that?
The IMEI from switch differs from actual IMEI of particular mobile in last digit.
waiting for reply
thanks25th October 2004 at 07:32 #40029MisaGuest
This is not a problem. In my Ericsson switch the situation is the same. The last digit is always 0. This is because the last digit (also called Luhn check digit) is not used to identify the mobile, it is used to verify if the IMEI is valid (correct) or not. You can calculate the last digit yourself, based on first 14 digits.
Misa25th October 2004 at 10:55 #40030RonsGuest
Thanks misa for your ans.
can you tell me how we can find the last digit with first 14 digits? my mail id is firstname.lastname@example.org
-kartik26th October 2004 at 01:41 #40031MisaGuest
Let say the IMEI is presented as D14-D13-D12-…-D1-D0 (15 digits), where D0 is the check digit.
The last digit D0 is calculated as follow:
1. Double the values of the odd labelled digits D1, D3, D5 … D13.
2. Add together the individual digits of all the seven numbers obtained in step 1, and then add this sum to the sum of all the even labelled digits D2, D4, D6 … D14.
3. If the result obtained in step 2 ends with 0, then D0 = 0. If it does not end in 0, then D0 equals to the number subtracted from the next higher number which does end in 0.
If you familiar with VB, I can give you a procedure written in VB for calculation of this last digit.26th October 2004 at 04:30 #40032RonsGuest
Thanks very very much Misa.
I am familiar with VB. so if you send it, it will be very helpful for me.
thanks very much again.
-rons26th October 2004 at 08:48 #40033MisaGuest
Here is the VB function:
Function CheckDigit(sImei As String) As String
Dim iDigit(0 To 14) As Integer, i As Integer, iCD As Integer, sCD As String
For i = 1 To 14
iDigit(i) = CInt(Mid(sImei, 15 – i, 1))
If i Mod 2 = 1 Then
iDigit(i) = 2 * iDigit(i)
If iDigit(i) > 9 Then iDigit(i) = iDigit(i) – 9
For i = 1 To 14
iCD = iCD + iDigit(i)
If iCD Mod 10 = 0 Then
sCD = “0”
sCD = CStr(((iCD \ 10) + 1) * 10 – iCD)
CheckDigit = sCD
End Function27th October 2004 at 05:12 #40034RonsGuest
Thanks Very Much Misa.