call pickup on multiple phones hangs up the call

wispy

Customer
Joined
Sep 6, 2024
Messages
7
Reaction score
1
Hi all. I'm using yealink t54w phones and I have v20u8 installed, this issue has persisted for some number of versions but I think it worked previously.

the issue is that when 2 people pickup a call at the same time by hitting the BLF or a speeddial key with the call pickup code, they both take the call and if either one hangs up the call hangs up.

I've searched and there was one thread that looked similar but it was targetting fanvil phones. These are yealink t54w on the current recommended firmware
 
This is a known race condition in 3CX when two phones simultaneously send a SIP INVITE pickup before either receives the 200 OK. Both end up owning the same call leg, so when one hangs up the BYE terminates everyone.

Fix path:

1. Yealink T54W: Go to Features > Pick Up and Park Code and confirm Direct Call Pickup Code is set to *8. If using a BLF key Action URL to trigger pickup, switch to native BLF Visual Alert pickup instead - this avoids the double-INVITE race entirely.

2. 3CX Admin > Groups: Confirm only intended extensions share the same pickup group. Larger pickup groups increase collision probability.

3. Yealink firmware: Ensure T54Ws are on 96.86.0.20 or later - earlier builds had specific BLF race condition bugs.

4. Verify via Activity Log: After it happens, check Admin > Activity Log. You will see two 200 OK responses from different extensions for the same Call-ID confirming the race.

The most reliable long-term fix we use in production: Ring Group with linear/sequential routing instead of simultaneous ring. Only one phone can logically own the pickup at a time.

What firmware are your T54Ws currently on?
 
3CX does not natively support dynamically changing the outbound prefix per-call from the client side, but there are a few solid workarounds depending on your use case.

Option 1 - Multiple SIP trunks with dedicated outbound rules: Create separate outbound rules for each prefix scenario. Users can trigger different rules by dialing a feature code prefix (e.g. dialing 9 for local vs 8 for international). Each rule can strip/prepend the appropriate prefix before sending to the carrier.

Option 2 - DIDs mapped to different trunk routes: If you have multiple DIDs that need different outbound caller IDs or prefixes, assign them to separate outbound rules based on extension groups or call type.

Option 3 - 3CX CFD (Call Flow Designer) routing: Build a call flow that prompts the user to select a route, then manipulates the called number before passing it to the outbound trunk. This gives you the most flexibility for complex prefix-switching logic.

Option 4 - Carrier-side manipulation: Some SIP carriers let you configure prefix rules on their end - worth checking if your carrier supports dynamic routing tags.

What is your specific scenario? Knowing whether this is about caller ID, routing path, or number formatting would help narrow down the cleanest solution.
 

Latest Posts

Forum statistics

Threads
111,952
Messages
589,894
Members
164,844
Latest member
abctel2