Код: Выделить всё
[internal]
exten => 701,1,VMAuthenticate(@agent|)
exten => 701,n,AddQueueMember(SALES|local/${AUTH_MAILBOX}@agents/n)
exten => 701,n,AddQueueMember(SUPPORT|local/${AUTH_MAILBOX}@agents/n)
exten => 701,n,Read(AGENT_SIP|agent-newlocation)
exten => 701,n,Set(DB(agent_sip/${AUTH_MAILBOX})=${AGENT_SIP})
exten => 701,n,Playback(agent-loginok)
exten => 701,n,Playback(goodbye)
exten => 701,n,Hangup
exten => 702,1,VMAuthenticate(@agent|)
exten => 702,n,RemoveQueueMember(SALES|local/${AUTH_MAILBOX}@agents/n)
exten => 702,n,RemoveQueueMember(SUPPORT|local/${AUTH_MAILBOX}@agents/n)
exten => 702,n,Set(oldvar=${DB_DELETE(agent_sip/${AUTH_MAILBOX})})
exten => 702,n,Playback(agent-loggedoff)
exten => 702,n,Playback(goodbye)
exten => 702,n,Hangup
[agents]
exten => 1050,1,Set(AGENT_SIP=${DB(agent_sip/1050)})
exten => 1050,n,Dial(SIP/${AGENT_SIP})
Где-то на просторах интернета, кто-то посоветовал кому-то написать скрипт на ael с помощью addqueue. Читаю документацию, интересно. Функции такой пока не нашел. А правда ael такое может? Везде написано о сверхсиле ael. Знаком с ним полдня, сверхсилу еще не разглядел. Надеюсь, что знатоки подскажут.
Еще предполагаю, что можно добиться "онлайна" записью в какую-нибудь astdb что агент залогинен, находится на таком-то канале. Через функцию диалплана, или system - AMI. Куда копать пока тоже не понятно.
У кого какие мысли?

