When do sessions and sessionIds expire?
What happens to the session and sessionId if the Client never joins the room for which a token was issued? Does the Client need to perform clean up of the session?
The session does not have a timeout. The platform will continue to honor a session after it has been established and maintained (via heartbeats). This means that the sessionId will be valid until such time the Client's Phenix SDK stops sharing heartbeats with the Phenix platform. This may happen if, for example, a connection is interrupted due to a network change or the Client app is closed.
If the connection is broken for a short period of time, the Phenix platform will attempt to re-associate the Client to the session. If the connection is broken for a longer period of time, the SDK will attempt to authenticate again using the token it was provided. If the token has expired, the session will not be authenticated and the application will need to obtain a new token.