Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion app/views/fsapi/pin_prompt.xml.builder
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ xml.document(type: 'freeswitch/xml') do
xml.action(application: 'sleep', data: '200')
xml.action(
application: 'play_and_get_digits',
data: '5 9 3 7000 # conference/conf-enter_conf_pin.wav conference/conf-bad-pin.wav pin \d+'
data: "#{Rails.configuration.x.voice_bridge_min} #{Rails.configuration.x.voice_bridge_max} " \
"3 7000 # conference/conf-enter_conf_pin.wav conference/conf-bad-pin.wav pin \d+"
)
xml.action(application: 'transfer', data: '${pin} XML public')
end
Expand Down
3 changes: 2 additions & 1 deletion app/views/fsapi/pin_reprompt.xml.builder
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ xml.document(type: 'freeswitch/xml') do
xml.action(application: 'sleep', data: '500')
xml.action(
application: 'play_and_get_digits',
data: '5 9 3 7000 # conference/conf-enter_conf_pin.wav conference/conf-bad-pin.wav pin \d+'
data: "#{Rails.configuration.x.voice_bridge_min} #{Rails.configuration.x.voice_bridge_max} " \
"3 7000 # conference/conf-enter_conf_pin.wav conference/conf-bad-pin.wav pin \d+"
)
xml.action(application: 'transfer', data: '${pin} XML public')
end
Expand Down
6 changes: 6 additions & 0 deletions config/application.rb
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,12 @@ class Application < Rails::Application
# The length (number of digits) of voice bridge numbers to allocate
config.x.voice_bridge_len = ENV.fetch('VOICE_BRIDGE_LEN', 9).to_i

# The length (number of digits) of voice bridge numbers to allocate
config.x.voice_bridge_min = ENV.fetch('VOICE_BRIDGE_MIN', 5).to_i

# The length (number of digits) of voice bridge numbers to allocate
config.x.voice_bridge_max = ENV.fetch('VOICE_BRIDGE_MAX', 9).to_i

# Whether to try to use the voice bridge number requested on the BigBlueButton create API call.
config.x.use_external_voice_bridge = ENV.fetch('USE_EXTERNAL_VOICE_BRIDGE', 'false').casecmp?('true')

Expand Down
4 changes: 3 additions & 1 deletion docs/dialin-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ Scalelite has some configuration options, set via environment variables, relatin

(These are also documented in the primary [README](../README.md).)

* `VOICE_BRIDGE_LEN`: The length (number of digits) of voice bridge numbers generated by Scalelite. Defaults to `7`. Shorter voice bridge numbers are easier to enter, but also easier to guess through random tries. Your BigBlueButton config must support the selected length.
* `VOICE_BRIDGE_LEN`: The length (number of digits) of voice bridge numbers generated by Scalelite. Defaults to `9`. Shorter voice bridge numbers are easier to enter, but also easier to guess through random tries. Your BigBlueButton config must support the selected length.
* `VOICE_BRIDGE_MIN`: Defaults to `5`. Should be decreased if `VOICE_BRIDGE_LEN` is set to a number below 5
* `VOICE_BRIDGE_MAX`: Defaults to `9`. Should be decreased if `VOICE_BRIDGE_LEN` is set to a number above 9
* `USE_EXTERNAL_VOICE_BRIDGE`: Whether or not to try to use the `voiceBridge` number passed by the BigBlueButton API client. Defaults to `false`. If your API client generates numbers compatible with your BigBlueButton configuration, you can change this to `true` to use them. Note that Scalelite will ignore the voice bridge number provided, and generate a new one, if the number is already in use by a different meeting.
* `FSAPI_PASSWORD`: Password (for "Basic" authentication) to access the freeswitch dialplan API. Default is to use the first `LOADBALANCER_SECRET` as the password. You can set this to the empty string to disable authentication.
* `FSAPI_MAX_DURATION`: Maximum duration for voice calls handled by the freeswitch dialplan integration in minutes. Defaults to `MAX_MEETING_DURATION` if that is set, otherwise no limit. You probably want to set a limit here to ensure you do not have excess expenses due to people not hanging up calls.
Expand Down