déployer jami sur un pinephone est une galère et je n’arrive pas à cross-compiler sur ma debian
j’ai réussi 2 fois déjà mais les SD ont crashé lorsque j’ai oublié de mettre en charge à temps… (mauvais point pour mobian ou pour la qualité des SD utilisées!)
je recommence depuis zéro mais je vais noter ici toutes les étapes pour pouvoir le reproduire sans les tâtônements. D’abord le système de base
S’il y a un larsen c’est qu’il y a une boucle audio.
est-ce que le test a été fait avec les 2 téléphones éloignés?
si oui, alors c’est un problème de config entre haut-parleur et micro (soit au niveau logiciel, avec un lien entre les deux, soit au niveau matériel lors de l’appel il y a une forte “repisse”: le micro capte trop le son provenant du haut-parleur -sur le même téléphone- normalement il y a un filtrage qui est fait en logiciel pour éviter ce problème). NB: je ne suis pas développeur jami, je connais juste ce type de problème du fait de mon expérience en home-studio.
effectivement le larsen provenait des règlages des micros et speakers… Une fois réglés sur earpiece en mode call, ça va et le son semble même bon pour un premier essai
merci pour le pointeur.
reste à mieux suivre le call en cours car sinon, difficile de raccrocher. Je dois améliorer mon client …
Mais en conclusion intermédiaire (mais d’importance à mes yeux): la dernière version de Jami-daemon fonctionne sur un PinePhone avec un Mobian et des paquets officiels pour le reste. Félicitations à l’équipe de Savoirfairelinux et à la communauté des jamistes!
si j’appelle le pinephone actif, il sonne et je peux décrocher et parler normalement.
si le pinephone est en veille, il sonne; je l’active, il continue à sonner mais impossible de décrocher car l’appel est marqué en échec chez l’émetteur… et impossible d’arreter le pinephone de sonner jusqu’à ce qu’il décroche un autre appel avec succès
pour avoir un POC complet pour un client voix uniquement, j’ai du ajouter le traitement de l’état INCOMING pour un call et corriger l’une ou l’autre typo dans controller.py ou jamictrl.py…
@ovari I wanted to update the doc page for homemade applications with the following skeleton for code but I don’t know which git server to submit the proposal:
#! /usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
#import errorsDring
from controller import libjamiCtrl
########################################################################
# provide callback to Jami daemon D-Bus signals
########################################################################
class MyController(libjamiCtrl):
#
# Signal handling
# process callbacks in the app
#
def onCallIncoming_cb(self, callId):
onCallIncoming(callId)
def onCallHangup_cb(self, callId):
onCallHangup(callId)
def onCallConnecting_cb(self, callId):
onCallConnecting(callId)
def onCallRinging_cb(self, callId):
onCallRinging(callId)
def onCallHold_cb(self):
onCallHold()
def onCallInactive_cb(self):
onCallInactive()
def onCallCurrent_cb(self):
onCallCurrent()
def onCallBusy_cb(self):
onCallBusy()
def onCallFailure_cb(self):
onCallFailure()
def onCallOver_cb(self):
onCallOver()
def onIncomingTrustRequest_cb(self, account, conversation, orig, payload, received):
onIncomingTrustRequest(account, conversation, orig, payload, received)
# stop Jami controller thread
def closeCtrl(something):
print("about to quit...")
ctrl.stopThread()
Gtk.main_quit()
########################################################################
# callbacks
########################################################################
def onCallIncoming(callId):
pass
def onCallHangup(callId):
pass
def onCallConnecting(callId):
pass
def onCallRinging(callId):
pass
def onCallHold():
pass
def onCallInactive():
pass
def onCallCurrent():
pass
def onCallBusy():
pass
def onCallFailure():
pass
def onCallOver():
pass
def onIncomingTrustRequest(account, conversation, orig, payload, received):
pass
########################################################################
# Controller in another thread
########################################################################
# jamid MUST be runnig already!
ctrl = MyController("MyJami", False)
ctrl.daemon = True
ctrl.start()
########################################################################
# Create the main window
########################################################################
window = Gtk.Window()
window.connect("destroy", closeCtrl)
window.show_all()
Gtk.main()