public function startRecording($liveCallUuid, array $optionalArgs = [])
    {
        if (empty($liveCallUuid)) {
            throw new PlivoValidationException(
                "Which call to record? No callUuid given");
        }

        $response = $this->client->update(
            $this->uri . $liveCallUuid . '/Record/',
            $optionalArgs
        );

        $responseContents = $response->getContent();

        if(!array_key_exists("error",$responseContents)){
            return new CallRecording(
                $responseContents['url'],
                $responseContents['api_id'],
                $responseContents['recording_id'],
                $responseContents['message'],
                $response->getStatusCode()
            );
        } else {
            throw new PlivoResponseException(
                $responseContents['error'],
                0,
                null,
                $response->getContent(),
                $response->getStatusCode()

            );
        }

        
    }