Page 2 sur 2 PremièrePremière 12
Affichage des résultats 11 à 12 sur 12

Discussion: Xivo : modification des macros

  1. #11
    Membre Junior
    Date d'inscription
    septembre 2010
    Messages
    24
    Downloads
    0
    Uploads
    0
    Pour en revenir à ce sujet, concernant la macro user.
    Je n'ai pas vu de sous-routine définit préalablement comme le XIVO_GROUP_MEMBER_SUBROUTINE dans la macro group.
    Donc quelle sous-routine utiliser avant l'appel ?
    J'ai vu qu'on peut en créer mais dans ce cas, elles ne concernent que :
    * Les appels entrant
    * Les chambres de conférence
    * Les files d'attente
    * Les utilisateurs
    * Les groupes
    Or j'ai envie que ce soit fait de manière globale, et ne pas avoir à repasser sur chaque utilisateur pour indiquer la sous-routine à utiliser si c'est possible.

  2. #12
    Membre Junior
    Date d'inscription
    septembre 2010
    Messages
    24
    Downloads
    0
    Uploads
    0
    Je vais détailler un peu plus ce que je souhaite faire. Ici j'ai besoin de modifier la macro extensions_lib_user pour faire des renvois d'appels (qui colle avec un script php qui a été développé pour permettre à un utilisateur de choisir son type de renvoi).
    Il existe peut être une façon plus simple de faire ce que je vais détailler, mais je souhaite rester dans un premier temps sur de l'intégration.

    Donc dans la macro user, j'execute le code suivant juste avant la ligne:
    exten = s,n,GotoIf($[${GROUP_COUNT(${XIVO_DSTID}@XIVO_USER)} >= ${XIVO_SIMULTCALLS}]?BUSY,1)

    ; do not disturb forward in any case
    exten = s,n,Set(num_to_forward_dnd=${DB(DND/${XIVO_DSTNUM})})
    exten = s,n,GotoIf($["${num_to_forward_dnd}" = "YES"]?DND,1:nodnd)
    exten = s,n(nodnd),NoOp

    ;call forward unconditionnal
    exten = s,n,Set(num_to_forward_cf=${DB(CF/${XIVO_DSTNUM})})
    exten = s,n,GotoIf(${num_to_forward_cf}?cf:nocf)
    exten = s,n(nocf),NoOp

    ; forward if busy (instead of waiting for voicemail, forward it to a number specified)
    exten = s,n,Set(num_to_forward_cfb=${DB(CFB/${XIVO_DSTNUM})})
    exten = s,n,GotoIf($[ $["${GROUP_COUNT(${XIVO_DSTID}@XIVO_USER)}" >= "1"] & $["${num_to_forward_cfb}" != ""] ]?cfb:nocfb)
    exten = s,n(nocfb),NoOp


    Après :

    exten = s,n,Goto(${DIALSTATUS},1)
    exten = s,n,MacroExit()

    J'ai:

    ;call forward unconditionnal
    exten = s,n(cf),Playback(find-user)
    exten = s,n(cf),Set(num=${REGEX("^0[67].*$" ${num_to_forward_cf})})
    exten = s,n(cf),GotoIf($["${num}" = "1"]?cf1:cf2)
    exten = s,n(cf1),Dial(CAPI/ISDN1/${num_to_forward_cf}/d)
    exten = s,n(cf2),Dial(SIP/${num_to_forward_cf},20,tT)
    exten = s,n,Goto(voicemail,1)

    ;call forward busy
    exten = s,n(cfb),Playback(find-user)
    exten = s,n(cfb),Set(num=${REGEX("^0[67].*$" ${num_to_forward_cfb})})
    exten = s,n(cfb),GotoIf($["${num}" = "1"]?cfb1:cfb2)
    exten = s,n(cfb1),Dial(CAPI/ISDN1/${num_to_forward_cfb}/d)
    exten = s,n(cfb2),Dial(SIP/${num_to_forward_cfb},20,tT)
    exten = s,n,Goto(voicemail,1)

    ;call forward unavailable
    exten = NOANSWER,n,Set(num_to_forward_cfu=${DB(CFU/${XIVO_DSTNUM})})
    exten = NOANSWER,n,GotoIf(${num_to_forward_cfu}?cfu:nocfu)
    exten = NOANSWER,n(cfu),Playback(find-user)
    exten = NOANSWER,n(cfu),Set(num=${REGEX("^0[67].*$" ${num_to_forward_cfu})})
    exten = NOANSWER,n(cfu),GotoIf($["${num}" = "1"]?cfu1:cfu2)
    exten = NOANSWER,n(cfu1),Dial(CAPI/ISDN1/${num_to_forward_cfu}/d)
    exten = NOANSWER,n(cfu2),Dial(SIP/${num_to_forward_cfu},20,tT)
    exten = NOANSWER,n(cfu2),Goto(voicemail,1)
    exten = NOANSWER,n(nocfu),NoOp

    J'ai essayé de déninir une sous-routine XIVO_USERPREPROCESS_SUBROUTINE = fwd-user-one sans succès.
    Je voudrais avoir quelques pistes pour qu'à la prochaine mise à jour, tout ne part pas...

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
  •