Hallo,
ich habe nun vor ein paar wochen mit Hilfe von laureen meinen ersten asterisk zum rennen gebracht.
Habe jedoch noch ein Problem mit ankommenden Anrufen.
D.h. ich möchte das wenn ein Anruf eingeht, das Telefon so lange klingelt, bis a) jemand ans Telefon geht, oder b) der Anrufer auflegt und KEINE Mailbox eingeschaltet wird.
Aus meiner Sicht, könnte ich das über einen TimeOut ja festlegen ?
Kann mir da noch jemand einen Tip geben ?
Diese Zeile habe ich hier im Forum gefunden, jedoch sagt mir "HtTr" nichts , ich habe bisher nur "s" für silent verwendet...
Über die Variable ${TIMEOUT} wird ja der klingeltimeout festgelegt..
kann mir da jemand die "Richtung" zeigen, in der ich suchen kann...
exten => 7819xxx,4,Dial(SIP/10,${TIMEOUT},HtTr)
Gruß DD
ich habe nun vor ein paar wochen mit Hilfe von laureen meinen ersten asterisk zum rennen gebracht.
Habe jedoch noch ein Problem mit ankommenden Anrufen.
D.h. ich möchte das wenn ein Anruf eingeht, das Telefon so lange klingelt, bis a) jemand ans Telefon geht, oder b) der Anrufer auflegt und KEINE Mailbox eingeschaltet wird.
Aus meiner Sicht, könnte ich das über einen TimeOut ja festlegen ?
Kann mir da noch jemand einen Tip geben ?
Diese Zeile habe ich hier im Forum gefunden, jedoch sagt mir "HtTr" nichts , ich habe bisher nur "s" für silent verwendet...
Über die Variable ${TIMEOUT} wird ja der klingeltimeout festgelegt..
kann mir da jemand die "Richtung" zeigen, in der ich suchen kann...
exten => 7819xxx,4,Dial(SIP/10,${TIMEOUT},HtTr)
Gruß DD
Code:
[general]
static = yes
writeprotect = yes
autofallthrough = yes
clearglobalvars = yes
priorityjumping = no
;userscontext = default
[globals]
; my Area (USE ONLY DIGITS, NO BLANKS, "+" OR OTHER CHARACTERS !!!)
INTL_PREFIX = 49
NATIONAL_PREFIX = 030
LOCAL_PREFIX = 1234
; Outbound trunks
; TRUNKx=<tech>,<peer name>,<cid prefix>,<append extension's cid [y/n]>
TRUNK0=IAX2,iaxat,${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}${GLOBAL(LOCAL_PREFIX)},y
; SIPGATE ID
;TRUNK0=Local,sipgate-out,8888888e1,n
TRUNK1=Local,isdn-out,${GLOBAL(LOCAL_PREFIX)},y
EMERGENCY_TRUNK = Zap/1
EXTENSION_TIMEOUT = 999
DIAL_OPTIONS = rwW
DIALOUT_OPTIONS = rTW
DIALOUT_TIMEOUT = 60
QUEUE_OPTIONS = ntw
COMPANY_MAILBOX = 15
RECDIR = /var/www/recordings
SUPP_CID = prohib
#include "include/macro-*.conf"
[default]
exten = h,1,Hangup()
exten = t,1,Hangup()
[sipgate-out]
exten = _${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}X.,1,Dial(SIP/${EXTEN:$[${LEN(${GLOBAL(INTL_PREFIX)})} + ${LEN(${GLOBAL(NATIONAL_PREFIX)})}]}@sipgate,60,${GLOBAL(DIALOUT_OPTIONS)})
exten = _${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}X.,n,Hangup()
exten = _${GLOBAL(INTL_PREFIX)}X.,1,Dial(SIP/0${EXTEN:${LEN(${GLOBAL(INTL_PREFIX)})}}@sipgate,60,${GLOBAL(DIALOUT_OPTIONS)})
exten = _${GLOBAL(INTL_PREFIX)}X.,n,Hangup()
exten = _X.,1,Dial(SIP/00${EXTEN}@sipgate,60,${GLOBAL(DIALOUT_OPTIONS)})
exten = _X.,n,Hangup()
exten = h,1,Hangup()
exten = t,1,Hangup()
[inbound]
; interne MSN
;Übergebe Gespräch von MSN an interne Anlage 10
exten = 00493012345,1,Goto(inbound,36,1)
exten = 0049301234567,1,Goto(internal,8001,1)
exten = 004930123456,1,Goto(inbound,36,1)
;;exten = 00493012345678,1,goto(internal,8001,1)
;interne FAX MSN
;exten = 0049301234567,1,Goto(fax-in,20,1)
;exten = 004926824418,1,Goto(inbound,s,1)
;exten = 00492682964965,1,Goto(inbound,37,1)
exten = 00492682964965,1,Goto(fax-in,20,1)
; switch board
exten = s,1,Answer()
exten = s,n,Wait(0.5)
exten = s,n,GotoIf($["${DB(DEVSTATES/night)}"="2"]?night)
;deaktiviert
;exten = s,n(day),Queue(board,${GLOBAL(QUEUE_OPTIONS)})
;exten = s,n,Playback(custom/unavail)
;exten = s,n,VoiceMail(${GLOBAL(COMPANY_MAILBOX)},s)
;exten = s,n,Goto(end)
exten = s,n(night),Playback(custom/unavail)
exten = s,n,VoiceMail(${GLOBAL(COMPANY_MAILBOX)},s)
exten = s,n,Goto(end)
exten = s,n(end),Hangup()
exten = 0,1,Goto(s,1)
; user phones available as DIDs
exten = 10,1,Goto(internal,10,1)
exten = 42,1,Goto(internal,42,1)
exten = 36,1,Goto(internal,36,1)
exten = 41,1,Goto(internal,41,1)
exten = 37,1,Goto(internal,37,1)
; company fax
;exten = 20,1,Goto(fax-in,${EXTEN},1)
;exten = fax,1,Goto(fax-in,20,1)
; mailboxes
exten = _81X,1,Goto(internal,${EXTEN},1)
; user faxes
;exten = _9XX,1,Goto(fax-in,${EXTEN},1)
; conference
exten = 7000,1,Goto(internal,7000,1)
exten = h,1,Hangup()
exten = t,1,Hangup()
[fax-in]
exten = _X.,1,AGI(fax.php)
exten = _X.,n,Hangup()
exten = h,1,DeadAGI(hangup_fax.php)
exten = h,n,Hangup()
exten = i,1,Hangup()
[internal]
; dialplan hints
#exec wget -q -O - http://localhost/asterisk/createhints.php
exten = night,hint,DS/night
; extensions
exten = _1X,2,Macro(stdexten)
exten = _1X,n,Hangup()
;für Nebenstellen mit 2 Stellen im 10er,20er,und 30er,40er und 50er Bereich
exten = _[12345]X,2,Macro(stdexten)
exten = _[12345]X,n,Hangup()
;Rufumleitung
exten = 70,1,Goto(internal,*20*,1)
exten = 71,1,Goto(internal,*21*,1)
;handy
exten = 72,1,Goto(internal,*22*00123456789012,1)
;frage den Status ab, ob Rufnummer erlaubt
;exten => 97,1,MYSQL(Connect CONNID localhost asterisk asterisk asterisk)
;exten => 97,n,MYSQL(Query RESULTID SELECT id FROM ast_sippeers WHERE id=21)
;exten => 97,n,MYSQL(Fetch FETCHID ${RESULTID} id)
;exten => 97,n,SayDigits(${id})
;exten => 97,n,MYSQL(Clear ${RESULTID})
;exten = 97,n,Hangup()
; echo test
exten = 99,1,Ringing()
exten = 99,n,Wait(2)
exten = 99,n,Answer()
exten = 99,n,Wait(0.5)
exten = 99,n,Playback(demo-echotest)
exten = 99,n,Echo()
exten = 99,n,Playback(demo-echodone)
exten = 99,n,Hangup()
; zeitansage
exten = 55,1,Ringing()
exten = 55,n,Wait(1)
exten = 55,n,Answer
exten = 55,n,Set(LANGUAGE()=de)
exten = 55,n,Wait(1)
exten = 55,n,SayUnixTime(,,admYHM)
exten = 55,n,Set(LANGUAGE()=en)
exten = 55,n,Wait(1)
exten = 55,n,SayUnixTime(,,admYIMP)
exten = 55,n,Goto(55,2)
; Externe einwahl
exten = 8001,1,Ringing()
exten = 8001,n,Wait(2)
exten => 8001,n,Answer
exten => 8001,n,WaitMusicOnHold(2)
exten => 8001,n,Wait(0.5)
exten => 8001,n,Playback(telcodex)
exten => 8001,n,Wait(0.5)
exten => 8001,n,Read(telnr||2)
exten => 8001,n,Wait(0.5)
exten => 8001,n,Playback(telx)
exten => 8001,n,SayDigits(${telnr})
exten => 8001,n,Wait(0.5)
exten => 8001,n,Goto(${telnr},1)
;exten = 8001,n,Hangup()
; Eigene Nummer
exten = 50,1,Answer
;exten = 50,n,Set(LANGUAGE()=de)
exten = 50,n,Wait(1)
;exten = 50,n,WaitMusicOnHold(5)
exten = 50,n,Wait(0.5)
exten = 50,n,SayDigits(${EXTEN})
exten = 50,n,Hangup()
;wecker
exten = _77XXXXXXXXXXXX,1,Answer()
exten = _77XXXXXXXXXXXX,n,Set(Jahr=${EXTEN:4:4})
exten = _77XXXXXXXXXXXX,n,Set(Monat=${EXTEN:8:2})
exten = _77XXXXXXXXXXXX,n,Set(Tag=${EXTEN:10:2})
exten = _77XXXXXXXXXXXX,n,Set(Stunden=${EXTEN:12:2})
exten = _77XXXXXXXXXXXX,n,Set(Minuten=${EXTEN:14:2})
exten = _77XXXXXXXXXXXX,n,NoOp(Weckruf soll fuer die Rufnummer ${CALLERID(num)} soll um ${Stunden}:${Minuten} Uhr am ${Tag}.${Monat}.${Jahr} erfolgen.)
exten = _77XXXXXXXXXXXX,n,System(echo -e "Channel: SIP/${CALLERID(num)}\\nContext: Weckruf\\nExtension: 23" > /tmp/${UNIQUEID}.call)
exten = _77XXXXXXXXXXXX,n,System(touch -t ${Jahr}${Monat}${Tag}${Stunden}${Minuten} /tmp/${UNIQUEID}.call)
exten = _77XXXXXXXXXXXX,n,System(mv /tmp/${UNIQUEID}.call /var/spool/asterisk/outgoing/)
exten = _77XXXXXXXXXXXX,n,Playback(rqsted-wakeup-for)
exten = _77XXXXXXXXXXXX,n,SayNumber(${Stunden})
exten = _77XXXXXXXXXXXX,n,Playback(digits/oclock)
exten = _77XXXXXXXXXXXX,n,SayNumber(${Minuten})
exten = _77XXXXXXXXXXXX,n,Hangup()
;Weckruf
exten = 80,1,Answer()
exten = 80,n,Wait(1)
exten = 80,n,Playback(weckerx)
exten = 80,n,Wait(1)
exten = 80,n,Hangup()
; fax for forwarding fax calls
;exten = 20,1,Goto(fax-in,20,1)
;Testansage Anrufbeantworter
exten => 13,1,Answer
exten => 13,n,Wait(1)
;exten => 13,n,Record(urlaub081.ulaw)
;exten => 13,n,Wait(1)
exten => 13,n,Playback(eurox)
exten => 13,n,Wait(0.5)
exten => 13,n,Playback(kommax)
exten => 13,n,Wait(0.5)
exten => 13,n,Playback(minutenx)
exten => 13,n,Wait(0.5)
exten => 13,n,Playback(telx)
exten => 13,n,Wait(0.5)
exten => 13,n,Playback(telcodex)
exten => 13,n,Wait(0.5)
exten => 13,n,Playback(ziel_nicht_erlaubtx)
exten => 13,n,Wait(0.5)
exten => 13,n,Hangup
;exten = 13,1,Answer()
;exten = 13,n,Wait(1)
;exten = 13,n,Playback(urlaub08)
;exten = 13,n,Wait(1)
;exten = 13,n,Hangup()
exten = 78,1,Ringing()
exten = 78,n,Wait(5)
exten = 78,n,Answer()
exten = 78,n,Playback(custom/unavail)
exten = 78,n,VoiceMail(${GLOBAL(COMPANY_MAILBOX)},36)
exten = 78,n,Hangup()
; conference
exten = 7000,1,Answer()
exten = 7000,n,Wait(1)
exten = 7000,n,Wait(1)
exten = 7000,n,MeetMe(7000)
; ========== outbound handling ==========
; ---------- emergency calls ----------
; these are just samples for Austria, adjust for your country
exten = 110,1,Goto(emergency,110,1)
exten = 112,1,Goto(emergency,112,1)
;exten = 133,1,Goto(emergency,133,1)
;exten = 144,1,Goto(emergency,144,1)
;exten = 141,1,Goto(emergency,141,1)
; ---------- end emergency calls ----------
; ---------- calls with callerid (DialOut Prefix: "0") ----------
exten = _+.,1,Goto(outbound,${EXTEN:1},1)
;entferne CallerID
;exten => _0Z.,1,Set(CALLERID(name)=AlteVogtei)
;exten = _0Z.,n,SetCallerPres(${GLOBAL(SUPP_CID)})
;exten = _0Z.,n,Goto(+${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}${EXTEN:1},1)
exten = _0Z.,1,Goto(+${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}${EXTEN:1},1)
exten = _00Z.,1,Goto(+${GLOBAL(INTL_PREFIX)}${EXTEN:2},1)
exten = _000Z.,1,Goto(+${EXTEN:3},1)
; ---------- end calls with callerid ----------
; ---------- calls without callerid (DialOut Prefix: "9") ----------
exten = _9Z.,1,SetCallerPres(${GLOBAL(SUPP_CID)})
exten = _9Z.,n,Goto(+${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}${EXTEN:1},1)
exten = _90Z.,1,SetCallerPres(${GLOBAL(SUPP_CID)})
exten = _90Z.,n,Goto(+${GLOBAL(INTL_PREFIX)}${EXTEN:2},1)
exten = _900Z.,1,SetCallerPres(${GLOBAL(SUPP_CID)})
exten = _900Z.,n,Goto(+${EXTEN:3},1)
; ---------- end calls without callerid ----------
; ========== end outbound handling ==========
; mailbox queries
exten = _8XX,1,Answer()
exten = _8XX,n,Wait(0.5)
exten = _8XX,n,VoiceMailMain(${EXTEN:1})
exten = _8XX,n,Hangup()
;exten = _81X,1,Answer()
;exten = _81X,n,Wait(0.5)
;exten = _81X,n,VoiceMailMain(${EXTEN:1})
;exten = _81X,n,Hangup()
exten = mailbox,1,Goto(8${CALLERID(num)},1)
; pickups
exten = _*8XX,1,DPickup(${EXTEN:2})
;exten = _6XX,1,DPickup(${EXTEN:2})
; recordings
exten = record,1,Goto(recorder,record,1)
; external sip calls
exten = _[a-zA-Z].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},60)
exten = _[a-zA-Z].,n,Hangup()
; ========== diversion handling ==========
; *20* = dekativieren *21* Mailbox *22*ZIELRUFNUMMER (für Weiterleitung)
; 70 = dekativieren 71 Mailbox 72 ZIELRUFNUMMER (für Weiterleitung)
exten = _*2[0-2].,1,Macro(diversion)
exten = _divXX,1,ExecIf($["${DB(DIV/${CALLERID(num)})}"!=""]|Goto|*20*,1)
exten = _divXX,n,Goto(*21*,1)
; ---------- night switch ----------
exten = night,1,NoCDR()
exten = night,n,GotoIf($["${DB(DEVSTATES/night)}"="1"]?set_night:set_day)
exten = night,n(set_night),Devstate(night,2)
;
;exten = night,n,TrySystem(/var/lib/asterisk/agi-bin/setmessage.php "Nachtschaltung aktiv" "*" &)
exten = night,n,Goto(end)
exten = night,n(set_day),Devstate(night,1)
exten = night,n,TrySystem(/var/lib/asterisk/agi-bin/setmessage.php "" "*" &)
exten = night,n,Goto(end)
exten = night,n(end),Answer()
exten = night,n,Wait(0.5)
exten = night,n,Hangup()
; ---------- end night switch ----------
; ========== end diversion handling ==========
exten = h,1,Hangup()
exten = t,1,Hangup()
[recorder]
; ========== call recording handling ==========
exten = record,1,NoOp(Recording requested by extension ${CALLERID(num)})
exten = record,n,Set(MYRECDIR=${GLOBAL(RECDIR)}/${CALLERID(num)})
exten = record,n,TrySystem(mkdir -p ${MYRECDIR}\; chown www-data ${MYRECDIR}\; chgrp www-data ${MYRECDIR})
exten = record,n,Set(RECSTART=${EPOCH})
exten = record,n,Record(${MYRECDIR}/${UNIQUEID}.wav,0,7200,q)
exten = h,1,DeadAGI(hangup_record.php,${EPOCH})
; ========== end call recording handling ==========
[emergency]
; emergency calls always terminate via ISDN (Zap)
exten = _X.,1,ChanIsAvail(${GLOBAL(EMERGENCY_TRUNK)},j)
exten = _X.,2,Dial(${GLOBAL(EMERGENCY_TRUNK)}/${EXTEN},120,r)
exten = _X.,3,Hangup()
exten = _X.,102,SoftHangup(${GLOBAL(EMERGENCY_TRUNK)}-1)
exten = _X.,103,Wait(1)
exten = _X.,104,Goto(1)
[outbound]
; ========== outdial handling ==========
; we always come here with an E.164 extension
exten = _X.,1,GotoIf($["${CALLERID(num)}" = "20"]?isdn-out|${EXTEN}|1)
exten = _X.,n,Macro(trunkdial)
exten = _X.,n,Hangup()
; ========== end outdial handling ==========
exten = h,1,Hangup()
exten = t,1,Hangup()
[isdn-out]
exten = _${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}X.,1,Dial(Zap/g1/${EXTEN:$[${LEN(${GLOBAL(INTL_PREFIX)})} + ${LEN(${GLOBAL(NATIONAL_PREFIX)})}]},60,${GLOBAL(DIALOUT_OPTIONS)})
exten = _${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}X.,n,Hangup()
exten = _${GLOBAL(INTL_PREFIX)}X.,1,Dial(Zap/g1/0${EXTEN:${LEN(${GLOBAL(INTL_PREFIX)})}},60,${GLOBAL(DIALOUT_OPTIONS)})
exten = _${GLOBAL(INTL_PREFIX)}X.,n,Hangup()
exten = _X.,1,Dial(Zap/g1/00${EXTEN},60,${GLOBAL(DIALOUT_OPTIONS)})
exten = _X.,n,Hangup()
exten = h,1,Hangup()
exten = t,1,Hangup()
[fax-out]
exten = _+.,1,Goto(outbound,${EXTEN:1},1)
exten = _0Z.,1,Goto(+${GLOBAL(INTL_PREFIX)}${GLOBAL(NATIONAL_PREFIX)}${EXTEN:1},1)
exten = _00Z.,1,Goto(+${GLOBAL(INTL_PREFIX)}${EXTEN:2},1)
exten = _000Z.,1,Goto(+${EXTEN:3},1)
exten = 20,1,Goto(inbound,20,1)
exten = h,n,Hangup()
exten = t,1,Hangup()