Asterisk queue plus call waiting

hi, I’ve asterisk-1.8.20.0-0 and elastix with it, i’ll provide config files.

[27]
;autofill=yes
ringinuse=no
;eventmemberstatus=yes 
;eventwhencalled=yes
;QueueMemberStatus=yes
musicclass=made
servicelevel=60
weight=0
timeout=15
;periodic-announce-frequency=60
retry=5
announce-frequency=45
min-announce-frequency=1
announce-holdtime=yes
announce-position=limit
announce-position-limit=20
queue-seconds=queue-seconds
queue-reporthold=
joinempty=yes
leavewhenempty=no
;ringinuse=no

member=Local/210@from-queue-gphone-8/n,0,210,SIP/210

this from queues_custom.conf

> [inbound-gphone-1]
> exten => 2XXXXXX1,1,Set(__FROM_DID=${EXTEN})
> exten => 2XXXXXX1,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
> exten => 2XXXXXX1,n,GotoIfTime(21:59–09:29,*,*,*?not-working-time,arasamushao,1)
> ;working time
> exten => 2XXXXXX1,n,Ringing()
> exten => 2XXXXXX1,n,Background(LaBell-Sporti_1)
> exten => 2XXXXXX1,n,WaitExten(3)
> exten => 2XXXXXX1,n(dest-ext),Goto(ext-queues,rigi-8,1)




> [ext-queues]
> exten => rigi-8,1,Macro(user-callerid,)
> exten => rigi-8,n,Answer
> exten => rigi-8,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL})
> exten => rigi-8,n,Set(__BLKVM_BASE=${EXTEN})
> exten => rigi-8,n,Set(DB(${BLKVM_OVERRIDE})=TRUE)
> exten => rigi-8,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm)))
> exten => rigi-8,n,Set(__NODEST=${EXTEN})
> exten => rigi-8,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
> exten => rigi-8,n,Playback(custom/monitoringi_1)
> exten => rigi-8,n,Set(__MOHCLASS=none)
> exten => rigi-8,n,Set(__CWIGNORE=TRUE)
> exten => rigi-8,n,Queue(27,t,,)
> exten => rigi-8,n,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
> exten => rigi-8,n,Set(__NODEST=)
> exten => rigi-8,n,Set(__CWIGNORE=)
> exten => rigi-8,n,Goto()


> [from-queue-gphone-8]
> include => from-queue-custom
> exten => rigi-8,1,Goto(from-internal,${QAGENT},1)
> exten => _.,1,Set(QAGENT=${EXTEN})
> exten => _.,n,Goto(${NODEST},1)

from extensions_custom.conf

and “context=inbound-gphone-1” in trunk config. so it works well, but I need to turn on call waiting, for example there is one active call on phone and one is in queue, i want that phone ring that operator see there is another call (as usual call waiting works, but from queue). what can i change or add?

In your queues.conf

Change

ringinuse=no

to

ringinuse=yes

thank for reply, just tested but don’t works (still phone dont shows the second ring from queue). is there any other way to do this ?

Did you reload app_queue after making the configuration change?

Does your phone support call waiting and can it normally have two calls at once via your PBX?

yes i reloaded “queue reload all”, " module reload app_queue.so" with this commands (it’s the same i think), but still dont works. i’m using (for testing) x lite 3.0 and yes it supports call waiting, when i call to the extension directly twice it shows both rings.

For testing I’d recommend eliminating the local channel from the configuration and just adding SIP/210 to your queue directly.

Set verbosity to 10 and place a call into your queue and let’s see what happens then.

changed " member=Local/210@from-queue-gphone-8/n,0,210,SIP/210 " to " member=SIP/200 " (changed extensions 210 to 200, same, no matter)

and didn’t guess what mean " eliminating the local channel from the configuration ", I’m not expert of asterisk so it’s some thing are new for me.
set verbosity to 10 and here are logs.

