Here is a sample with the “new” way, change the extensions to the one you want to use. It assumes your agents are in the agents context and you are only logging into 1 queue “somequeuename”.
[code]exten => login,1,Answer()
exten => login,n,Read(AID,agent-user);
; Next line I used to authenticate against the agents.conf file,
; The agents in this scenerio did not have voicemail
; This could change to VMAuthenticate as the other example uses if needed.
exten => login,n,Authenticate(${AGENT(${AID}:password)})
exten => login,n,AddQueueMember(somequeuename|Local/${CALLERID(num)}@agents/n)
exten => login,n,Playback(agent-loginok)
exten => login,n,Hangup
exten => logout,1,Answer()
exten => logout,n,RemoveQueueMember(somequeuename|Local/${CALLERID(num)}@agents/n)
exten => logout,n,Playback(agent-loggedoff)
exten => logout,n,Hangup
exten => pause,1,Answer()
exten => pause,n,PauseQueueMember(|Local/${CALLERID(num)}@agents/n)
exten => pause,n,PlayTones(stutter)
exten => pause,n,Wait(1.2)
exten => pause,n,Hangup
exten => unpause,1,Answer()
exten => unpause,n,UnPauseQueueMember(|Local/${CALLERID(num)}@agents/n)
exten => unpause,n,Playback(silence/1)
exten => unpause,n,Playback(available)
exten => unpause,n,Hangup
[/code]