Asterisk 22 - How to know difference in queue between caller hangup or absolute timeout

Hi,

how to know, if a queue is called having for instance
Set(TIMEOUT(absolute)=30), if a call is ended because caller hangup or
because timeout was reached?

In both cases variable ${ABANDONED} is TRUE

Perhaps another method to timeout a queue which will set another variable?


Daniel

The channel generates the following channel variable QUEUESTATUS=TIMEOUT

That what I tought but this variable is empty in both cases

Le 17/09/2025 à 19:57, Diego1990 via Asterisk Community a écrit :

[Diego1990] Diego1990 https://community.asterisk.org/u/diego1990
September 17

The channel generates the following channel variable QUEUESTATUS=TIMEOUT


Visit Topic
https://community.asterisk.org/t/asterisk-22-how-to-know-difference-in-queue-between-caller-hangup-or-absolute-timeout/110199/2
or reply to this email to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, click here
<>.


Daniel

What I see in queue_log file

1758138807|1758138806.1977|q821|NONE|ENTERQUEUE||00CCxyzxyzxyz|1
1758138809|1758138806.1977|q821|PJSIP/plop2p_135|RINGCANCELED|2340
1758138809|1758138806.1977|q821|PJSIP/plop2p_105|RINGCANCELED|2340
1758138809|1758138806.1977|q821|NONE|ABANDON|1|1|2
1758138842|1758138842.1994|q821|NONE|ENTERQUEUE||00CCxyzxyzxyz|1
1758138847|1758138842.1994|q821|PJSIP/plop2p_135|RINGNOANSWER|5000
1758138847|1758138842.1994|q821|PJSIP/plop2p_105|RINGNOANSWER|5000
1758138860|1758138842.1994|q821|PJSIP/plop2p_135|RINGNOANSWER|5000
1758138860|1758138842.1994|q821|PJSIP/plop2p_105|RINGNOANSWER|5000
1758138868|1758138842.1994|q821|PJSIP/plop2p_135|RINGNOANSWER|5000
1758138868|1758138842.1994|q821|PJSIP/plop2p_105|RINGNOANSWER|5000
1758138872|1758138842.1994|q821|NONE|ABANDON|1|1|30

The first entry being caller hangup, the second TIMEOUT(absolute)
reached. But I don’t have those informatione in dialplan.


Daniel

Queue is called like this

same = Set(TIMEOUT(absolute)=30)
same = n,Queue(${myQueue},ctF(set-INC_STOP,s,1),set-INC_START)

what I discovered in h extension:

${HANGUPCAUSE}=0 and ${ABANDONED}=TRUE => timeout
${HANGUPCAUSE}=16 and ${ABANDONED}=TRUE => caller hangup

In both cases ${QUEUSTATUS} is empty, TIMEOUT value is gone.


Daniel

I saw that my email reader removed 4 commas between
ctF(set-INC_STOP,s,1) and set-INC_START

It has to be read

same = n,Queue(${myQueue},ctF(set-INC_STOP,s,1)|5 commas|set-INC_START)

Le 18/09/2025 à 11:12, tootai via Asterisk Community a écrit :

[tootai] tootai https://community.asterisk.org/u/tootai
September 18

Queue is called like this

same = Set(TIMEOUT(absolute)=30)
same = n,Queue(${myQueue},ctF(set-INC_STOP,s,1),set-INC_START)

what I discovered in h extension:

${HANGUPCAUSE}=0 and ${ABANDONED}=TRUE => timeout
${HANGUPCAUSE}=16 and ${ABANDONED}=TRUE => caller hangup

In both cases ${QUEUSTATUS} is empty, TIMEOUT value is gone.


Daniel


Visit Topic
https://community.asterisk.org/t/asterisk-22-how-to-know-difference-in-queue-between-caller-hangup-or-absolute-timeout/110199/5
or reply to this email to respond.


    In Reply To

[tootai] tootai https://community.asterisk.org/u/tootai
September 17

What I see in queue_log file
1758138807|1758138806.1977|q821|NONE|ENTERQUEUE||00CCxyzxyzxyz|1
1758138809|1758138806.1977|q821|PJSIP/plop2p_135|RINGCANCELED|2340
1758138809|1758138806.1977|q821|PJSIP/plop2p_105|RINGCANCELED|2340
1758138809|1758138806.1977|q821|NONE|ABANDON|1|1|2 1758138842|17581…

Visit Topic
https://community.asterisk.org/t/asterisk-22-how-to-know-difference-in-queue-between-caller-hangup-or-absolute-timeout/110199/5
or reply to this email to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, click here
<>.


Daniel

Why are you using absolute dialplan timeouts, rather than the Queue application timeout?

If I remove TIMEOUT(absolute) queue application timeout never happend.

I tried with retry=3, timeout=5 as well as retry=1 timeout=20, both
cases annonce-frequency=10


Daniel

I’m talking about the timeout in the Queue application parameters, not that in queues.conf.

Using the Queue application parameter works if timeoutis removed in
queue.conf, otherwise no announcement are done. Also, retry is not taken
in account which means indefinitely ringing or have to create a variable
for the TIMEOUT count like would do retry.


Daniel

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.