you could put the secretary into a queue. When people press 1, they go to the secretary queue.
music on hold could be played from the queue while they are waiting their turn to be answered.
extensions.conf
exten => 111,1,Macro(queueloginout,secretary)
[ivrstart]
exten => s,1,Noop(IVR Start)
exten => s,n,Answer
exten => s,n,Ringing
exten => s,n,Wait(3)
exten => s,n(again),Background(mainmenu)
exten => s,n,WaitExten(15)
exten => s,n,hangup
exten => 1,1,Queue(secretary)
exten => 2,1,Dial(SIP/11)
exten => 3,1,Dial(SIP/12)
exten => i,1,goto(s,again)
[macro-queueloginout]
exten => s,1,Answer
exten => s,n,NoCDR
exten => s,n,AddQueueMember(${ARG1})
exten => s,n,gotoif($[ ${AQMSTATUS}=MEMBERALREADY ]?logout)
exten => s,n,Playback(agent-loginok)
exten => s,n,Hangup
exten => s,n(logout),RemoveQueueMember(${ARG1})
exten => s,n,Playback(agent-loggedoff)
exten => s,n,Hangup
queues.conf
[secretary]
autofill=yes
autopause=no
maxlen=0
joinempty=no
leavewhenempty=yes
ringinuse=no
strategy=rrmemory
timeout=10
reportholdtime=yes
wrapuptime=10
eventwhencalled=yes