[SOLVED] agent logon doesn't work after upgrade to 1.6.0.9

We used to run version 1.4.21.2, where I had setup agent logon after what it said i UPGRADE.txt.

queues.conf:

[code][general]
context = default
persistentmembers = yes
monitor-type = mixmonitor

[Receptionen]
music = default
strategy = ringall
announce-frequency = 30
announce-holdtime = no
leavewhenempty = strict
joinempty = strict
maxlen = 10[/code]

Voicemail.conf

[code][general]
format=wav49
serveremail=asterisk@bpc.dk
attach=yes
maxmsg=10
minmessage=3
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=3
emaildateformat=%A, %B %d, %Y at %r
emailsubject=New voicemail in mailbox ${VM_MAILBOX} from ${VM_CALLERID}
sendvoicemail=yes

[zonemessages]
eastern=America/New_York|‘vm-received’ Q ‘digits/at’ IMp
central=America/Chicago|‘vm-received’ Q ‘digits/at’ IMp
central24=America/Chicago|‘vm-received’ q ‘digits/at’ H N 'hours’
military=Zulu|‘vm-received’ q ‘digits/at’ H N ‘hours’ 'phonetic/z_p’
european=Europe/Copenhagen|‘vm-received’ a d b ‘digits/at’ HM

[default]
101 => 1234,Username,user@bpc.dk[/code]

extensions.ael:

context default { 98 => { Answer(); Read(AGENT_NUMBER,agent-user); Set(queue-announce-success=1); goto queue-loginout,O${AGENT_NUMBER},1; } 99 => { Answer(); Read(AGENT_NUMBER,agent-user); VMAuthenticate(${AGENT_NUMBER}@default,s); Set(queue-announce-success=1); goto queue-loginout,I${AGENT_NUMBER},1; } } context queue-loginout { _[IO]101 => { &queue-addremove(Receptionen,0); &queue-success(); } } macro queue-success() { if(${queue-announce-success} > 0) { switch(${MACRO_EXTEN:0:1}) { case I: Playback(agent-loginok); Hangup(); break; case O: Playback(agent-loggedoff); Hangup(); break; default: Playback(invalid); Hangup(); break; } } } macro queue-addremove(queuename,penalty) { switch(${MACRO_EXTEN:0:1}) { case I: // Login AddQueueMember(${queuename},Local/${MACRO_EXTEN:1}@agents,${penalty}); break; case O: // Logout RemoveQueueMember(${queuename},Local/${MACRO_EXTEN:1}@agents); break; default: Playback(invalid); break; } }

When I try to logon I get invalid number.

ps. anybody know of a page that lists available commands in the AEL language???

Dennis Dupont
Business Process Consulting ApS

Update:

This is what I get from the CLI

[i]-- Executing [99@default:1] Answer(“SIP/sip1203-095fca08”, “”) in new stack
– Executing [99@default:2] Read(“SIP/sip1203-095fca08”, “AGENT_NUMBER,agent-user”) in new stack
– <SIP/sip1203-095fca08> Playing ‘agent-user.gsm’ (language ‘da’)
– User entered ‘101’
– Executing [99@default:3] VMAuthenticate(“SIP/sip1203-095fca08”, “101@default,s”) in new stack
– <SIP/sip1203-095fca08> Playing ‘vm-password.gsm’ (language ‘da’)
– <SIP/sip1203-095fca08> Playing ‘auth-thankyou.gsm’ (language ‘da’)
– Executing [99@default:4] Set(“SIP/sip1203-095fca08”, “queue-announce-success=1”) in new stack
– Executing [99@default:5] Goto(“SIP/sip1203-095fca08”, “queue-loginout,I101,1”) in new stack
– Goto (queue-loginout,I101,1)
– Executing Gosub(“SIP/sip1203-095fca08”, “queue-addremove,s,1(Receptionen,0)”) in new stack
– Executing [s@queue-addremove:1] Set(“SIP/sip1203-095fca08”, “LOCAL(queuename)=Receptionen”) in new stack
– Executing [s@queue-addremove:2] Set(“SIP/sip1203-095fca08”, “LOCAL(penalty)=0”) in new stack
– Executing [s@queue-addremove:3] Set(“SIP/sip1203-095fca08”, “EXTEN=s”) in new stack
– Executing [s@queue-addremove:4] Goto(“SIP/sip1203-095fca08”, “sw-30-,10”) in new stack
– Goto (queue-addremove,sw-30-,10)
– Executing [sw-30-@queue-addremove:10] Goto(“SIP/sip1203-095fca08”, “sw-30-.,10”) in new stack
– Goto (queue-addremove,sw-30-.,10)
– Executing [sw-30-.@queue-addremove:10] Playback(“SIP/sip1203-095fca08”, “invalid”) in new stack
– <SIP/sip1203-095fca08> Playing ‘invalid.gsm’ (language ‘da’)

Dennis Dupont
Business Process Consulting ApS

Problem solved.

1.6 doesn’t know MACRO_EXTEN for some strange reason.

new code that works:

[code]context queue-loginout {
_[IO]101 => {
&queue-addremove(Receptionen,0,${EXTEN});
&queue-addremove(L1,0,${EXTEN});
&queue-success(${EXTEN});
}

    _[IO]102 => {
            &queue-addremove(Receptionen,0,${EXTEN});
            &queue-addremove(L2,0,${EXTEN});
            &queue-success(${EXTEN});
    }

    _[IO]103 => {
            &queue-addremove(Receptionen,0,${EXTEN});
            &queue-success(${EXTEN});
    }

    _[IO]104 => {
            &queue-addremove(L1,0,${EXTEN});
            &queue-success(${EXTEN});
    }

    _[IO]105 => {
            &queue-addremove(Receptionen,0,${EXTEN});
            &queue-success(${EXTEN});
    }

}

macro queue-success(inout) {
NoOP(Inde i queue-success);
if(${queue-announce-success} > 0) {
switch(${inout:0:1}) {
case I:
NoOP(Inde i queue-success,login);
Playback(agent-loginok);
Hangup();
break;
case O:
NoOP(Inde i queue-success,logud);
Playback(agent-loggedoff);
Hangup();
break;
default:
NoOP(Inde i queue-success,invalid);
Playback(invalid);
Hangup();
break;
}
}
}

macro queue-addremove(queuename,penalty,inout) {
NoOp(inde i queue-addremove);
switch(${inout:0:1}) {
case I:
// Login
NoOP(Inde i queue-addremove,login);
AddQueueMember(${queuename},Local/${inout:1}@agents,${penalty});
break;
case O:
// Logout
NoOP(Inde i queue-addremove,logud);
RemoveQueueMember(${queuename},Local/${inout:1}@agents);
break;
default:
NoOP(Inde i queue-addremove,invalid);
Playback(invalid);
break;
}
}
[/code]