- Mitglied seit
- 4 Mrz 2009
- Beiträge
- 85
- Punkte für Reaktionen
- 0
- Punkte
- 6
Hallo ihr Lieben,
ich habe mir in meine extensions.ael rein gebastelt, dass nur 2 Anrufe gleichzeitig funktionieren sollen.
Wenn jemand anruft soll die Variable +1 gesetzt werden, wenn aufgelegt wird -1.
Problem ist hierbei aber, dass wenn am Telefon der Anruf entgegen genommen wird bereits -1 gerechnet wird, also das Entgegen nehmen des Anrufs als Hangup gewertet wird, aber wieso oder gibt es eine einfachere Variante?
Ich habe den telefon context erstellt, da wir mehrere Telefonnummern im ankommen context haben und mit dem telefon context nur für diese eine Telefonnummer auch beim Auflegen -1 gerechnet werden soll.
ich habe mir in meine extensions.ael rein gebastelt, dass nur 2 Anrufe gleichzeitig funktionieren sollen.
Wenn jemand anruft soll die Variable +1 gesetzt werden, wenn aufgelegt wird -1.
Problem ist hierbei aber, dass wenn am Telefon der Anruf entgegen genommen wird bereits -1 gerechnet wird, also das Entgegen nehmen des Anrufs als Hangup gewertet wird, aber wieso oder gibt es eine einfachere Variante?
Ich habe den telefon context erstellt, da wir mehrere Telefonnummern im ankommen context haben und mit dem telefon context nur für diese eine Telefonnummer auch beim Auflegen -1 gerechnet werden soll.
Code:
context ankommend{
493033XXXXX =>{
Dial(Local/200@telefon);
}
493035XXXXXX =>{
Dial(SIP/1003,80);
}
}
context spaeter{
100 =>{
Wait(22);
Dial(SIP/1001,98);
}
101 =>{
Wait(35);
Dial(SIP/1002,85);
}
}
context telefon{
200 => {
if ("${DB(stat/Gespraeche)}" < "2"){
Set(DB(stat/Gespraeche)=${MATH(${DB(stat/Gespraeche)}+1,int)});
Wait(3);
Answer();
Playback(/var/lib/asterisk/willkommen);
Dial(Local/100@spaeter,120,m(music));
Playback(/var/lib/asterisk/ende);
Hangup();
}
else{
Set(DB(stat/Gespraeche)=${MATH(${DB(stat/Gespraeche)}+1,int)});
Ringing();
Wait(3);
Answer();
Playback(/var/lib/asterisk/belegt);
Hangup();
}
}
h => {
Set(DB(stat/Gespraeche)=${MATH(${DB(stat/Gespraeche)}-1,int)});
}
}