N’arrivant pas à obtenir des résultats sur le plugin, j’ai initié une refonte complète.
J’ai mis de côté le développement PHP du protocole SIP et j’ai tout migrer sur Python en utilisant une librairie déjà créé.
Les premiers résultats de la beta mes semble plutôt encourageant et j’aimerais avoir vos retours sur vos différents intégration
Dans cette version il est possible ou sera je n’ai pas testé d’utiliser le dtmf pour exécuter des actions.
Un Texte to speach est intégré également pour la diffusion des messages audio. A tester également
Je pense que pour les nouveautés, je vais faire un stop de manière à stabiliser cette version et recueillir vos retours.
Par la suite je pense
à Speach to text (Google?)
Au couplage avec le interaction Jeedom
A vos propositions…
N’hésitez pas à me faire vos retours directement sur le fil de se poste
Pour reprendre le cas de l’audio bi directionnel avec un use case concret (c’est ma recherche de faisabilité qui m’a conduit ici, je ne suis pas encore détenteur de ton plugin), je pensais utiliser ton plugin pour permettre de répondre à l’interphone Doorbird via une tablette par exemple.
En gros -
Sonnerie déclenche un pop up SIP sur la tablette avec la caméra de l’interphone (géré par autres plugins)
On « décroche » - connection au serveur SIP - et on parle avec le visiteur en bi directionnel.
Tout est faisable avec Jeedom sauf l’audio bidirectionnel à ce jour à ma connaissance.
Je ne connais absolument pas la faisabilité d’une telle fonctionnalité sur jeedom et je parle en tant que noob total.
J’ai fais des tests sur une VM en y installant un serveur Pbx Asterisk est en y déclarant des clients softs phones (3cx phones, x-lite), et la communication fonctionne nickel entre les téléphones virtuels SIP.
De mon point de vue de noob un clients soft phone SIP, c’est la même chose qu’un portier avec du SIP juste?
Sachant que Asterisk peut être docké il y a peut être moyen de faire un truc?
Si un spécialiste de la Voip peut éclairer ma lanterne sur ce sujet.
Une telle fonctionnalité sur notre jeedom adorée serait une tuerie.
Pour moi passer par Jeedom pour communiquer directement n’a pas d’intérêt autant utiliser les applications qui peuvent le faire.
L’objectif est de rendre disponible les fonctions de Jeedom a travers le SIP.
Plein de fonction peuvent être pensée
Autorisation vocal pour accès dtmf,…
A l’époque sur Lifedomus ils avaient dev un plugin Mobotix, qui intégrait directement un bouton pour décrocher/racrocher et un bouton pour parler/entendre l’interlocuteur.
Il suffisait d’entrer l’ip local du Mobotix.
Tu penses que ça fonctionnait comment techniquement?
Non pour moi ça ne change pas vraiment.
Mon Astérix est configuré en PJSIP et fonctionne avec le plugin.
Pour le moment je me prends la tête sur le tts a convertir dans les format transporté PCMU ou PCMA
J’ai toute les briques qui me font de la résistance et comme d’habitude je manque de temps.
Dans mes recherches je suis tombé sur une librairie de Speach to text Google qui est facilement intégrable au plugin qui si je trouve un peu de temps sera intégré à la prochaine beta (connecter au interaction Jeedom).
Ce qui permettrait de demander à Jeedom directement les informations et ne pas avoir a configurer des actions dtmf
PJSIP est plutôt une librairie multi-langage, qui implémente entre autre protocole le SIP plutôt ?
PJSIP is a free and open source multimedia communication library written in C with high level API in C, C++, Java, C#, and Python languages. It implements standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE
J’ai supprimé l’ancienne version et installé la nouvelle, mais le demon de démarre pas.
Je n’ai pas grand chose dans les logs ou alors je regarde au mauvais endroit
je trouve ton initiative super!
Je suis en train de me mettre au SIP dans l’objectif de mettre en place un portier et des moniteurs SIP.
Je viens de m’installer un serveur Asterisk sur mon NAS sous forme de container Docker.
Je suis partant pour tester le plug-in et ses évolutions.
Par contre j’ai un soucis sur l’installation des dépendances avec la version stable.
Faut-il tester la beta?
(ClientSIP_packages.log):
echo ‹ *Begin of package installation ›
*Begin of package installation
sudo pip3 cache purge
sudo: pip3: command not found
echo 4
sudo pip3 install --upgrade pip
sudo: pip3: command not found
echo 5
sudo pip3 install --force-reinstall --upgrade requests
sudo: pip3: command not found
echo 6
sudo pip3 install --force-reinstall --upgrade pyVoIP
sudo: pip3: command not found
echo 7
sudo pip3 install --force-reinstall --upgrade speechrecognition
sudo: pip3: command not found
echo 8
sudo pip3 install --force-reinstall --upgrade pydub
sudo: pip3: command not found
echo 9
php /var/www/html/core/class/…/php/jeecli.php plugin dependancy_end clientSIP
PHP Warning: PHP Startup: Unable to load dynamic library ‹ mosquitto.so › (tried: /usr/lib/php/20180731/mosquitto.so (/usr/lib/php/20180731/mosquitto.so: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/mosquitto.so.so (/usr/lib/php/20180731/mosquitto.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
rm /tmp/jeedom_install_in_progress_clientSIP
echo ‹ *End of package installation ›
*End of package installation
Puis lors du démarrage du démon (ClientSIP.log):
Traceback (most recent call last):
File « /var/www/html/plugins/clientSIP/core/python/clientSIP.py », line 13, in
import numpy as np
ModuleNotFoundError: No module named ‹ numpy ›
Une idée?
J’ai vu dans un autre post qu’il fallait commenter l’include de la lib mosquitto dans php.ini, mais cela n’a pas mieux fontionné, je suis donc revenu en arrière.
J’ai en gros le même cas d’usage que toi : connecter un portier connecté en IP à des moniteurs IP qui pourraient être des tablettes (Android ou iOS).
A savoir que tu peux déjà faire cela grâce à des clients SIP comme softphone, zoiper, SIPDroid, à installer sur la tablette… mais là tu ne gères que la partie échange audio/vidéo de la communication.
Pour déclencher l’ouverture d’une gâche électrique sur le portier par exemple, il faudrait pouvoir détecter l’évènement de communication sur Jeedom, puis renvoyer une commande via MQTT par exemple (un certain nombre de portier IP comme les Axis, 2N, … supporte ce protocole).
Mais dans ce cas 2 interfaces différentes sur la tablette pour interagir avec le portier : l’application Softphone pour l’échange SIP et une application Jeedom pour la partie ouverture de gâche…