Configuration of the JavaScript Communications Services is defined by using a number of Configuration objects. This approach provides flexibility to configure each component independently as required.
The UserConfiguration class is the most fundamental configuration object for the communications. It is used to describe properties of your application such as Build Number, Product Name and Product Version. Additionally this class defines the desired services for the user. It encapsulates configuration data for each individual service (e.g., CallUserConfiguration for Call Service, CollaborationConfiguration for Collaboration Service, PresenceConfiguration for Presence Service...). Configuration of a service includes specifying whether the service should be enabled/disabled, specifying operating parameters (e.g., host name, port, video resolution) and other supporting components (e.g., credential provider).
Following is the list of configuration classes that are encapsulated in the UserConfiguration class:
Configuration data are critical for initializing the Client SDK. Services will be created and initialized according to their corresponding configuration data during initialization.
Once the Client SDK has been initialized, if there is a need to change any configuration options for any services or to enable/disable certain services, the Client SDK needs to be re-initialized with the updated configuration data. Dynamic changes of configuration options are not supported.