Hallo!
Ist es irgendwie möglich, von Asterisk bei einem Anruf ein
Shell-Script ausführen zu lassen? Am besten soll noch als
Argument die Nummer des Anrufers mitgegeben werden.
Asterisk - Shell-Script bei Anruf möglich?
- chroiss
- Beiträge: 332
- Registriert: 29.10.2004 09:29:43
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)
Jo. Mach ich auch .
Dafür eignet sich der System Aufruf :
BSP bei mir im Einsatz :
TIPP: Ich würde immer ein & hinter den Befehl setzen, so das asterisk nicht auf den exit Status warten muss.
Gruss Chroiss
Dafür eignet sich der System Aufruf :
BSP bei mir im Einsatz :
Code: Alles auswählen
exten => 1234,1,Ringing
exten => 1234,2,Wait(2)
exten => 1234,3,PrivacyManager()
exten => 1234,4,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => 1234,5,Monitor(wav,${CALLFILENAME},m)
exten => 1234,6,System('/usr/bin/tellvdr -d 192.168.111.99 MESG Anruf von: ${CALLERIDNUM} &')
exten => 1234,7,System('echo ANFRUF von: ${CALLERIDNUM} | smbclient -M alumbrados -U Telefonanlage &') ;net send
exten => 1234,8,System('/usr/bin/sms 017********** ANFRUF von: ${CALLERIDNUM} bekommen. &')
exten => 1234,9,Dial(Zap/g1/${EXTEN},20,tT)
exten => 1234,10,Playback(/var/lib/asterisk/sounds/custom/ansage55)
exten => 1234,11,Voicemail(1234)
exten => 1234,113,Playback(im-sorry)
exten => 1234,114,Playback(vm-goodbye)
exten => 1234,115,Hangup
exten => 1234,12,Hangup
TIPP: Ich würde immer ein & hinter den Befehl setzen, so das asterisk nicht auf den exit Status warten muss.
Gruss Chroiss
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.
Danke!
Dein Tip war schon mal ganz gut.
Nur war es so, dass die Meldung nur 1x für 2 Sekunden kam.
Jetzt hab ich's so gelöst, dass die Meldung quasi blinkt, so lange der Ruf dauert,
die Mailbox ran geht, oder der Anruf angenommen wird.
Das aufgerufene Script beinhaltet eine Endlosschleife mit der svdrp Message,
und wird dann einfach gekillt.
Ist vielleicht nicht so ganz elegant, aber es funktioniert.
/etc/asterisk/extensions.conf:
/usr/local/bin/vdrphone.sh:
Dein Tip war schon mal ganz gut.
Nur war es so, dass die Meldung nur 1x für 2 Sekunden kam.
Jetzt hab ich's so gelöst, dass die Meldung quasi blinkt, so lange der Ruf dauert,
die Mailbox ran geht, oder der Anruf angenommen wird.
Das aufgerufene Script beinhaltet eine Endlosschleife mit der svdrp Message,
und wird dann einfach gekillt.
Ist vielleicht nicht so ganz elegant, aber es funktioniert.
/etc/asterisk/extensions.conf:
Code: Alles auswählen
[capi-in]
exten => 1234,1,system('/usr/local/bin/vdrphone.sh ${CALLERIDNUM} &')
exten => 1234,2,dial,SIP/10&IAX2/20|30|r
exten => 1234,3,goto,r-${DIALSTATUS}|1
exten => r-BUSY,1,voicemail,b10
exten => r-BUSY,2,hangup
exten => r-NOANSWER,1,system('/usr/bin/killall -9 vdrphone.sh &')
exten => r-NOANSWER,2,voicemail,u10
exten => r-NOANSWER,3,hangup
exten => h,1,system('/usr/bin/killall -9 vdrphone.sh &')
Code: Alles auswählen
#!/bin/sh
while true
do svdrpsend.pl MESG Anruf $1
sleep 3
done
- chroiss
- Beiträge: 332
- Registriert: 29.10.2004 09:29:43
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)
Naja , das mit der "svdrp Message"
kannst Du ja selber im Menü am TV einstellen , dass die n bischen länger stehen bleiben.
Bei mir 15 Sekunden glaube ich . Und bis dahin hat nun wirklich jeder gelesen,
wer gerade anruft.
PS:
Das ja'n Zufall, das Du gerade auch nach ner VDR Lösung gesucht hast .
Gruss CHROISS !
kannst Du ja selber im Menü am TV einstellen , dass die n bischen länger stehen bleiben.
Bei mir 15 Sekunden glaube ich . Und bis dahin hat nun wirklich jeder gelesen,
wer gerade anruft.
PS:
Das ja'n Zufall, das Du gerade auch nach ner VDR Lösung gesucht hast .
Gruss CHROISS !
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.