On Fri, 19 Jul 2002 11:24:59 +0200 (CEST)
"Heinz W. Pahlke"
Hallo Bernd,
On 17-Jul-2002 Bernd Obermayr wrote:
[viel Code]
Vielen Dank. Leider bekomme ich nun die Fehlermeldung:
"wrong # args: should be 'puts ?-nonewline? ?channelld? string'"
Aber die Ausgabe im xterm hat mich auf etwas viel gravierenderes aufmerksam gemacht: Wenn keine Verbindung zustande kommt, dann liefert $is(phone) natuerlich nichts zurueck, denn aus isdninfo kann die Telefonnummer logischerweise nur bei bestehender Verbindung ausgelesen werden :-(
Hi, ich vermute jetzt mal Du hast puts $is(phone) geschrieben. Wenn is(phone) dann leer ist, meckert tcl natuerlich. Deshalb ja mein Beispiel: puts "proc abwahl::is(phone) = $is(phone)" Da kann das nicht passieren. Noch beeser ist natuerlich sowas: if [info exists $is(phone)] { ##tu dies } Es geht auch wie in Bash: if { "X$is(phone)" != "X" } { ##tu dies }
Ich muss also entweder die uebergebene Telefonnummer und das entsprechende ippp-Device in eine Variable schreiben oder den Namen des jeweiligen Waehlscripts in einer Variablen sichern und zum auflegen benutzen. Letzteres duerfte sinnvoller sein, da die Waehlscripte ja auch ohne isdnmonp benutzt werden koennen.
Aber wie ich das umsetzen kann, muss ich mir erst einmal ueberlegen.
Ja, ich hab das bei mir so geloest, dass ich die isdn - Configfiles parse und mir dort die entsprechenden Info's hole. Konfiguration an _einer_ Stelle ist ein wichtiges Prinzip! Auch wenn's manchmal mehr Aufwand ist. Nochmal ;) Schau Dir http://illuminatus.bei.t-online.de/ICC [1] an, da sind alle Scripte drin, die ich zum Thema ISDN programmiert habe. IMHO auch die Loesung Deines Problems ;) Ich bin damals mit ISDN so brutal auf dem Schlauch gestanden, dass ich mir das alles erarbeitet habe, mittlerweile rennt das bei mir seit Anfang 1998. Vieles ist redundant, auch deshalb, weil sich i4l weiterentwickelt hat. Die Info's die ich damals so muehevoll aus /dev/isdninfo gekramt habe, gibt isdnctrl mittlerweile freiwillig her. isdnctrl list all, isdnctrl eaz all, isdnctrl dialmode all, usw. Trotzdem ist es spannend, mit der Shell /dev/isdninfo auszulesen ;) [1] Seit gestern Abend wieder online. -- so long... bernd ------------------------------------------------------------------------