Skip to content
Snippets Groups Projects
Commit ec3b8a1f authored by Jonathan Rose's avatar Jonathan Rose
Browse files

app_queue: Per Member ringinuse option and deprecation of ignorebusy

Adds a number of methods for controlling the setting of 'ringinuse'
which is basically the same concept as the old ignorebusy setting,
only now the per member setting always controls whether or not the
member is actually ringed while in use. A CLI command and a manager
action have been added to change a given queue member's ringinuse
option while Asterisk is running and the an argument has been added
for adding members with deliberately set ringinuse in queues.conf
Some effort has been made to ensure compatability with dialplans and
databases still referring to 'ignorebusy'.

(issue ASTERISK-19536)
reported by: Philippe Lindheimer
Review: https://reviewboard.asterisk.org/r/1919/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 11348736
Branches
Tags
Loading
...@@ -125,6 +125,14 @@ Queue changes ...@@ -125,6 +125,14 @@ Queue changes
------------- -------------
* Added queue options autopausebusy and autopauseunavail for automatically * Added queue options autopausebusy and autopauseunavail for automatically
pausing a queue member when their device reports busy or congestion. pausing a queue member when their device reports busy or congestion.
* The 'ignorebusy' option for queue members has been deprecated in favor of
the option 'ringinuse. Also a 'queue set ringinuse' CLI command has been
added as well as an AMI action 'QueueMemberRingInUse' to set this variable on a
per interface basis. Individual ringinuse values can now be set in
queues.conf via an argument to member definitions. Lastly, the queue
'ringinuse' setting now only determines defaults for the per member
'ringinuse' setting and does not override per member settings like it does
in earlier versions.
Voicemail changes Voicemail changes
----------------- -----------------
......
This diff is collapsed.
...@@ -73,8 +73,8 @@ monitor-type = MixMonitor ...@@ -73,8 +73,8 @@ monitor-type = MixMonitor
; ;
; app_queue allows calls to members in a "Unknown" state to be treated as available ; app_queue allows calls to members in a "Unknown" state to be treated as available
; setting check_state_unknown = yes will cause app_queue to query the channel driver ; setting check_state_unknown = yes will cause app_queue to query the channel driver
; to better determine the state this only applies to queues with ringinuse or ignorebusy ; to better determine the state this only applies to queues with ringinuse set
; set appropriately. ; appropriately.
; ;
;check_state_unknown = no ;check_state_unknown = no
; ;
...@@ -504,10 +504,11 @@ monitor-type = MixMonitor ...@@ -504,10 +504,11 @@ monitor-type = MixMonitor
; If you want the queue to avoid sending calls to members whose devices are ; If you want the queue to avoid sending calls to members whose devices are
; known to be 'in use' (via the channel driver supporting that device state) ; known to be 'in use' (via the channel driver supporting that device state)
; uncomment this option. This can be controlled on a per member basis by ; uncomment this option. This can be controlled on a per member basis by
; setting 'ignorebusy' in the QUEUE_MEMBER function. (Note: only the SIP ; setting 'ringinuse' on that member. This can be done in the member definition,
; channel driver currently is able to report 'in use'.) (Note: if this option ; in the 'ringinuse' field on a realtime member, via the QUEUE_MEMBER dialplan
; is set to 'no' it will override the per-member 'ignorebusy' setting. ; function, or with CLI/AMI. By default, the per member value will be the same
; ; as the queue's ringinuse value if it isn't set on the member deliberately.
; (Note: only the SIP channel driver currently is able to report 'in use'.)
; ringinuse = no ; ringinuse = no
; ;
; If you wish to have a delay before the member is connected to the caller (or ; If you wish to have a delay before the member is connected to the caller (or
...@@ -551,12 +552,15 @@ monitor-type = MixMonitor ...@@ -551,12 +552,15 @@ monitor-type = MixMonitor
; must also preload pbx_config.so and chan_local.so (or pbx_ael.so, pbx_lua.so, ; must also preload pbx_config.so and chan_local.so (or pbx_ael.so, pbx_lua.so,
; or pbx_realtime.so, depending on how your dialplan is configured). ; or pbx_realtime.so, depending on how your dialplan is configured).
; ;
; syntax: member => interface,[,penalty][,membername][,state_interface][,ringinuse]
;
;member => DAHDI/1 ;member => DAHDI/1
;member => DAHDI/2,10 ;member => DAHDI/2,10
;member => DAHDI/3,10,Bob Johnson ;member => DAHDI/3,10,Bob Johnson
;member => Agent/1001 ;member => Agent/1001
;member => Agent/1002 ;member => Agent/1002
;member => Local/1000@default,0,John Smith,SIP/1000 ;member => Local/1000@default,0,John Smith,SIP/1000
;member => Local/2000@default,0,Lorem Ipsum,SIP/2000,no
; ;
; Note that using agent groups is probably not what you want. Strategies do ; Note that using agent groups is probably not what you want. Strategies do
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment