Hallo,
ich versuche Callthrough zu benutzen, aber die Authentisierung funktioniert nicht. Nach einer 1 Sekunde Wartezeit, legt die Anlage direkt wieder auf.
Ich habe zwei Zugangsberechtigungen angelegt, eine mit Login & PIN, eine nur mit PIN. Auf der Konsole bekomme ich folgendes angezeigt:
2013-07-24 07:53:13.096894 [DEBUG] switch_cpp.cpp:1274 ### [3ad56e56-4d21-48df-8f63-a89fd99a62e8] CALLTHROUGH_AUTHENTICATE - access_authorizations: 2
2013-07-24 07:53:13.096894 [DEBUG] switch_cpp.cpp:1274 ### [3ad56e56-4d21-48df-8f63-a89fd99a62e8] CALLTHROUGH_AUTHENTICATE - No such login, try PIN
2013-07-24 07:53:13.096894 [DEBUG] switch_cpp.cpp:1274 ### [3ad56e56-4d21-48df-8f63-a89fd99a62e8] CALLTHROUGH_AUTHENTICATE - No login, wrong PIN - giving up
2013-07-24 07:53:13.096894 [NOTICE] switch_cpp.cpp:1274 ### [3ad56e56-4d21-48df-8f63-a89fd99a62e8] CALLTHROUGH - authentication failed
2013-07-24 07:53:13.096894 [INFO] switch_cpp.cpp:1274 ### [3ad56e56-4d21-48df-8f63-a89fd99a62e8] DIALPLAN end - caller_id: 0123456789 "", destination: callthrough=1/@1, number: 444, result: 403 Authentication failed
EXECUTE sofia/gemeinschaft/0123456789@1.2.3.4 respond(403 Authentication failed)
Es werden also meine zwei Zugangsberechtigungen gefunden (1. Logeintrag). Soweit ich das Lua Script (callthrough.lua, Funktion authenticate ) verstehe, müsste danach aber zu jeder Zugangsberechtigung eine Debugmeldung kommen, was nicht passiert.
Hat jemand eine Idee was da falsch läuft / was ich anders einstellen muss?
Danke & Gruß
Gerald
--- callthrough.lua~ 2013-07-24 20:47:27.000000000 +0200
+++ callthrough.lua 2013-07-24 21:40:34.368176795 +0200
@@ -53,8 +53,8 @@
self.log:debug('CALLTHROUGH_AUTHENTICATE - access_authorizations: ', #self.access_authorizations);
for index, authorization in ipairs(self.access_authorizations) do
- self.log:debug('CALLTHROUGH_AUTHENTICATE - access_authorizations index: ', index);
- if authorization.phone_number then
+ self.log:debug('CALLTHROUGH_AUTHENTICATE - access_authorizations index: ', index, ' phone: ', authorization.phone_number, ' pin: ', authorization.pin, ' login: ', authorization.login );
+ if authorization.phone_number and authorization.phone_number ~= "" then
if authorization.phone_number == caller.caller_phone_number then
if authorization.pin and authorization.pin ~= "" then
if caller.session:read(authorization.pin:len(), authorization.pin:len(), "ivr/ivr-please_enter_pin_followed_by_pound.wav", 3000, "#") ~= authorization.pin then