Community wazo desktop client

Bonjour,

Je vous propose de tester un client Wazo qui est encore en court de développement.

Si vous pouvez me faire des retours, remarques, demandes … etc

Il manque pas mal de choses encore, comme:
les conférences,
les switchboards,
la gestion d’appels multiples,
et pleins de petites choses et d’optimisations.

Tout est là:

Je prévois une application Android, une interface conférence pour les utilisateurs extérieurs, puis une interface administrateur.

J’aimerais aussi ouvrir une documentation community, si assez de monde se sent le coeur d’y participer.

cheers !

2 Likes

Salut,

J’ai testé rapidement, c’est sympa, j’ai vu quelques bugs par exemple la mise en attente raccroche, ou quand je clique sur le bouton du tel en haut ça ferme la fenêtre. C’est quoi ta vision, ton objectif sur ce dev? Quand tu seras prêt n’hésites pas à te ref ici https://wazo-platform.org/ecosystem.

Sylvain

Merci pour le retour.

Je n’ai pas vu les bugs que tu me parles.

Je ferai plus de tests.

Ma vision, aucune ! :grin:

J’ai voulu tester et m’amuser.
Je pense revoir la mise en page car ça ne me plaît pas…
Je fais tout sans aucune idée de ce que je veux :sweat_smile:

Je découvre aussi l’api, le sdk et les features de wazo.

D’ailleurs, je saisi mal certains points, c’est confus.
Comme la différence entre un appel vidéo ou audio qu’on transforme en conférence et une conférence parfois appelé meeting ou room dans la doc ou le sdk.

Ainsi que sendChat et sendMessage.
Possible sur un appel vidéo à deux ? Uniquement en conférence ?

Je pense que la vision c’est permettre de tester wazo platform facilement.
Et cela autant pour un utilisateur que pour l’administrateur.
Wazo ui et la demo webrtc ne mettent pas assez en avant tout ce qu’il est possible de faire avec wazo platform !

J’aimerai aussi mettre en avant wazo entreprise pour ceux qui veulent aller plus loin.

Cheers

Ah ok, pour une personne sans vision tu t’en sors pas pire :sweat_smile:

Je vais essayer de répondre à certain point.

Un appel audio/vidéo est un appel entre A et B sur Wazo.
Un appel audio qu’on transforme en conférence est pour faire de la conférence à trois. C’est à dire que par example A est en ligne avec B et C, mais chacun de leur côté, tu vas pouvoir merger les appels ensemble pour faire une conférence à trois en live. Par contre on ne supporte pas la vidéo pour cela. C’était pas vraiment demandé.
Il y a aussi le concept de faire une conférence à X, donc avoir la capacité de se rejoindre dans une conférence audio avec plein d’autres personnes pour discuter.
Le meeting est un concept plus nouveau qui permet de faire une visio conférence comme on pourrait faire avec un jitsi en beaucoup plus basique. Ça permet d’avoir un système avec des invitations et une URL que tu peux envoyer.
Concernant le sendChat et le sendMessage cela vient du fait qu’on a un système de chat via wazo-chatd qui est persistent mais dans les meeting on a un système de message temporaire comme sur google meet par exemple. Donc ça affiche juste sur le UI, mais si tu recharges tu perds l’info.

Concernant le reste, oui il y a beaucoup de manque mais on est concentré sur la version enterprise qui nous permet de gagner du revenu et payer les employés pour développer le produit et la plateforme.

J’espère que ça répond à tes questions.
Bonne journée
Sylvain

Merci pour les infos !

Ça va bien m’aider !

Sur sendChat et sendMessage, j’écoute l’évent ON_MESSAGE de souvenirs et j’ai un body vide, mais je le test en appel vidéo :sweat_smile:

Je vais continuer le client, mais je ne sais pas si je l’ouvre en open source.
Je préfère faire une documentation orienté wazo-js-sdk et voir l’intégrer dans ton github, car la documentation est sommaire au point que je lis le code source de préférence :grin:

Si tu as des priorités dans ce que tu aimerais que la communauté fasse, c’est le moment, je vais être assez disponible.

Avoir une ligne directrice me permettrai aussi de ne pas trop m’éparpiller.

Je souhaite d’ailleurs ajouter quelques fonctions dans le sdk…
Il me semble qu’il manque les funckeys et de pouvoir retrouver la file d’attente quand on est agent (afin de savoir son nom et l’état des autres agent).

D’ailleurs, il me semble que l’on ne peut pas se connecter à une seule queue si on est agent de plusieurs queue.

Cheers

