[Asterisk-Dev] Re: [Asterisk-cvs] asterisk/apps app_queue.c,1.39,1.40
James Sizemore
james at deny.org
Thu Nov 20 01:18:29 MST 2003
My example got me to thinking. To use the Queue to
emulate hunt-groups, you would need to make
a mp3 to sound like a phone ringing...LOL
Maybe an "r" option "Queue(nocq|tTr|||45)"
would be a quick useful addition to app_queue
"r" Make the queue send a ring sound instead
of MOH.
James Sizemore wrote:
> Thanks for taking a crack at this issue! <smile> but,
> This patch is not useful for any ring strategy other then
> ringall. In that regards it is inferior to patch:
> http://bugs.digium.com/bug_view_page.php?bug_id=0000214
>
> Say we wanted to use the roundrobin strategy and ring three
> different phone then drop out of the queue, so as to use the queue
> to emulate hunt groups for SIP.
> Having a timeout separate from the strategy timeout really is needed.
>
> exten => 3860,2,Queue(nocq|tT|||45) ;<--- This is how it should be done!
> exten => 3860,2,Queue(nocq|tTn) ;<--- This is inflexible!
>
>
> martinp at lists.digium.com wrote:
>
>> Update of /usr/cvsroot/asterisk/apps
>> In directory mongoose.digium.com:/tmp/cvs-serv16523/apps
>>
>> Modified Files:
>> app_queue.c Log Message:
>> Add 'n' option to Queue application to fall through to the next
>> extension after the timeout if no member picks up
>>
>>
>> Index: app_queue.c
>> ===================================================================
>> RCS file: /usr/cvsroot/asterisk/apps/app_queue.c,v
>> retrieving revision 1.39
>> retrieving revision 1.40
>> diff -u -d -r1.39 -r1.40
>> --- app_queue.c 8 Nov 2003 04:35:57 -0000 1.39
>> +++ app_queue.c 19 Nov 2003 21:56:45 -0000 1.40
>> @@ -75,6 +75,7 @@
>> " 'T' -- to allow the calling user to transfer the call.\n"
>> " 'd' -- data-quality (modem) call (minimum delay).\n"
>> " 'H' -- allow caller to hang up by hitting *.\n"
>> +" 'n' -- no retries on the timeout; will exit this application
>> and go to the next step.\n"
>> " In addition to transferring the call, a call may be parked and
>> then picked\n"
>> "up by another user.\n"
>> " The optionnal URL will be sent to the called party if the channel
>> supports\n"
>> @@ -99,7 +100,8 @@
>> "Example: RemoveQueueMember(techsupport|SIP/3000)\n"
>> "";
>>
>> -
>> +/* whether to exit Queue application after the timeout hits */
>> +static int go_on = 0;
>>
>>
>> /* We define a customer "local user" structure because we
>> @@ -739,6 +741,8 @@
>> tmp->dataquality = 1;
>> if (strchr(options, 'H'))
>> tmp->allowdisconnect = 1;
>> + if (strchr(options, 'n'))
>> + go_on = 1;
>> }
>> if (url) {
>> ast_log(LOG_DEBUG, "Queue with URL=%s_\n", url);
>> @@ -1156,6 +1160,11 @@
>> res = try_calling(&qe, options, announceoverride, url);
>> if (res)
>> break;
>> + /* exit after a timeout if 'n' option enabled */
>> + if (go_on) {
>> + res = 0;
>> + break;
>> + }
>> res = wait_a_bit(&qe);
>> if (res < 0) {
>> if (option_verbose > 2) {
>>
>> _______________________________________________
>> Asterisk-Cvs mailing list
>> Asterisk-Cvs at lists.digium.com
>> http://lists.digium.com/mailman/listinfo/asterisk-cvs
>>
>>
>
>
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
More information about the asterisk-dev
mailing list