>     -- Executing [2XXXXXX1@inbound-gphone-1:1] Set("SIP/peer-4118-00000026", "__FROM_DID=2XXXXXX1") in new stack
>     -- Executing [2XXXXXX1@inbound-gphone-1:2] ExecIf("SIP/peer-4118-00000026", "0 ?Set(CALLERID(name)=995322XXXXXX)") in new stack
>     -- Executing [2XXXXXX1@inbound-gphone-1:3] Ringing("SIP/peer-4118-00000026", "") in new stack
>        -- Executing [2XXXXXX1@inbound-gphone-1:4] BackGround("SIP/peer-4118-00000026", "imogesalmebit_gtxovt_daelodot") in new stack
>     -- Executing [2XXXXXX1@inbound-gphone-1:5] WaitExten("SIP/peer-4118-00000026", "3") in new stack
>     -- Timeout on SIP/peer-4118-00000026, continuing...
>     -- Executing [2XXXXXX1@inbound-gphone-1:6] Goto("SIP/peer-4118-00000026", "ext-queues,rigi-1,1") in new stack
>     -- Goto (ext-queues,rigi-1,1)
>     -- Executing [rigi-1@ext-queues:1] Macro("SIP/peer-4118-00000026", "user-callerid,") in new stack
>     -- Executing [s@macro-user-callerid:1] Set("SIP/peer-4118-00000026", "AMPUSER=995322XXXXXX") in new stack
>     -- Executing [s@macro-user-callerid:2] GotoIf("SIP/peer-4118-00000026", "0?report") in new stack
>     -- Executing [s@macro-user-callerid:3] ExecIf("SIP/peer-4118-00000026", "1?Set(REALCALLERIDNUM=995322470000)") in new stack
>     -- Executing [s@macro-user-callerid:4] Set("SIP/peer-4118-00000026", "AMPUSER=") in new stack
>     -- Executing [s@macro-user-callerid:5] Set("SIP/peer-4118-00000026", "AMPUSERCIDNAME=") in new stack
>     -- Executing [s@macro-user-callerid:6] GotoIf("SIP/peer-4118-00000026", "1?report") in new stack
>     -- Goto (macro-user-callerid,s,10)
>     -- Executing [s@macro-user-callerid:10] GotoIf("SIP/peer-4118-00000026", "0?continue") in new stack
>     -- Executing [s@macro-user-callerid:11] Set("SIP/peer-4118-00000026", "__TTL=64") in new stack
>     -- Executing [s@macro-user-callerid:12] GotoIf("SIP/peer-4118-00000026", "1?continue") in new stack
>     -- Goto (macro-user-callerid,s,19)
>     -- Executing [s@macro-user-callerid:19] Set("SIP/peer-4118-00000026", "CALLERID(number)=995322XXXXXX") in new stack
>     -- Executing [s@macro-user-callerid:20] Set("SIP/peer-4118-00000026", "CALLERID(name)=995322XXXXXX") in new stack
>     -- Executing [s@macro-user-callerid:21] NoOp("SIP/peer-4118-00000026", "Using CallerID "995322XXXXXX" <995322XXXXXX>") in new stack
>     -- Executing [rigi-1@ext-queues:2] Answer("SIP/peer-4118-00000026", "") in new stack
>     -- Executing [rigi-1@ext-queues:3] Set("SIP/peer-4118-00000026", "__BLKVM_OVERRIDE=BLKVM/rigi-1/SIP/peer-4118-00000026") in new stack
>     -- Executing [rigi-1@ext-queues:4] Set("SIP/peer-4118-00000026", "__BLKVM_BASE=rigi-1") in new stack
>     -- Executing [rigi-1@ext-queues:5] Set("SIP/peer-4118-00000026", "DB(BLKVM/rigi-1/SIP/peer-4118-00000026)=TRUE") in new stack
>     -- Executing [rigi-1@ext-queues:6] ExecIf("SIP/peer-4118-00000026", "1?Set(_DIAL_OPTIONS=trM(auto-blkvm))") in new stack
>     -- Executing [rigi-1@ext-queues:7] Set("SIP/peer-4118-00000026", "__NODEST=rigi-1") in new stack
>     -- Executing [rigi-1@ext-queues:8] Set("SIP/peer-4118-00000026", "MONITOR_FILENAME=/var/spool/asterisk/monitor/qrigi-1-20160712-112842-1468308519.66") in new stack
>     -- Executing [rigi-1@ext-queues:9] Set("SIP/peer-4118-00000026", "__MOHCLASS=none") in new stack
>     -- Executing [rigi-1@ext-queues:10] Set("SIP/peer-4118-00000026", "__CWIGNORE=TRUE") in new stack
>     -- Executing [rigi-1@ext-queues:11] Queue("SIP/peer-4118-00000026", "27,t,,") in new stack
>     -- Started music on hold, class 'default', on SIP/peer-4118-00000026
>       == Using SIP RTP TOS bits 184
>       == Using SIP RTP CoS mark 5
>     -- SIP/200-00000027 connected line has changed. Saving it until answer for SIP/peer-4118-00000026
>     -- SIP/200-00000027 is ringing
>     -- SIP/200-00000027 connected line has changed. Saving it until answer for SIP/peer-4118-00000026
>     -- SIP/200-00000027 answered SIP/peer-4118-00000026
>     -- Stopped music on hold on SIP/peer-4118-00000026
>       == Using SIP RTP TOS bits 184
>       == Using SIP RTP CoS mark 5
>     -- Executing [2XXXXXX1@inbound-gphone-1:1] Set("SIP/peer-4118-00000028", "__FROM_DID=2XXXXXX1") in new stack
>     -- Executing [2XXXXXX1@inbound-gphone-1:2] ExecIf("SIP/peer-4118-00000028", "0 ?Set(CALLERID(name)=995555XXXXXX)") in new stack
>     -- Executing [2XXXXXX1@inbound-gphone-1:3] Ringing("SIP/peer-4118-00000028", "") in new stack
>     -- Executing [2XXXXXX1@inbound-gphone-1:4] BackGround("SIP/peer-4118-00000028", "please_wait") in new stack
>     -- Executing [2XXXXXX1@inbound-gphone-1:5] WaitExten("SIP/peer-4118-00000028", "3") in new stack
>     -- Timeout on SIP/peer-4118-00000028, continuing...
>     -- Executing [2XXXXXX1@inbound-gphone-1:6] Goto("SIP/peer-4118-00000028", "ext-queues,rigi-1,1") in new stack
>     -- Goto (ext-queues,rigi-1,1)
>     -- Executing [rigi-1@ext-queues:1] Macro("SIP/peer-4118-00000028", "user-callerid,") in new stack
>     -- Executing [s@macro-user-callerid:1] Set("SIP/peer-4118-00000028", "AMPUSER=995555XXXXXX") in new stack
>     -- Executing [s@macro-user-callerid:2] GotoIf("SIP/peer-4118-00000028", "0?report") in new stack
>     -- Executing [s@macro-user-callerid:3] ExecIf("SIP/peer-4118-00000028", "1?Set(REALCALLERIDNUM=995555XXXXXX)") in new stack
>     -- Executing [s@macro-user-callerid:4] Set("SIP/peer-4118-00000028", "AMPUSER=") in new stack
>     -- Executing [s@macro-user-callerid:5] Set("SIP/peer-4118-00000028", "AMPUSERCIDNAME=") in new stack
>     -- Executing [s@macro-user-callerid:6] GotoIf("SIP/peer-4118-00000028", "1?report") in new stack
>     -- Goto (macro-user-callerid,s,10)
>     -- Executing [s@macro-user-callerid:10] GotoIf("SIP/peer-4118-00000028", "0?continue") in new stack
>     -- Executing [s@macro-user-callerid:11] Set("SIP/peer-4118-00000028", "__TTL=64") in new stack
>     -- Executing [s@macro-user-callerid:12] GotoIf("SIP/peer-4118-00000028", "1?continue") in new stack
>     -- Goto (macro-user-callerid,s,19)
>     -- Executing [s@macro-user-callerid:19] Set("SIP/peer-4118-00000028", "CALLERID(number)=995555XXXXXX") in new stack
>     -- Executing [s@macro-user-callerid:20] Set("SIP/peer-4118-00000028", "CALLERID(name)=995555XXXXXX") in new stack
>     -- Executing [s@macro-user-callerid:21] NoOp("SIP/peer-4118-00000028", "Using CallerID "995555XXXXXX" <995555XXXXXX>") in new stack
>     -- Executing [rigi-1@ext-queues:2] Answer("SIP/peer-4118-00000028", "") in new stack
>     -- Executing [rigi-1@ext-queues:3] Set("SIP/peer-4118-00000028", "__BLKVM_OVERRIDE=BLKVM/rigi-1/SIP/peer-4118-00000028") in new stack
>     -- Executing [rigi-1@ext-queues:4] Set("SIP/peer-4118-00000028", "__BLKVM_BASE=rigi-1") in new stack
>     -- Executing [rigi-1@ext-queues:5] Set("SIP/peer-4118-00000028", "DB(BLKVM/rigi-1/SIP/peer-4118-00000028)=TRUE") in new stack
>     -- Executing [rigi-1@ext-queues:6] ExecIf("SIP/peer-4118-00000028", "1?Set(_DIAL_OPTIONS=trM(auto-blkvm))") in new stack
>     -- Executing [rigi-1@ext-queues:7] Set("SIP/peer-4118-00000028", "__NODEST=rigi-1") in new stack
>     -- Executing [rigi-1@ext-queues:8] Set("SIP/peer-4118-00000028", "MONITOR_FILENAME=/var/spool/asterisk/monitor/qrigi-1-20160712-112856-1468308533.68") in new stack
>     -- Executing [rigi-1@ext-queues:9] Set("SIP/peer-4118-00000028", "__MOHCLASS=none") in new stack
>     -- Executing [rigi-1@ext-queues:10] Set("SIP/peer-4118-00000028", "__CWIGNORE=TRUE") in new stack
>     -- Executing [rigi-1@ext-queues:11] Queue("SIP/peer-4118-00000028", "27,t,,") in new stack
>     -- Started music on hold, class 'default', on SIP/peer-4118-00000028
>     -- Stopped music on hold on SIP/peer-4118-00000028
>     -- <SIP/peer-4118-00000028> Playing 'queue-youarenext.gsm' (language 'en')
>     -- Told SIP/peer-4118-00000028 in 27 their queue position (which was 1)
>     -- <SIP/peer-4118-00000028> Playing 'queue-thankyou.gsm' (language 'en')
>     -- Started music on hold, class 'default', on SIP/peer-4118-00000028

What’s your queues.conf entry for queue 27 look like currently?

solved, changed one context. tested and works

[ext-queues]
exten => rigi-1,1,Macro(user-callerid,)
exten => rigi-1,n,Answer
exten => rigi-1,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL})
exten => rigi-1,n,Set(__BLKVM_BASE=${EXTEN})
exten => rigi-1,n,Set(DB(${BLKVM_OVERRIDE})=TRUE)
exten => rigi-1,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm)))
exten => rigi-1,n,Set(__NODEST=${EXTEN})
exten => rigi-1,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => rigi-1,n,Set(__MOHCLASS=none)
exten => rigi-1,n,Set(__CWIGNORE=TRUE)
exten => rigi-1,n,Queue(27,t,,)
exten => rigi-1,n,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => rigi-1,n,Set(__NODEST=)
exten => rigi-1,n,Goto(app-blackhole,hangup,1)
exten => rigi-1*,1,Macro(agent-add,27,)
exten => rigi-1**,1,Macro(agent-del,27)
exten => *45rigi-1,1,Set(QUEUENO=27)
exten => *45rigi-1,n,Goto(app-queue-toggle,s,start)