Realtime MeetMe Conferences with MySQL

From JoatWiki
Jump to: navigation, search

Realtime MeetMe Conferences with MySQL

(28 Sep 2008) - Misc. notes in adding the realtime capability to MeetMe conference room management. I won't post software here as conference room management is part of my business (it's not that hard to write your own).

extconfig.conf

1) Add the following line to /etc/asterisk/extconfig.conf

 meetme => mysql,asterisk,rooms

MySQL

1) Create the following table in MySQL's asterisk database

create database asterisk;
use asterisk;
create table rooms (
  confno varchar(80) not null default 0,
  pin varchar(20),
  adminpin varchar(20),
  members int not null default 0,
  primary key (confno)
);

Many other online examples include the two fields "username" and "domain". These are not needed by Asterisk. They are apparently artifacts from a separate third-party program.

The "create" line (above) can be ignored if the database already exists.

2) Add an entry to the rooms database.

insert into rooms(confno,pin) values(25,1234)

res_mysql.conf

1) Edit /etc/asterisk/res_mysql.conf so that contains the following:

[general]
dbhost = localhost
dbname = asterisk
dbuser = myuser
dbpass = mypass
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock

Change dbuser and dbpass to whatever username and password you want. Besure to use them in granting database access permissions in MySQL. Example:

grant all on asterisk.* to myuser@localhost identified by "mypass";

Be sure that dbsock points to the same file as what's listed in the socket line in /etc/my.cnf. Ubuntu (and probably Debian) users should make sure that dbsock points to the same file as what's listed in /etc/mysql/debian.cnf.

extensions.conf

For testing purposes, add a line to your dialplan which allows you to access the conference room:

exten => 25,1,MeetMe(25) 

Don't forget to restart the Asterisk service. Then dial 25 (or whatever extension you set up in the above line) and you should hear Allison ask you for the PIN number.

Sources:





Comments:

  • thesohogeek Says:

    Hi This is very useful. However, I'm not sure what to add to my extensions table (this is also set up for realtime) to kick in the MeetMe app. I tried all sorts of variations but none result in the call being handled by MeetMe. Can you add this, as the example above seems to assume that meetme is running under realtime, while extensions are hard coded in extensions.conf - which isn't a very likely implementation surely? Thanks, John

  • joat Says:

    John, true. Yours is the more likely scenario. I've been working to write this up as a toolkit as the pieces can be put together in a number of ways. The extensions can be hardcoded into extensions.conf, as they're not likely to change. If I were writing a single application, I'd probably put it in realtime extensiosn for ease of install ("here, just run this script"). I'll put this on my list of things to do.

Leave a Comment

Personal tools