It seems that eSpeakCaller only checks if the caller's number is an exact match with what's entered in the address book. Thus, it doesn't recognize the number calling "040xxxxxx" when all my address book entries are in "+35840xxxx" international format. The application should strip any leading zeroes and match that with the end of the number in addressbook.