0

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
Wenfang Du
  • 8,804
  • 9
  • 59
  • 90
T.Sh
  • 390
  • 2
  • 16

1 Answers1

0

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"

arheops
  • 15,544
  • 1
  • 21
  • 27
  • Thank you @arheops . Suppose I need to change the value of setqueuevar parameter for queue 115. How will be my queues_custom.conf file configuration? – T.Sh Mar 14 '18 at 04:34
  • If it not set, just put section [1050] and setqueuevar= to queues_custom.conf. Best option is create module which will use hooks and add that value into structure BEFORE it writed to file. – arheops Mar 14 '18 at 09:13
  • I have added just setvarqueue=yes for a queue into custom.conf file and the other options of the queue are lost! Would you please give a guide to me about how to create a module of freepbx? – T.Sh Mar 17 '18 at 05:05
  • Guide? It is like "please teach me programming". Start from this page. https://wiki.freepbx.org/display/FOP/FreePBX+Development – arheops Mar 17 '18 at 11:27
  • No, it's not :) Thank you @arheops – T.Sh Mar 18 '18 at 04:29