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é.
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 !
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.
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...