Status of unlisted dynamic agents shown as invalid


(Laurent Protti) #1

Hello,

here’s the setup.

Cisco call manager with trunk to Freepbx 15.0.17.12, running Asterisk 15.7.4.

User dials *45QUEUE from a Cisco phone to log on a queue dynamically, his extension is not listed as dynamic agent in the queue definition (we don’t know in advance who will answer the queue).

The user is logged on, but its status is as shown below

Local/@from-queue/n (ringinuse enabled) (dynamic) (Invalid) has taken no calls yet

you can notice that the extension is not listed and that the status is shown as invalid. When calling the queue, the user does not receive the call.

Now if the user tries to login using the *45EXTENSION*QUEUE format, here’s the status

Local/2683@from-queue/n (ringinuse enabled) (dynamic) (Invalid) has taken no calls yet

although the extension is listed, the status is still invalid

in that case, the user receives the call when the queue is called.

On our old freepbx machine (FreePBX 2.8.0 and Asterisk 1.6.2.12), we did not have this behaviour.

Of course, between the 2 machines, there is a huge version change, sip trunks have migrated to pjsip, but we expected to see this function work correctly.

It seems to me that at some point during the login process, it’s unable to determine the extension dialing the queue and that’s why it’s not listed but I’m unable to find where.

So if anyone has a hint to give me, I’d be grateful :slight_smile:

Have a great day and take care

Laurent


(Itzik) #2

Not related to your question, I suggest upgrading to Asterisk 16. 15 is EOL. (Or it’ll be soon)

Can you please format these with preformatted text so we can see the stars, also, if you can replace the Xs with EXT and QUEUE so we know what you are dialing.

To see what is actually happening, please share with us a calltrace using a pastebin link. See instructions:
https://wiki.freepbx.org/display/SUP/Providing+Great+Debug#ProvidingGreatDebug-AsteriskLogs-PartII


(Lorne Gaetz) #3

Looking at the dialplan for the two feature codes, the first relies on the CallerID of the dialing extension (as the ${AMPUSER} var), and the second relies on the dialed digits to get the extension number. I would guess there is something odd with the Caller ID. @PitzKey is right, a call trace should reveal it.


(Laurent Protti) #4

Hello,

here’s the trace

https://pastebin.freepbx.org/view/b02bef5f

I think the problem is in here, it detects my callerid and my name but somehow is not able to add it as agent/queue user

[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-user-callerid:44] Set(“PJSIP/LSACCMP02-00000034”, “CALLERID(number)=2683”) in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-user-callerid:45] Set(“PJSIP/LSACCMP02-00000034”, “CALLERID(name)=Laurent Protti”) in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-user-callerid:46] GotoIf(“PJSIP/LSACCMP02-00000034”, “0?cnum”) in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-user-callerid:47] Set(“PJSIP/LSACCMP02-00000034”, “CDR(cnam)=Laurent Protti”) in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-user-callerid:48] Set(“PJSIP/LSACCMP02-00000034”, “CDR(cnum)=2683”) in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-user-callerid:49] Set(“PJSIP/LSACCMP02-00000034”, “CHANNEL(language)=fr”) in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-toggle-add-agent:2] Set(“PJSIP/LSACCMP02-00000034”, “QUEUEUSER=”) in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-toggle-add-agent:3] Set(“PJSIP/LSACCMP02-00000034”, “QUEUEUSERCIDNAME=”"") in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-toggle-add-agent:4] GotoIf(“PJSIP/LSACCMP02-00000034”, “0?invalid”) in new stack
[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-toggle-add-agent:5] ExecIf(“PJSIP/LSACCMP02-00000034”, “1?AddQueueMember(278500,Local/@from-queue/n,”",hint:@ext-local)") in new stack
[2021-02-02 09:39:07] NOTICE[23972][C-0000002a] app_queue.c: Added interface ‘Local/@from-queue/n’ to queue ‘278500’


(Laurent Protti) #5

ok, still on that problem, from my (beginner) understanding of what’s happenning :

on line 2 of macro-user-callerid, AMPUSER is set to 2683

[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-user-callerid:2] Set(“PJSIP/LSACCMP02-00000034”, “AMPUSER=2683”) in new stack

and then for whatever reason, on line 10 of macro-user-callerid, the ampuser is set to the value from astdb with Set(AMPUSER=${DB(DEVICE/${REALCALLERIDNUM}/user)})

[2021-02-02 09:39:07] VERBOSE[23972][C-0000002a] pbx.c: Executing [s@macro-user-callerid:10] Set(“PJSIP/LSACCMP02-00000034”, “AMPUSER=”) in new stack

I’m lost at why it’s setting this from the database… any suggestion would be welcome

have a good day

Laurent


(Laurent Protti) #6

still looking for any idea on this… :frowning: