[asterisk-users] artificial
Denis V. Gudtsov
denis at tangotel.ru
Tue Jun 3 02:57:51 CDT 2008
Hello, All!
I’m trying to organize artificial queue of waiting until only one user
answers. The main problem is that user can be in free and in a busy state.
Code (AEL):
While (1) {
Dial(SIP/user1,30,tM(musicclass));
Playback(wait_for_answer);
};
All works fine when Dial returns status ‘NOANSWER’ (channel is in free
state). But when channel in the BUSY state, dial immediately return
control to next line, so caller continuously hear “Please wait until
operator answers”. I need some application, which starts playing music
and returns control before music ends don’t interrupting them.
Something like that:
StartMusicOnHold(musicclass); // instead of MusicOnHold(musicclass);
While (1) {
Dial(SIP/user1,30,t);
If ( “${DIALSTATUS}” = “NOANSWER” ) {
Playback(wait_for_answer);
} else {
Wait(2);
};
};
But when I call Dial(), music interrupts.
In the ideal case the simple queue may be defined:
[queue1]
Member=SIP/user1
[queue2]
Member=SIP/user2
And so on…
Then call Queue(queue1) when I want to dial user1. But I have too many
users to define separately queue for each of them.
Is it possible to make something like this:
[queue]
Member=SIP/user1
Member=SIP/user2
Member=SIP/user3
Then run code:
Set(WANNA_TO_ANSWER=SIP/user1);
Queue(queue);
But I can’t found variables to affect on ACD choice.
How to solve this problem?
--
Denis V. Gudtsov
JSC Tango TELECOM
tel +7 (3412) 916-500, 916-503
icq# 158668135
denis at tangotel.ru ; www.tangotel.ru
More information about the asterisk-users
mailing list