Android Obter imagem de contato do registro de chamadas

Foi muito fácil obter a imagem do contato ao consultar oPeople.CONTENT_URI, com um simples

People.loadContactPhoto(activity, ContentUris.withAppendedId(People.CONTENT_URI, contactId)

porque eu conhecia o ID do contato. Agora preciso fazer o mesmo depois de acessar o registro de chamadas. Com

String[] strFields = {
                android.provider.CallLog.Calls.CACHED_NAME,
                android.provider.CallLog.Calls.NUMBER, 
                };

        String strUriCalls="content://call_log/calls"; 

            Uri UriCalls = Uri.parse(strUriCalls); 

            Cursor cursorLog = this.getContentResolver().query(UriCalls, strFields, null, null, null);

Eu recebo a lista do registro de chamadas, mas não consigo encontrar nenhuma maneira de vincular isso ao ID de contato necessário para carregar a foto. O aplicativo funciona a partir da API nível 4 +.

Qualquer ajuda é apreciada. Obrigado

A solução, conforme orientado por Cristian abaixo, que funciona para mim é:

 private long getContactIdFromNumber(String number) {
        String[] projection = new String[]{Contacts.Phones.PERSON_ID};
        Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL,Uri.encode(number));
        Cursor c = getContentResolver().query(contactUri, projection, null, null, null);

        if (c.moveToFirst()) {
            long contactId=c.getLong(c.getColumnIndex(Contacts.Phones.PERSON_ID));
            return contactId;
        }
        return -1;
    }

questionAnswers(5)

yourAnswerToTheQuestion