MOH sur utilisateur

Bonjour,

Lorsque je fais arriver une SDA sur un utilisateur en direct, la musique d’attente de l’utilisateur n’est pas jouée, il n’y a que les bips classique.

Par contre lorsque je mets la même musique d’attente sur un groupe et que je fais arriver la SDA sur ce groupe, la MOH est bien joué.

Y a-t-il quelque chose que je ne fais pas bien ?

Merci

Salut,

Ça n’existe pas par utilisateur par défaut, si tu veux le faire tu dois faire une sous routine et modifier les options du Dial pour jouer de la musique.

Salut Sylvain,

ça marche merci pour ton retour

Du coup, le champs “Music on hold” de l’utilisateur sert dans un autre cas ou pas du tout ?

Ok pour la sous-routine, peux-tu m’en dire juste un peu plus, je suis pas encore 100% à l’aise avec tout ça :sweat_smile:
J’ai regardé la commande Dial, je suppose qu’il faut que j’utilise l’option “m” pour y mettre la classe de musique que je souhaite mais comment je fais pour récupérer le nom de la classe spécifiée dans l’utilisateur ?

hello,

Dial
****
Dial(SIP/iop89U,15,hHtw)
h et H : autorise l'appelant et l'appelé à raccrocher ac séq DTMF
t : autoriser le trf ac séq DTMF
w : autorise l'appelé à enregistrer l'appel via séq DTMF
m : musique d'attente
r : commence la tonalité d'attente avant d'avoir le retour des channels solicités (utile quand ils sont longs à répondre, genre tel mobile)

Dans ton cas:
Dial(SIP/sipId,30,hHtwm)

30 est le ring timeout

trouvé dans le memo:

1 Like

Salut Julien,

Yes, au top merci :slight_smile:

Par contre, comment je sélectionne quelle MOH jouer du coup ?
Parce que là, le Dial() va jouer quoi comme musique ? Y a rien de paramétré si ?

Ben je pense que tu l’as configuré juste avant

ça fait que via le dialplan, tu vas jouer le MOH de l’utilisateur.
sans ce dialplan, il n’est pas pris en compte.

Fais le test, mais il me semble que ça va marcher.

Pour la sous routine tu as la doc ici https://wazo-platform.org/uc-doc/api_sdk/subroutine ça devrait t’aider.

Messieurs,

Impeccable, merci pour les infos, je vais tester tout ça et revient vers vous pour vous dire ce qu’il en est et ce que j’ai fait histoire que ça serve peut-être à d’autres

Bonjour Messieurs,

J’ai creusé le code et trouvé le soucis (une mauvaise variable utilisée).
J’ai apporté les changements et tout fonctionne maintenant.

Quel est le meilleur moyen de soumettre les propositions de corrections pour que vous puissiez peut-être l’intégrer ? Le forum, Jira, github (je maitrise un peu moins mais je peux apprendre :wink: ) ?

Dans l’attente de votre retour :slight_smile:

Hello,

Bravo à toi !

Partage dans le forum pour que ça soit plus facile de retrouver l’info,
et ouvre un ticket jira, ça permet aux membres de wazo de ne pas oublier de le créer :wink:

cheers !

Salut Julien,

Merci :smile: :smile:

Ok pour la procédure, je vais faire ça.

Donc pour la correction tout se passe dans :

/usr/lib/python3/dist-packages/wazo_agid/handlers/userfeatures.py

Et il faut dans :

def _set_options(self):
→ changer if self._moh: par if self._user.musiconhold:
→ changer options += f’m({self._moh.name})’ par options += f’m({self._user.musiconhold})’

def execute(self) → None:
→ supprimer self._set_music_on_hold()

def execute(self) → None:
→ supprimer self._find_moh()

def _set_members(self) → None:
→ supprimer self._moh_uuid = self._agi.get_variable(dialplan_variables.USER_MOH)

Et du coup on peut supprimer les fonctions suivantes

def _set_music_on_hold(self):

def _find_moh(self) → None:

J’ai fait les tests et tout fonctionne.
Je ne sais pas si ça répond à “la façon de dev” de chez Wazo mais je laisse adapter cela :wink:

Merci à tous pour vos indications et bonne continuation :slight_smile: