Explorar el Código

No longer requires focus component and focusUserJid to be configured in config.js(but they can still be overridden there).

j8
paweldomas hace 11 años
padre
commit
933a41492e
Se han modificado 3 ficheros con 29 adiciones y 4 borrados
  1. 2
    2
      config.js
  2. 25
    1
      moderator.js
  3. 2
    1
      muc.js

+ 2
- 2
config.js Ver fichero

@@ -5,7 +5,7 @@ var config = {
5 5
         muc: 'conference.jitsi-meet.example.com', // FIXME: use XEP-0030
6 6
         bridge: 'jitsi-videobridge.jitsi-meet.example.com', // FIXME: use XEP-0030
7 7
         //call_control: 'callcontrol.jitsi-meet.example.com',
8
-        focus: 'focus.jitsi-meet.example.com'
8
+        //focus: 'focus.jitsi-meet.example.com' - defaults to 'focus.jitsi-meet.example.com'
9 9
     },
10 10
 //  getroomnode: function (path) { return 'someprefixpossiblybasedonpath'; },
11 11
 //  useStunTurn: true, // use XEP-0215 to fetch STUN and TURN server
@@ -13,7 +13,7 @@ var config = {
13 13
     useNicks: false,
14 14
     bosh: '//jitsi-meet.example.com/http-bind', // FIXME: use xep-0156 for that
15 15
     clientNode: 'http://jitsi.org/jitsimeet', // The name of client node advertised in XEP-0115 'c' stanza
16
-    focusUserJid: 'focus@auth.jitsi-meet.example.com', // The real JID of focus participant
16
+    //focusUserJid: 'focus@auth.jitsi-meet.example.com', // The real JID of focus participant - can be overridden here
17 17
     //defaultSipNumber: '', // Default SIP number
18 18
     desktopSharing: 'ext', // Desktop sharing method. Can be set to 'ext', 'webrtc' or false to disable.
19 19
     chromeExtensionId: 'diibjkoicjeejcmhdnailmkgecihlobk', // Id of desktop streamer Chrome extension

+ 25
- 1
moderator.js Ver fichero

@@ -6,6 +6,7 @@
6 6
  */
7 7
 var Moderator = (function (my) {
8 8
 
9
+    var focusUserJid;
9 10
     var getNextTimeout = Util.createExpBackoffTimer(1000);
10 11
     var getNextErrorTimeout = Util.createExpBackoffTimer(1000);
11 12
 
@@ -66,8 +67,26 @@ var Moderator = (function (my) {
66 67
         );
67 68
     };
68 69
 
70
+    my.setFocusUserJid = function (focusJid) {
71
+        if (!focusUserJid) {
72
+            focusUserJid = focusJid;
73
+            console.info("Focus jid set to: " + focusUserJid);
74
+        }
75
+    };
76
+
77
+    my.getFocusUserJid = function () {
78
+        return focusUserJid;
79
+    };
80
+
69 81
     my.createConferenceIq = function () {
70
-        var elem = $iq({to: config.hosts.focus, type: 'set'});
82
+        // Get focus component address
83
+        var focusComponent = config.hosts.focus;
84
+        // If not specified use default: 'focus.domain'
85
+        if (!focusComponent) {
86
+            focusComponent = 'focus.' + config.hosts.domain;
87
+        }
88
+        // Generate create conference IQ
89
+        var elem = $iq({to: focusComponent, type: 'set'});
71 90
         elem.c('conference', {
72 91
             xmlns: 'http://jitsi.org/protocol/focus',
73 92
             room: roomName
@@ -114,6 +133,9 @@ var Moderator = (function (my) {
114 133
     // FIXME: we need to show the fact that we're waiting for the focus
115 134
     // to the user(or that focus is not available)
116 135
     my.allocateConferenceFocus = function (roomName, callback) {
136
+        // Try to use focus user JID from the config
137
+        Moderator.setFocusUserJid(config.focusUserJid);
138
+        // Send create conference IQ
117 139
         var iq = Moderator.createConferenceIq();
118 140
         connection.sendIQ(
119 141
             iq,
@@ -122,6 +144,8 @@ var Moderator = (function (my) {
122 144
                     // Reset both timers
123 145
                     getNextTimeout(true);
124 146
                     getNextErrorTimeout(true);
147
+                    Moderator.setFocusUserJid(
148
+                        $(result).find('conference').attr('focusjid'));
125 149
                     callback();
126 150
                 } else {
127 151
                     var waitMs = getNextTimeout();

+ 2
- 1
muc.js Ver fichero

@@ -126,7 +126,8 @@ Strophe.addConnectionPlugin('emuc', {
126 126
         // Focus recognition
127 127
         member.jid = tmp.attr('jid');
128 128
         member.isFocus = false;
129
-        if (member.jid && member.jid.indexOf(config.focusUserJid + "/") == 0) {
129
+        if (member.jid
130
+            && member.jid.indexOf(Moderator.getFocusUserJid() + "/") == 0) {
130 131
             member.isFocus = true;
131 132
         }
132 133
 

Loading…
Cancelar
Guardar