Xivo Sous-routine de prétraitement

De SLM - MediaWiki
Révision datée du 13 mai 2020 à 15:17 par Admin (discussion | contributions) (→‎Masquer son numéro sur appel sortant)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Mise en place

Exemple pour un predec

  1. Il faut aller dans Service -> IPBX -> Fichier de configuration et créer un fichier.conf
  • Nom du fichier : pre-predecroche

mettre ce script

[pre-predecroche]
exten = s,1,NoOp(## Ajout du predecroche ##)
exten = s,n,Set(LANGUAGE()=fr_FR)
exten = s,n,Answer()
exten = s,n,Playback(/var/lib/pf-xivo/sounds/playback/predecroche)
exten = s,n,Return()

Inclure ce script dans xivo-extrafeatures

include => pre-predecroche

aller dans l'interface web du xivo dans File d'attente

renseigner le champ "Sous-routine de prétraitement" par le nom entre crochet

ici par exemple ça sera: pre-predecroche

Recharger Astérisk

Template

Pré décroché

; Pour activer le Pré décroché individuel. affecter le nom de la sous routine à l'utilisateur.

; Pour changer le message de pré-décroché se rendre dans:
; Services IPBX > Musique d'attente > predec > y déposer les fichiers son

; Pour un predecroché avec lecture entière du message avant de faire sonner le poste
; remplacer:
; same = n,Set(XIVO_CALLOPTIONS=${XIVO_CALLOPTIONS}m(predec))
; par
; same = n,Playback(/var/lib/pf-xivo/sounds/playback/predecroche)


[predec-individuel]
exten = s,1,NoOp(## Ajout du predecroche ##)
exten = s,n,Answer(500)
exten = s,n,,Set(XIVO_CALLOPTIONS=${XIVO_CALLOPTIONS}m(predec))
exten = s,n,Return()

NB : le fichier son doit dans ce cas etre créer dans musique d’attente, et le fichier porter le nom « predec »

Pré décroché general

; Pré décroché pour tous les appels interne comme externe
; Pour activer la numérotation abrégé, dé-commenté le nom de la sous routine:

; Pour changer le message de pré-décroché se rendre dans:
; Services IPBX > Musique d'attente > predec > y déposer les fichiers son

; Pour un predecroché avec lecture entier du message avant de faire sonner le poste remplacer:
; same = n,Set(XIVO_CALLOPTIONS=${XIVO_CALLOPTIONS}m(default))
; par
; same = n,Playback(/var/lib/pf-xivo/sounds/playback/predecroche)

;[xivo-subrgbl-user]
[xivo-subrgbl-did]
exten = s,1,NoOp(sous routine de pré-décroché)
exten = s,n,Answer(500)
exten = s,n,Set(XIVO_CALLOPTIONS=${XIVO_CALLOPTIONS}m(pre-dec))
exten = s,n,return()

Couplage fix mobile

; Cette sous routine permet de faire sonner le poste en même temps que le mobile
; pour cela il faut avoir renseigné celui-ci dans la fiche de l'utilisateur via l'interface web
; Pour activer le couplage fixe mobile, renseigner la sous routine:
; couplage-mobile
; au niveau de la SDA ou de l'utilisateur 

[couplage-mobile]
exten = s,1,NoOp(Extra XiVO mobility)
same  =   n,GotoIf(${XIVO_MOBILEPHONENUMBER}?:return)
same  =   n,NoOp(Mobile Phone : ${XIVO_MOBILEPHONENUMBER})
same  =   n,Set(XIVO_INTERFACE=${XIVO_INTERFACE}&Local/${XIVO_MOBILEPHONENUMBER}@default)
same  =   n(return),Return()

Couplage fix mobile pre decroché

[pre-predec-mobil]
exten = s,1,NoOp(Extra XiVO mobility)
exten = s,2,GotoIf(${XIVO_MOBILEPHONENUMBER}?:return)
exten = s,3,NoOp(Mobile Phone : ${XIVO_MOBILEPHONENUMBER})
exten = s,4,Set(XIVO_INTERFACE=${XIVO_INTERFACE}&Local/${XIVO_MOBILEPHONENUMBER}@${XIVO_REAL_CONTEXT})
exten = s,5,NoOp(#### Pre-decroche ####)
exten = s,6,Answer()
exten = s,7,Set(XIVO_CALLOPTIONS=${XIVO_CALLOPTIONS}m(predec))
exten = s,n(return),Return(), Return()

Simuler un retour de sonnerie sur un alcatel

;; Needed to get the ringback tone when calling an Alcatel number
;; Used in outgoing call route 'vers_alcatel' with field <Sous-routine de prétraitement : pre-add_dialoption_r>
;; this is an example, don't remove comment on following lines
;; The production configuration is in /etc/asterisk/extensions_extra.d/client.conf
;[pre-add_dialoption_r]
;exten = s,1,NoOp(### Add r option to the Dial string when calling an Alcatel phone ###)
;exten = s,n,Set(XIVO_CALLOPTIONS=${XIVO_CALLOPTIONS}r)
;exten = s,n,Return()

Numérotation abrégé ou transformation de num

[client-shortcuts]
exten = 8133,1,Goto(default|00676364111|1)
exten = 8284,1,Goto(default|00673636222|1)
exten = 8337,1,Goto(default|00689852333|1) 

Masquer son numéro sur appel sortant

; Cette sous routine permet de cacher son num via intermediaire d'une touche
; mettre le code ci-dessous dans extensions_custom.conf

;Ajouter à la fin de 
[from-internal-custom]	
;la ligne			
include => hide

; Créer une touche BLF, destination: 8801, label "cacher num")
[hide]
exten = 8801,hint,Custom:hide
exten = 8801,1,Macro(user-callerid,)
exten = 8801,n,Set(fromext=${AMPUSER})
exten = 8801,n,NoOp(### CUSTOMER ${fromext} - Active/Desactive LE MASQUAGE DU CALLER ID ###)
exten = 8801,n,Goto(hide_custom,s,1)

; -- le dialplan d activation/désactivation du masquage caller id
[hide_custom]
exten = s,1,NoOp(## CUSTOMER - Active/Desactive LE MASQUAGE DU CALLER ID ###)
exten = s,n,Macro(user-callerid,)
exten = s,n,Set(fromext=${AMPUSER})
exten = s,n,Set(hide=${DB(HIDE/${fromext})})
exten = s,n,NoOp(## valeur ${hide} ##)
exten = s,n,GotoIf($["${hide}" == "1"]?desactive:active)
exten = s,n(desactive),Set(DB(HIDE/${fromext})=0)
exten = s,n,Set(DEVICE_STATE(Custom:hide)=NOT_INUSE)
exten = s,n,Playback(cache-num-off)
exten = s,n,Goto(hangup)
exten = s,n(active),Set(DB(HIDE/${fromext})=1)
exten = s,n,Set(DEVICE_STATE(Custom:hide)=BUSY)
exten = s,n,Playback(cache-num-on)
exten = s,n(hangup),Hangup()

; -- le dialplan de sous-routine qui check l'etat et active la faculté
[macro-outbound-callerid-custom]
exten = s,1,NoOp(### Teste si la faculté est active  ###)
exten = s,n,Macro(user-callerid,)
exten = s,n,Set(fromext=${AMPUSER})
exten = s,n,Set(hide=${DB(HIDE/${fromext})})
exten = s,n,NoOp(## value ${hide} ##)
exten = s,n,GotoIf($["${hide}" == "1"]?masque:return)
exten = s,n(masque),Set(CALLERID(number)="")
exten = s,n,Hangup()
exten = s,n(return),Goto(macro-outbound-callerid,s,1)

Renvoi groupe

; Cette sous routine permet de renvoyer un groupe ou une file d'attente

; Pour activer la vérification du renvoi, renseigner la sous routine:
; srpt-customer-renvoi-1
; au niveau de la SDA, du groupe ou de la file d'attente


; Créer une touche personnalisé, destination: 8801, supervision activé)
[renvoi-1]
exten = 8801,hint,Custom:STD_FWD1
exten = 8801,1,NoOp(### CUSTOMER - Active/Desactive STD FWD1 ###)
exten = 8801,n,Goto(customer-renvoi-1,s,1)

; -- le dialplan d activation/désactivation du renvoi
[customer-renvoi-1]
exten = s,1,NoOp(## CUSTOMER - Active/Desactive STD FWD1 ###)
exten = s,n,Set(STD_FWD1=${DB(CUSTOMER/STD/FWD1)})
exten = s,n,NoOp(## valeur ${STD_FWD1} ##)
exten = s,n,GotoIf($["${STD_FWD1}" == "1"]?desactive:active)
exten = s,n(desactive),Set(DB(CUSTOMER/STD/FWD1)=0)
exten = s,n,Set(DEVICE_STATE(Custom:STD_FWD1)=NOT_INUSE)
exten = s,n,Playback(forward-off)
exten = s,n,Goto(hangup)
exten = s,n(active),Set(DB(CUSTOMER/STD/FWD1)=1)
exten = s,n,Set(DEVICE_STATE(Custom:STD_FWD1)=BUSY)
exten = s,n,Playback(forward-on)
exten = s,n(hangup),Hangup()

; -- le dialplan de sous-routine qui check ouverture et renvoie
[srpt-customer-renvoi-1]
exten = s,1,NoOp(### Teste si le renvoi est actif  ###)
exten = s,n,Set(STD_FWD1=${DB(CUSTOMER/STD/FWD1)})
exten = s,n,NoOp(## value ${STD_FWD1} ##)
exten = s,n,GotoIf($["${STD_FWD1}" == "1"]?renvoi:return)
; exten = s,n(renvoi),Playback(/var/lib/pf-xivo/sounds/playback/fermeture)
exten = s,n(renvoi),goto(default,0326806312,1)
exten = s,n,Hangup()
exten = s,n(return),return()