[asterisk-bugs] [JIRA] (ASTERISK-25644) No event in queue log when member leaves the queue

newborn (JIRA) noreply at issues.asterisk.org
Wed Dec 23 02:29:32 CST 2015


    [ https://issues.asterisk.org/jira/browse/ASTERISK-25644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=228720#comment-228720 ] 

newborn edited comment on ASTERISK-25644 at 12/23/15 2:28 AM:
--------------------------------------------------------------

All modules are native, no third-party or custom modules used.
OS is CentOS 6.7 i386

/etc/odbc.ini
[asterisk-connector]
Description = PostgreSQL connection to 'asterisk' database
Driver = PostgreSQL
Database = asterisk
Servername = localhost
UserName = asterisk
Password = asterisk
Port = 5432
Protocol = 8.4
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =

/etc/odbcinst.ini
[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/pgsql-8.4/lib/psqlodbc.so
Setup           = /usr/lib/libodbcpsqlS.so
Driver64        = /usr/pgsql-8.4/lib/psqlodbc.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage       = 1

res_odbc.conf
[asterisk_odbc]
enabled => yes
dsn => asterisk-connector
username => asterisk
password => asterisk
pooling => yes
limit => 50
pre-connect => yes

queues.conf
[general]
persistentmembers = yes
monitor-type = MixMonitor
log_membername_as_agent = yes

[queue](!)
setinterfacevar=yes
setqueuevar=yes
setqueueentryvar=yes
ringinuse=no
joinempty=yes
strategy=rrmemory
wrapuptime=5
retry=2
timeout=12
timeoutrestart=yes
maxlen=100
membermacro=queuelogic-general ; macros in extensions.conf
autopause=no
servicelevel=10

[queue1](queue)
periodic-announce=ivr/cc-queuefull
periodic-announce-frequency=60

asterisk=> \d queue_member;
                                      Table "public.queue_member"
   Column   |          Type          |                            Modifiers
------------+------------------------+-----------------------------------------------------------------
 uniqueid   | integer                | not null default nextval('queue_member_uniqueid_seq'::regclass)
 membername | character varying(128) | default ''::character varying
 queue_name | character varying(128) | default ''::character varying
 interface  | character varying(128) | not null default 'SIP/'::character varying
 penalty    | integer                | not null default 0
 paused     | character varying(11)  | default ''::character varying
Indexes:
    "queue_member_pkey" PRIMARY KEY, btree (uniqueid)

When i insert values in queue_member and then place a call or type in CLI 'queue show ...', i've got an ADDMEMBER event in queue_log
SELECT * FROM queue_log WHERE id = '59';
 id |             time              |  callid  |   queuename    |   agent   |   event   | data1 | data2 | data3 | data4 | data5
----+-------------------------------+----------+----------------+-----------+-----------+-------+-------+-------+-------+-------
 59 | 2015-12-23 11:18:21.236065+03 | REALTIME | queue1 | operator2 | ADDMEMBER |       |       |       |       |

Steps to reproduce:

(Erase everything from queue_member table)
asterisk=> DELETE FROM queue_member;

(Refresh realtime data)
[~]# asterisk -rx 'queue show queue1'

SELECT * FROM queue_log; => last event is ADDMEMBER. I see no REMOVEMEMBER events at all. If at least one member is present in queue1, i'm getting REMOVEMEMBER event with respect to target member\queue.


was (Author: newborn838):
All modules are native, no third-party or custom modules used.
OS is CentOS 6.7 i386

/etc/odbc.ini
[asterisk-connector]
Description = PostgreSQL connection to 'asterisk' database
Driver = PostgreSQL
Database = asterisk
Servername = localhost
UserName = asterisk
Password = asterisk
Port = 5432
Protocol = 8.4
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =

/etc/odbcinst.ini
[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/pgsql-8.4/lib/psqlodbc.so
Setup           = /usr/lib/libodbcpsqlS.so
Driver64        = /usr/pgsql-8.4/lib/psqlodbc.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage       = 1

res_odbc.conf
[asterisk_odbc]
enabled => yes
dsn => asterisk-connector
username => asterisk
password => asterisk
pooling => yes
limit => 50
pre-connect => yes

queues.conf
[general]
persistentmembers = yes
monitor-type = MixMonitor
log_membername_as_agent = yes

[queue](!)
setinterfacevar=yes
setqueuevar=yes
setqueueentryvar=yes
ringinuse=no
joinempty=yes
strategy=rrmemory
wrapuptime=5
retry=2
timeout=12
timeoutrestart=yes
maxlen=100
membermacro=queuelogic-general ; macros in extensions.conf
autopause=no
servicelevel=10

[queue1](queue)
periodic-announce=ivr/cc-queuefull
periodic-announce-frequency=60

asterisk=> \d queue_member;
                                      Table "public.queue_member"
   Column   |          Type          |                            Modifiers
------------+------------------------+-----------------------------------------------------------------
 uniqueid   | integer                | not null default nextval('queue_member_uniqueid_seq'::regclass)
 membername | character varying(128) | default ''::character varying
 queue_name | character varying(128) | default ''::character varying
 interface  | character varying(128) | not null default 'SIP/'::character varying
 penalty    | integer                | not null default 0
 paused     | character varying(11)  | default ''::character varying
Indexes:
    "queue_member_pkey" PRIMARY KEY, btree (uniqueid)

When i insert values in queue_member and then place a call or type in CLI 'queue show ...', i've got an ADDQUEUMEMBER event in queue_log
SELECT * FROM queue_log WHERE id = '59';
 id |             time              |  callid  |   queuename    |   agent   |   event   | data1 | data2 | data3 | data4 | data5
----+-------------------------------+----------+----------------+-----------+-----------+-------+-------+-------+-------+-------
 59 | 2015-12-23 11:18:21.236065+03 | REALTIME | queue1 | operator2 | ADDMEMBER |       |       |       |       |

Steps to reproduce:

(Erase everything from queue_member table)
asterisk=> DELETE FROM queue_member;

(Refresh realtime data)
[~]# asterisk -rx 'queue show queue1'

SELECT * FROM queue_log; => last event is ADDMEMBER. I see no REMOVEMEMBER events at all. If at least one member is present in queue1, i'm getting REMOVEMEMBER event with respect to target member\queue.

> No event in queue log when member leaves the queue
> --------------------------------------------------
>
>                 Key: ASTERISK-25644
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25644
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 11.17.1
>            Reporter: newborn
>            Assignee: Unassigned
>
> I'm using static queues in queues.conf and realtime queue members in PostgeSQL DB table via odbc.
> The problem is when i erase everything from queue_members table corresponding to my queue, i have no 'REMOVEMEMBER' event in queue log.
> If at least one member is still present in queue, everything is OK, i'm getting this event.
> Is this a bug or feature?



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



More information about the asterisk-bugs mailing list