1

I am trying to create an interactive dashboard that will display active Twilio calls with the ability to listen in on any call in progress.

The documentation seems to point me at Conferences, but I don't want to have to initiate every call in my organization as a conference, and would rather covert the call if possible. This also has to be seamless - the parties to a call should not experience any delays or pauses just because someone is listening in.

What are my options?

user3521621
  • 228
  • 1
  • 14
  • 2
    This answer suggests it *has* to be setup as a conference. http://stackoverflow.com/questions/30180050/is-it-possible-to-access-the-live-audio-stream-in-a-twilio-call - I think your question is better suited for Twilio support. – Lasse V. Karlsen Jun 22 '16 at 14:39
  • Can't I turn an existing call into a conference? – user3521621 Jun 22 '16 at 15:03

1 Answers1

0

Generally it is best practice to establish a <Conference> from the beginning if that's where the call is headed.

When you use <Dial> to join two calls together, they are in a parent-child relationship. The first call that you created is the parent, the call that is created by the <Dial action="foo.com"> is the child. You can split the calls by modifying the child call to a different URL.

If you just modify the parent, the child will hang up.

Modifying the child will cause the calls to split, the child will execute the TwiML specified by the modify call request. The parent call post to your "action" and will then begin to execute the TwiML at "foo.com". I'm looking into your calls that dropped and trying to understand why that happens, you should not get a call drop from pulling the child away from the parent, this is the correct way to convert a <Dial> call to a <Conference>.

Hope this is helpful.

Megan Speir
  • 3,745
  • 1
  • 15
  • 25
  • Thanks Megan! So are you saying that both parties that were initially in the conversation will stay in it, and a third party can be seamlessly added without the first two noticing or this impacting reporting/call in any other way? – user3521621 Jun 30 '16 at 19:18
  • The scenario as you describe it in your comment above is most seamless if you create a `` from the start. You can allow a third party to join with no noise by setting the `beep` attribute to false: https://www.twilio.com/docs/api/twiml/conference#attributes – Megan Speir Jun 30 '16 at 19:27
  • @MeganSpeir I tried to establish from the beginning for live listen functionality. For that, i set 'instruction' => 'conference', in the assignment callback endpoint which was 'instruction' => 'call' before that. But I am facing other issue because of this. Now, task router is not able to route the call to multiple workers. And there is some issue with sort_by expression in task router json. If I remove that then it pretends to work. Do you any suggestions? What is the best way to create from the beginning, so that i would not get any issue. – Nabin May 07 '18 at 23:20