-----Original Message----- From: Karsten Keil [mailto:kkeil@suse.de] Sent: Montag, 8. Juli 2002 16:16 To: suse-isdn@suse.com Subject: Re: [suse-isdn] Re: isdnlog
On Mon, Jul 08, 2002 at 03:58:25PM +0200, Peter Mack wrote:
Karsten Keil schrieb am Montag, den 08. Juli 2002:
[..]
Hmm, dann weiss ich auch nichts mehr, normalerweise werden dann aber alle ausgehenden Gespraeche falsch geloggt (Durch die zusaetzliche 0).
Was ich auch nicht verstehe ist, das am externen Bus
Jul 8 08:37:17 athlon kernel: isdn_tty: call from 4191756xx02 -> 850000 ignored Jul 8 08:37:17 athlon isdnlog: Jul 08 08:37:17 * Call to tei 127 from +41 9/1756xx02, Schweiz, Bellinzona on +49 6181/850000, Hanau RING (Speech)
die nummer ganz ohne fuehrende 0 erscheint und als Schweiz geloggt wird, am internen ploetzlich zwei fuehrende Nullen erscheinen und es nicht als Ausland geloggt wird.
Tja, wenn Du es nicht verstehst, wer denn dann? ;-))
Ich habe mit isdnlog nicht viel zu tun.
Aber mal Spa beiseite. Ich mu da wohl noch ein bisserle Diagnostik betrieben! :-( Als Anfang habe ich mal in die isdn.conf folgende Zeilen eingetragen
CALLFILE = /var/log/caller.log CALLFMT = %b %e %T %t %B %N0 %n0 %c0
und den isdnlog neu gestartet. Jetzt bekomme ich ein extra Log-File
mit
"unverflschten" Nummern.
Jetzt hat mich leider noch Niemand aus dem Ausland angerufen deshalb bin ich noch nicht weitergekommen. Festgestellt habe ich nur, da auch alle inlndischen Nummern _ohne_ fhrende Null geloggt werden!
Das ist normal am Amtsanschluss. Die ankommenden Nummern sind immer ohne fuehrende Null, aber mit Vorwahl (auch bei Ortsgespraechen). Internationale haben dagegen dann 00 davor, dachte ich zumindest, habe jetzt aber mal bei mir nachgeschaut, ich hatte letztens einen Anruf aus den niederlanden, da gab es auch keine 00, dan steht das im Nummern Format selbst mit drin und die TK Anlage setzt das in 00 um.
Kann sein das sich das irgendwann geaendert hat.
Ne hat sich nicht. Der Netzanbieter sendet dann in der SETUP- Messages/CallingPartyNumber TypOfNumber international oder unknown
-- Karsten Keil SuSE Labs ISDN development
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-isdn-unsubscribe@suse.com Um eine Liste aller verfgbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-isdn-help@suse.com
On Mon, 08 Jul 2002, Hans-Juergen Brand wrote:
Das ist normal am Amtsanschluss. Die ankommenden Nummern sind immer ohne fuehrende Null, aber mit Vorwahl (auch bei Ortsgespraechen). Internationale haben dagegen dann 00 davor, dachte ich zumindest, habe jetzt aber mal bei mir nachgeschaut, ich hatte letztens einen Anruf aus den niederlanden, da gab es auch keine 00, dan steht das im Nummern Format selbst mit drin und die TK Anlage setzt das in 00 um.
Kann sein das sich das irgendwann geaendert hat.
Ne hat sich nicht. Der Netzanbieter sendet dann in der SETUP- Messages/CallingPartyNumber TypOfNumber international oder unknown
So, nun ist es schon wieder eine Woche her... Ich habe mal das isdnlog mit div. Debug-Optionen laufen lassen. Und einige Anrufe sowohl am internen als auch externen S0-Bus geloggt. Auf dem externen S0 kommen die Nummern _immer_ ohne führende Nullen!! Es wird "nur" durch ein zusätzliches Flag signalisiert ob es sich um eine "internationale" Nummer handelt oder nicht. Die Telefonanlage (Agfeo AS32) modifiziert das liebevoll und setzt bei internationalen Nummer zwei Nullen davor und bei nationalen eine Null. Das "international Flag" wird immer gelöscht! Tja, und damit kommt das isdnlog nu überhaupt nicht klar. Leider habe ich keine Möglichkeit gefunden mit der ich der Anlage sagen kann, daß sie die Modifikationen unterlassen soll. Da ich die ISDN-Karte weiterhin am internen SO betreiben will habe ich wohl nur zwei Möglichkeiten: 1) ich muß mit den falsch interpretierten Nummern leben. oder 2) ich kann dem isdnlog sagen, daß es die Nummern doch richtig auswerten soll. Hat zu Punkt zwei vielleicht jemand noch eine Idee? Gruß Peter Ähm, für alle die den Thread bisher nicht verfolgt haben: Es gaht darum das isdnlog an meinem internen S0 alle ausländischen Anrufe fälschlich als inländische Anrufe loggt. Dabei kommt dann so ein Unsinn heraus wie: call from 0041223xxxxxx wird als from +49 4122/3xxxxxx, Uetersen on interpretiert.
Hi Leopold! On Mon, 15 Jul 2002, Leopold Toetsch wrote:
Peter Mack wrote:
2) ich kann dem isdnlog sagen, daß es die Nummern doch richtig auswerten soll.
Wie gesagt: $ man isdnlog /trim
Wenn die Anlage auch die oc3-Werte verstümmelt, kann das aber auch fehlschlagen.
Die oc3-Werte habe ich natürlich mit den "international Flag" gemeint!! Also am internen S0 ist (oc3 & 0x70) immer 0x40 egal ob national oder international! Am externen S0 ist (oc3 & 0x70) bei internaltional 0x10 national 0x20 Das macht nach der case-Anweisung in processor.c - buildnumber auch Sinn. ;-) Ich denke mal da wird trim nicht viel helfen, da dabei ja nur eine fixe Anzahl Stellen (Nullen) abgetrennt wird. Wenn ich mit den vorhanden Optionen nicht hinkomme muß ich mir den isdnlog Source modifizieren: wenn 00xx dann international wenn 0xx dann national Dafür ist er ja da. :-) Gruß Peter
Hi Peter
Hi Leopold!
Also am internen S0 ist (oc3 & 0x70) immer 0x40 egal ob national oder international!
Dann ist es klar, was passiert: case 0x40 : if (*num != '0') { /* 100 Subscriber number */ strcpy(result, mynum); *local = 1; } else { strcpy(result, mycountry); while (*num == '0') num++; } /* else */ break; D.h. du bekommst _immer_ +49 (mycountry) vor die Nummer. Probier mal im else-Zweig oben: if (num[0] == '0' && num[1] == '0') strcpy(result, countryprefix) else strcpy(result, mycountry); while (*num == '0') num++;
Ich denke mal da wird trim nicht viel helfen, da dabei ja nur eine fixe Anzahl Stellen (Nullen) abgetrennt wird.
Ja, stimmt, mit »trim« geht's nicht.
Wenn ich mit den vorhanden Optionen nicht hinkomme muß ich mir den isdnlog Source modifizieren: wenn 00xx dann international wenn 0xx dann national
Genau.
Dafür ist er ja da. :-)
So isses.
Gruß
Peter
Servus, leo
Moin Leopold! Leopold Toetsch schrieb am Montag, den 15. Juli 2002:
Probier mal im else-Zweig oben:
if (num[0] == '0' && num[1] == '0') strcpy(result, countryprefix) else strcpy(result, mycountry); while (*num == '0') num++;
Funktioniert prima! Danke! Peter
Hallo alle! Mein isdnlog hoert manchmal einfach auf zu loggen. Erst hatte ich es in /etc/inittab mit respawn eingetragen, da bekam ich aber im Kernel Log immer Nachrichten wie "isdnlog is respawning too fast, disbled for 5 minutes". Wieso respawned er? Wer killt isdnlog? Dann stellte ich auf once um, so dass isdnlog nur einmalig gestartet wird. Die "respawning too fast" nachrichten sind weg, leider hoert aber isdnlog irgendwann einfach auf, die Anrufe zu speichern. Ist es tot? Ein ps zeigt: /sbin/isdnlog -f/etc/isdn/isdnlogoptions /dev/isdnctrl0 mit Status Sleeping (S) Also weder tot noch Zombie. Ich muss es killen und neu starten. Dann geht wieder alles. Komisch. Wieso stellt es ploetzlich das logging ein? Hat jemand aehnliche Probleme gehabt, wie habt Ihr sie geloest? Ich bin fuer jeden Hinweis dankbar. Mit freundlichen Gruessen Daniel Geske -- Daniel Geske e-mail: daniel.geske@yoc.de
participants (4)
-
Daniel Geske
-
Hans-Juergen Brand
-
Leopold Toetsch
-
Peter Mack