3

I'm building a system where the callers need to be connected to an external system that has its own IVR tree. I need the caller to hear hold music, while we are dialing and sending DTMF digits to the external system.

I got it to work by dialing into the external system using REST API, and putting both calls (incoming and outgoing) into the same conference room. However, this prevents me from sending the caller's caller ID to the external system like the <dial><number></dial> command does. Unfortunately this is a hard requirement. Any suggestion on how I can accomplish this?

Edit: I ended up using <dial> verb to dial into the external system, and transfer the call into a conference room using REST API right after the outgoing call is connected.

Vlad F
  • 31
  • 4

2 Answers2

1

You can store callers calling information in a variable, and then use callerId parameter in Dial. https://www.twilio.com/docs/api/twiml/dial#attributes-caller-id

gogasca
  • 9,283
  • 6
  • 80
  • 125
  • Preserving caller ID is is not a problem when using `' - it gets passed on by default. But this doesn't allow me to play music for the caller while dialing. Putting the user into a conference room does, but making an API call to create a call with an external system does NOT allow specifying arbitrary caller ID to be passed in: "From" must be a "verified" caller id or a Twilio number I own. https://www.twilio.com/docs/api/rest/making-calls#post-parameters-required https://www.twilio.com/help/faq/voice/can-i-use-a-non-twilio-number-as-the-caller-id-for-outgoing-calls – Vlad F Oct 14 '15 at 14:17
  • Have you looked at waitURL, this may help https://www.twilio.com/docs/api/twiml/conference#attributes-waitUrl – gogasca Oct 14 '15 at 23:57
  • Yeah, I did. It works when putting a caller into a conference - however, that doesn't send that caller ID to the external system. – Vlad F Oct 15 '15 at 04:24
  • Please open a support ticket they may be able to change the setting you need. – gogasca Oct 15 '15 at 23:37
0

I ended up using <dial> verb to dial into the external system, and transfer the call into a conference room using REST API right after the outgoing call is connected.

Vlad F
  • 31
  • 4