Dialplan CC URL-Aufruf per Nebenstelle
Beschreibung
Soll vor dem Rufaufbau an eine interne Nebenstelle ein bestimmtes Ereignis oder eine Abfrage (cURL, bash-Script) ausgeführt werden, so ist dies ab LocaPhone Version 5.5.2 realisierbar.
Hierzu muss eine Nebenstelle in einem 'custom context' angelegt werden. Diese Nebenstelle kann dann als Vermittlungsziel angegeben werden.
LocaPhone Version
VERSION 5.5.2 RELEASE 4 RELEASE 3 RELEASE 2
Konfiguration
Die folgenden Änderungen beziehen sich auf LocaPhone Version 5.5.2. Ältere Versionen von LocaPhone unterstützen die geänderte Funktionalität nicht!
Code-Anpassungen von LocaPhone 5.5.2
diff --git a/opt/locaphone/etc/asterisk/extensions.lua b/opt/locaphone/etc/asterisk/extensions.lua
index 0aa5e3f..33ced0f 100755
--- a/opt/locaphone/etc/asterisk/extensions.lua
+++ b/opt/locaphone/etc/asterisk/extensions.lua
@@ -560,7 +560,7 @@ extensions = {
end
-- remove all forwarders on blind transfer
- if Channel['SIPTRANSFER'] and Channel['SIPTRANSFER'] == "yes" then
+ if (Channel["CLEAR_FORWARDERS"] == "true") or (Channel['SIPTRANSFER'] and Channel['SIPTRANSFER'] == "yes") then
-- store forwarder, maybe the blind transfer will fail
if Channel['BLINDTRANSFER'] and Channel['BLINDTRANSFER'] ~= "" then
diff --git a/opt/locaphone/etc/asterisk/lua/exttype/custom.lua b/opt/locaphone/etc/asterisk/lua/exttype/custom.lua
index cc6281a..c8c75e3 100644
--- a/opt/locaphone/etc/asterisk/lua/exttype/custom.lua
+++ b/opt/locaphone/etc/asterisk/lua/exttype/custom.lua
@@ -105,6 +105,9 @@ function _M:getExtFromDB ( customExtension, user )
result = Channel['DIALPLAN_EXISTS(to-internal-custom,' .. customExtension .. ')']
customContext = "to-internal-custom"
+ if Channel["CLEAR_FORWARDERS"]== "true" then
+ result = "0"
+ end
end
Custom-Dialplan erstellen
Für die gewünschte Nebenstelle wird der Custom-Context erstellt. Dieser wird immer vor dem direkten Ruf an die Nebenstelle ausgeführt.
Parameter | Beschreibung |
---|---|
NEBENSTELLE | Zielrufnummer (alternativ _X. für alle Nebenstellen auf dem System) |
CURLABFRAGE | cURL-Abfrage einfügen, benötigte Parameter (z.B benötigte Authentifizierung) dahinter setzen |
/etc/locaphone/asterisk/extensions-to-internal-custom.ael
<NEBENSTELLE> => {
Set(CLEAR_FORWARDERS=true);
Set(CURLOPT(hashcompat)=yes);
Set(CURLOPT(httptimeout)=3);
Set(CURLOPT(conntimeout)=3);
Set(HASH(curl)=${CURL("<CURLABFRAGE>,<PARAMETER>")});
jump ${EXTEN}@to-internal-users;
}
Nach den Änderungen muss der Dialplan neu geladen werden!
/etc/locaphone/asterisk/extensions-to-internal-custom.ael
/opt/locaphone/sbin/gs-ast-dialplan-reload --generate