Search code examples
queueasteriskelastixcustom-configuration

Elastix Custom Configuration files


I am new in Asterisk and using Elastix 2.5 to create two queues with 2 static members per queue in a lab environment. I want to set the value of 'setqueuevar' to yes. To do that I have changed the queue_custom.conf file and set this value to yes; although I have reloaded the asterisk modules and everything looks ok, but the related channel variables (QUEUENAME, QUEUESTRATEGY,...) don't get any value!

As some of the configuration files are auto-generated by Elastix (freepbx module), would you please tell me what is the precedence of configuration files in it? Is there any relationship between them or the main files are overwritten by custom configuration files?

queues.conf file:

[general]
;
; Global settings for call queues
;   (none exist currently)
;
; Note that a timeout to fail out of a queue may be passed as part of 
application call
; from extensions.conf:
; Queue(queuename|[options]|[optionalurl]|[announceoverride]|[timeout])
; example: Queue(dave|t|||45)
#include queues_general_additional.conf
#include queues_custom_general.conf

[default]
;
; Default settings for queues (currently unused)
;

#include queues_custom.conf
#include queues_additional.conf
#include queues_post_custom.conf

queues_additional.conf

;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make    ;
; custom modifications, details at: http://freepbx.org/configuration_files       ;
;--------------------------------------------------------------------------------;
;

[1050]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=no
autopause=no
autopausebusy=no
autopausedelay=0
autopauseunavail=no
eventmemberstatus=no
eventwhencalled=no
joinempty=no
leavewhenempty=no
maxlen=0
memberdelay=0
monitor-type=mixmonitor
penaltymemberslimit=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
reportholdtime=no
retry=5
ringinuse=yes
servicelevel=60
strategy=rrmemory
timeout=15
timeoutpriority=app
timeoutrestart=no
weight=0
wrapuptime=0
member=Local/10501@from-queue/n,0,10501,hint:10501@ext-local
member=Local/10502@from-queue/n,0,10502,hint:10502@ext-local

[115]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=no
autopause=no
autopausebusy=no
autopausedelay=0
autopauseunavail=no
eventmemberstatus=no
eventwhencalled=no
joinempty=no
leavewhenempty=no
maxlen=0
memberdelay=0
monitor-type=mixmonitor
penaltymemberslimit=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
reportholdtime=no
retry=5
ringinuse=yes
servicelevel=60
strategy=rrmemory
timeout=15
timeoutpriority=app
timeoutrestart=no
weight=0
wrapuptime=0
member=Local/1151@from-queue/n,0,1151,hint:1151@ext-local
member=Local/1152@from-queue/n,0,1152,hint:1152@ext-local

queues_custom.conf:

[1050]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=no
autopause=no
autopausebusy=no
autopausedelay=0
autopauseunavail=no
eventmemberstatus=no
eventwhencalled=no
joinempty=no
leavewhenempty=no
maxlen=0
memberdelay=0
monitor-type=mixmonitor
penaltymemberslimit=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
reportholdtime=no
retry=5
ringinuse=yes
servicelevel=60
strategy=rrmemory
timeout=15
timeoutpriority=app
timeoutrestart=no
weight=0
wrapuptime=0
setqueuevar=yes
member=Local/10501@from-queue/n,0,10501,hint:10501@ext-local
member=Local/10502@from-queue/n,0,10502,hint:10502@ext-local

[115]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=no
autopause=no
autopausebusy=no
autopausedelay=0
autopauseunavail=no
eventmemberstatus=no
eventwhencalled=no
joinempty=no
leavewhenempty=no
maxlen=0
memberdelay=0
monitor-type=mixmonitor
penaltymemberslimit=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
reportholdtime=no
retry=5
ringinuse=yes
servicelevel=60
strategy=rrmemory
timeout=15
timeoutpriority=app
timeoutrestart=no
weight=0
wrapuptime=0
setqueuevar=yes
member=Local/1151@from-queue/n,0,1151,hint:1151@ext-local
member=Local/1152@from-queue/n,0,1152,hint:1152@ext-local

Solution

  • Freepbx overwrite only files which ends by "_additional.conf" You should do NOT do any changes in file, instead you have write freepbx module.

    If you still want do manual changes, do changes in files which ending by "_custom.conf"

    If you have same pattern in 2 files with same prio, result is UNPREDICTABLE, but in most cases first one will work.

    Read this https://www.voip-info.org/wiki/view/Asterisk+Dialplan+Introduction

    Read ORelly's "Asterisk the future telephony"