[asterisk-bugs] [JIRA] (ASTERISK-29658) Queue does not sync state with hints on local channels

Bill Kervaski (JIRA) noreply at issues.asterisk.org
Thu Sep 16 08:42:33 CDT 2021


Bill Kervaski created ASTERISK-29658:
----------------------------------------

             Summary: Queue does not sync state with hints on local channels
                 Key: ASTERISK-29658
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29658
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Applications/app_queue
    Affects Versions: 18.6.0
         Environment: CentOs Stream
            Reporter: Bill Kervaski
            Severity: Major


Here is an Asterisk 18.6.0 setup that perfectly duplicates the issue, it's very easily reproducible.

It's running on CentOs Stream (latest) and compiled with only "-with-jansson-bundled".

The local queue member will only update its state when you change the timestamp of queues.conf and reload the members:

touch queues.conf; asterisk -rx "queue reload members" (the "refresh" fix)

core show hints

> 801 at default         : PJSIP/801             State:**InUse&Ringing**   Presence:not_set         Watchers  2
> 800 at default         : PJSIP/800             State:Idle            Presence:not_set         Watchers  0
> 802 at default         : PJSIP/802             State:Idle            Presence:not_set         Watchers  0

queue show 200

> 200 has 1 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:3, SL:0.0%, SL2:0.0% within 0s
>    Members: 
>       801 (Local/801 at local from hint:801 at default) (ringinuse enabled) (**Ring+Inuse**) has taken no calls yet
>       801 (PJSIP/801 from hint:801 at default) (ringinuse enabled) (**Not in use**) has taken no calls yet
>    Callers: 
>       1. PJSIP/801-0000000c (wait: 0:05, prio: 0)

Just as a footnote, if you answer ...

> 200 has 0 calls (max unlimited) in 'ringall' strategy (1s holdtime, 0s talktime), W:0, C:0, A:4, SL:0.0%, SL2:0.0% within 0s
>    Members: 
>       801 (Local/801 at local from hint:801 at default) (ringinuse enabled) (**On Hold**) has taken no calls yet
>       801 (PJSIP/801 from hint:801 at default) (ringinuse enabled) (in call) (**Not in use**) has taken no calls yet
>    No Callers

... and then run the "refresh" fix ...

> 200 has 0 calls (max unlimited) in 'ringall' strategy (1s holdtime, 16s talktime), W:0, C:1, A:4, SL:0.0%, SL2:0.0% within 0s
>    Members: 
>       801 (Local/801 at local from hint:801 at default) (ringinuse enabled) (**On Hold**) has taken no calls yet
>       801 (PJSIP/801 from hint:801 at default) (ringinuse enabled) (**On Hold**) has taken no calls yet
>    No Callers

... everything syncs up properly.

queues.conf

> [general]
> 
> [200]
> member=>PJSIP/801,,801,hint:801 at default
> member=>Local/801 at local,,801,hint:801 at default

extensions.conf

> [general]
> 
> [default]
> exten => s,1,Playback(beep)
> exten => s,n,Wait(30)
> exten => s,n,Hangup
> 
> exten => _8XX,1,Dial(PJSIP/${EXTEN}&Local/${EXTEN}@local)
> 
> exten => 200,1,Queue(200)
> 
> exten => 800,hint,PJSIP/800
> exten => 801,hint,PJSIP/801
> exten => 802,hint,PJSIP/802
> 
> [local]
> exten => _8XX,1(start),NoOp( *** ${EXTEN} *** )
> exten => _8XX,n,Wait(3)
> exten => _8XX,n,Goto(start)

pjsip.conf

> [global]
> 
> [default-udp-transport]
> type=transport
> protocol=udp
> bind=0.0.0.0

pjsip_wizard.conf

> [extension](!)
> type=wizard
> accepts_auth=yes
> accepts_registrations=yes
> endpoint/disallow=all
> endpoint/allow=g722
> aor/max_contacts=1
> aor/remove_existing=yes
> 
> [800](extension)
> endpoint/transport=default-udp-transport
> endpoint/context=default
> inbound_auth/username=800
> inbound_auth/password=800
> 
> [801](extension)
> endpoint/transport=default-udp-transport
> endpoint/context=default
> inbound_auth/username=801
> inbound_auth/password=801
> 
> [802](extension)
> endpoint/transport=default-udp-transport
> endpoint/context=default
> inbound_auth/username=802
> inbound_auth/password=802



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



More information about the asterisk-bugs mailing list