Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 10 sur 12

Discussion: Xivo : modification des macros

  1. #1
    Membre Junior
    Date d'inscription
    septembre 2010
    Messages
    24
    Downloads
    0
    Uploads
    0

    Xivo : modification des macros

    Bonjour,

    Voici mon soucis, je voudrais modifier la macro générale user dans le dialplan de Xivo, ne rien supprimer, mais seulement ajouter quelques lignes, qui viennent s'insérer dans la macro, pour compléter ce que je veux faire.

    Or après une mise à jour, j'ai perdu tout ce que j'avais écrit. Il y a t-il un moyen que ce fichier ne soit pas modifié ? ou alors existe t-il une autre méthode, pour ne pas toucher à ce fichier ?

    Thanks

  2. #2
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Que souhaite tu faire ? explique ton besoin, car tu as plusieurs endroit ou mettre des fonctions "avancées", comme par exemple, les templates de contextes, les Sous-routine de prétraitement .....
    Cédric
    ---------------------------------------------------------------
    Rejoignez l'Association Asterisk France : http://www.asterisk-france.org

    Envie de mettre des étoiles dans les yeux de vos clients : EasyPyro.ch

    On a pas inventé l'électricité en cherchant à améliorer la bougie...
    ---------------------------------------------------------------

  3. #3
    Membre Junior
    Date d'inscription
    septembre 2010
    Messages
    24
    Downloads
    0
    Uploads
    0
    Je vais prendre le cas de la macro groupmember.

    Je souhaite mettre en quelques sortes des permissions sur les groupes d'appel, je rentre les utilisateurs autorisés à entrer dans un groupe d'appel dans asterDB et ensuite je vais vérifier que l'utilisateur est bien autorisé à y entrer.
    ==> ajout de quelques lignes dans la macro pour vérifier celà, juste avant que l'utilisateur soit ajouté dans le groupe d'appel (execution de la ligne addQueueMember).

    Donc voilà, je ne sais si il existe une méthode plus propre de faire celà.

  4. #4
    Membre Association Avatar de quintana
    Date d'inscription
    août 2010
    Localisation
    Québec
    Messages
    1 084
    Downloads
    0
    Uploads
    0
    Les sous routines sont faites pour cela justement. Donnes moi plus d'infos car j'ai pas bien compris ce que tu voulais.
    Découvrez Wazo sous licence GPLv3 et accessible pour tous : http://www.wazo.community
    Blog Wazo : http://blog.wazo.community
    Wazo est un fork de XiVO.
    Suivez moi sur Twitter !

  5. #5
    Membre Junior
    Date d'inscription
    septembre 2010
    Messages
    24
    Downloads
    0
    Uploads
    0
    En fait je veux tout simplement resteindre la possibilité de rejoindre un groupe d'appel aux seules personnes que j'autoriserais.

    Dans un premier temps je rentre dans asterDB les utilisateurs qui auront ce droit, pour un groupe donné:
    groupe1 n°utilisateur1 oui
    groupe1 n°utilisateur2 oui
    ...

    Ma modification de la macro groupmember, va permettre de vérifier si l'association groupe/utilisateur est bien présente dans asterDB, avant d'inscrire le membre dans le groupe.
    Si oui l'utilisateur(membre) est bien autorisé, donc on execute la suite de la macro (QueueAddMember ...).
    Sinon l'utilisateur n'est pas autorisé.

    Cette procédure sera effectuée chaque fois, que par exemple un utilisateur tente de rejoindre un groupe. (utilisation du raccourci téléphonique pour ajouter un membre dans un groupe).

    J'espère avoir été un peu plus clair.

    En quoi consiste précisément les sous-routine ? comment les utiliser ?

  6. #6
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Si je ne me trompe pas, quintana me corrigera au cas ou

    la sous routine, fais un Gosub dans un contexte que tu auras crées, il fais donc un ecart du dialplan pour y revenir

    au lieu de faire 1 ==> 2

    tu fais 1 ==> Sous routine 1, Sous routine 2, sous routine n ==> 2

    pour les utiliser, rien de plus simple, tu fais dans un contexte test par exemple ton diallan avec l'extension s, puis tu fini par un return ()

    ensuite tu mais dans la page de configuration concerne sous sous routine le mot test.

    voici un exemple de sous routine :

    Code:
    [test]
    exten = s,1,NoOp(Ma sous routine)
    exten = s,n,Return()
    Cédric
    ---------------------------------------------------------------
    Rejoignez l'Association Asterisk France : http://www.asterisk-france.org

    Envie de mettre des étoiles dans les yeux de vos clients : EasyPyro.ch

    On a pas inventé l'électricité en cherchant à améliorer la bougie...
    ---------------------------------------------------------------

  7. #7
    Membre Junior
    Date d'inscription
    septembre 2010
    Messages
    24
    Downloads
    0
    Uploads
    0
    Ok je vois ce que tu veux dire, mais bon dans mon exemple je ne vois pas trop dans quel fichier de configuration placer cette sous-routine.
    D'autant plus si par exemple j'ai différentes sous-routine à executer, à des moments bien précis dans le dialplan. Sans modifier la marco en elle même je ne vois pas bien comment réaliser celà.

    Si quintanta peut éclaircir la situation ...

  8. #8
    Membre Association Avatar de quintana
    Date d'inscription
    août 2010
    Localisation
    Québec
    Messages
    1 084
    Downloads
    0
    Uploads
    0
    Ok cela tombe bien car j'avais mis en plus sur cette fonctionnalité, une sous routine qui s'appelle xivo-subrfeatures-groupmember dont la définition est dans /etc/asterisk/xivo_globals.conf.

    Donc dans ton cas tu as juste besoin par exemple de faire un fichier de configuration groupmember.conf dans l'interface web ou sinon sur la machine dans /etc/asterisk/extensions_extra.d, attention aux droits !

    En gros dans le fichier tu fais un truc du genre :

    [xivo-subrfeatures-groupmember]
    exten = s,1,NoOp(ma sous routine pour ajout membre)
    <mon_code_ici>
    exten = s,n,Return()

    Puis tu fais un dialplan reload ou recharger asterisk dans l'interface web.

    Cela permet de faire un appel à a sous routine juste avant le AddQueueMember fourni dans le dialplan de XiVO.

    Après tu peux aussi très bien faire ton propre bout de dialplan séparé.

    La sous routine est un hook dans notre dialplan. Dans ton cas si la personne n'est pas authorisé, fini par un Hangup() car sinon cela va revenir dans le dialplan.

    J'espère avoir été assez clair.

    Tu as aussi de l'info ici :

    https://wiki.xivo.fr/index.php/XiVO_..._Customization
    Découvrez Wazo sous licence GPLv3 et accessible pour tous : http://www.wazo.community
    Blog Wazo : http://blog.wazo.community
    Wazo est un fork de XiVO.
    Suivez moi sur Twitter !

  9. #9
    Membre Junior
    Date d'inscription
    septembre 2010
    Messages
    24
    Downloads
    0
    Uploads
    0
    Merci de toutes ces explications

    J'ai pu réaliser ce que je souhaitais, et tout fonctionne correctement

    Mais j'ai une autre question sur le même sujet.

    Pour en revenir à la macro user, imaginons que je veuille effectuer un traitement avant un appel (avant le DIAL) et un autre après (en gros insérer le code qui m'intéresse après le DIAL à la suite d'un NOANSWER par exemple).

    Dans ce cas les sous-routines ne sont plus adaptées, n'est-ce pas ? J'ai vu que l'article que tu m'a donné en lien sur le wiki, parle de ca dans la section personnalisé, mais je n'ai pas tout saisi.

  10. #10
    Membre Association Avatar de quintana
    Date d'inscription
    août 2010
    Localisation
    Québec
    Messages
    1 084
    Downloads
    0
    Uploads
    0
    Pour avant tu as la sous routine et pour après tu as directement dans l'interface web sur non réponse que tu peux choisir une action ou un personnalisé.
    Découvrez Wazo sous licence GPLv3 et accessible pour tous : http://www.wazo.community
    Blog Wazo : http://blog.wazo.community
    Wazo est un fork de XiVO.
    Suivez moi sur Twitter !

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •