
Message received acknowledgment (or rather, notification of status of a set of messages). RPC responses (server to client): results of RPC calls. RPC calls (client to server): calls to API methods. When the UDP protocol is used, a response might be returned by a different IP address than the one to which the query had been sent. Several connections to a server may be open messages may be sent in either direction through any of the connections (a response to a query is not necessarily returned through the same connection that carried the original query, although most often, that is the case however, in no case can a message be returned through a connection belonging to a different session). In addition, each session is attached to a user key ID by which authorization is actually accomplished. The session is attached to the client device (the application, to be more exact) rather than a specific websocket/http/https/tcp connection. Brief Component Summary High-Level Component (RPC Query Language/API)įrom the standpoint of the high-level component, the client and the server exchange messages inside a session. MTProto v1.0 ( described here for reference) is deprecated and is currently being phased out. Transport component: defines the method for the client and the server to transmit messages over some other existing network protocol (such as HTTP, HTTPS, WS (plain websockets), WSS (websockets over HTTPS), TCP, UDP).Īs of version 4.6, major Telegram clients are using MTProto 2.0, described in this article. Cryptographic (authorization) layer: defines the method by which messages are encrypted prior to being transmitted through the transport protocol. High-level component (API query language): defines the method whereby API queries and responses are converted to binary messages. The protocol is subdivided into three virtually independent components: It must be emphasized that a web browser is not such an application. The protocol is designed for access to a server API from applications running on mobile devices. This page deals with the basic layer of MTProto encryption used for Cloud chats (server-client encryption). #EXPLAIN CRYPTOGRAPHY SOFTWARE#
Security Guidelines for Client Software Developers Mobile Protocol: Service Messages about Messages