Nehmen wir an, ein Hotel möchte über Asterisk ein einfaches Weckrufsystem erstellen. Kunden sollen einen Weckruf über die Servicerufnummer *77* aktivieren können. Nach der *77* soll das genaue Datum und die Weckuhrzeit gewählt werden.
[hotel-intern] exten => _*77*XXXXXXXXXXXX,1,Answer() exten => _*77*XXXXXXXXXXXX,n,Set(Jahr=${EXTEN:4:4}) exten => _*77*XXXXXXXXXXXX,n,Set(Monat=${EXTEN:8:2}) exten => _*77*XXXXXXXXXXXX,n,Set(Tag=${EXTEN:10:2}) exten => _*77*XXXXXXXXXXXX,n,Set(Stunden=${EXTEN:12:2}) exten => _*77*XXXXXXXXXXXX,n,Set(Minuten=${EXTEN:14:2}) exten => _*77*XXXXXXXXXXXX,n,NoOp(Weckruf soll fuer die Rufnummer ${CALL ERID(num)} soll um ${Stunden}:${Minuten} Uhr am ${Tag}.${Monat}.${Jahr} erfolgen.) exten => _*77*XXXXXXXXXXXX,n,System(echo -e "Channel: SIP/${CALLERID(num )}\\nContext: Weckruf\\nExtension: 23" > /tmp/${UNIQUEID}.call) exten => _*77*XXXXXXXXXXXX,n,System(touch -t ${Jahr}${Monat}${Tag}${Stun den}${Minuten} /tmp/${UNIQUEID}.call) exten => _*77*XXXXXXXXXXXX,n,System(mv /tmp/${UNIQUEID}.call /var/spool/ asterisk/outgoing/) exten => _*77*XXXXXXXXXXXX,n,Playback(rqsted-wakeup-for) exten => _*77*XXXXXXXXXXXX,n,SayNumber(${Stunden}) exten => _*77*XXXXXXXXXXXX,n,SayNumber(${Minuten}) exten => _*77*XXXXXXXXXXXX,n,Playback(digits/oclock) exten => _*77*XXXXXXXXXXXX,n,Hangup() [Weckruf] exten => 23,1,Answer() exten => 23,n,Wait(1) exten => 23,n,Playback(this-is-yr-wakeup-call) exten => 23,n,Wait(1) exten => 23,n,Hangup()