Oui on sait pour la documentation du SDK, ça fait parti des points d’amélioration qu’on aimerait beaucoup faire à un moment. Plus généralement autour du développement avec Wazo. Ce qui est quand même positif c’est de voir que tu as réussi à faire de quoi, on a eu des feedback d’autres personnes qui ont aussi développé des choses importantes par dessus Wazo et le manque de doc au début est souvent ressorti en effet, mais par contre après on voit bien que les personnes sont capables de batir des choses vraiment top.

Projet intéressant, quelques bugs lié à des promesses qui bloque, le repo étant vide, je ne peux pas te faire de pr. Il serait utile de mettre une store persistant pour éviter d’être déco au refresh.

Les apis Wazo c’est un peu le bazar, initialement nous avions commencé avec le sdk wazo.

Seulement, le temps de développement était tellement long (lié à une mauvaise documentation, un sdk avec certaines API sur une version améliorée du sdk, d’autres sur une version plus difficile dont le code est offusqué, des diag super long, …).

Il est par exemple compliqué de retrouvé la présence d’un groupe d’utilisateurs avec leurs prénoms et nom du comte Wazo, rendant obligatoire l’usage de plusieurs apis parfois à usage administrateur pour arriver à nos fins avec des réponses parfois non pertinentes ou trop détaillées.

Pour nous, les apis liés à la configuration du serveur doivent être dans un environnement plus sûr et non disponible aux clients (web, Android & Ios). Cela s’exprime par une volonté simple, le côté client (webrtc, app, desk) et le côté admin (web).

Nous avons trouvé une solution:

  • Surcouche API sur un autre serveur qui est l’endpoint de nos clients (incluant un système de permission plus granulaire): Pour cela, les utilisateurs wazo son admin sur le serveur, le token n’étant jamais envoyé au client mais à la surcouche, ce qui permet un contrôle des permissions depuis notre système. L’api Wazo est disponible uniquement pour notre surcouche ce qui implique que nos APP passent forcément par notre système qui fournit une authentification plus sécurisée, un système de permission plus profond, des réponses plus propres, des signatures sur les requêtes et un accès possible à des applications tierces sans toucher à l’instance Wazo.
  • Relay WS en nodejs qui push sur une pub redis.

A terme, c’est un projet que nous mettrons en open source.

1 Like

@palybok
merci pour ton retour !
très intéressant !
Pour ce projet, qui est loin d’être fini, je me suis accès en premier sur le chat, puis les notions de présences, de favoris, etc …
Et je n’ai quasiment rien fait pour les appels, ce qui fait que la version actuellement en ligne n’est vraiment pas aboutie.

J’ai corrigé quelques détails déjà suite aux remarques de Sylvain, mais il me reste pas mal de chose à faire.

Je me rends compte que oui, parfois les Acl par défaut ne permette pas à un utilisateur de faire des requêtes qui pourraient être utile.

Par exemple, je voulais pouvoir lister les queues, dans les buts suivants:

  • Savoir dans quelle file d’attente je suis
  • Connaitre les autres personnes de la file d’attente (et retrouver leur statut sur la file)
  • Paramétrer mes renvois sur une file d’attente via une recherche (et non taper son extension)
  • Paramétrer mes touches de fonctions (funkeys).

Pour cela, il me faudrait à minima ajouter l’Acl
confd.queues.*.read
Mais je ne veux pas d’un projet qui demande une configuration différente de celle de base concernant les Acl.

Et là, je viens de faire en sorte que ma file d’attente soit dans un carnet d’adresse, et donc trouvable via l’API en passant par Wazo.dird.search(“default”, string).
mais cela va chercher automatiquement le statut de la personne, la file d’attente n’en ayant pas, cela bloque la réponse de l’API et je me retrouve avec l’impossibilité de retrouver le numéro d’une file d’attente.

C’est dommage de ne pas avoir le numéro du standard de disponible dans une recherche de contact.

Et cet exemple, c’est une journée de test, de lecture de code, de remise en cause de mon projet …
Je me demande si je garde ces idées et mets en place un pré-requis de modification des Acl …

Mais je suis ici uniquement pour passer le temps, m’amuser, et j’ai aussi beaucoup d’affect pour Sylvain et Wazo (que j’ai connu au moment de la bascule Xivo → wazo).

Je trouve que le projet et le suivi sont excellents !!

Et ça reste un projet open source, orienté développeurs, ce qui nous permet de modifier pas mal de chose, et faire de wazo le produit que l’on veut.
Après tout, un petit PR et je pourrais avoir l’API que je souhaite.

Concernant le repo, celui du projet est en privé.
Je préfère faire le tour du SDK et par la suite le documenter, plutôt que de proposer un projet qui a peu de chance de répondre à un cahier des charges spécifiques.

Mais j’aimerais laisser la possibilité aux gens de tester rapidement et facilement Wazo, sans avoir à coder un client afin de savoir si le produit pourrait leur convenir dans un projet futur.

