-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Numéro d'appel & code unique #147
Comments
Pas de numéro d'appel sur les instances mutu |
@klorydryk, sur vos instances, vous avez des numéros de configurés pour qu'ils soient disponibles pour BBB ? Comment vous gérez cette liste ? |
il y aura un numéro de tel par instance B3Desk, qui doit être stocké dans la configuration de cette instance (pour pouvoir être affiché dans le carton d'invitation). Il peut être envoyé lors du Create via "dialNumber" et le code pin via "voiceBridge" |
Le scalelite devant l'instance BBB de test semble refuser les PIN envoyés par B3Desk.
Tu pourrais me confirmer cette conf ? |
@klorydryk Aujourd'hui, le code PIN est généré par BigBlueButton et / ou Scalelite. Le jour ou la responsabilité de la génération de ce code PIN passe à B3Desk, on a le risque d'en générer un qui existe déjà :
Des questions :
|
Scalelite semble ne pas nous laisser la possibilité de modifier un PIN de meeting une fois qu'il a été créé : raise ArgumentError, "Voice bridge cannot be updated once set" unless @voice_bridge.nil? |
B3Desk devient LE générateur de code PIN des salons.
|
Pour le moment, ce qui semble possible de faire :
Ce qu'on ne peut pas faire dans l'immédiat :
Piste 1 : suppression manuelle des PIN ScaleliteSupprimer la valeur des PIN directement dans la base Scalelite permettrait :
Par contre :
|
Réponse du support Il est indiqué dans la documentation de Scalelite le paramètre suivant qui doit être mis à "true" afin d'autoriser les codes PIN externes :
... par ailleurs il me semble qu'exécuter une commande d'API /end?meetingID=... efface les données contenues dans la base Redis et laisse libre la création de nouveaux codes PIN pour le meeting. |
@BHoury, est-ce que vous pouvez configurer le Scalelite de dev pour passer cette conf USE_EXTERNAL_VOICE_BRIDGE à True ? |
@klorydryk en l'état, faire une requête
<response>
<returncode>SUCCESS</returncode>
<meetingID>15bd0211-9c5b-4082-9992-cbbc32ec9986</meetingID>
<internalMeetingID>
989ef0c8dcecd94c63ed4a6d1b73f220fc574e05-1742552844248
</internalMeetingID>
<parentMeetingID>bbb-none</parentMeetingID>
<attendeePW>NXWDl8VY</attendeePW>
<moderatorPW>ORho37ha</moderatorPW>
<createTime>1742552844248</createTime>
<voiceBridge>9148230</voiceBridge>
<dialNumber>[...]</dialNumber>
<createDate>Fri Mar 21 11:27:24 CET 2025</createDate>
<hasUserJoined>false</hasUserJoined>
<duration>0</duration>
<hasBeenForciblyEnded>false</hasBeenForciblyEnded>
<messageKey/>
<message/>
</response>
<response>
<returncode>SUCCESS</returncode>
<messageKey>sentEndMeetingRequest</messageKey>
<message>
A request to end the meeting was sent. Please wait a few seconds, and then use the getMeetingInfo or isMeetingRunning API calls to verify that it was ended.
</message>
</response>
<response>
<returncode>SUCCESS</returncode>
<running>false</running>
</response>
<response>
<returncode>SUCCESS</returncode>
<meetingID>15bd0211-9c5b-4082-9992-cbbc32ec9986</meetingID>
<internalMeetingID>
989ef0c8dcecd94c63ed4a6d1b73f220fc574e05-1742553228253
</internalMeetingID>
<parentMeetingID>bbb-none</parentMeetingID>
<attendeePW>vKWoq8Ms</attendeePW>
<moderatorPW>Il6DpkSg</moderatorPW>
<createTime>1742553228253</createTime>
<voiceBridge>9148230</voiceBridge>
<dialNumber>[...]</dialNumber>
<createDate>Fri Mar 21 11:33:48 CET 2025</createDate>
<hasUserJoined>false</hasUserJoined>
<duration>0</duration>
<hasBeenForciblyEnded>false</hasBeenForciblyEnded>
<messageKey/>
<message/>
</response> Le |
Bonjour, Les codes PIN ne sont pas persistés par Scalelite en base de données, du moins après que le meeting est fini. On peut croire cela car le code PIN généré la deuxième fois (par un nouvel appel d'API "/create?...") est identique. Or c'est un choix délibéré des développeurs de Scalelite de faire en sorte que les codes PIN générés aléatoirement soient identiques dans la plupart des cas. La valeur "meeting_id" est en effet utilisée pour l'initialisation du générateur de nombres aléatoires : Voir https://github.com/blindsidenetworks/scalelite/blob/d751a842febbf0c3fca23152888db0c2d0399b46/app/models/meeting.rb#L208C1-L212C14 # In order to make consistent random pin numbers, use the provided meeting as the seed. Ruby's 'Random' PRNG takes a 128bit
# integer as seed. Create one from a truncated hash of the meeting id.
seed = Digest::SHA256.digest(meeting_id).unpack('QQ').inject { |val, n| (val << 64) | n }
prng = Random.new(seed)
tries = 0 Par ailleurs, le paramètre Je pense que le code PIN peut désormais être changé sans difficultés après que la session est terminée. (Il est à noter que Scalelite vérifie si un "meeting" dans sa base de données est toujours actif sur le serveur BBB et le supprime de sa base de données s'il est terminé (voir https://github.com/blindsidenetworks/scalelite/blob/d751a842febbf0c3fca23152888db0c2d0399b46/lib/tasks/poll.rake#L140). Si bien qu'il n'est pas nécessaire - et pas conseillé, au risque d'interrompre une session en cours - de faire un appel d'API "/end?meetingID=...") |
Super ! Merci pour les infos @pielonet ! |
Bonjour @klorydryk , J'ai besoin de clarifier certains points. Voici ce que nous avons mis en place à ce jour :
|
Numéro unique :
générés et conservés par le frontal
Salon supprimé libère le code au bout d'un an
uniques par pool (obligatoire)
codes numériques uniquement
taille recommandée : 9 chiffres
Offrir la possibilité de modifier le code téléphone (comme l'url)
Dans un second temps, créer une récurrence du renouvellement des url et code d'accès téléphone + envoi de mail au propriétaire avec les nouvelles infos
Code envoyé au Scalelite dans le create()
(Affichage dans BBB de la séparation en 3 groupes de 3 chiffres séparés par un espace : à faire par Arawa)
The text was updated successfully, but these errors were encountered: