[SOLVED] Queue module strangeness: won't work without explicit SIP agent or external number

I’m running into the strangest issue I’ve ever seen in an Asterisk install when configuring a queue from FreePBX 2.10 with Asterisk 1.8.19.

The PBX I’m looking at is running in deviceanduser mode. If I create a queue that has ONLY users in it, none of the phones will ring and callers stay in the hold music forever. The queue status is shown as:
non-working config
agents configured in FreePBX queue
200,0
201,0
202,0

Asterisk queue status

CLI> queue show 808
808 has 1 calls (max unlimited) in ‘linear’ strategy (4s holdtime, 5s talktime), W:0, C:6, A:16, SL:100.0% within 60s
Members:
Demo-user-1 (Local/200@from-queue/n) (Invalid) has taken no calls yet
Demo-user-3 (Local/202@from-queue/n) (Invalid) has taken no calls yet
Demo-user-2 (Local/201@from-queue/n) (Invalid) has taken no calls yet
Callers:
1. SIP/I-SIP-0000004f (wait: 0:06, prio: 0)

Relevant section of queues_additional.conf:

member=Local/200@from-queue/n,0,Demo-user-1,hint:200@ext-local
member=Local/201@from-queue/n,0,Demo-user-2,hint:201@ext-local
member=Local/202@from-queue/n,0,Demo-user-3,hint:202@ext-local

working config
Removing one of the users and adding a SIP device instead fixes the issue. Even when adding only a single SIP device, all users start working as I would expect them to, but only for as long as the SIP device remains registered.
queue in FreePBX
200,0
201,0
S202,0

Asterisk status

*CLI> queue show 808
808 has 0 calls (max unlimited) in ‘linear’ strategy (3s holdtime, 17s talktime), W:0, C:7, A:17, SL:100.0% within 60s
Members:
Demo-user-1 (Local/200@from-queue/n) (Invalid) has taken 1 calls (last was 2 secs ago)
SIP/202 (Not in use) has taken no calls yet
Demo-user-2 (Local/201@from-queue/n) (Invalid) has taken no calls yet
No Callers

queues_additional.conf

member=Local/200@from-queue/n,0,Demo-user-1,hint:200@ext-local
member=Local/201@from-queue/n,0,Demo-user-2,hint:201@ext-local
member=SIP/202,0

If anybody has suggestions for further debugging or (hopefully) fixing this I’d love to year from you!

After noticing that some hints were not working as well I did an “amportal restart” which fixed the issue.