[asterisk-dev] RFC: MeetMe RealTime enhancements
Dan Austin
Dan_Austin at Phoenix.com
Tue Apr 24 17:27:32 MST 2007
For a couple of years now I have been maintaining
an out-of-tree application to provide schedulable,
resource reserved conferencing. The app only
checks and enforces limits, then passes control
to app_meetme.
I just noticed that the RealTime patch for
app_meetme was merged before 1.4 was released, and
thought it was about time I got off my duff and
merged my scheduling features.
Before I start coding, I'd like to get some feedback
on my approach-
1. Make it optional. If an option in the [general]
section of meetme.conf (scheduled =) is set to yes use
the new logic, otherwise use the RealTime query as it
exists today.
2. Extend the meetme database definition as follows:
CREATE TABLE `booking` (
`bookId` int(10) unsigned NOT NULL auto_increment,
`clientId` int(10) unsigned default '0',
`confno` varchar(30) default '0',
`userpin` varchar(30) NOT NULL default '0',
`modpin` varchar(30) NOT NULL default '0',
`startTime` datetime NOT NULL default '0000-00-00 00:00:00',
`endTime` datetime NOT NULL default '0000-00-00 00:00:00',
`dateReq` datetime NOT NULL default '0000-00-00 00:00:00',
`dateMod` datetime NOT NULL default '0000-00-00 00:00:00',
`maxUser` varchar(30) NOT NULL default '10',
`status` varchar(30) NOT NULL default 'A',
`confOwner` varchar(30) NOT NULL default '',
`confDesc` varchar(100) NOT NULL default '',
`uFlags` varchar(10) NOT NULL default '',
`mFlags` varchar(10) NOT NULL default '',
`sequenceNo` int(10) unsigned default '0',
`recurInterval` int(10) unsigned default '0',
PRIMARY KEY (`bookId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=145 ;
A number of these columns are not needed directly by
app_meetme, but facilitate scheduling. These columns
would be used if scheduling was enabled:
confno userpin modpin
startTime endTime maxUser
uFlags mFlags
Legacy RealTime (scheduled = no(default)) would use these columns:
confno userpin modpin
uFlags mFlags
I already have a good number of people using my scheduler,
and they would need to rename some columns in their databases.
The carrot to encouraging that would be better integration
and RealTime opens up a whole range of DB engines. My
app is currently supported MySQL only, but the scheduler
interface is DB agnostic.
After reviewing the RealTime support code in app_meetme,
I believe I can localize all changes to find_conf_realtime(),
and do it in about 20ish lines of code.
Thoughts?
More information about the asterisk-dev
mailing list