Search code examples
phptwiliolaravel-5.5twilio-twimltwilio-programmable-voice

Outgoing call from Twilio is not working in Laravel 5.5


I'm new to Twilio. I'm using Twilio for phone verification of my app. I'm using Laravel 5.5 for the backend & APIs. I've successfully sent the SMS to phone. I'm getting the call from Twilio but it says an application error. It doesn't read what I want to hear.

Below I'm giving every detail of my code.

Used composer require twilio/sdk for Twilio.

This is my Controller.

use Twilio\Rest\Client;
use Twilio\Twiml;

class AppUserController extends Controller{
    private $account_sid;
    private $auth_token;
    private $twilio_number;

    public function __construct(){
        $this->account_sid = Config::get('envvalue.account_sid');
        $this->auth_token = Config::get('envvalue.auth_token');
        $this->twilio_number = Config::get('envvalue.twilio_number');
    }

    public function reVerification(Request $request){
        $client = new Client($this->account_sid, $this->auth_token);
        try {
            $client->account->calls->create(
                $receiverNumber,
                $this->twilio_number,
                array(
                    "url" => "http://demo.bitcanny.com/marine-admin/public/api/twiml/"
                )
            );

            return response()->json([
                'success' => true,
                'statusCode' => '200',
                'message' => 'Otp send again'
            ], 200);
        }
        catch (Exception $e) {
            return $e->getMessage();
        }
    }

    public function twiml(){
        // A message for Twilio's TTS engine to repeat
        $sayMessage = 'Hello.';

        $twiml = new Twiml();
        $twiml->say($sayMessage);

        $response = Response::make($twiml, 200);
        $response->header('Content-Type', 'text/xml');
        return $response;
    }

}

Solution

  • I found the solution. There's a silly mistake. I didn't use Response in the header of my controller.

    use Response;