J’ai pensé à faire plutôt des bouts de codes ou de projets dans ce sens.

Pour info, je suis développeur du dimanche, j’apprends à coder …
J’ai fait un projet en react native avant de commencer celui-ci qui est donc mon deuxième projet en React.
ça faisait 3 ans que je n’avais pas fait de code et je n’ai qu’une petite formation en js et php qui date de 2018.
Surtout, je n’ai aucune idée du produit final, ni dans ce que Wazo me permet de faire, ni dans ce que je désire réaliser.
En moins de 2 mois, sur ce projet, je peux dire que Wazo, avec tous les défauts de sa documentation, permet tout de même à n’importe qui de rapidement construire quelque chose de fonctionnel.

Mais plus que la partie dév, je vois aussi que la partie admin manque d’informations …
En faite, elle existe, mais elle est éparpillée dans le forum ici et là.

Cette partie là, la documentation, m’intéresse fortement, mais je me sens quasi obligé de passer par le code pour mieux comprendre, réaliser puis expliquer.

En tout cas merci pour le temps passé à m’écrire et à me lire.
C’est motivant, et de voir que des gens ont le désire de partager (même plus tard) c’est fédérateur pour une “communauté” d’utilisateurs/administrateurs.

cheers !

Salut,

Simplement pour dire qu’il existe des méthodes pour changer les ACL mais aussi pour faire des plugins, pour ajouter des infos et le rendre industrialisé dans Wazo.

Ça fait longtemps qu’on a pas fait un petit event type meetup wazo-platform en ligne, on pourrait aussi se faire cela autour du dev avec les API wazo + plugins pour prendre les feedback et répondre aux questions si jamais ça vous tente.

Faites moi savoir si ça vous tente.

Sylvain

1 Like

@quintana
Super proposition !!
Bien sûr que je veux en être !

Il serait bien de savoir comment faire un plugin pour ajouter un endpoint à l’API par exemple.
Et les policies, c’est intéressant !

Mais si tu es au Canada, penses bien que quand il est 8am chez toi, il est 2pm chez moi !
:slight_smile:

Ahah j’ai l’habitude du décalage horaire ;). Ça serait bien qu’on soit genre une dizaine pour y avoir un intérêt communautaire.

Meetup virtuel wazo platform, merci de répondre dans ce thread pour votre intérêt.

@julienfr, je suis un peu pessimiste, il est vrai qu’avec les API wazo on peut faire beaucoup de choses rapidement, la valeur ajoutée de wazo platform c’est un système vraiment libre, des stacks réellement appréciables, un multi tenant vraiment top. Seulement quand tu te lances dans l’intégration de cette platform en tant que développeur tu te rends très vite compte qu’il y a pas mal d’obstacle qui te prend un temps fou et c’est essentiellement lié à la documentation.

Nous avons choisi Wazo comme solution c5 pour nos infrastructures (encore en bêta) car c’est bien le seul qui propose un produit avec de telles possibilités. Nous avons beaucoup de solution IA en télécom que nous souhaitons intégrer à Wazo mais il ya beaucoup de boulot, autant sur les applications que sur wazo en lui-même.

@quintana Je suis tout récent sur ce forum, mais je serai volontiers participant de ce meetup.

@palybok merci pour ton retour, c’est vraiment important et apprécié qu’on ai ce genre de retour. Honnêtement je partage le souci de la doc, on a bien ça en tête et j’espère qu’on arrivera à faire une meilleure doc dans le futur.

Salut @julienfr

Pour le coup je ne te serai d’aucune aide dev à proprement parlé, mais j’ai fait appel à des devs qui prétendaient savoir ce qu’ils faisaient pour me développer une appli desktop, android et iOS (appelée Dixorg, que tu trouves sur les stores).

On a eu environ 1 an d’échanges pour aboutir à une solution bancale, et je ne restais pas sur ma faim, mais je n’ai pas encore trouvé d’autre dev.

Mais si mon expérience terrain (plus de 10 ans dans les télécoms, formateur Télécommunicologue®) à courir les différentes applis peuvent t’aider, je serai ravi de t’apporter ce que je peux avec grand plaisir !!

merci @ZaleXxXx pour la proposition.
J’ai effectivement besoin de retour d’utilisateur,
même si là, il faudra attendre la prochaine version avant de m’en faire :wink:

J’avoue que je suis développeur débutant, et que c’est il y a déjà 7 ans, en bossant sur Xivo que j’ai voulu étoffer mes compétences en développement.

Je prends ce développement d’applications comme un jeux et un exercice, car c’est une application qui peut être très complète.

Et au fur et à mesure que j’avance, mes idées prennent forment.

