Re: [asterisk-users] Queue questions - Asterisk 11
Le 04/07/2013 07:29, Satish Barot a écrit : [...] Already tested, I tried again as the option passed to queue was changed (n option) Logs: -- Started music on hold, class 'default', on SIP/gw-005e -- Executing [909@memberconnector:1] Dial(Local/909@ memberconnector-0002;2, SIP/s-ntfe_909,60,) in new stack == Using SIP RTP CoS mark 5 -- Called SIP/s-ntfe_909 -- SIP/s-ntfe_909-0060 is ringing -- Local/909@memberconnector- 0002;1 is ringing -- SIP/s-ntfe_909-0060 is ringing -- Stopped music on hold on SIP/gw-005e == Spawn extension (macro-toQueue, s, 11) exited non-zero on 'SIP/gw-005e' in macro 'toQueue' == Spawn extension (incoming-Swiss-itech, 1, 204) exited non-zero on 'SIP/gw-005e' -- Executing [h@incoming-Swiss-itech:1] NoOp(SIP/gw-005e, Call ended with QUEUESTATUS= and DIALSTATUS= and HANGUPCAUSE=0) in new stack From extension: [memberconnector] ; exten = _XXX,1,Dial(SIP/${peerPrefix}$ {EXTEN},${TIMERINGQUEUE},) same = n,NoOp(DIALSTATUS=${ DIALSTATUS}) As you can see, all status are empty, -- Daniel QUEUESTATUS will contain different values in different scenarios. i.e. If a call gets answered then the value is CONTINUE, If a call doesn't get answered and Queue timeout happens then TIMEOUT. If a caller hangs up when call is in Queue then QUEUESTATUS will be blank. Have something like this, ... ... same = n,queue(support,c,,,20) same = n,Noop(QSTATUS=${QUEUESTATUS}) ... ... exten = h,1,Noop(QSTATUS=${QUEUESTATUS}) [memberconnector] exten = _X.,1,Noop(Connecting to Member at ${EXTEN}) same = n,Dial(SIP/${EXTEN}) ;Check the Dialstatus for Member same = n,Noop(DIALSTATUS=${DIALSTATUS}) exten = h,1,Noop(DIALSTATUS=${DIALSTATUS}) Hi Satish, the c option has a result of DIALSTATUS shown on h extension in [memberconnector] and _only_ here. I then have to put the result in a global variable as DIALSTATUS is resetted. Many thanks for your help Regards -- Daniel -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] Queue questions - Asterisk 11
On Thu, Jul 4, 2013 at 5:36 PM, Administrator TOOTAI ad...@tootai.netwrote: Le 04/07/2013 07:29, Satish Barot a écrit : [...] Already tested, I tried again as the option passed to queue was changed (n option) Logs: -- Started music on hold, class 'default', on SIP/gw-005e -- Executing [909@memberconnector:1] Dial(Local/909@ memberconnector-0002;2, SIP/s-ntfe_909,60,) in new stack == Using SIP RTP CoS mark 5 -- Called SIP/s-ntfe_909 -- SIP/s-ntfe_909-0060 is ringing -- Local/909@memberconnector- 0002;1 is ringing -- SIP/s-ntfe_909-0060 is ringing -- Stopped music on hold on SIP/gw-005e == Spawn extension (macro-toQueue, s, 11) exited non-zero on 'SIP/gw-005e' in macro 'toQueue' == Spawn extension (incoming-Swiss-itech, 1, 204) exited non-zero on 'SIP/gw-005e' -- Executing [h@incoming-Swiss-itech:1] NoOp(SIP/gw-005e, Call ended with QUEUESTATUS= and DIALSTATUS= and HANGUPCAUSE=0) in new stack From extension: [memberconnector] ; exten = _XXX,1,Dial(SIP/${peerPrefix}$ {EXTEN},${TIMERINGQUEUE},) same = n,NoOp(DIALSTATUS=${ DIALSTATUS}) As you can see, all status are empty, -- Daniel QUEUESTATUS will contain different values in different scenarios. i.e. If a call gets answered then the value is CONTINUE, If a call doesn't get answered and Queue timeout happens then TIMEOUT. If a caller hangs up when call is in Queue then QUEUESTATUS will be blank. Have something like this, ... ... same = n,queue(support,c,,,20) same = n,Noop(QSTATUS=${QUEUESTATUS}) ... ... exten = h,1,Noop(QSTATUS=${**QUEUESTATUS}) [memberconnector] exten = _X.,1,Noop(Connecting to Member at ${EXTEN}) same = n,Dial(SIP/${EXTEN}) ;Check the Dialstatus for Member same = n,Noop(DIALSTATUS=${**DIALSTATUS}) exten = h,1,Noop(DIALSTATUS=${**DIALSTATUS}) Hi Satish, the c option has a result of DIALSTATUS shown on h extension in [memberconnector] and _only_ here. I then have to put the result in a global variable as DIALSTATUS is resetted. Many thanks for your help Regards -- Daniel That is because DIALSTATUS is set on a local channel and not on a caller channel. Use SHARED Function to get the value back in caller channel. same = n,Set(__ORIGCHANNEL=${CHANNEL}) same = n,queue(support,c,,,20) same = n,Noop(QSTATUS=${QUEUESTATUS}) ... ... exten = h,1,Noop(QSTATUS=${QUEUESTATUS},DIALSTATUS=${SHARED(DIALSTATUS,${ORIGCHANNEL})}) [memberconnector] exten = _X.,1,Noop(Connecting to Member at ${EXTEN}) same = n,Dial(SIP/${EXTEN}) ;Check the Dialstatus for Member same = n,Noop(DIALSTATUS=${DIALSTATUS}) same = n,Set(SHARED(DIALSTATUS,${ORIGCHANNEL})=${DIALSTATUS}) exten = h,1,Noop(DIALSTATUS=${DIALSTATUS}) same = n,Set(SHARED(DIALSTATUS,${ORIGCHANNEL})=${DIALSTATUS}) --Satish Barot Ahmedabad, India -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] Queue questions - Asterisk 11
On Tue, Jul 2, 2013 at 10:57 PM, Administrator TOOTAI ad...@tootai.netwrote: Hi all, I have to questions about queues. Member is a phone like SIP/myphone and only one member in the queue. At first, DIALSTATUS doesn't return any status. How to now if a call in queue has been answered or if caller just hangup? Queue application uses QUEUESTATUS and not DIALSTATUS Second, how to deal with timeout, I have strange behaviors. If I put timeout=60 in queue.conf and I call the queue passing also 60 as timeout value, asterisk is returning after 5000ms the 4000 then 2000 then 2000 aso. I can replace the 60sec value on both place, or 60 in queue conf and 10 when calling queue, I never have a stable behavior and more, not what I want. Exemple: let say asterisk should try all 20 seconds to call the member for 8 seconds: how to configure this? What I found, is to put timeout=0 in queue conf and passing 20 to queue, so caller stays in queue 20 seconds before timeout. But asterisk rings 20 seconds :-( A snippet from queues.conf... A Queue has two different timeout values associated with it. One is the timeout parameter configured in queues.conf. This timeout specifies the amount of time to try ringing a member's phone before considering the member to be unavailable. The other timeout value is the timeout argument to the Queue() application. This timeout represents the absolute amount of time to allow a caller to stay in the queue before the caller is removed from the queue. Correct me if I am wrong but if you want your caller to be in Queue for 20 seconds and try calling member for 8 seconds you should have 20 as a timeout argument in Queue application in your dialplan and in timeout in queues.conf should be 8. Also check the 'retry' and 'timeoutpriority' parameters for queues.conf I read documentation on voip-info.org, not very clear. timeout in queue.conf is only for calling agent, not members? If I put a timeout=8 in queue conf, how to tell asterisk to retry each 20 seconds playing MOH to the caller? Thanks for any hint -- Daniel --Satish Barot Ahmedabad, India -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] Queue questions - Asterisk 11
Hi Satish Le 03/07/2013 09:15, Satish Barot a écrit : On Tue, Jul 2, 2013 at 10:57 PM, Administrator TOOTAI ad...@tootai.net mailto:ad...@tootai.net wrote: Hi all, I have to questions about queues. Member is a phone like SIP/myphone and only one member in the queue. At first, DIALSTATUS doesn't return any status. How to now if a call in queue has been answered or if caller just hangup? Queue application uses QUEUESTATUS and not DIALSTATUS QUEUESTATUS returns the status of the queue not the one from the dial command used in the queue. And there is no such information I'm looking for in QUEUESTATUS. Other clue? Second, how to deal with timeout, I have strange behaviors. If I put timeout=60 in queue.conf and I call the queue passing also 60 as timeout value, asterisk is returning after 5000ms the 4000 then 2000 then 2000 aso. I can replace the 60sec value on both place, or 60 in queue conf and 10 when calling queue, I never have a stable behavior and more, not what I want. Exemple: let say asterisk should try all 20 seconds to call the member for 8 seconds: how to configure this? What I found, is to put timeout=0 in queue conf and passing 20 to queue, so caller stays in queue 20 seconds before timeout. But asterisk rings 20 seconds :-( A snippet from queues.conf... A Queue has two different timeout values associated with it. One is the timeout parameter configured in queues.conf. This timeout specifies the amount of time to try ringing a member's phone before considering the member to be unavailable. The other timeout value is the timeout argument to the Queue() application. This timeout represents the absolute amount of time to allow a caller to stay in the queue before the caller is removed from the queue. Correct me if I am wrong but if you want your caller to be in Queue for 20 seconds and try calling member for 8 seconds you should have 20 as a timeout argument in Queue application in your dialplan and in timeout in queues.conf should be 8. Also check the 'retry' and 'timeoutpriority' parameters for queues.conf OK, I got it: parameter n was send to queue. Now everything is working like it should. Thanks for your help. -- Daniel -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] Queue questions - Asterisk 11
On Wed, Jul 3, 2013 at 2:37 PM, Administrator TOOTAI ad...@tootai.netwrote: Hi Satish Le 03/07/2013 09:15, Satish Barot a écrit : On Tue, Jul 2, 2013 at 10:57 PM, Administrator TOOTAI ad...@tootai.netmailto: ad...@tootai.net wrote: Hi all, I have to questions about queues. Member is a phone like SIP/myphone and only one member in the queue. At first, DIALSTATUS doesn't return any status. How to now if a call in queue has been answered or if caller just hangup? Queue application uses QUEUESTATUS and not DIALSTATUS QUEUESTATUS returns the status of the queue not the one from the dial command used in the queue. And there is no such information I'm looking for in QUEUESTATUS. Other clue? Then you should add Local channel as a queue member and dial your SIP member from Local channel context. A little hint here. Suppose you have a support queue configured in queues.conf ;queues.conf [support] ... ... member = Local/1000@memberconnector,0,John Smith,SIP/1000 ... ... Now In your dialplan add a context for local channel, [memberconnector] exten = _X.,1,Noop(Connecting to Member at ${EXTEN}) same = n,Dial(SIP/${EXTEN}) ;Check the Dialstatus for Member same = n,Noop(DIALSTATUS=${DIALSTATUS}) Second, how to deal with timeout, I have strange behaviors. If I put timeout=60 in queue.conf and I call the queue passing also 60 as timeout value, asterisk is returning after 5000ms the 4000 then 2000 then 2000 aso. I can replace the 60sec value on both place, or 60 in queue conf and 10 when calling queue, I never have a stable behavior and more, not what I want. Exemple: let say asterisk should try all 20 seconds to call the member for 8 seconds: how to configure this? What I found, is to put timeout=0 in queue conf and passing 20 to queue, so caller stays in queue 20 seconds before timeout. But asterisk rings 20 seconds :-( A snippet from queues.conf... A Queue has two different timeout values associated with it. One is the timeout parameter configured in queues.conf. This timeout specifies the amount of time to try ringing a member's phone before considering the member to be unavailable. The other timeout value is the timeout argument to the Queue() application. This timeout represents the absolute amount of time to allow a caller to stay in the queue before the caller is removed from the queue. Correct me if I am wrong but if you want your caller to be in Queue for 20 seconds and try calling member for 8 seconds you should have 20 as a timeout argument in Queue application in your dialplan and in timeout in queues.conf should be 8. Also check the 'retry' and 'timeoutpriority' parameters for queues.conf OK, I got it: parameter n was send to queue. Now everything is working like it should. Thanks for your help. -- Daniel --Satish Barot Ahmedabad, India -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] Queue questions - Asterisk 11
Le 03/07/2013 15:07, Satish Barot a écrit : [...] Then you should add Local channel as a queue member and dial your SIP member from Local channel context. A little hint here. Suppose you have a support queue configured in queues.conf ;queues.conf [support] ... ... member = Local/1000@memberconnector,0,John Smith,SIP/1000 ... ... Now In your dialplan add a context for local channel, [memberconnector] exten = _X.,1,Noop(Connecting to Member at ${EXTEN}) same = n,Dial(SIP/${EXTEN}) ;Check the Dialstatus for Member same = n,Noop(DIALSTATUS=${DIALSTATUS}) Already tested, I tried again as the option passed to queue was changed (n option) Logs: -- Started music on hold, class 'default', on SIP/gw-005e -- Executing [909@memberconnector:1] Dial(Local/909@memberconnector-0002;2, SIP/s-ntfe_909,60,) in new stack == Using SIP RTP CoS mark 5 -- Called SIP/s-ntfe_909 -- SIP/s-ntfe_909-0060 is ringing -- Local/909@memberconnector-0002;1 is ringing -- SIP/s-ntfe_909-0060 is ringing -- Stopped music on hold on SIP/gw-005e == Spawn extension (macro-toQueue, s, 11) exited non-zero on 'SIP/gw-005e' in macro 'toQueue' == Spawn extension (incoming-Swiss-itech, 1, 204) exited non-zero on 'SIP/gw-005e' -- Executing [h@incoming-Swiss-itech:1] NoOp(SIP/gw-005e, Call ended with QUEUESTATUS= and DIALSTATUS= and HANGUPCAUSE=0) in new stack From extension: [memberconnector] ; exten = _XXX,1,Dial(SIP/${peerPrefix}${EXTEN},${TIMERINGQUEUE},) same = n,NoOp(DIALSTATUS=${DIALSTATUS}) As you can see, all status are empty, -- Daniel -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] Queue questions - Asterisk 11
On Wed, Jul 3, 2013 at 7:40 PM, Administrator TOOTAI ad...@tootai.netwrote: Le 03/07/2013 15:07, Satish Barot a écrit : [...] Then you should add Local channel as a queue member and dial your SIP member from Local channel context. A little hint here. Suppose you have a support queue configured in queues.conf ;queues.conf [support] ... ... member = Local/1000@memberconnector,0,**John Smith,SIP/1000 ... ... Now In your dialplan add a context for local channel, [memberconnector] exten = _X.,1,Noop(Connecting to Member at ${EXTEN}) same = n,Dial(SIP/${EXTEN}) ;Check the Dialstatus for Member same = n,Noop(DIALSTATUS=${**DIALSTATUS}) Already tested, I tried again as the option passed to queue was changed (n option) Logs: -- Started music on hold, class 'default', on SIP/gw-005e -- Executing [909@memberconnector:1] Dial(Local/909@**memberconnector-0002;2, SIP/s-ntfe_909,60,) in new stack == Using SIP RTP CoS mark 5 -- Called SIP/s-ntfe_909 -- SIP/s-ntfe_909-0060 is ringing -- Local/909@memberconnector-**0002;1 is ringing -- SIP/s-ntfe_909-0060 is ringing -- Stopped music on hold on SIP/gw-005e == Spawn extension (macro-toQueue, s, 11) exited non-zero on 'SIP/gw-005e' in macro 'toQueue' == Spawn extension (incoming-Swiss-itech, 1, 204) exited non-zero on 'SIP/gw-005e' -- Executing [h@incoming-Swiss-itech:1] NoOp(SIP/gw-005e, Call ended with QUEUESTATUS= and DIALSTATUS= and HANGUPCAUSE=0) in new stack From extension: [memberconnector] ; exten = _XXX,1,Dial(SIP/${peerPrefix}$**{EXTEN},${TIMERINGQUEUE},) same = n,NoOp(DIALSTATUS=${**DIALSTATUS}) As you can see, all status are empty, -- Daniel QUEUESTATUS will contain different values in different scenarios. i.e. If a call gets answered then the value is CONTINUE, If a call doesn't get answered and Queue timeout happens then TIMEOUT. If a caller hangs up when call is in Queue then QUEUESTATUS will be blank. Have something like this, ... ... same = n,queue(support,c,,,20) same = n,Noop(QSTATUS=${QUEUESTATUS}) ... ... exten = h,1,Noop(QSTATUS=${QUEUESTATUS}) [memberconnector] exten = _X.,1,Noop(Connecting to Member at ${EXTEN}) same = n,Dial(SIP/${EXTEN}) ;Check the Dialstatus for Member same = n,Noop(DIALSTATUS=${DIALSTATUS}) exten = h,1,Noop(DIALSTATUS=${DIALSTATUS}) --Satish Barot Ahmedabad, India -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users