Defining End-to-End Encryption:
End-to-End encryption can be defined as a way of having encrypted communication between two parties (such as mobile phones or ethernet wired computers) using a third party as a way to transfer the data (Internet service providers).
Explanation:
An end can start the process by encrypting the data using an agreed on method, then the encrypted data gets sent to the local ISP, the role of the ISP is forwarding the data to the destination ISP without (normally) understanding the content, then the destination ISP finally sends the data to the other end that can understand the content by using a decryption method.
Now the methods of encryption can include many parameters such as (IMEI, time, public or private keys, etc…).
Loophole:
Every single point where the data passes can actually decrypt the data by guessing the encryption parameters.
for example: phone simulators can receive the data instead of the actual phone. So the ISP can just store the data and create decryption algorithms using brute-force methods.