The users should be able to join the BBB voice conference by dialing in the conference number and entering the voice bridge for the particular conference. They can join from any SIP client like a VOIP phone etc. provided that they know the dialin number and the voice bridge(aka extension) of the particular meeting.
To support this freeswitch of BBB should be registered with asterisk so that the external calls to asterisk will be routed to BBB's frees witch. More info - http://code.google.com/p/bigbluebutton/wiki/FAQ#How_do_I_forward_calls_from_my_Asterisk_server_to_FreeSWITCH_in
Once we have this setup then we need to allot extensions to meetings such that an extension can be occupied by only one meeting at a time and extensions are made available out side the duration of the meeting.
voice_extensions table holds the list of extension numbers. Typically there will be 10's or 100's of extensions available for the app to use. A live event can be started 30 minutes before the scheduled time and is expired after 30 minutes of scheduled end time. Just to have some buffer time and avoid overlaps, a live event can hold an extension from 1 hour before the scheduled start to 1 hour after the end time.
So, for a given voice extension and live event ASSIGNED_TIME_FRAME = (meeting scheduled start time - 1 hour TO meeting scheduled end time + 1 hour)
1. Creation cycle
2. Edit cycle
3. Delete
Table name - voice_extensions
Saves list of extension numbers. The data is populated from a csv file with a rake task.
| Column_name | type | Description |
|---|---|---|
| id | integer | primary key |
| number | integrer | The value of the extension number - (Ex- 85001) |
| active | boolean | If the extension number can be used for future meetings or not |
There are 3 tasks to add, inactivate and remove the voice extensions in the database table. They can be found in <RAILS_ROOT>/lib/taks/voice_externsions.rake
1. rake voice_extensions:populate[file_path,inactivate_rest] (populates a voice_extensions table with the actual voice extensions we use on that environment.)
file_path - the file path relative to Rails app directory. This file should contain all the extensions we need to populate. If the extensions are already in the table , they are activated.Default value is - db/voice_extensions.csv
Note -
inactivate_rest - Pass true if you want to inactivate the voice extensions which are in the table but not in the file “file_path” which is passed as first argument. If any extensions are being used for any future live events they will still remain active and a message will be displayed.
2. rake voice_extensions:inactivate[file_path] (Inactivates the voice extensions mentioned in the CSV file.)
file_path - the file path relative to Rails app directory. Default value is - db/voice_extensions_inactive.csv
3. rake voice_extensions:delete_inactive (Deletes the voice extensions which are inactive.)
1. Should allowing the users to join from phone/any sip client be an option while creating the live event ?