Thanks, Josh, as always. I’ll open a bug report in JIRA.
I went back to the basics …
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@default : PJSIP/801 State:InUse&Ringing Presence:not_set Watchers 2
800@default : PJSIP/800 State:Idle Presence:not_set Watchers 0
802@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@local from hint:801@default) (ringinuse enabled) (Ring+Inuse) has taken no calls yet
801 (PJSIP/801 from hint:801@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@local from hint:801@default) (ringinuse enabled) (On Hold) has taken no calls yet
801 (PJSIP/801 from hint:801@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@local from hint:801@default) (ringinuse enabled) (On Hold) has taken no calls yet
801 (PJSIP/801 from hint:801@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@default
member=>Local/801@local,801,hint:801@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
endpoint/transport=default-udp-transport
endpoint/context=default
inbound_auth/username=800
inbound_auth/password=800
801
endpoint/transport=default-udp-transport
endpoint/context=default
inbound_auth/username=801
inbound_auth/password=801
802
endpoint/transport=default-udp-transport
endpoint/context=default
inbound_auth/username=802
inbound_auth/password=802
debug_log.txt (70.4 KB)