this.userAgent=new UserAgent({
uri: UserAgent.makeURI(`sip:${this.authorizationusername}@${this.hostname}`),
transportOptions: {
server: `${(this.protocol === 'https:' ? 'wss://' : 'ws://')}${this.hostname}/ws?sessionToken=${token}`,
connectionTimeout: this.USER_AGENT_CONNECTION_TIMEOUT_MS,
keepAliveInterval: this.WEBSOCKET_KEEP_ALIVE_INTERVAL,
keepAliveDebounce: this.WEBSOCKET_KEEP_ALIVE_DEBOUNCE,
traceSip: this.TRACE_SIP,
},
sessionDescriptionHandlerFactoryOptions: {
peerConnectionConfiguration: {
iceServers,
sdpSemantics: this.SDP_SEMANTICS,
iceTransportPolicy: this.FORCE_RELAY ? 'relay' : undefined,
},
},
displayName: this.callerIdName,
userAgentString: 'BigBlueButton',
authorizationPassword: this.authorizationPassword,
authorizationUsername: this.authorizationUsername,
hackViaTcp: true,
});