@@ -5,18 +5,39 @@ import { XMPPEvents } from '../../service/xmpp/XMPPEvents';
5
5
6
6
import JitsiVideoSIPGWSession from './JitsiVideoSIPGWSession' ;
7
7
import * as Constants from './VideoSIPGWConstants' ;
8
+ import ChatRoom from '../xmpp/ChatRoom' ;
9
+ import EventEmitter from '../util/EventEmitter' ;
10
+
11
+
12
+ export interface ISessionStateChangeEvent {
13
+ address : string ;
14
+ displayName ?: string ;
15
+ newState : string ;
16
+ oldState ?: string ;
17
+ }
18
+
19
+ export interface INodeAttributes {
20
+ failure_reason ?: string ;
21
+ sipaddress ?: string ;
22
+ state : string ;
23
+ }
8
24
9
25
/**
10
26
* Main video SIP GW handler. Stores references of all created sessions.
11
27
*/
12
28
export default class VideoSIPGW {
29
+ private chatRoom : ChatRoom ;
30
+ private eventEmitter : EventEmitter ;
31
+ private sessions : Record < string , JitsiVideoSIPGWSession > ;
32
+ private sessionStateChangeListener : ( event : ISessionStateChangeEvent ) => void ;
33
+ private state ?: string ;
13
34
14
35
/**
15
36
* Creates new handler.
16
37
*
17
38
* @param {ChatRoom } chatRoom - Tha chat room to handle.
18
39
*/
19
- constructor ( chatRoom ) {
40
+ constructor ( chatRoom : ChatRoom ) {
20
41
this . chatRoom = chatRoom ;
21
42
this . eventEmitter = chatRoom . eventEmitter ;
22
43
logger . debug ( 'creating VideoSIPGW' ) ;
@@ -37,7 +58,7 @@ export default class VideoSIPGW {
37
58
* @param {Object } node the presence node Object to handle.
38
59
* Object representing part of the presence received over xmpp.
39
60
*/
40
- handleJibriSIPState ( node ) {
61
+ handleJibriSIPState ( node : { attributes ?: INodeAttributes ; } ) : void {
41
62
const attributes = node . attributes ;
42
63
43
64
if ( ! attributes ) {
@@ -84,7 +105,7 @@ export default class VideoSIPGW {
84
105
* @param {string } displayName - The display name to use.
85
106
* @returns {JitsiVideoSIPGWSession|Error }
86
107
*/
87
- createVideoSIPGWSession ( sipAddress , displayName ) {
108
+ createVideoSIPGWSession ( sipAddress : string , displayName : string ) : JitsiVideoSIPGWSession | Error {
88
109
if ( this . sessions [ sipAddress ] ) {
89
110
logger . warn ( 'There was already a Video SIP GW session for address' ,
90
111
sipAddress ) ;
@@ -108,7 +129,7 @@ export default class VideoSIPGW {
108
129
*
109
130
* @param {options } event - { address, oldState, newState, displayName }
110
131
*/
111
- sessionStateChanged ( event ) {
132
+ sessionStateChanged ( event : ISessionStateChangeEvent ) : void {
112
133
const address = event . address ;
113
134
114
135
if ( event . newState === Constants . STATE_OFF
0 commit comments