How many thousand of lines of code is that? Podcasting recording, noise suppression, etc. We do not advice to use custom client, you should use at least the lib-jitsi-meet version coming from the deployment. As backend changes, we may drop tomorrow xmpp or change the protocol in some other way. And in the web you have network tab you can be looking at …. This case is already implemented and is called localrecording and its main usecase is podcast, to ensure maximum quality the recording is done everywhere locally.
Checking the network tab, apparently, current meet. That would solve the session sharding, because the websocket connection is persistent. I would need a jitsi instance that activates such a thing. In fact, the protocol is extensible and could be used to implement any bidirectional stream of XML stanzas. Platform limitiations, security restrictions, and other constraints imply that many clients can connect to Internet resources e. The following design requirements reflect the need to offer performance as close as possible to a standard TCP connection.
Compatibility with constrained runtime environments implies the following restrictions:. We can illustrate this graphically as follows:.
This document addresses communications between an HTTP client and the connection manager only. It does not address communications between the connection manager and the XMPP server, since such communications are implementation-specific e. Furthermore, no aspect of the HTTP binding limits its use to client-to-server communications; i. We assume that servers and components are under no such restrictions and thus would use the TCP binding. If the connection manager receives a request with an Accept-Encoding header, it MAY include an HTTP Content-Encoding header in the response indicating one of the encodings specified in the request and compress the response body accordingly.
The first request from the client to the connection manager creates a new session. Note: Clients that only support polling behavior MAY prevent the connection manager from waiting by setting 'wait' or 'hold' to "0". When requesting a session with such a 'proxy' connection manager, a client SHOULD include a 'route' attribute that specifies the protocol, hostname, and port of the server with which it wants to communicate, formatted as "proto:host:port" e.
Note that the 'to' attribute specifies the XMPP domain, not the host machine. A client MAY include a 'secure' attribute to specify that communications between the connection manager and the XMPP server must be "secure". A connection manager MAY consider communications over a "private" network to be secure, even without SSL or TLS; however, a network SHOULD be considered "private" only if the administrator of the connection manager is sure that unknown individuals or processes do not have access to the network i.
Clients MAY specify another value if they are constrained to do so e. The protocol defined herein abstracts from XML streams between the connection manager and the client. Note: All requests after the first one MUST include a valid 'sid' attribute provided by the connection manager in the session creation response below.
The connection manager MUST specify a 'wait' attribute. This is the longest time in seconds that it will wait before responding to any request during the session. The time MUST be less than or equal to the value specified in the session request. The connection manager MAY limit the number of simultaneous requests the client makes with the 'requests' attribute. The connection manager SHOULD include two additional attributes in the session creation response element, specifying the shortest allowable polling interval and the longest allowable inactivity period both in seconds.
Communication of these parameters enables the client to engage in appropriate behavior e. The connection manager MAY include an 'accept' attribute in the session creation response element, to specify the content encodings it can decompress. After receiving a session creation response with an 'accept' attribute, clients MAY include an HTTP Content-Encoding header in subsequent requests indicating one of the encodings specified in the 'accept' attribute and compress the bodies of the requests accordingly.
The connection manager MAY inform the client which encodings it can convert by setting the optional 'charsets' attribute in the session creation response element to a space-separated list of encodings.
This value is needed by the client to successfully complete digest authentication using Non-SASL Authentication [ 16 ] see the jabber:iq:auth section below. Note: If the 'authid' attribute is not included in the connection manager's response to the session creation request e.
Separate 'sid' and 'authid' attributes are required because the connection manager is not necessarily part of a single XMPP server e. However, before processing XML stanzas from the client, the connection manager MUST require completion of additional preconditions using either of the following methods:. Simultaneous authentication and resource binding as defined in Non-SASL Authentication , upon which a Jabber server will also establish an IM session on behalf of the connected resource.
A success case for authentication, resource binding, and IM session establishment using the XMPP protocols is shown below. A success case for simultaneous authentication, resource binding, and IM session creation using the original "jabber:iq:auth" protocol is shown below. For further details regarding use of this protocol, refer to XEP If digest authentication is used, then the stream ID value used to compute the hashed password MUST be the value of the 'authid' attribute provided by the connection manager in the response to the initialization element or in a subsequent response see the Session Creation section above.
However, it must forward the content from different requests in the order specified by their 'rid' attributes. Note: This does not indicate that the stanzas have been successfully delivered to the destination Jabber endpoint. In any case it MUST respond to requests in the order specified by their 'rid' attributes. The connection manager MUST wait and respond in the same way as it does after receiving stanzas from the client.
If the client sends two consecutive empty requests within a period shorter than that specified by the 'polling' attribute in the session creation response, then the connection manager SHOULD terminate the HTTP session and return an HTTP Forbidden error to the client. If the connection manager did not specify a shortest allowable polling interval in the session creation response, then it MUST allow the client to poll as frequently as it chooses.
After receiving a response from the connection manager, if no other requests are pending and the client did not specify polling behavior in the session creation request by setting 'wait' or 'hold' to "0" , it SHOULD make a new request as soon as possible.
In any case, if no requests are pending, the client MUST make a new request before the maximum inactivity period has expired. This period is specified by the 'inactivity' attribute in the session creation response. If the connection manager has responded to all the requests it has received and the time since its last response is longer than the maximum inactivity period, then it SHOULD terminate the session without informing the client if the client makes another request, the connection manager SHOULD respond as if the session does not exist.
Dinesh Patra Dinesh Patra 1, 11 11 silver badges 22 22 bronze badges. Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password. Post as a guest Name. Email Required, but never shown. The Overflow Blog. Does ES6 make JavaScript frameworks obsolete? Podcast Do polyglots have an edge when it comes to mastering programming Send a request to self. Returns False if status! Request a BOSH session according to.
Returns the new SID str. This is XML. Get the remote Session ID. Get the longest time s that the XMPP server will wait before.
Get the authid. Get the allowed authentication methods.
0コメント