node.jstwiliotwilio-apitwilio-node

Initiating an outbound call using Twilio Function


      twiml.dial(dialNode => {
      dialNode.conference('Test conference', {
        startConferenceOnEnter: true,
        endConferenceOnExit: false,
        from: context.CALLER_ID,
        to: event.TO
      })

I have tried this on Twilio Functions but this returns an error on the client side.


Solution

  • There are quite a few Twilio Function examples, one of which is making an outbound call. You can view the examples here (under Function Examples) on the left side of the screen.

    Make a Call

    // Description
    // Make a call
    
    exports.handler = function (context, event, callback) {
      // Make sure under Functions Settings tab:
      // "Add my Twilio Credentials (ACCOUNT_SID) and (AUTH_TOKEN) to ENV" is CHECKED
    
      const twilioClient = context.getTwilioClient();
    
      // Pass in From, To, and Url as query parameters
      // Example: https://x.x.x.x/<path>?From=%2b15108675310&To=%2b15108675310&Url=http%3A%2F%2Fdemo.twilio.com%2Fdocs%2Fvoice.xml
      // Note URL encoding above
      let from = event.From || '+15095550100';
      // If passing in To, make sure to validate, to avoid placing calls to unexpected locations
      let to = event.To || '+15105550100';
      let url = event.Url || 'http://demo.twilio.com/docs/voice.xml';
    
      twilioClient.calls
        .create({
          url: url,
          from: from,
          to: to,
        })
        .then((result) => {
          console.log('Call successfully placed');
          console.log(result.sid);
          return callback(null, 'success');
        })
        .catch((error) => {
          console.log(error);
          return callback(error);
        });
    };