I have Sipura ATAs and suspect I canāt do hotline⦠But I really donāt want to either. Here is what I came up with after reading up on the commands and finding more to suit me better.

Here is how user sees it: She picks up phone and hears dial tone. Dials phone no. THEN hears prompt for PIN to be entered. After entering, number originally dialed will dial, ring, and continue. The disa wasnāt quite what I wanted. I use FIGERO to store the EXTEN no until needed.
I looked into the CDR file. /var/log/asterisk/cdr-csv/Master.csv and found the accountcode was UNused. It was all " " throughout the csv file.
Now all I need to get done is fix the timeclock. It reads out UTC time in England. I am in Eastern zone and find +5 or +4 hours messy and would rather all the math done by computer. I prefer the times in the gotoif statements ought to be the local Eastern time clock.

In the sip.conf file I have:
[13]
blabla=dododo etc. and so on
context=access-control ; formally default
[access-control]
exten => _X.,1,Set(FIGERO=${EXTEN})
;exten => _X.,2,GoTo(s,1)
exten => _X.,n,Background(custom/pls-ntr-your-pin) ; instructions - tell user to enter code
exten => _X.,n,WaitExten(30) ; user has 30sec to enter code
;exten => s,7,Set(EXTEN=${FIGERO})
;exten => s,8,GoTo(default,${FIGERO},1)
exten => 911,1,Dial(SIP/PSTN/${EXTEN}) ; can ALWAYS dial 911
exten => 5555,1,Set(CDR(accountcode)=karen)
;exten => 5555,n,Saydigits(${FIGERO})
exten => 5555,n,GoToIfTime(1:00-13:50|sun,sat||?default,${FIGERO},1)
exten => 5555,n,GoToIfTime(1:00-13:50|mon-fri||?default,${FIGERO},1)
exten => 5555,n,GoToIfTime(10:00-23:50||nov|7?default,${FIGERO},1)
exten => 5555,n,GoToIfTime(23:00-8:00|||?10)
exten => 5555,n,Playback(custom/bedtime)
exten => 5555,n,Hangup()
exten => 5555,10,Playback(custom/nottime)
exten => 5555,n,Hangup()
;
exten => 6666,1,Set(CDR(accountcode)=tony)
;exten => 6666,2,ExecIfTime(9:00-17:00|sun-sat||?DISA,no-password,default)
exten => 6666,n,GoToIfTime(1:00-13:50|sun,sat||?default,${FIGERO},1)
exten => 6666,n,GoToIfTime(1:00-13:50|mon-fri||?default,${FIGERO},1)
exten => 6666,n,GoToIfTime(10:00-23:50||nov|7?default,${FIGERO},1)
exten => 6666,n,GoToIfTime(23:00-8:00|||?10)
exten => 6666,n,Playback(custom/bedtime)
exten => 6666,n,Hangup()
exten => 6666,10,Playback(custom/nottime)
exten => 6666,n,Hangup()
;
exten => 1024,1,Set(CDR(accountcode)=popa)
exten => 1024,n,GoToIfTime(|||?default,${FIGERO},1)
exten => 1024,n,Hangup()
;
exten => 5683,1,Set(CDR(accountcode)=moma)
exten => 5683,n,GoToIfTime(|||?default,${FIGERO},1)
exten => 5683,n,Hangup()