[globals]
;variables globales (ne pas modifier)
DYNAMIC_FEATURES => automon
exten => 11,1,Answer()
exten => 11,2,MusicOnHold
exten => 11,3,Dial,(SIP/11,30)
ACCUEIL=SIP/11
SALLEINFORMATIQUE=SIP/11
SALLEDESPORT=SIP/12
CHAMBREDEINVITE=SIP/13
CUISINEDETE=SIP/14
LEASEINFO=SIP/15
MADEFORDANCE=SIP/16
TELEPHONEMOBILEREGIS=SIP/17
PCREGIS=SIP/18
TABLETTENATHALIE=SIP/19
TELEPHONEFIXEBUREAU=SIP/21
TELEPHONEFIXECHAMBREINVITE=SIP/22
TELEPHONEFIXECUIDINERDC=SIP/23
TELEPHONEFIXESALON=SIP/24
TELEPHONEFIXECHAMBREPARENTS=SIP/25
TELEPHONEFIXECHAMBREENFANT=SIP/26
;Enregistrement d’appel (*1)
exten => 11,1,Dial(SIP/11,60,wW)
exten => 12,1,Dial(SIP/12,60,wW)
exten => 13,1,Dial(SIP/13,60,wW)
exten => 14,1,Dial(SIP/14,60,wW)
exten => 15,1,Dial(SIP/15,60,wW)
exten => 16,1,Dial(SIP/16,60,wW)
exten => 17,1,Dial(SIP/17,60,wW)
exten => 18,1,Dial(SIP/18,60,wW)
exten => 19,1,Dial(SIP/19,60,wW)
exten => 21,1,Dial(SIP/21,60,wW)
exten => 22,1,Dial(SIP/22,60,wW)
exten => 23,1,Dial(SIP/23,60,wW)
exten => 24,1,Dial(SIP/24,60,wW)
exten => 25,1,Dial(SIP/25,60,wW)
exten => 26,1,Dial(SIP/26,60,wW)
[maison]
;[fromfree] ; on declare le contexte de reception d'appels depuis freephonie (redirection vers le menu interactif)
exten => s,1,Goto(accueil,666,1)
; test2 : Pour effectuer des test
[submenu]
exten => s,1,Answer
exten => s,2,Background(thanks) ; "Thanks for calling. Press 1 for sales, 2 for support, ..."
exten => 1,1,Goto(submenu,s,1)
exten => 2,1,Hangup
[question]
exten => 2301,1,Answer()
exten => 2301,n,Background(main-menu)
exten => 2301,n,WaitExten()
exten => 1,1,Playback(digits/1)
exten => 2,1,Playback(digits/2)
exten => 3,1,Playback(digits/3)
exten => 4,1,Playback(digits/4)
exten => 5,n,Hangup()
; extention
; ---> /var/lib/asterisk/agi-bin/domotique-zwave-choix1.agi
[choix1]
exten => 1,1,Answer()
exten => 1,n,Background(/lib/asterisk/sounds/custom/domotique-z-wave-Allumer-eteindre-lumiere)
exten => 1,n,Background(/lib/asterisk/sounds/custom/c-est-a-vous)
exten => 1,n,Read(CHOIX1_1,,10)
exten => 1,n,SayNumber(${CHOIX1_1})
exten => 1,n,Background(/lib/asterisk/sounds/custom/domotique_z-wave_commutateur)
;exten => 1,n,Background(/lib/asterisk/sounds/custom/c-est-a-vous)
exten => 1,n,Read(CHOIX1_2,,10)
exten => 1,n,SayNumber(${CHOIX1_2})
exten => 1,n,AGI(domotique-zwave-choix1.agi,${CHOIX1_1},${CHOIX1_2})
exten => 1,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_domotique_z-wave_aurevoir)
exten => 1,n,HangUp() ; racroche
; extention
; ---> /var/lib/asterisk/agi-bin/domotique-zwave-choix2.agi
[choix2]
exten => 1,1,Answer()
exten => 1,n,Background(/lib/asterisk/sounds/custom/domotique-z-wave-Allumer-eteindre-lumiere)
exten => 1,n,Background(/lib/asterisk/sounds/custom/c-est-a-vous)
exten => 1,n,Read(CHOIX1_1,,10)
exten => 1,n,SayNumber(${CHOIX1_1})
exten => 1,n,Background(/lib/asterisk/sounds/custom/domotique-z-wave-variateur-lumiere)
exten => 1,n,Background(/lib/asterisk/sounds/custom/c-est-a-vous)
exten => 1,n,Read(CHOIX1_2,,10)
exten => 1,n,SayNumber(${CHOIX1_2})
exten => 1,n,AGI(domotique-zwave-choix2.agi,${CHOIX1_1},${CHOIX1_2})
exten => 1,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_domotique_z-wave_aurevoir)
exten => 1,n,HangUp() ; racroche
[default]
include => domotique
;section des parametres par defaut.
include => parkedcalls ; Mise en attente
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;
;Configuration du menu interactif
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;
;Configuration des comptes locaux
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;
[maison] ; on declare le contexte local qu'on a specifie dans le sip.conf
; Appel des postes (numeros des postes)
exten => 00,1,Answer()
exten => 00,n,Playtones(ring)
exten => 00,n,wait(10)
exten => 00,n,Playback(/lib/asterisk/sounds/custom/postes-asterisk)
exten => 00,n,Playback(vm-goodbye); aurevoir
exten => 00,n,HangUp() ; racroche
; Test1 : Pour effectuer des tests
exten => 100,1,Answer()
exten => 100,n,Playtones(ring)
exten => 100,n,wait(10)
exten => 100,n,Playback(foo)
exten => 100,n,Playback(main-voice-menu)
exten => 100,n,Playback(vm-goodbye)
;exten => 100,n,Playtones(busy)
;exten => 100,n,Playtones(congestion)
exten => 100,n,HangUp()
; test2 : Pour effectuer des test
exten => 110,1,Ringing() ; Let's play some ringing sound for inbound callers
exten => 110,n,wait(5) ; Listen to ringing for 5 seconds
exten => 110,n,Background(thanks) ; "Thanks for calling. Press 1 for sales, 2 for support, ..."
exten => 1,1,Goto(submenu,s,1)
exten => 2,1,Hangup
; Horloge parlante
exten => 123,1,Ringing() ; Let's play some ringing sound for inbound callers
exten => 123,n,wait(5)
exten => 123,n,Playback(/lib/asterisk/sounds/custom/horloge-parlante-bienvenue)
exten => 123,n,Playback(/lib/asterisk/sounds/custom/horloge-parlante-nous-sommes)
exten => 123,n,SayUnixTime(,Europe/Paris,AdBY)
exten => 123,n,Playback(/lib/asterisk/sounds/custom/horloge-parlante-il-est)
exten => 123,n,SayUnixTime(,Europe/Paris,kM)
exten => 123,n,Wait(3)
exten => 123,n,Goto(maison,123, 2)
;exten => 123,n,Playback(/lib/asterisk/sounds/custom/horloge-parlante-merci)
;exten => 123,n,Playback(vm-goodbye)
;exten => 123,n,HangUp()
exten => 124,1,Answer()
exten => 124,n,Background(main-menu)
exten => 124,n,WaitExten()
exten => 1,1,Playback(digits/1)
exten => 2,1,Playback(digits/2)
exten => 3,1,Playback(digits/3)
exten => 4,1,Playback(digits/4)
exten => 5,n,Hangup()
exten => 2,1,Answer()
exten => 100,n,Playback(2)
exten => 100,n,Playback(vm-goodbye)
exten => 124,n,Hangup()
; permet de tester les flux entrant et sortant
exten => 212,1,Ringing() ; Let's play some ringing sound for inbound callers
exten => 212,n,wait(10) ; Listen to ringing for 5 seconds
exten => 212, n, Answer
exten => 212, n, Playback(demo-echotest)
exten => 212, n, Echo()
; FreeBox
; Fichier : /var/lib/asterisk/agi-bin/freebox_hd.agi
;exten => 401,1,Ringing()
;exten => 401,2,wait(10)
exten => 401,1,Answer()
exten => 401,2,Playtones(ring)
exten => 401,3,wait(10)
exten => 401,4,Playback(/lib/asterisk/sounds/custom/bonjour)
exten => 401,5,Playback(/lib/asterisk/sounds/custom/freebox-hd-bienvenu)
exten => 401,6,Playback(/lib/asterisk/sounds/custom/freebox-hd-menu)
exten => 401,n,Playback(/lib/asterisk/sounds/custom/c-est-a-vous)
exten => 401,n,Read(TOUCHE,,5)
exten => 401,n,SayNumber(${TOUCHE})
exten => 401,n,AGI(/var/lib/asterisk/agi-bin/freebox_hd.agi,${TOUCHE})
;exten => 401,n,Playback(freebox-hd-merci)
;exten => 401,n,Hangup()
exten => 401,n,Goto(maison,401, 6)
; TV Samsung salon
; Fichier : /var/lib/asterisk/agi-bin/tv_samsung.agi
exten => 402,1,Answer()
exten => 402,2,Playtones(ring)
exten => 402,3,wait(10)
exten => 402,4,Playback(/lib/asterisk/sounds/custom/bonjour)
exten => 402,5,Playback(/lib/asterisk/sounds/custom/tv-samsung-bienvenu)
exten => 402,6,Playback(/lib/asterisk/sounds/custom/tv-samsung-menu)
exten => 402,n,Playback(/lib/asterisk/sounds/custom/c-est-a-vous)
exten => 402,n,Read(TOUCHE,,5)
exten => 402,n,SayNumber(${TOUCHE})
exten => 402,n,AGI(/var/lib/asterisk/agi-bin/tv_samsung.agi,${TOUCHE})
exten => 402,n,Goto(maison,402, 6)
; TV Samsung Chambre des parents
; Fichier : /var/lib/asterisk/agi-bin/tv-samsung-chambre.agi
;# Appel de reveil #
; Fichier : /var/lib/asterisk/agi-bin/reveil.agi
exten => 555,1,Answer()
exten => 555,n,Playtones(ring)
exten => 555,n,wait(10)
exten => 555,n,Set(NUMERO=${CALLERID(name)})
exten => 555,n,wait(1)
;exten => 555,n,PlayBack(welcome)
;exten => 555,n,PlayBack(blahblah-wakeup-call)
exten => 555,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_reveil_bienvenue)
exten => 555,n,Read(DAY,day,2)
exten => 555,n,Saynumber(${DAY})
exten => 555,n,Read(MONTH,month,2)
exten => 555,n,Saynumber(${MONTH})
exten => 555,n,Read(YEAR,year,4)
exten => 555,n,Saynumber(${YEAR})
exten => 555,n,Read(HOURES,enter-a-time,4)
exten => 555,n,AGI(/var/lib/asterisk/agi-bin/reveil.agi,${NUMERO},${DAY},${MONTH},${YEAR},${HOURES})
exten => 555,n,PlayBack(thanks-for-using)
exten => 555,n,PlayBack(wakeup-call)
exten => 555,n,Playback(vm-goodbye)
exten => 555,n,Hangup()
;Extension pour reveil
exten => reveil,1,Answer()
exten => reveil,n,Wait(1)
;exten => reveil,n,PlayBack(hello-world)
;exten => reveil,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_reveil_bienvenue)
exten => reveil,n,Wait(1)
exten => reveil,n,Playback(rqsted-wakeup-for)
exten => reveil,n,Playback(digits/today)
exten => reveil,n,SayUnixTime(,America/Montreal,AdBY 'digits/at' IMp)
exten => reveil,n,Hangup()
;# Appel de minuterie #
; Fichier : /var/lib/asterisk/agi-bin/minuterie.agi
exten => 556,1,Answer()
exten => 556,n,Playtones(ring)
exten => 556,n,wait(10)
exten => 556,n,Set(NUMERO=${CALLERID(name)})
exten => 556,n,wait(1)
;exten => 555,n,PlayBack(welcome)
;exten => 555,n,PlayBack(blahblah-wakeup-call)
exten => 556,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_minuterie_bienvenue)
exten => 556,n,Read(MINUTE,,3)
;exten => 556,n,S9(${MINUTE})
exten => 556,n,Saynumber(${MINUTE})
exten => 556,n,Playback(minute)
;exten => 556,n,Read(MONTH,month,2)
;exten => 556,n,Saynumber(${MONTH})
;exten => 556,n,Read(YEAR,year,4)
;exten => 556,n,Saynumber(${YEAR})
;exten => 556,n,Read(HOURES,enter-a-time,4)
exten => 556,n,AGI(/var/lib/asterisk/agi-bin/minuterie.agi,${NUMERO},${MINUTE})
;exten => 556,n,PlayBack(thanks-for-using)
;exten => 556,n,PlayBack(wakeup-call)
exten => 556,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_minuterie_sachez)
exten => 556,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_minuterie_merci)
exten => 556,n,Playback(vm-goodbye)
exten => 556,n,Hangup()
;Extension pour minuterie
exten => minuterie,1,Answer()
exten => minuterie,n,Wait(1)
;exten => minuterie,n,PlayBack(hello-world)
;exten => minuterie,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_reveil_bienvenue)
exten => minuterie,n,Wait(1)
exten => minuterie,n,Playback(rqsted-wakeup-for)
exten => minuterie,n,Playback(digits/today)
exten => minuterie,n,SayUnixTime(,America/Montreal,AdBY 'digits/at' IMp)
exten => minuterie,n,Hangup()
;# Appel de météo1
; Fichier : /var/lib/asterisk/agi-bin/weather.agi
exten => 557,1,answer()
;exten => 557,n,Playtones(ring)
;exten => 557,n,wait(5)
;exten => 557,n,AGI(/var/lib/asterisk/agi-bin/weather.agi,'paris,france')
;exten => 557,n,AGI(/var/lib/asterisk/agi-bin/meteo.agi,'bordeaux,france')
;exten => 557,n,TrySystem(echo 'toto')
;exten => 557,n,NoOp(SYSTEMSTATUS after trysystem: ${SYSTEMSTATUS})
;exten => 557,n,background(/var/lib/asterisk/sounds/fr/digits/$mavaleur)
exten => 557,n,AGI(/var/lib/asterisk/agi-bin/meteo.agi,1)
exten => 557,n,agi(googletts.agi,"La météo est" ${meteo} ".",fr)
;exten => 557,n,background(/var/lib/asterisk/sounds/fr/digits/${MAVALEUR(NUMERO)}) ;${mavaleur} ${CALLERID(number)}
exten => 557,n,hangup
;# Appel de météo2
; Fichier : /var/lib/asterisk/agi-bin/weather.agi
exten => 6383,1,answer
;exten => 6383,n,AGI(/var/lib/asterisk/agi-bin/weather.agi,'paris,france')
exten => 6383,n,AGI(/var/lib/asterisk/agi-bin/weather.agi,'bordeaux,france')
exten => 6383,n,hangup
;exten => s,n,background(pour)
;exten => s,n,AGI(weather.agi,'paris',1)
;exten => s,n,background(press-4)
;# Appel de annuaire inversé (pas terminé : solution non trouvé)
; Fichier : /var/lib/asterisk/agi-bin/annuaire-inverse.agi
exten => 558,1,answer()
exten => 558,n,Playback(/lib/asterisk/sounds/custom/annuaire-inverse)
;exten => 558,n,Playback(vm-enter-num-to-call)
exten => 558,n,Read(NUMERO1,,1)
exten => 558,n,Read(NUMERO2,,1)
exten => 558,n,Read(NUMERO3,,2)
exten => 558,n,Read(NUMERO4,,2)
exten => 558,n,Read(NUMERO5,,2)
exten => 558,n,Read(NUMERO6,,2)
exten => 558,n,SayNumber(${NUMERO1}
exten => 558,n,SayNumber(${NUMERO2}
exten => 558,n,SayNumber(${NUMERO3}
exten => 558,n,SayNumber(${NUMERO4}
exten => 558,n,SayNumber(${NUMERO5}
exten => 558,n,SayNumber(${NUMERO6}
;exten => _XXXX.,n,AGI(annuaire-inverse.agi,${CALLERID(number)})
exten => 558,n,AGI(/var/lib/asterisk/agi-bin/annuaire-inverse.agi,${NUMERO1}${NUMERO2}${NUMERO3}${NUMERO4}${NUMERO5}${NUMERO6})
;exten => 558,n,ÂGI(googletts.agi,"le numero est .",fr,any)
;exten => 558,n,agi(googletts.agi,"Le numéro "${NUMERO1}${NUMERO2}${NUMERO3}${NUMERO4}${NUMERO5}${NUMERO6}" est" ${NUMBER} ${NAME} ${CALLERID}".",fr)
exten => 558,n,agi(googletts.agi,"Le numéro "${NUMERO1}${NUMERO2}${NUMERO3}${NUMERO4}${NUMERO5}${NUMERO6}" est "${NOM} ${PRENOM} ${ADRESSE} ${CODE_POSTAL} ${VILLE}".",fr)
exten => 558,n,agi(googletts.agi,"Aurevoir.",fr)
;exten => 558,n,WaitExten()
exten => 558,n,hangup
;Extension pour appeler directement le repondeur
exten => 600,1,Answer()
exten => 600,n,Playtones(ring)
exten => 600,n,wait(10)
exten => 600,n,VoicemailMain()
exten => 600,n,Hangup()
;Extension pour appeler le 200
exten => 200,1,Answer()
exten => 200,n,Playtones(ring)
exten => 200,n,wait(10)
exten => 200,n,Playback(/lib/asterisk/sounds/custom/numeros-asterisk-en-derangement)
exten => 200,n,Hangup()
;Enregistrement d'appels
;ls /var/spool/asterisk/monitor/auto-*
exten => _901.,1,Set(DIRNAME=${CALLERID(num)}/${STRFTIME(${EPOCH},,%Y%m/%d)})
exten => _901.,2,Set(FILENAME=${DIRNAME}/${STRFTIME(${EPOCH},,%H%M%S)}-${EXTEN:2})
exten => _901.,3,System(/bin/mkdir -p /var/spool/asterisk/monitor/${DIRNAME})
exten => _901.,4,MixMonitor(${FILENAME}.gsm,b)
exten => _901.,5,Dial(SIP/${EXTEN:2},20)
; Les services de asterisk ---> /lib/asterisk/sounds/custom/services-asterisk.wav
exten => 0000,1,Answer()
exten => 0000,n,Playtones(ring)
exten => 0000,n,wait(10)
exten => 0000,n,Playback(/lib/asterisk/sounds/custom/services-asterisk)
exten => 0000,n,HangUp() ; racroche
; Infos machine
exten => 0001,1,Answer()
exten => 0001,n,Playtones(ring)
exten => 0001,n,wait(10)
;exten => 0001,n,PlayBack(hello-world) ;salut tous le monde
;exten => 0001,n,PlayBack(hello) ;allo
exten => 0001,n,Playback(machine)
exten => 0001,n,Playback(distribution)
exten => 0001,n,Playback(linux)
exten => 0001,n,Playback(human)
exten => 0001,n,Playback(message-when-machine)
exten => 0001,n,Playback(message-when-human)
exten => 0001,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 0001,n,Playback(vm-goodbye) ; aurevoir
exten => 0001,n,HangUp() ; racroche
; Test google tts
exten => 1234,1,Answer
;exten => 1234,n,agigoogletts.agi,"Google text to speech for Asterisk",fr)
;exten => 1234,n,agi(googletts.agi,"has been successfully installed.",fr)
exten => 1234,n,agi(googletts.agi,"Bonjour, Vous utilisez google tts en français.",fr)
exten => 1234,n,agi(googletts.agi,"Ceci est un test de ponctuation.",fr)
exten => 1234,n,agi(googletts.agi,"Aurevoir.",fr)
exten => 1234,n,HangUp
; Domotique x10 : Dès que le numero est composé la lumière e1 on s'allume automatiquement.
; Fichier : /var/lib/asterisk/agi-bin/on.agi
exten => 1333,1,Answer()
exten => 1333,n,Playtones(ring)
exten => 1333,n,wait(10)
exten => 1333,n,AGI(/var/lib/asterisk/agi-bin/on.agi,e1)
exten => 1333,n,Playback(/lib/asterisk/sounds/custom/on1)
exten => 1333,n,HangUp()
; Domotique x10 : Dès que le numero est composé la lumière e1 on s'allume automatiquement.
exten => 2233,1,Answer()
exten => 2233,n,Playtones(ring)
exten => 2233,n,wait(10)
exten => 2233,n,GotoIf($[${DB(Domotique/Cafe)} = 2]?Actif:PasActif)
exten => 2233,n(Actif),Playback(on1)
exten => 2233,n,AGI(off.agi,e1)
exten => 2233,n,Hangup()
exten => 2233,n(PasActif),Playback(Office)
exten => 2233,n,AGI(on.agi,e1)
exten => 2233,n,Wait(1)
exten => 2233,n,Liambrola(“Ceci est un test permettant de vérifier les fonctions de Lia Mbrola.”)
;exten => 0001,n,Playback(vm-goodbye) ; aurevoir
;exten => 2233,n,Hangup()
exten => 2235,1,Playback(/lib/asterisk/sounds/custom/choix_module_X10)
exten => 2235,n,Read(MODULE,,1)
exten => 2235,n,SayNumber(${MODULE})
exten => 2235,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_action_X10)
exten => 2235,n,Read(ACTION,,1)
exten => 2235,n,SayNumber(${ACTION})
exten => 2235,n,Gotoif($[${ACTION} = 1]?allumer:continue)
exten => 2235,n(allumer),Set(ACTION=*)
exten => 2235,n,Goto(controle_tr16)
exten => 2235,n(continue),Gotoif($[${ACTION} = 0]?eteindre:erreur)
exten => 2235,n(eteindre),Set(ACTION=#)
exten => 2235,n,Goto(controle_tr16)
exten => 2235,n(erreur),Goto(boucle)
exten => 2235,n(controle_tr16),Dial(SIP/111,40,mD(wwwwww000wwwwww${MODULE}${ACTION})S(20))
exten => 2235,n,Hangup
; texte domotique avec fichier agi
exten => 2236,1,Answer()
exten => 2236,n,Playback(/lib/asterisk/sounds/custom/choix_module_X10)
exten => 2236,n,Read(MODULE,,1)
exten => 2236,n,SayNumber(${MODULE})
exten => 2236,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_action_X10)
exten => 2236,n,Read(ACTION,,1)
exten => 2236,n,SayNumber(${ACTION})
;exten => 2236,n,Gotoif($[${ACTION} = 1]?allumer:continue)
;exten => 2236,n(allumer),Set(ACTION=*)
;exten => 2236,n,Goto(controle_x10)
;exten => 2236,n(continue),Gotoif($[${ACTION} = 0]?eteindre:erreur)
;exten => 2236,n(eteindre),Set(ACTION=#)
;exten => 2236,n,Goto(controle_x10)
;exten => 2236,n(erreur),Goto(boucle)
;exten => 2236,n,AGI(test-asterisk-domotique2.agi,${MODULE},${ACTION})
;exten => 2236,n,AGI(test-asterisk-domotique2.agi,${MODULE},${ACTION})
exten => 2236,n,AGI(domotique.agi,${MODULE},${ACTION})
;exten => 2236,n(controle_x10),Dial(SIP/12,40,mD(/var/lib/asterisk/agi-bin/test-asterisk-domotique2.agi,${MODULE}${ACTION})S(20))
;exten => 2236,n,AGI(/var/lib/asterisk/agi-bin/test-asterisk-domotique2.agi,${MODULE},${ACTION},${T1},${T2},${T3})
exten => 2236,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 2236,n,Playback(vm-goodbye) ; aurevoir
exten => 2236,n,HangUp() ; racroche
;+--------------------------------------+
;| DOMOTIQUE MULTITECHNO |
;+--------------------------------------+
;+--------------------------------------+
;| DOMOTIQUE X10 |
;+--------------------------------------+
; Domotique X10 Choix code maison, unite et action ---> /var/lib/asterisk/agi-bin/domotique_0 agi
exten => 2200,1,Answer()
exten => 2200,n,Playtones(ring)
exten => 2200,n,wait(10)
exten => 2200,n,Playback(/lib/asterisk/sounds/custom/bonjour)
exten => 2200,n,Playback(/lib/asterisk/sounds/custom/domotique_x10_bienvenue)
exten => 2200,n,Playback(/lib/asterisk/sounds/custom/choix_code_maison_x10)
exten => 2200,n,Read(CODEMAISON,,2)
exten => 2200,n,SayNumber(${CODEMAISON})
exten => 2200,n,Playback(/lib/asterisk/sounds/custom/choix_code_unite_x10)
exten => 2200,n,Read(CODEUNITE,,2)
exten => 2200,n,SayNumber(${CODEUNITE})
exten => 2200,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_action_x10)
exten => 2200,n,Read(ACTION,,1)
exten => 2200,n,SayNumber(${ACTION})
;exten => 2200,n,Gotoif($[${ACTION} = 1]?allumer:continue)
;exten => 2200,n(allumer),Set(ACTION=*)
;exten => 2200,n,Goto(controle_x10)
;exten => 2200,n(continue),Gotoif($[${ACTION} = 0]?eteindre:erreur)
;exten => 2200,n(eteindre),Set(ACTION=#)
;exten => 2200,n,Goto(controle_x10)
;exten => 2200,n(erreur),Goto(boucle)
;exten => 2200,n,AGI(test-asterisk-domotique2.agi,${MODULE},${ACTION})
;exten => 2200,n,AGI(test-asterisk-domotique2.agi,${MODULE},${ACTION})
exten => 2200,n,AGI(domotique_0.agi,${CODEMAISON},${CODEUNITE},${ACTION})
;exten => 2200,n(controle_x10),Dial(SIP/12,40,mD(/var/lib/asterisk/agi-bin/test-asterisk-domotique2.agi,${MODULE}${ACTION})S(20))
;exten => 2200,n,AGI(/var/lib/asterisk/agi-bin/test-asterisk-domotique2.agi,${MODULE},${ACTION},${T1},${T2},${T3})
;exten => 2200,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 2200,n(boucle),Playback(/lib/asterisk/sounds/custom/domotique-x10-merci)
exten => 2200,n,Playback(vm-goodbye) ; aurevoir
exten => 2200,n,HangUp() ; racroche
; Domotique X10 Choix code maison, unite et action ---> /var/lib/asterisk/agi-bin/domotique_2 agi
exten => 2211,1,Answer()
exten => 2211,n,Playback(/lib/asterisk/sounds/custom/choix_code_maison_X10)
exten => 2211,n,Read(CODEMAISON,,2)
exten => 2211,n,SayNumber(${CODEMAISON})
exten => 2211,n,Playback(/lib/asterisk/sounds/custom/choix_code_unite_X10)
exten => 2211,n,Read(CODEUNITE,,2)
exten => 2211,n,SayNumber(${CODEUNITE})
exten => 2211,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_code_action_X10)
exten => 2211,n,Read(ACTION,,1)
exten => 2211,n,SayNumber(${ACTION})
;exten => 2200,n,Gotoif($[${ACTION} = 1]?allumer:continue)
;exten => 2200,n(allumer),Set(ACTION=*)
;exten => 2200,n,Goto(controle_x10)
;exten => 2200,n(continue),Gotoif($[${ACTION} = 0]?eteindre:erreur)
;exten => 2200,n(eteindre),Set(ACTION=#)
;exten => 2200,n,Goto(controle_x10)
;exten => 2200,n(erreur),Goto(boucle)
;exten => 2200,n,AGI(test-asterisk-domotique2.agi,${MODULE},${ACTION})
;exten => 2200,n,AGI(test-asterisk-domotique2.agi,${MODULE},${ACTION})
exten => 2211,n,AGI(domotique_2.agi,${CODEMAISON},${CODEUNITE},${ACTION})
;exten => 2200,n(controle_x10),Dial(SIP/12,40,mD(/var/lib/asterisk/agi-bin/test-asterisk-domotique2.agi,${MODULE}${ACTION})S(20))
;exten => 2200,n,AGI(/var/lib/asterisk/agi-bin/test-asterisk-domotique2.agi,${MODULE},${ACTION},${T1},${T2},${T3})
exten => 2211,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 2211,n,Playback(vm-goodbye) ; aurevoir
exten => 2211,n,HangUp() ; racroche
; Domotique X10 1ER étage Code maison B ---> /var/lib/asterisk/agi-bin/domotique_B agi
;xten => 2202,1,Answer()
exten => 2202,n,Playback(/lib/asterisk/sounds/custom/choix_modules_B_X10)
exten => 2202,n,Read(MODULES,,2)
exten => 2202,n,SayNumber(${MODULES})
exten => 2202,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_code_action_X10)
exten => 2202,n,Read(ACTION,,1)
exten => 2202,n,SayNumber(${ACTION})
exten => 2202,n,AGI(domotique_B.agi,${MODULES},${ACTION})
exten => 2202,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 2202,n,Playback(vm-goodbye) ; aurevoir
exten => 2202,n,HangUp() ; racroche
; Domotique X10 1ER étage Code maison C ---> /var/lib/asterisk/agi-bin/domotique_C agi
exten => 2203,1,Answer()
exten => 2203,n,Playback(/lib/asterisk/sounds/custom/choix_modules_C_X10)
exten => 2203,n,Read(MODULES,,2)
exten => 2203,n,SayNumber(${MODULES})
exten => 2203,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_code_action_X10)
exten => 2203,n,Read(ACTION,,1)
exten => 2203,n,SayNumber(${ACTION})
exten => 2203,n,AGI(domotique_C.agi,${MODULES},${ACTION})
exten => 2203,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 2203,n,Playback(vm-goodbye) ; aurevoir
exten => 2203,n,HangUp() ; racroche
; Domotique X10 RDC Code maison D ---> /var/lib/asterisk/agi-bin/domotique_D agi
exten => 2204,1,Answer()
exten => 2204,n,Playback(/lib/asterisk/sounds/custom/choix_modules_D_X10)
exten => 2204,n,Read(MODULES,,2)
exten => 2204,n,SayNumber(${MODULES})
exten => 2204,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_code_action_X10)
exten => 2204,n,Read(ACTION,,1)
exten => 2204,n,SayNumber(${ACTION})
exten => 2204,n,AGI(domotique_D.agi,${MODULES},${ACTION})
exten => 2204,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 2204,n,Playback(vm-goodbye) ; aurevoir
exten => 2204,n,HangUp() ; racroche
; Domotique X10 RDC Code maison E ---> /var/lib/asterisk/agi-bin/domotique_E agi
exten => 2205,1,Answer()
exten => 2205,n,Playback(/lib/asterisk/sounds/custom/choix_modules_E_X10)
exten => 2205,n,Read(MODULES,,2)
exten => 2205,n,SayNumber(${MODULES})
exten => 2205,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_code_action_X10)
exten => 2205,n,Read(ACTION,,1)
exten => 2205,n,SayNumber(${ACTION})
exten => 2205,n,AGI(domotique_E.agi,${MODULES},${ACTION})
exten => 2205,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 2205,n,Playback(vm-goodbye) ; aurevoir
exten => 2205,n,HangUp() ; racroche
; Domotique X10 JARDIN Code maison F ---> /var/lib/asterisk/agi-bin/domotique_F agi
exten => 2206,1,Answer()
exten => 2206,n,Playback(/lib/asterisk/sounds/custom/choix_modules_F_X10)
exten => 2206,n,Read(MODULES,,2)
exten => 2206,n,SayNumber(${MODULES})
exten => 2206,n(boucle),Playback(/lib/asterisk/sounds/custom/choix_code_action_X10)
exten => 2206,n,Read(ACTION,,1)
exten => 2206,n,SayNumber(${ACTION})
exten => 2206,n,AGI(domotique_F.agi,${MODULES},${ACTION})
exten => 2206,n,PlayBack(thanks-for-using) ; Merci d'utiliser
exten => 2206,n,Playback(vm-goodbye) ; aurevoir
exten => 2206,n,HangUp() ; racroche
; Redémarre le serveur
exten => 5555,1,Answer()
exten => 5555,2,Playtones(ring)
exten => 5555,3,wait(5)
exten => 5555,n,agi(googletts.agi,"Bonjour, Veuillez composer le mot de passe à 4 chiffre",fr)
exten => 5555,n,agi(googletts.agi,"C'est a vous",fr)
exten => 5555,n,Read(MDP,,4)
exten => 5555,n,SayNumber(${MDP})
exten => 5555,n,agi(googletts.agi,"Le serveur vas redémarrer, veuillez patienter, Aurevoir",fr)
exten => 5555,n,agi(reboot.agi,${MDP})
exten => 5555,n,Playback(vm-goodbye) ; aurevoir
exten => 5555,n,HangUp() ; racroche
; Etat de la connexion internet
exten => 5556,1,Answer()
exten => 5556,2,Playtones(ring)
exten => 5556,3,wait(5)
exten => 5556,n,agi(googletts.agi,"Bonjour",fr)
exten => 5556,n,agi(googletts.agi,"Vérification de l'état de la connexion internet",fr)
exten => 5556,n,agi(googletts.agi,"Un instant s'il vous plait",fr)
;exten => 5556,n,agi(googletts.agi,".............................",fr)
exten => 5556,n,AGI(Connexion_internet.agi,0)
exten => 5556,n,agi(googletts.agi,"La freebox ADSL est" ${freebox} ".",fr)
exten => 5556,n,agi(googletts.agi,"La connexion internet est" ${connexion} ".",fr)
exten => 5556,n,Playback(bip)
exten => 5556,n,Playback(vm-goodbye) ; aurevoir
exten => 5556,n,HangUp() ; racroche
;+--------------------------------------+
;| DOMOTIQUE Z-WAVE |
;+--------------------------------------+
; Fichier : /var/lib/asterisk/agi-bin/domotique_z-wave_0 agi
exten => 2300,1,Answer()
exten => 2300,n,Playtones(ring)
exten => 2300,n,wait(10)
exten => 2300,n,Playback(/lib/asterisk/sounds/custom/domotique_z-wave_id)
exten => 2300,n,Read(ID,,3)
exten => 2300,n,SayNumber(${ID})
exten => 2300,n,Playback(/lib/asterisk/sounds/custom/domotique_z-wave_commutateur)
exten => 2300,n,Read(ACTIONNEUR,,2)
exten => 2300,n,SayNumber(${ACTIONNEUR})
exten => 2300,n,AGI(domotique_z-wave_0.agi,${ID},${ACTIONNEUR})
exten => 2300,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_domotique_z-wave_aurevoir)
exten => 2300,n,HangUp() ; racroche
; Domotique Z-wave : Que voulez vous faire ?
; Fichier : /var/lib/asterisk/agi-bin/domotique_z-wave_2301.agi
exten => 2301,1,Answer()
exten => 2301,n,Playtones(ring)
exten => 2301,n,wait(10)
exten => 2301,n,Playback(/lib/asterisk/sounds/custom/bonjour)
exten => 2301,n,Playback(/lib/asterisk/sounds/custom/domotique_z-wave_bienvenue)
exten => 2301,n,Background(/lib/asterisk/sounds/custom/domotique_z-wave_Que_voulez_vous_faire)
exten => 2301,n,Background(/lib/asterisk/sounds/custom/c-est-a-vous)
exten => 2301,n,Read(N0,,10)
exten => 2301,n,SayNumber(${N0})
exten => 2301,n,Goto(choix${N0},1, 2)
;exten => 2301,n,GotoIf($["${N0}" == "1"]?menu1)
; numeros "locaux"
exten => 10,1,Dial(${ACCUEIL}, 30, wW) ; quand on compose le 10, le softphone branché sur le lien "Accueil" sonnera
exten => 10,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 10,n(unavail),Voicemail(10,u)
exten => 10,n,Hangup()
exten => 10,n(busy),VoiceMail(10,b)
exten => 10,n,Hangup()
exten => 11,1,Dial(${SALLEINFORMATIQUE}, 30, wW) ; quand on compose le 11, le softphone branché sur le lien "Salle Informatique" sonnera
exten => 11,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 11,n(unavail),Voicemail(11,u)
exten => 11,n,Hangup()
exten => 11,n(busy),VoiceMail(11,b)
exten => 11,n,Hangup()
exten => 12,1,Dial(${SALLEDESPORT}, 30, wW) ; quand on compose le 12, le softphone branché sur le lien "Salle de sport" sonnera
exten => 12,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 12,n(unavail),Voicemail(12,u)
exten => 12,n,Hangup()
exten => 12,n(busy),VoiceMail(12,b)
exten => 12,n,Hangup()
exten => 13,1,Dial(${CHAMBREDEINVITE}, 30, wW) ; quand on compose le 13, le softphone branché sur le lien "chambre invité" sonnera
exten => 13,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 13,n(unavail),Voicemail(13,u)
exten => 13,n,Hangup()
exten => 13,n(busy),VoiceMail(13,b)
exten => 13,n,Hangup()
exten => 14,1,Dial(${CUISINEDETE}, 30, wW) ; quand on compose le 14, le softphone branché sur le lien "Cusine d'été" sonnera
exten => 14,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 14,n(unavail),Voicemail(14,u)
exten => 14,n,Hangup()
exten => 14,n(busy),VoiceMail(14,b)
exten => 14,n,Hangup()
exten => 15,1,Dial(${LEASEINFO}, 30, wW) ; quand on compose le 15, le softphone branché sur le lien "LEASEINFO" sonnera
exten => 15,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 15,n(unavail),Voicemail(15,u)
exten => 15,n,Hangup()
exten => 15,n(busy),VoiceMail(15,b)
exten => 15,n,Hangup()
exten => 16,1,Dial(${MADEFORDANCE}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 16,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 16,n(unavail),Voicemail(16,u)
exten => 16,n,Hangup()
exten => 16,n(busy),VoiceMail(16,b)
exten => 16,n,Hangup()
exten => 17,1,Dial(${TELEPHONEMOBILEREGIS}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 17,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 17,n(unavail),Voicemail(17,u)
exten => 17,n,Hangup()
exten => 17,n(busy),VoiceMail(17,b)
exten => 17,n,Hangup()
exten => 18,1,Dial(${PCREGIS}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 18,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 18,n(unavail),Voicemail(18,u)
exten => 18,n,Hangup()
exten => 18,n(busy),VoiceMail(18,b)
exten => 18,n,Hangup()
exten => 19,1,Dial(${TABLETTENATHALIE}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 19,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 19,n(unavail),Voicemail(19,u)
exten => 19,n,Hangup()
exten => 19,n(busy),VoiceMail(19,b)
exten => 19,n,Hangup()
exten => 21,1,Dial(${TELEPHONEFIXEBUREAU}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 21,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 21,n(unavail),Voicemail(21,u)
exten => 21,n,Hangup()
exten => 21,n(busy),VoiceMail(21,b)
exten => 21,n,Hangup()
exten => 22,1,Dial(${TELEPHONEFIXECHAMBREINVITE}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 22,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 22,n(unavail),Voicemail(22,u)
exten => 22,n,Hangup()
exten => 22,n(busy),VoiceMail(22,b)
exten => 22,n,Hangup()
exten => 23,1,Dial(${TELEPHONEFIXECUISINERDC}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 23,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 23,n(unavail),Voicemail(23,u)
exten => 23,n,Hangup()
exten => 23,n(busy),VoiceMail(23,b)
exten => 23,n,Hangup()
exten => 24,1,Dial(${TELEPHONEFIXESALON}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 24,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 24,n(unavail),Voicemail(24,u)
exten => 24,n,Hangup()
exten => 24,n(busy),VoiceMail(24,b)
exten => 24,n,Hangup()
exten => 25,1,Dial(${TELEPHONEFIXECHAMBREPARENTS}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 25,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 25,n(unavail),Voicemail(25,u)
exten => 25,n,Hangup()
exten => 25,n(busy),VoiceMail(25,b)
exten => 25,n,Hangup()
exten => 26,1,Dial(${TELEPHONEFIXECHAMBREENFANT}, 30, wW) ; quand on compose le 16, le softphone branché sur le lien "pMADEFORDANCE" sonnera
exten => 26,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 26,n(unavail),Voicemail(26,u)
exten => 26,n,Hangup()
exten => 26,n(busy),VoiceMail(26,b)
exten => 26,n,Hangup()
;Extension pour Transfert d’appel (#)
exten => 11,2,Dial(SIP/11,,tT)
exten => 12,2,Dial(SIP/12,,tT)
exten => 13,2,Dial(SIP/13,,tT)
exten => 14,2,Dial(SIP/14,,tT)
exten => 15,2,Dial(SIP/15,,tT)
exten => 16,2,Dial(SIP/16,,tT)
exten => 17,2,Dial(SIP/17,,tT)
exten => 18,2,Dial(SIP/18,,tT)
exten => 19,2,Dial(SIP/19,,tT)
exten => 21,2,Dial(SIP/21,,tT)
exten => 22,2,Dial(SIP/22,,tT)
exten => 23,2,Dial(SIP/23,,tT)
exten => 24,2,Dial(SIP/24,,tT)
exten => 25,2,Dial(SIP/25,,tT)
exten => 26,2,Dial(SIP/26,,tT)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;
;Configuration des appels sortants
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;
; numeros externes
; quand on compose un numero qui commence par 0,on utilise le lien "freephonie"
;et on passe le numero au peer en otant le premier digit.
exten => _0.,1,Dial(SIP/freephonie_out/${EXTEN})