2

I want to set up a system where if a transferred call is not answered, it is moved back into a queue so that someone else can grab it. I have the basics of catching the Dial status and then redirecting no-answer calls back to the queue.

My struggle is with the callerId. For inbound calls, everything works great and the correct inbound callerId shows at every step in the process.

For outbound calls using the Twilio Client, I can only get half way.

Assume: Business phone number = 555-555-5555

Customer phone number = 222-222-2222

Agent A dials outbound

Sid1: incoming clientAnonymous

Sid2: from: 555-555-5555 to: 222-222-2222

Agent A then transfers to Agent B

<Response>
<Dial callerId="+12222222222" action="/catchNoAnswer"><Client>AgentB</Client>
</Dial>
</Response>

Agent B correctly sees the callerId as the customer.

Sid3: from: +12222222222 to:AgentB

If AgentB doesn't answer, I want to put the call back into a queue, but no matter what I try, the queue always shows the "from" number as the business phone number rather than the customer phone number. With multiple agents, this results in several calls in the queue all showing the business phone number rather than the customer phone numbers that the calls really represent.

I don't want to use a conference to do a warm transfer.

Is there any way to set the callerId to the to number before enqueuing a call?

I have tried dialing a conference with the callerId set, similar to how I dialed the client, and then moving that leg of the call back to the queue, but the callerId didn't stick.

Progone
  • 236
  • 1
  • 5
  • out of curiosity what reason/why does an agent who's only function in the scope of this problem is to answer a call impacted/benefited from seeing the proper caller id? this does sound like a possible glitch/room for improvement in Twilio so i have upvoted regardless. also please show code from `/catchNoAnswer` the problem/fault is likely going to be found there. – John Smith Dec 29 '22 at 12:27
  • Hi John, customer records are pulled based on callerId. If the callerId shows the business phone number because the initial call was started as an outbound call, no records are pulled. All that the /catchNoAnswer is push the call back into the queue. mainQueue – Progone Dec 29 '22 at 13:58
  • would it not be possible to simply create an independent record (perhaps using whatever database/script is powering your framework) as the action occurs? Provided there is no resolution to this via Twilio functionality, that would seem to be the only solution in the interim. Basically track every action and mirror/store it using perhaps MySQL and PHP, for example where you can access/assemble the records you need from an independent database. – John Smith Jan 02 '23 at 04:52

0 Answers0