{% for user in asterisk_users | d({}) | dict2items -%} {% if user.value is mapping -%} [queue-{{ user.key }}]({{ user.value['self_queue_type'] | d('queue-single') }}) member => PJSIP/{{ user.key }},0,{{ user.value['callerid'] | d(user.key) }} {% endif -%} {% endfor %} {% set defined_queues = (asterisk_users | d({}) | dict2items | map(attribute='value') | list | selectattr('queues', 'defined') | map(attribute='queues') | list | flatten | unique | list) -%} {% set auto_queues = (asterisk_users | d({}) | dict2items | rejectattr('value.queues', 'defined') | map(attribute='key') | list) -%} {% set all_queues = ((defined_queues | d([])) + (auto_queues | d([])) | unique | list) -%} {% for queue in defined_queues -%} {% if asterisk_users[queue] is not defined -%} {% set queue_users = (asterisk_users | d({}) | dict2items | selectattr('value.queues', 'defined') | selectattr('value.queues', 'contains', queue) | list) -%} {% if queue_users | length > 1 -%} [queue-{{ queue }}](queue-template) {% for user in queue_users -%} member => PJSIP/{{ user.key }},0,{{ user.value['callerid'] | d(user.key) }} {% endfor -%} {%- if not loop.last %} {% endif -%} {% endif -%} {% endif -%} {% endfor -%}