Konfigurationsbeispiele für extern erreichbare Konferenznummern

Statische Konferenzeinrichtung über meetme.conf

MeetMe ist deprecated und wird ab UCware 4.5 nicht mehr untersützt. Für ein aktuelles Beispiel siehe ConfBridge

In der Datei /opt/ucware/etc/asterisk/meetme.conf lassen sich statische Konferenzräume mit dazugehörigem Pin konfigurieren. Im folgenden Beispiel wird der Konferenzraum „400“ mit der Zugangspin „4321“ eingerichtet.

[rooms]
conf => 400,4321

Damit ist der Konferenzraum jedoch noch nicht telefonisch erreichbar.

Anschließend muss für die internen Anrufer in der Datei /etc/ucware/asterisk/extensions-from-internal-custom.lua sowie für die externen Anrufer in der Datei /etc/ucware/asterisk/extensions-to-internal-custom.lua folgender Block hinzugefügt werden, mit entsprechender Anpassung des Contexts:

local Channel = require 'core.channel'

local _M = {}
_M.extensions = {
        ["from-internal-custom"] = {

		["400"] = function(context,extension)
			Channel["CHANNEL(language)"]="de"
			app.Answer()
			app.Wait(1);
			app.MeetMe(400,"coIT");
			app.Hangup();
			end;
	}
}

return _M

Hier wird ermöglicht über die Durchwahl 400 den Konferenzraum „400“ zu betreten.

Dynamische Konferenzeinrichtung mit Konferenzeröffnung durch Konferenz-Administrator

Im folgenden ist eine Konfiguration über die meetme.conf Datei nicht notwendig. Es existieren in dieser Konfiguration keine statischen Konferenzen.

Es werden 2 Durchwahlprefixe zur Verfügung gestellt, 998* (für die Erstellung der Konferenz) sowie 997* für die Nutzer der jeweiligen Konferenz. Der Administrationspin für die Erstellung einer Konferenz ist in diesem Beispiel „4321“.

Nutzungsbeispiel

Der Konferenzraum „9981“ soll eröffnet werden. Der Konferenzadministrator wählt nun die Rufnummer 9981 und wird anschließend nach dem Admin-Pin gefragt (hier: 4321). Nach Eingabe des Pins und Bestätigung mit der # Taste wird nach einem Wunsch-Pin zum Betreten der Konferenz gefragt. Hier kann entweder (bestätigt nur mit #) ohne Pin oder nach Eingabe der Pin die Konferenz erstellt und anschließend betreten werden. Nutzer der Konferenz können anschließend über die Durchwahl „9971“ die eben erstellte Konferenz betreten.

Sobald eine Konferenz eröffnet wurde muss mindestens 1 Teilnehmer die Konferenz betreten haben. Falls alle Teilnehmer die Konferenz verlassen (inklusive Admin) wird der Konferenzraum geschlossen.

Falls keine Konferenz erstellt wurde kann der Konferenzraum nicht über die jeweilige 997* betreten werden. Dieses Verhalten soll Missbrauch von Konferenzräumen umgehen. Falls bereits eine Konferenz erstellt und eröffnet wurde kann über die „9981“ kein neuer Konferenzpin gesetzt werden.

In diesem Beispiel würden somit als zu aktivierende Konferenzräume 9970-9979 zur Verfügung stehen.

Einrichtung

Diese Änderungen müssen für die internen Anrufer in der Datei /etc/ucware/asterisk/extensions-from-internal-custom.lua durchgeführt werden. 4321 ist das zu ändernde Admin-Kennwort:

local Channel = require 'core.channel'

local _M = {}
_M.extensions = {
        ['from-internal-custom'] = { 

                ['_998z'] = function(context,extension)
                        Channel['CHANNEL(language)'] = 'de'
                        app.Answer()
                        app.Wait(0.5)
                        app.Authenticate('4321')
                        app.MeetMe(string.sub(extension, 4), 'cADT')
                        app.Hangup()
                end;
                ['_997z'] = function(context, extension)
                        Channel['CHANNEL(language)'] = 'de'
                        app.Answer()
                        app.Wait(0.5)
                        app.MeetMe(string.sub(extension, 4), 'cxAT')
                        app.Hangup()
                end;
        }
}

return _M

Für die externen Anrufer kann, wenn gewünscht, die gleiche Funktionalität in der /etc/ucware/asterisk/extensions-to-internal-custom.lua bereitgestellt werden.

local Channel = require 'core.channel'

local _M = {}
_M.extensions = {
        ['to-internal-custom'] = {
                include = {'from-internal-custom'}
        }
}

return _M