telefon-daemon zu 3PTY anstiften

Chatty

Aktives Mitglied
Mitglied seit
13 Mrz 2006
Beiträge
1,737
Punkte für Reaktionen
29
Punkte
48
Hi,

man kann über das AVM-WebIF ja einen Anruf auslösen. Hierzu wird z.B. folgende URL abgerufen:
http://fritz.box/home/home.lua?sid=12345&query=dial&action=dial&number=08005266625&xhr=1&t12345=nocache

Als Antwort sendet die FB:
Code:
{"html":"empty","dialingport":"Mobilteil 1","dialing":"08005266625"}
Den Anruf kann das WebIF auch wieder stoppen, so:
http://fritz.box/home/home.lua?sid=12345&query=dial&action=hangup&xhr=1&t12345=nocache

Wenn ich jetzt aber unterwegs bin, hätte ich als Dialingport lieber meine "mobile Festnetznr." - in diesem Fall also aus Sicht der FB eine Dreierkonferenz (3PTY, zwei externe Leitungen zusammenschalten). In diesem Fall muss nicht unbedingt jemand z.H. mithören :)

Um den Gedanken kurz zu Ende zu spinnen: Damit könnte ich dann über die Fernwartung so etwas ähnliches wie Callback auslösen - ob über Favoriten oder ein noch zu strickende Webseite, sei mal dahingestellt.

Ein "grep -r dialingport /usr/www" wird u.a. in der home.lua fündig. Darin finden sich u.a. die Zeilen:
Code:
if (box.get.query=="dial") then
if (box.get.action=="dial") then
require("fon_devices")
require("cmtable")
general.dbg_out("query dial"..fon_devices.GetFonDeviceName(tostring(box.query("[COLOR="red"]telcfg:settings/DialPort[/COLOR]"))).."\n")
box.out([["empty",]])
box.out([["dialingport":"]]..fon_devices.GetFonDeviceName(tostring(box.query("telcfg:settings/DialPort")))..[[",]])
box.out([["dialing":"]]..tostring(box.get.number)..[["]])
local saveset = {}
cmtable.add_var(saveset, "[COLOR="red"]telcfg:command/Dial[/COLOR]", box.get.number)
local err_code, err_mgs = box.set_config(saveset)
if err_code ~= 0 then
dbg.logit("err_code", err_code, "err_msg", err_msg)
end
elseif (box.get.action=="hangup") then
general.dbg_out("query dial Hangup!!\n")
require("cmtable")
box.out([["empty",]])
box.out([["dialingport":"",]])
box.out([["dialing":"hangup"]])
local saveset = {}
cmtable.add_var(saveset, "telcfg:command/Hangup", "")
local err_code, err_mgs = box.set_config(saveset)
if err_code ~= 0 then
dbg.logit("err_code", err_code, "err_msg", err_msg)
end
else
general.dbg_out("query dial unknown!!\n")
box.out([["empty",]])
box.out([["dialingport":"",]])
box.out([["dialing":"unknown"]])
end
Jemand eine Idee? ;)

[EDIT] Habe gerade die vollständige(?) Auflistung der telcfg-Parameter gefunden.
 
Zuletzt bearbeitet:

Chatty

Aktives Mitglied
Mitglied seit
13 Mrz 2006
Beiträge
1,737
Punkte für Reaktionen
29
Punkte
48
Hmm... das Interesse ist scheinbar gering - sind wohl wenig Leute mobil unter einer Festnetznr. erreichbar. Aber prinzipiell ließe sich o.g. "scripted callback" (ggü. "dialed callback") auch mit einem UMTS-Stick an der FB lösen, in dem eine SIM-Karte mit Freiminuten steckt. Ist zwar verschwenderisch, die Hälfte seiner Freiminuten für Selbstanrufe (Callback!) zu nutzen, aber bevor man zwei Handys mit sich herumschleppt...

Weiß jemand, ob die FB über CAPI DTMF-Steuerung erlaubt? Wie "drückt" man "R" an einem CAPI-Telefon? Wenn das ginge, könnte man einen Mini-Server programmieren, der dann über CAPI statt telcfg in etwa folgendes macht:

ctlmgr_ctl w telcfg command/Dial '030EIGENENR'
ctlmgr_ctl w telcfg command/Dial 'R040ZIELNR'
ctlmgr_ctl w telcfg command/Dial 'R4'

Das schlimme ist, die FB bietet intern bereits alle Funktionen, nur sind manche leider nicht von außen verfügbar.

EDIT:
Also CAPI kann ECT... und der Telefon-Daemon hat dafür sogar eine Funktion: DoECT.
 
Zuletzt bearbeitet: