Retrieve object from CPE without saving it to DB

George Chelidze george.chelidze at magticom.ge
Fri Apr 27 02:16:05 EDT 2018


Hi,

The task is to find a device behind a CPE by it's mac address. What I
did was putting the following provision:

let now = Date.now();
declare("InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries",
{value: now});
declare("InternetGatewayDevice.LANDevice.1.Hosts.Host.*.*", {path:now,
value: now});

and bind it with a preset bound to "2 PERIODIC". That way devices behind
CPE's refresh every PeriodicInformInterval, so we have a snapshot of
currently connected devices in database.

There are several problems with this approach:

1. Signaling increases between an ACS and a CPE. This one seems to be
unavoidable as an ACS has to retrieve this information anyway.

2. If there are many devices behind a single CPE, an Object representing
a CPE in mondodb becomes huge, so operations for saving/querying a DB
become slow.

3. While we have a snapshot of currently connected devices in mongodb,
it's just a snapshot, so we have to catch a moment when a particular
device (the one we are looking for) is connected to the network.

What I decided to do is to extend the provision displayed above to
iterate through all host entries returned from a CPE and if it's
MACAddress field matches the mac I am looking for, tag a CPE with
something like 'Tag.EVIL-MAC-LIVES-HERE'. This way I can solve problem
number 3, but my main concern is problem number 2:

In general, is it possible to retrieve some object from a CPE and use it
temporarily in provision without saving it to mongodb? (In my case, it
doesn't make sense to save this huge amount of data to DB)

Thanks in advance,

George Chelidze





More information about the Users mailing list