[asterisk-bugs] [JIRA] (ASTERISK-26431) Queues doesn't appear when using realtime configuration

Joshua Colp (JIRA) noreply at issues.asterisk.org
Tue Oct 4 12:25:01 CDT 2016


     [ https://issues.asterisk.org/jira/browse/ASTERISK-26431?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joshua Colp closed ASTERISK-26431.
----------------------------------

    Resolution: Not A Bug

This is on purpose. When realtime is in use it's only when the queues are used that they are then retrieved. They are not completely pulled in at load time.

If you are experiencing some other problem as a result please describe it in a comment and the issue will automatically reopen.

> Queues doesn't appear when using realtime configuration
> -------------------------------------------------------
>
>                 Key: ASTERISK-26431
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26431
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 14.0.2
>         Environment: Ubuntu 14.04.5 LTS \n \l
> Linux rtc 4.7.0-x86_64-linode72 #1 SMP Thu Aug 4 15:15:18 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
>            Reporter: Marcelo Terres
>
> When using queue realtime configuration, the queues doesn't appear in CLI (queue show command) until someone login in them.
> And it happens even if I have online agents that are configured in queue_members table. Somebody needs to login to queue appears.
> Another way to make queue appears (and in this case, all queues) is to use Action Queues in AMI.
> Investigating the bug I noticed that when app_queue is loaded, it doesn't query the queues table, just the queue_members table.
> [Oct  2 15:30:15] DEBUG[9309] loader.c: Registering module app_queue
> [Oct  2 15:30:15] DEBUG[9309] config.c: Parsing /etc/asterisk/queuerules.conf
> [Oct  2 15:30:15] VERBOSE[9309] config.c: Parsing '/etc/asterisk/queuerules.conf': Found
> [Oct  2 15:30:15] DEBUG[9309] config.c: Parsing /etc/asterisk/queues.conf
> [Oct  2 15:30:15] VERBOSE[9309] config.c: Parsing '/etc/asterisk/queues.conf': Found
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Found queue_name column with type 12 with len 80, octetlen 255, and numlen (0,0)
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Found interface column with type 12 with len 80, octetlen 255, and numlen (0,0)
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Found membername column with type 12 with len 80, octetlen 255, and numlen (0,0)
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Found state_interface column with type 12 with len 80, octetlen 255, and numlen (0,0)
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Found penalty column with type 4 with len 10, octetlen -1, and numlen (0,10)
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Found paused column with type 4 with len 10, octetlen -1, and numlen (0,10)
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Found uniqueid column with type 4 with len 10, octetlen -1, and numlen (0,10)
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:15] DEBUG[9309] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queue_members WHERE interface LIKE ? AND queue_name LIKE ? ORDER BY interface
> [Oct  2 15:30:15] DEBUG[9309] res_config_odbc.c: Parameter 1 ('interface LIKE') = '%'
> [Oct  2 15:30:15] DEBUG[9309] res_config_odbc.c: Parameter 2 ('queue_name LIKE') = '%'
> [Oct  2 15:30:15] DEBUG[9309] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:15] NOTICE[9309] app_queue.c: No entries were found for ringinuse/ignorebusy in queue_members table. Using 'ringinuse'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_app.c: Registered application 'Queue'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_app.c: Registered application 'AddQueueMember'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_app.c: Registered application 'RemoveQueueMember'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_app.c: Registered application 'PauseQueueMember'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_app.c: Registered application 'UnpauseQueueMember'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_app.c: Registered application 'QueueLog'
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action Queues
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueStatus
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueSummary
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueAdd
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueRemove
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueuePause
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueLog
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueuePenalty
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueMemberRingInUse
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueRule
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueReload
> [Oct  2 15:30:15] VERBOSE[9309] manager.c: Manager registered action QueueReset
> [Oct  2 15:30:15] VERBOSE[9309] pbx_functions.c: Registered custom function 'QUEUE_VARIABLES'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_functions.c: Registered custom function 'QUEUE_EXISTS'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_functions.c: Registered custom function 'QUEUE_MEMBER'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_functions.c: Registered custom function 'QUEUE_MEMBER_COUNT'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_functions.c: Registered custom function 'QUEUE_MEMBER_LIST'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_functions.c: Registered custom function 'QUEUE_GET_CHANNEL'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_functions.c: Registered custom function 'QUEUE_WAITING_COUNT'
> [Oct  2 15:30:15] VERBOSE[9309] pbx_functions.c: Registered custom function 'QUEUE_MEMBER_PENALTY'
> [Oct  2 15:30:15] VERBOSE[9309] loader.c: Loaded app_queue.so => (True Call Queueing)
> But you can see the difference when the Queues Action is called:
> [Oct  2 15:30:31] DEBUG[23281] manager.c: Running action 'Queues'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queues WHERE name LIKE ? ORDER BY name
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name LIKE') = '%'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queues WHERE name = ?
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name') = 'reception'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queue_members WHERE interface LIKE ? AND queue_name = ? ORDER BY interface
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('interface LIKE') = '%'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 2 ('queue_name') = 'reception'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] app_queue.c: No queue_members defined in config extconfig.conf
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[13876] app_queue.c: Device 'Queue:reception_avail' changed to state '2' (In use) but we don't care because they're not a member of any queue.
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queues WHERE name = ?
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name') = 'sales'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queue_members WHERE interface LIKE ? AND queue_name = ? ORDER BY interface
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('interface LIKE') = '%'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 2 ('queue_name') = 'sales'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] app_queue.c: No queue_members defined in config extconfig.conf
> [Oct  2 15:30:31] DEBUG[13876] app_queue.c: Device 'Queue:sales_avail' changed to state '2' (In use) but we don't care because they're not a member of any queue.
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queues WHERE name = ?
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name') = 'support'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queue_members WHERE interface LIKE ? AND queue_name = ? ORDER BY interface
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('interface LIKE') = '%'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 2 ('queue_name') = 'support'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] devicestate.c: No provider found, checking channel drivers for SIP - 1000
> [Oct  2 15:30:31] DEBUG[23281] chan_sip.c: Checking device state for peer 1000
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM sippeers WHERE name = ? AND host = ?
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name') = '1000'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 2 ('host') = 'dynamic'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM sippeers WHERE name = ?
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name') = '1000'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[9212] threadpool.c: Increasing threadpool stasis-core's size by 1
> [Oct  2 15:30:31] DEBUG[23281] chan_sip.c: Not an IPv4 nor IPv6 address, cannot get port.
> [Oct  2 15:30:31] DEBUG[23281] chan_sip.c: Not an IPv4 nor IPv6 address, cannot set port.
> [Oct  2 15:30:31] DEBUG[23281] chan_sip.c: Not an IPv4 nor IPv6 address, cannot get port.
> [Oct  2 15:30:31] DEBUG[23281] chan_sip.c: Not an IPv4 nor IPv6 address, cannot set port.
> [Oct  2 15:30:31] DEBUG[23281] chan_sip.c: -REALTIME- loading peer from database to memory. Name: 1000. Peer objects: 0
> [Oct  2 15:30:31] DEBUG[23281] chan_sip.c: Destroying SIP peer 1000
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queues WHERE name = ?
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name') = 'reception'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queue_members WHERE interface LIKE ? AND queue_name = ? ORDER BY interface
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('interface LIKE') = '%'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 2 ('queue_name') = 'reception'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] app_queue.c: No queue_members defined in config extconfig.conf
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queues WHERE name = ?
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name') = 'support'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queue_members WHERE interface LIKE ? AND queue_name = ? ORDER BY interface
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('interface LIKE') = '%'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 2 ('queue_name') = 'support'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queues WHERE name = ?
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('name') = 'sales'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Reusing ODBC handle 0x1adbc80 from class 'asterisk'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM queue_members WHERE interface LIKE ? AND queue_name = ? ORDER BY interface
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 1 ('interface LIKE') = '%'
> [Oct  2 15:30:31] DEBUG[23281] res_config_odbc.c: Parameter 2 ('queue_name') = 'sales'
> [Oct  2 15:30:31] DEBUG[23281] res_odbc.c: Releasing ODBC handle 0x1adbc80 into pool
> [Oct  2 15:30:31] DEBUG[23281] app_queue.c: No queue_members defined in config extconfig.conf
> [Oct  2 15:30:31] DEBUG[13876] app_queue.c: Device 'Queue:support_avail' changed to state '2' (In use) but we don't care because they're not a member of any queue.
> [Oct  2 15:30:31] DEBUG[13876] app_queue.c: Device 'Queue:support_pause_SIP/1000' changed to state '1' (Not in use) but we don't care because they're not a member of any queue.
> Maybe the same process should be called in both occasions.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list