Is this more clearly written as

    if (is_sip_uri_phone_number(...) || (!user_phone && is_user_numeric(user)) {...}

Which very clearly explains the logic we're using (and prioritizes the "normal" logic).