INAPN

From Bob's Basement

Jump to: navigation, search

pasroaccnaa

Contents

Introduction

When working on the bot, there were many features that I found I could add to Asterisk too. As I thought about it more, I realised that I could add a web interface too and email. So, I decided to bring it all together under on roof, to save duplication. These pages will be more feature centric than interface centric.

Reminder

Inputs

IRC

Jam is currently capable of scheduling IRC reminders. It could also be expanded to deliver messages via Asterisk, web, email and SMS. Need to add support for the Reminder DB.

Web

Create a web page to schedule reminders. Allow uploading wav files for Astersik or using Festival to convert text to speach.

Asterisk

Due to the limited nature of the Asterisk telephone interface, this is going to be Asterisk only.

Email

Email can probably be processed via Jam

SMS

We can do something with this when we get a SMS gateway :-)

Outputs

IRC
Web
Asterisk
Email
SMS

Reminder DB

The centre of the universe! The place where reminderes are stored.

<ID>:<Type>:<Time>:<message>

ID - Unique reference number
Type - IRC, WEB, AST, EML, SMS
Time - Number of sends since the Epoch
Message - Message to be reminded

Jukebox

There is an ICEcast streaming server running on Hopper. The idea is to allow this to be user controllable with file uploads via HTTP and FTP, possible stream relaying and Web/Jam/Email/Asterisk control.

IRC

An IRC interface is under development using the XMMS2 PERL API. This is currently controlled by a bot called peel in #bobsbasement.

Current commands are:

!jb next
!jb prev
!jb info
!jb url
!jb help

Once bot is production ready, the bot will be merged into Jam.

FTP

The plan is to allow file uploads via FTP to be included into the playlist

HTTP

The plan is to have a web control panel which will also allow file uploads. This will probably be done with the PERL API and mod_perl.

Asterisk

The plan is to allow connection to the stream via the Bob's Basement Asterisk server, both as a client and a source.

Server monitoring

Server monitoring will be performed by the bot with alerts being send out via the various outputs.

Ping monitoring

Apache

MySQL

FTP

Asterisk

Postfix

Mailman

CPU usage

Memory useage

Disk usage

Bandwidth usage

Log file monitoring

Wiki Management

Another role of Jam is to manage the Wiki. This includes automatically updating meetings, updating ideas lists and making sure that all wiki pages are protected.

I'm currently considering two methods for doing this. One is to use the MediaWiki HTTP API. The other is to write to the database directly.

Protecting pages

The first step in protecting a page is to add "edit=autoconfirmed:move=autoconfirmed" to the page_restrictions field in the page table.

More to follow

Personal tools