# MOH sur utilisateur

**URL:** <https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395>\
**Category:** Installation/Configuration\
**Created:** [November 21, 2023, 5:57pm UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395 "2023-11-21T17:57:51Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bastien](https://avatars.discourse-cdn.com/v4/letter/b/51bf81/32.png) [@Bastien](https://wazo-platform.discourse.group/u/Bastien)\
**Post date:** [November 21, 2023, 5:57pm UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/1 "2023-11-21T17:57:51Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![quintana](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/quintana/32/916_2.png) [@quintana](https://wazo-platform.discourse.group/u/quintana)\
**Post date:** [November 21, 2023, 9:44pm UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/2 "2023-11-21T21:44:59Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Bastien](https://avatars.discourse-cdn.com/v4/letter/b/51bf81/32.png) [@Bastien](https://wazo-platform.discourse.group/u/Bastien)\
**Post date:** [November 22, 2023, 10:55am UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/3 "2023-11-22T10:55:44Z")

</div>

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 😅  
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 ?

---

<div class="post-metadata">

**Author:** ![julienfr](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/julienfr/32/797_2.png) [@julienfr](https://wazo-platform.discourse.group/u/julienfr)\
**Post date:** [November 22, 2023, 2:14pm UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/4 "2023-11-22T14:14:03Z")

</div>

hello,

```auto
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:

> <https://github.com/alexis-via/asterisk-wazo-toolbox/blob/master/asterisk-cfg/dialplan-memo.conf>

---

<div class="post-metadata">

**Author:** ![Bastien](https://avatars.discourse-cdn.com/v4/letter/b/51bf81/32.png) [@Bastien](https://wazo-platform.discourse.group/u/Bastien)\
**Post date:** [November 22, 2023, 2:25pm UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/5 "2023-11-22T14:25:00Z")

</div>

Salut Julien,

Yes, au top merci 🙂

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 ?

---

<div class="post-metadata">

**Author:** ![julienfr](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/julienfr/32/797_2.png) [@julienfr](https://wazo-platform.discourse.group/u/julienfr)\
**Post date:** [November 22, 2023, 2:37pm UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/6 "2023-11-22T14:37:38Z")

</div>

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

> [@Bastien](#):
>
> le champs “Music on hold” de l’utilisateur

ç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.

---

<div class="post-metadata">

**Author:** ![quintana](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/quintana/32/916_2.png) [@quintana](https://wazo-platform.discourse.group/u/quintana)\
**Post date:** [November 22, 2023, 3:41pm UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/7 "2023-11-22T15:41:41Z")

</div>

Pour la sous routine tu as la doc ici [https://wazo-platform.org/uc-doc/api\_sdk/subroutine](https://wazo-platform.org/uc-doc/api_sdk/subroutine) ça devrait t’aider.

---

<div class="post-metadata">

**Author:** ![Bastien](https://avatars.discourse-cdn.com/v4/letter/b/51bf81/32.png) [@Bastien](https://wazo-platform.discourse.group/u/Bastien)\
**Post date:** [November 23, 2023, 11:06am UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/8 "2023-11-23T11:06:40Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Bastien](https://avatars.discourse-cdn.com/v4/letter/b/51bf81/32.png) [@Bastien](https://wazo-platform.discourse.group/u/Bastien)\
**Post date:** [November 27, 2023, 10:13am UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/9 "2023-11-27T10:13:48Z")

</div>

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 😉 ) ?

Dans l’attente de votre retour 🙂

---

<div class="post-metadata">

**Author:** ![julienfr](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/julienfr/32/797_2.png) [@julienfr](https://wazo-platform.discourse.group/u/julienfr)\
**Post date:** [November 27, 2023, 10:55am UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/10 "2023-11-27T10:55:46Z")

</div>

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 😉

cheers !

---

<div class="post-metadata">

**Author:** ![Bastien](https://avatars.discourse-cdn.com/v4/letter/b/51bf81/32.png) [@Bastien](https://wazo-platform.discourse.group/u/Bastien)\
**Post date:** [November 27, 2023, 3:42pm UTC](https://wazo-platform.discourse.group/t/moh-sur-utilisateur/1395/11 "2023-11-27T15:42:12Z")

</div>

Salut Julien,

Merci 😄 😄

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 😉

Merci à tous pour vos indications et bonne continuation 🙂
