Unable to record video - SIP error
<!--
Please DO NOT DELETE THIS TEMPLATE or your issue may be closed immediately.
Before opening an issue, search for open and closed GitHub issues that match your situation.

If this is a Live Stream issue please go back and use the Live Streaming issue template.
-->

# Bug Report

### Describe the Bug
I am unable to create sip sessions to record video. Whenever I try to use the recordVideo() function, an unhandledPrimseRejectionWarning crashes the recording. I have tried all the methods shown in the examples folder, but all have the same issue. I am able to receive dings and get ring data.

### To Reproduce
server.js
```
const express = require("express");
require("dotenv").config();
const helmet = require("helmet");
const ringAPI = require("./models/ring/ringAPI");
const recordCamera = require("./models/ring/recordCamera");


const app = express();
const port = 3000;

app.use(helmet());
app.use(express.static("public"));

app.get("/", async (req, res) => {
    try {
        recordCamera((await ringAPI.getCameras())[0].id);
        res.send("");
    } catch (e) {
        console.log(e);

        res.send("");
    }
});

app.listen(port, () => {
    console.log(`App listening at http://localhost:${port}`);
});
```

models/ring/ringAPI.js
```
const ringClient = require("ring-client-api");
require("dotenv").config();

module.exports = ringAPI = new ringClient.RingApi({
    refreshToken: process.env.RING_REFRESH_TOKEN,
    cameraStatusPollingSeconds: 1,
    cameraDingsPollingSeconds: 1,
    debug: true,
    ffmpegPath: "ffmpeg",
});
```


models/ring/recordVideo.js
```
const ringAPI = require("./ringAPI");
const path = require("path");

async function recordVideo(cameraID) {
    const camera = (await ringAPI.getCameras()).find((e) => e.id == cameraID);

    if (!camera) return "camera not found";

    const dirPath = path.join(__dirname, "/src/public/recordings/");
    const filePath = path.join(dirPath, `${cameraID}-${1}.mp4`);

    console.log(filePath);

    console.log(`Starting Video from ${camera.name} ...`);
    await camera.recordToFile(filePath, 15);
    console.log("Done recording video");
    return;
}

module.exports = recordVideo;
```


### Expected behavior
I expect a video to be saved into the public/recordings/ folder after 15seconds.


### Screenshots/Logs
Log:
(node:26564) UnhandledPromiseRejectionWarning: Error: SIP request made after call was destroyed
    at SipCall.request (C:\Users\tudor\Documents\Node\ring-local\node_modules\ring-client-api\lib\api\sip-call.js:117:35)
    at SipCall.sendKeyFrameRequest (C:\Users\tudor\Documents\Node\ring-local\node_modules\ring-client-api\lib\api\sip-call.js:188:21)
    at SipCall.<anonymous> (C:\Users\tudor\Documents\Node\ring-local\node_modules\ring-client-api\lib\api\sip-call.js:216:24)        
    at Generator.next (<anonymous>)
    at fulfilled (C:\Users\tudor\Documents\Node\ring-local\node_modules\ring-client-api\lib\api\sip-call.js:5:58)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:26564) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:26564) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

### Additional context
ffmpeg path is added to env variables

### Environment
<!-- ✍️edit: -->
 - OS: Windows 10 19043.1165
 - Node.js: v14.17.1
 - NPM: 7.18.1
 - ring-client-api: 9.21.0
 - ffmpeg: 4.4-essentials_build-www.gyan.dev
