This commit is contained in:
Matthias Urlichs 1996-01-02 17:02:25 +01:00 committed by Harald Welte
parent 589009f710
commit b3ebfb62ea
4 changed files with 54 additions and 10 deletions

2
DOKU
View File

@ -1020,6 +1020,8 @@ Die Reihenfolge ist wichtig.
:b1 an manchen Nebenstellen zur korrekten Nummernerkennung notwendig.
Einschalten, wenn die Nebenstellennummer nicht mit . oder /
eingeleitet wird.
:b2 anscheinend senden manche Idioten (holländische PTT?) die
Gebühreninfo in DISPLAY- Datenblöcken. Grummel hoch drei.
:sp 65 1TR6, deutscher Standard. [german]
:ai Ankommenden Anruf mit dem ISDN-Äquivalent von "RINGING"

28
README
View File

@ -4,6 +4,34 @@ Die Anleitung und der ganze Kram findet sich in der Datei DOKU, oder
README.isdn in den Kernelsourcen.
*** 1996-01-02
Update 32. WICHTIG UNBEDINGT INSTALLIEREN. Verbindungen werden nicht
korrekt abgebaut!
Wenn nicht installiert wird: in der ML-Zeile des Timers die Parameter für
:ti und :to UNBEDINGT auf GERINGERE Werte als der Abstand zwischeen zwei
Gebühreninfos einstellen!
Ausserdem: Kompatibilitätspatch für die Niederlande.
*** 1996-01-01
Update 31. Grr, ich solte diese Datei besser pflegen. :-/
- Ankommende Anrufe funktionieren wieder. (Das taten sie nicht immer...)
- Jemand, der gleich wieder auflegt, bringt den master nicht mehr
zum Absturz.
- Kernelpatch: die BLOCK-Regel des Firewalls wird nur bei lokalen Paketen
angewendet und die FORWARD-Regel nur bei weitergereichten Paketen.
Vorher: BLOCK wurde auch bei weitergereichten Paketen angewendet.
- Neues Flag -x fuer slipto, laesst die lokale Route in Ruhe.
Doofer Fehler beim freopen() korrigiert.
Funktioniert dip jetzt? Bitte testen.
*** 1995-12-04
Release 25. Die Umstellungsprobleme sind nun (hoffentlich) endlich

View File

@ -415,7 +415,7 @@ report_addcause (mblk_t * mb, uchar_t * data, int len)
}
static void
report_addisplay (mblk_t * mb, uchar_t * data, int len)
report_addisplay (mblk_t * mb, uchar_t * data, int len, isdn3_conn conn)
{
int qd_len;
uchar_t *qd_data;
@ -427,6 +427,23 @@ report_addisplay (mblk_t * mb, uchar_t * data, int len)
return;
m_putsx (mb, ID_E0_display);
m_puts (mb, qd_data, qd_len);
/*
* The Dutch PTT apparently sends a DISPLAY string with 'N40*999#'
* -- replace 999 with the numbr of units.
* Needless to say, that's _really_ stupid, but what to do ...
*/
if((qd_len > 5) &&
(qd_data[0] == 'N') &&
(qd_data[1] == '4') &&
(qd_data[2] == '0') &&
(qd_data[3] == '*') &&
(qd_data[qd_len-1] == '#') ) {
long flags = isdn3_flags(conn->card->info,-1,-1);
if(flags & FL_BUG2) {
m_putsx (mb, ARG_CHARGE);
m_puts (mb, qd_data+4,qd_len-5);
}
}
}
static void
@ -617,7 +634,7 @@ report_setup (isdn3_conn conn, uchar_t * data, int len)
m_putid (mb, IND_INCOMING);
conn_info (conn, mb);
report_addisplay (mb, data, len);
report_addisplay (mb, data, len, conn);
report_addprogress (mb, data, len);
if ((err = isdn3_at_send (conn, mb, 0)) < 0) {
@ -644,7 +661,7 @@ report_generic (isdn3_conn conn, uchar_t * data, int len, ushort_t id)
conn_info (conn, mb);
report_addisplay (mb, data, len);
report_addisplay (mb, data, len, conn);
report_addfac (mb, data, len);
report_addprogress (mb, data, len);
@ -724,7 +741,7 @@ report_conn (isdn3_conn conn, uchar_t * data, int len)
}
m_putid (mb, IND_CONN);
conn_info (conn, mb);
report_addisplay (mb, data, len);
report_addisplay (mb, data, len, conn);
report_addfac (mb, data, len);
report_adddate (mb, data, len);
@ -751,7 +768,7 @@ report_conn_ack (isdn3_conn conn, uchar_t * data, int len)
m_putid (mb, ID_ET_CONN_ACK);
conn_info (conn, mb);
report_addisplay (mb, data, len);
report_addisplay (mb, data, len, conn);
report_addfac (mb, data, len);
report_adddate (mb, data, len);
@ -788,7 +805,7 @@ Xreport_terminate (isdn3_conn conn, uchar_t * data, int len, ushort_t cause, int
}
conn_info (conn, mb);
if (data != NULL) {
report_addisplay (mb, data, len);
report_addisplay (mb, data, len, conn);
if(cause == 0)
report_addcause (mb, data, len);
report_addfac (mb, data, len);

View File

@ -181,10 +181,7 @@ timer_proto (queue_t * q, mblk_t * mp, char down)
untimeout(timer_timeout,tim);
#endif
#ifdef NEW_TIMEOUT
tim->timer =
#endif
timeout((void *)timer_timeout,tim,tim->interval);
timer_timeout(tim);
}
break;
case PROTO_INCOMING: