Bitswitcher Call Monitor

bscallmon is a small gui tool that allows you to view the list of incoming and
outgoing phone calls on routers running the
BitSwitcher firmware without having to
log into the router's web interface.
Features
- Downloads and displays the lists of incoming and outgoing calls.
- Call lists are stored locally, so the list size is unlimited, whereas
the router's internal list size is limited to 20 calls.
- Phone book and custom icons per number.
- Optionally the application can be minimized into the system tray (X11 and windows only).
- Optionally a notification balloon can be shown when incoming calls arrive (X11 and windows only).
- Platform independent - runs on unix and windows systems.
System requirements
- Python and Tkinter 2.4 or higher.
- Tcl / Tk 8.4 or higher.
- Tktreectrl 2.1 or higher.
- For tray icon support you will also need
TkTray on X11 or
WinIco on windows systems.
- A working ssh client; on unix systems ssh should be installed by default.
For windows systems I recommend Cygwin
which is free and easy to install.
Installation
No installation necessary. Simply unpack the 7z archive and run bscallmon.py .
Configuration
Configuration is done directly from bscallmon.py, just open the file with a decent
text editor and have a look at the configuration section at the top of the file;
I hope everything is self-explanatory.
On multi-user systems the best bet is to copy the complete bscallmon folder
into any user's home directory and run bscallmon.py from there.
Windows users who want to get rid of the ugly console window need to rename bscallmon.py
into bscallmon.pyw .
Bugs
bscallmon does nothing to help you set up the passwordless login to your router,
so before you run the program for the first time, it is a good idea to verify that
the passwordless login actually works. The command bscallmon uses to retrieve the
call lists is:
# ssh -o ConnectTimeout=10 -l root -i IDFILE /bin/bcm_helper -c 1
where IDFILE is of course the file containing your private dsa key.
In order to setup passwordless ssh login, you typically need to create your
dsa key pair with
# ssh-keygen -t dsa
and then copy the contents of the public key file into the "authorized keys" field
on the SSH page of BitSwitcher's web interface.
Other known issues:
- A few oddities with BitSwitcher are not handled gracefully:
- In some cases the ssh login fails (although the internet connection through
the router works without problems), it was not even timed out.
In this case the gui will hang with a "watch" mouse pointer until
it is killed. This happened sometimes after the computer was rebooted,
I was not able to reliably reproduce this behavior, though.
- Sometimes when a incoming phone call is not answerded, the router seems to
fail to send a disconnect event after the caller hung up (or maybe bscallmon
fails to detect it?), which causes the
notification balloon to remain on the screen, until bscallmon closes it
after 30 sec.
- When clearing the call list, all entries are removed from the local log file
and from the router's internal list, however when a new call arrives, the
router will restore the previously deleted calls. There is no way to permanently
delete the router's internal list but to reboot the router, which will delete
the call list in any case.
- There is no way to determine the tray icon's screen position with winico,
so on windows systems the screen coordinates for the notification balloon
must be given exdplicitely in the configuration section, otherwise it will
always be displayed in the bottom-right corner, possibly underneath the taskbar.
In case you encounter problems, do not hesitate to contact me:
Michael Lange <klappnase (at) freakmail (dot) de>
News
Dec. 15 2010: bscallmon-0.1
Initial release.
License
bscallmon is licensed under the terms of the
Gnu General Public
License.
Download
bscallmon-0.1.7z (53 kB)