J’ai bien l’intention de contribuer à Wazo, mais je pense revoir ma copie.

Je vais partir sur une doc autour du wazo-js-sdk, que j’ai commencé :

Mais je vais revoir l’application que je propose.
L’idée est d’avoir une démo plus aboutie que la wazo-webrtc-demo proposé par wazo, mais plus simple et tout de même incomplète par rapport à mon projet actuel, mais faite avec React et Material UI.

Et de faire une application aboutie que je vais garder pour moi, dans l’idée de pouvoir à terme proposer mon travail dans un cadre non libre.

J’ai deux soucis majeur:

  • je suis naze de chez naze en design, et ne sais pas m’arrêter sur un choix ux (même si là, un teams like me semble devenir une évidence)
    (je vais reprendre mon projet et le passer sous MUI car Chakra-ui ne me convient pas et est moins populaire que MUI).

  • je perds beaucoup de temps à comprendre les possibilités offertes par Wazo et certains de ses mécanismes.

Mais mon Todo s’est bien rétrécie et mon code s’épure au fur et à mesure.

Si j’ai besoin d’aide, c’est dans l’idée de gagner du temps sur des fonctions finalement simples, mais que je n’ai jamais mise en place par le passé.

Là j’aurais besoin d’aide pour comprendre comment bien utilisé le screenSharing lors d’un appel vidéo, car pour l’instant le partage ne fonctionne que pour le localStream et la personne distante ne voit pas mon partage …
Aussi, j’ai commencé la mise en place du choix des périphériques audio, mais actuellement le choix n’est pas pris en compte / implémenté.

Bref, je verrais bien où ça me mène …
Je prends ça un peu à la légère car je fais ça sur du temps libre.

cheers !

Hello,

J’ai fait un petit update.
J’ai encore pas mal de chose à faire côté design et fonctions,
Mais d’avoir changé un peu l’interface et avoir repris l’arborescence de mes composants était important.

Le changelog est très court:

  • Interface mieux pensée.
  • Les annuaires phonebook et personals sont maintenant utilisables (il est possible d’en avoir plusieurs).
  • Il est possible de mettre n’importe quel contact en favoris
  • Les annuaires google et office365 sont chargés, mais pas utilisables (non rendu dans le composant)

A venir:

  • un meilleur design, avec des couleurs pour différencier les menu et sous menu.
  • meeting
  • switchboard
  • sendFax
  • finaliser le partage d’écran
  • choisir les entrées/sorties audio/vidéo
  • rendre les annuaires google et office365 utilisables
  • améliorations mineures et diverses
  • connexion LDAP / domain

ça se trouve toujours ici:
https://wazophone.web.app/

et pour mes tests, j’utilise:
https://wazobruant.web.app/

cheers

1 Like

Intéressant, merci de partager tes avancements.

1 Like

Hello,

Un update important.

La version Web du client wazo platform community est enfin finalisée !
ça n’a de community que le nom, car le code source n’est pas disponible.

toujours disponible à l’adresse:
https://wazophone.web.app/

Cette version vous permet de tester wazo platform, avec une connexion d’une heure.

La liste des possibilités

  • gérer les contacts (internes, phonebook, personnel, favoris)
  • consulter / gérer sa messagerie vocale
  • chat
  • historique d’appels (avec filtres)
  • appel audio / vidéo (avec mute, pause, transfert direct, transfert indirect, etc…)
  • partage d’écran
  • possible de passer en “full screen” lors d’appels vidéo (en gardant le menu latéral tout de même)
  • conférence en appels audio
  • gérer plusieurs appels simultanés
  • notifications (appels, chat, messagerie vocale)
  • gérer ses renvois
  • se connecter en tant qu’agent de file d’attente (login, logout, pause, resume)
  • gérer le do No Disturb
  • gérer son statut (disponible, occupé, non disponible, invisible)
  • changer son mot de passe
  • envoi de fax (non testé)
  • gérer ses périphériques (micro, sortie audio, sonnerie) (uniquement sur google Chrome)
  • choisir parmi 10 sonneries différentes

Voici ce qu’il n’est pas encore possible de faire:

  • connexion LDAP / domain
  • lister les contacts office365
  • lister les contacts google
  • passer d’un appel audio à vidéo et inversement
  • faire des réunions
  • participer à un centre d’appel type switchboard
  • écouter les appels enregistrés

Aucun cookie, aucune récupération de donnée.
La seule chose utilisée est le localStorage du navigateur web pour permettre de conserver les préférences de l’utilisateur.

Merci pour vos futurs retours !

cheers !

Salut,

Moi ça reste bloqué sur la page de chargement avec cette erreur.

De ce que je vois tu vas chercher une présence sur un user qui n’existe pas et cela fait crasher l’app.