Skip to content

Provides a Node.js wrapper for the call monitor api of the AVM Fritz!Box.

License

Notifications You must be signed in to change notification settings

nikeee/fritz-callmonitor

Repository files navigation

fritz-callmonitor Build Status npm version Dependency Status License

Provides a Node.js wrapper for the call monitor api of the AVM Fritz!Box. Written in TypeScript.

Installation

npm install fritz-callmonitor

TypeScript Usage

You need TypeScript 2. Just install the NPM package and you're ready to go!

Enabling the API

The network API is disabled by default. To use this, call #96*5* on a phone which is managed by the FRITZ!Box.

Sample

"use strict";

import { CallMonitor, EventKind } from "fritz-callmonitor";

const cm = new CallMonitor("192.168.178.1", 1012);

cm.on("ring", rr => {
	console.dir(rr);
	console.log(`${rr.caller} calling...`);
});

cm.on("call", rr => console.dir(rr));
cm.on("pickup", rr => console.dir(rr));
cm.on("hangup", rr => console.dir(rr));

cm.on("phone", evt => {
    // gets called on every phone event
    switch(evt.kind) {
        case EventKind.Ring:
        case EventKind.Call:
            console.log(`${evt.caller} -> ${evt.callee}`);
            break;
    }
});

cm.on("close", () => console.log("Connection closed."));
cm.on("connect", () => console.log("Connected to device."));
cm.on("error", err => console.dir(err));

cm.connect();