Call pickup group picking up wrong call

While executing call pickup within a call pickup group via the soft button on our phones the wrong phone call is picked up. Example: phone A calls phone C and phone B tries to pick up the call. Phone C and B are in a call pickup group. Phone B actually picks up phone X which is a call intended for phone Z.

Here is the related lines from my extensions.conf:
The Lines commented out above the line labeled “;;Digium test line” are my original configuration which is what we were using when we noticed the issue. Then we contacted Digium and they told us to use the line below “;;Digium test line”. The issue still persists with the Digium line.

;exten => _*8.,1,SET(GLOBAL(PICKUPMARK)=${EXTEN:2})
;exten => _*8.,n,Pickup(${EXTEN:2}@PICKUPMARK)

;;Digium test line
exten => _*8.,1,Pickup(${EXTEN:2}@PICKUPMARK)

Here is some examples from our average.conf:

This is how we’ve had it originally:

exten =>6012,hint,SIP/x-6012
exten =>6012,1,dial(SIP/x-6012,20)
exten =>6012,n,Macro(voicemail,SIP/x-${EXTEN},${EXTEN})

This is how Digium told us to set it:

exten =>6012,hint,SIP/x-6012
exten =>6012,1,set(_pickupmark=xxxxxx6012)
exten =>6012,1,dial(SIP/x-6012,20)
exten =>6012,n,Macro(voicemail,SIP/x-${EXTEN},${EXTEN})

The issue persist either way. I have replaced full phone numbers with x’s leaving only the extension.

Below is the output from the console when the calls are crossed. You can see the number 2355 is calling 6012 and 4780 is trying to pick up that call. But instead 4780 picks up 6857. I’ve removed some things from this like MAC addresses and full phone numbers and have only left the 4 digit extensions.

== Using SIP RTP CoS mark 5
    -- Executing [6012@international:1] Set("SIP/x-2355-xxxxx", "_pickupmark=xxxxxx6012") in new stack
    -- Executing [6012@international:2] Macro("SIP/x-2355-xxxxxx", "voicemail,SIP/x-6012,6012") in new stack
    -- Executing [s@macro-voicemail:1] Dial("SIP/x-2355-xxxxx", "SIP/x-6012,10") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/x-6012
  == Extension Changed 6012[average] new state Ringing for Notify User x-6873 
  == Extension Changed 6012[average] new state Ringing for Notify User x-4780 
    -- SIP/x-6012-xxxxxxx is ringing
  == Using SIP RTP CoS mark 5
    -- Executing [*8xxxxxx6012@local-calling:1] Pickup("SIP/x-4780-xxxxxxx", "xxxxxx6012@PICKUPMARK") in new stack
  == Extension Changed 4780[average] new state InUse for Notify User x-6012 
  == Spawn extension (local-calling, *8xxxxxx6012, 1) exited non-zero on 'SIP/t1-gw-1-pri2-xxxxxx<ZOMBIE>'
    -- SIP/x-4780-xxxxxxx answered SIP/x-6857-xxxxx
    -- Locally bridging SIP/x-6857-xxxxxx and SIP/x-4780-xxxxx
  == Using SIP RTP CoS mark 5

I should also note that dialing *8 directly does not suffer from this.

Has anyone dealt with this issue before? Please let me know if there is more information I can provide to help resolve this issue. Thanks.

Hopefully information from this topic will help you out.