doc/ja/man/man8/isdnd.8
Jun Kuriyama c6ad703501 Catching up to 3.1-19990210-BETA.
Reviewed by:	Japanese Online Manual Project <man-jp@jp.FreeBSD.ORG>
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1999-02-11 15:44:39 +00:00

451 lines
12 KiB
Groff

.\"
.\" Copyright (c) 1997, 1998 Hellmuth Michaelis. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: isdnd.8,v 1.1 1998/12/27 21:47:00 phk Exp %
.\"
.\" last edit-date: [Sat Dec 12 21:13:59 1998]
.\"
.\" jpman %Id: isdnd.8,v 1.3 1999/02/11 07:42:03 kuma Stab %
.\" WORD: Call Description IDentifier (CDID) 呼記述識別子 [isdnd.8]
.\" WORD: active connection アクティブ接続 [isdnd.8]
.\" WORD: call 呼 [isdnd.8] (ISDN における通信セッション)
.\" WORD: call setup 呼設定 [isdnd.8]
.\" WORD: incoming call 着呼 [isdnd.8]
.\" WORD: outgoing call 発呼 [isdnd.8]
.\" WORD: tty line tty 回線 [getty.8]
.\" WORD: userland ユーザランド
.\" WORD: subscriber 加入者 [isdnd.8]
.\" "
.Dd November 3, 1998
.Dt isdnd 8
.Sh 名称
.Nm isdnd
.Nd isdn4bsd ISDN 接続管理デーモン
.Sh 書式
.Nm isdnd
.Op Fl b
.Op Fl c Ar configfile
.Op Fl d Ar debuglevel
.Op Fl f
.Op Fl F
.Op Fl l
.Op Fl L Ar logfile
.Op Fl P
.Op Fl r Ar device
.Op Fl s Ar facility
.Op Fl t Ar terminaltype
.Op Fl u Ar charging unit length
.Op Fl m
.Sh 解説
.Nm isdnd
は isdn4bsd パッケージのデーモンであり、このパッケージがサポートする
ISDN デバイスのすべての ISDN 関連の接続や切断を管理します。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl b
ベル: 全画面モードにおいて、呼 (call) の接続時・切断時にベルを鳴らします。
.It Fl c
デフォルトのファイル
.Li /etc/isdn/isdnd.rc
の代わりに、
.Ar configfile
.Nm isdnd
の実行時設定ファイル名として用います。
.It Fl d
.Nm isdnd
がデバッグ機能をサポートするようにコンパイルされている場合に、
このオプションを使ってデバッグレベルを指定し、
どの種類のデバッグメッセージを表示するかを設定します。
デバッグレベルには次の値の和を指定します:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It Ar 0x001
一般的なデバッグ。
.It Ar 0x002
料金計算。
.It Ar 0x004
タイミング計算。
.It Ar 0x008
状態移行。
.It Ar 0x010
再試行操作。
.It Ar 0x020
ダイヤル。
.It Ar 0x040
プロセス操作。
.It Ar 0x080
isdn4bsd カーネルの入出力呼び出し。
.It Ar 0x100
コントローラとチャネルのビジー/フリーメッセージ。
.El
.Pp
この値の指定に際して、
.Xr sscanf 3
ライブラリルーチンがサポートする基数のどれでも使用できます。
.Pp
さらに、このオプションでは引数として文字「n」を与えて、
全画面表示にデバッグメッセージを表示させないようにもできます。
.Pp
.It Fl f
このオプションを指定すると、
.Nm isdnd
は全画面モードでの操作に切り替わります。このモードで操作する場合、
制御文字
.Em Control-L
を入力すると表示を更新します。また、
.Em 復帰文字 (Carriage-Return)
または
.Em Enter
でコマンドウィンドウを表示します。
.Nm
デーモンはコマンドウィンドウが開いている間はメッセージを受け付けないので、
5 秒間どのコマンドキーも押されなければ、
このコマンドウィンドウは自動的に閉じます。
.Pp
コマンドウィンドウが開いている時は、
.Em タブ
.Em スペース
で次のメニュー項目へ進みます。コマンドを実行するには、
ハイライト表示されたメニュー項目に対し
.Em Return
.Em Enter
を入力するか、実行する項目に対応する数字を入力するか、
メニュー項目記述の大文字を入力して下さい。
.It Fl l
このオプションが指定されると、ログは
.Xr syslogd 8
ファシリティ経由ではなく、ファイルに追加書きされます。
.It Fl L
オプション
.Em -l
が指定されている時に使用されるログファイルの名前を指定します。
.It Fl P
このオプションは、解析され有効になった isdnd の設定を
isdnd.rc ファイルと同じ書式で出力します。
この出力は isdnd.rc ファイルとして利用できます。
isdnd.rc をデバッグする際に、
isdnd.rc 入力ファイル中で設定していないオプションのデフォルトの設定は
何かを調べる場合、この機能は特に有用です。
.Pp
出力を終えると、
.Nm
は終了します。
.It Fl F
このオプションは、
.Nm isdnd
が制御端末から離れてデーモンにならないようにします。
.It Fl r
.Fl t
オプションとともに用いられ、
.Ar device
で端末デバイスを指定します。これが
.Nm isdnd
の制御端末となり、ここに全画面モードの出力が表示されるようになります。
.It Fl s
.Xr syslog 3
によるログが設定されていて、
デフォルトの LOCAL0 ファシリティ以外のファシリティを使いたい場合に、
このオプションを用いてログファシリティを指定できます。
ファシリティは 0-11 または 16-23 の範囲の整数で指定します
(ファイル /usr/include/syslog.h を参照)。
.It Fl t
オプション
.Fl f
.Fl r
と共に用いられ、
.Nm isdnd
の全画面出力に使われるデバイスの端末タイプか
termcap エントリ名 (vt220 など) を
.Ar terminaltype
で指定します。
このオプションは、環境変数
.Li TERM
が存在しない、未使用の (getty が動いていない) tty 回線を
全画面出力に使う場合に有用です。
.It Fl u
設定ファイルのエントリキーワード
.Em unitlenghtsrc
.Em cmdl
に設定されている場合に、課金単位の長さを指定します。
.It Fl m
isdn デーモンが、ローカル監視またはリモート監視を
サポートしてコンパイルされていれば、
このオプションは監視アクセスをすべて無効にします。
これは設定ファイルのオプション
.Em monitor-allowed
よりも優先されます。
.El
.Pp
.Sh カーネルとのやりとり
.Nm isdnd
は isdn4bsd のカーネル部分と通信して、
状態やイベントメッセージを受けとったり (デバイス
/dev/i4b
から
.Xr read 2
します)、
コマンドや応答を送ります (デバイス
/dev/i4b
から
.Xr ioctl 2
します)。
.Pp
メッセージおよびメッセージパラメータは、インクルードファイル
.Em /usr/include/machine/i4b_ioctl.h
に記述されています。
.Pp
カーネルへのコマンドと応答メッセージ (ioctl)
は次のものがサポートされています:
.Bl -tag -width Ds -compact -offset indent
.It Ar I4B_CDID_REQ
交換局とのローカル D チャネルの単一のやりとりを一意に識別する
呼記述識別子 (CDID: Call Description IDentifier) を要求します。
.It Ar I4B_CONNECT_REQ
呼設定 (call setup) をリモート ISDN 加入者 (subscriber) に能動的に要求します。
.It Ar I4B_CONNECT_RESP
着呼 (incoming call) に対し、受け入れ、拒否、または無視すると応答します。
.It Ar I4B_DISCONNECT_REQ
能動的に呼を終了させます。
.It Ar I4B_CTRL_INFO_REQ
設置されている ISDN コントローラカードについての情報を要求します。
.It Ar I4B_DIALOUT_RESP
ダイヤルアウトを要求してきたドライバに対し、
呼設定に関する情報を与えます。
.It Ar I4B_TIMEOUT_UPD
動的に計算されるショートホールドモードのタイミングが変わった場合に、
カーネルのタイムアウト値を更新します。
.It Ar I4B_UPDOWN_IND
カーネルのユーザランドドライバにインタフェースのソフト的
アップ/ダウン状態変化を知らせます。
.It Ar I4B_CTRL_DOWNLOAD
アクティブなカードにファームウェアをダウンロードします。
.It Ar I4B_ACTIVE_DIAGNOSTIC
アクティブなカードからの診断情報を返します。
.El
.Pp
.Pp
カーネルから送られる状態メッセージとイベントメッセージは、
次のものがサポートされています:
.Bl -tag -width Ds -compact -offset indent
.It Ar MSG_CONNECT_IND
リモートの ISDN ユーザからの着呼を示します。
.It Ar MSG_CONNECT_ACTIVE_IND
着呼がローカルで受け入れられた後、
あるいは発呼 (outgoing call) がリモートに受け入れられた後で、
交換局がアクティブ接続を通知しました。
対応する B チャネルが交換されます。
.It Ar MSG_DISCONNECT_IND
呼は終了しました。
.It Ar MSG_DIALOUT_IND
ユーザランドインタフェースドライバがデーモンに
ダイヤルアウトするよう要求します
(典型的には、ネットワークインタフェースの送信キューにパケットが届く時です)。
.It Ar MSG_IDLE_TIMEOUT_IND
B チャネルのアイドルタイムアウトが起こったために、
isdn4bsd カーネルドライバが呼を終了させました。
.It Ar MSG_ACCT_IND
ネットワークドライバからのアカウンティング情報です。
.It Ar MSG_CHARGING_IND
カーネルからの課金情報です。
.El
.Pp
.Ss 発呼
現在のところ、発呼を起こす唯一の可能性は、
isdn4bsd ネットワークドライバ
.Em (ipr<n>)
.Em MSG_DIALOUT_IND
.Nm
デーモンに送ることです。
.Pp
デーモンは ioctl メッセージ
.Em I4B_CDID_REQ
を用いて、カーネルから新しい CDID を要求します。
以後この CDID は、切断が起こるまで、カーネルとのやりとりすべてにおいて、
この単一の呼を識別するのに使われます。
.Pp
CDID を取得した後、
デーモンはその接続に対応する設定のエントリセクションから
追加情報をいくつか調べ、ioctl メッセージ
.Em I4B_CONNECT_REQ
をカーネルに発行します。
ここでカーネルはリモート側へダイヤルし、
リモート側が呼を受け入れると、カーネルはデーモンへ
.Em MSG_CONNECT_ACTIVE_IND
を送ります。
.Pp
ローカルサイトがタイムアウトするかリモート側が接続を切る、
あるいはローカル側が能動的に ioctl メッセージ
.Em DISCONNECT_REQ
を送ることで、呼は終了します。
いずれのイベントも、カーネルが
.Em DISCONNECT_IND
メッセージを送って
.Nm
に通知されます。また、その呼に対応する CDID は無効になります。
.Pp
.Ss 着呼
着呼は、カーネルが
.Em MSG_CONNECT_IND
メッセージを送って
.Nm
に通知します。
.Pp
.Nm
は、このメッセージに含まれる情報を使って
設定データベースのエントリセクションを探し、
マッチした場合にはその呼を受け入れる、または拒否し、
マッチしなかった場合にはその呼を無視します。
いずれの場合にも ioctl メッセージ
.Em I4B_CONNECT_RESP
に適切なパラメータを指定して、カーネルに発行します。
.Pp
デーモンがメッセージ受け入れを決めた場合、カーネルは
.Em MSG_CONNECT_ACTIVE_IND
メッセージをデーモンに送って、アクティブ接続を通知します。
.Pp
ローカルサイトがタイムアウトするかリモート側が接続を切る、
あるいはローカル側が能動的に ioctl メッセージ
.Em DISCONNECT_REQ
を送ることで、呼は終了します。
いずれのイベントも、カーネルが
.Em DISCONNECT_IND
メッセージを送って
.Nm
に通知されます。また、その呼に対応する CDID は無効になります。
.Pp
.Sh シグナル
HUP シグナルを
.Nm
に送ると、開いている接続をすべて終了させ、設定ファイルを読み直します。
エイリアスファイル操作が有効な場合、エイリアスファイルも読み直します。
USR1 シグナルを
.Nm
に送ると、アカウンティングファイルと (
.Xr syslog 3
ファシリティ経由のログの代わりにファイルへログが送られる場合は)
ログファイルがクローズされ、再オープンされて、ログファイルの
交換を可能とします。
.Sh 環境変数
次の環境変数が
.Nm isdnd
の実行に影響します:
.Bl -tag -width Ds
.It Ev TERM
全画面表示モードで実行される時の端末タイプです。
より詳しくは
.Xr environ 7
を参照して下さい。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/isdn/isdnd.rates -compact
.It Pa /dev/i4b
カーネルの ISDN ドライバサブシステムと通信するためのデバイスファイル。
.It Pa /var/log/messages
syslogd ログがサポートされている時の動作記録。
.It Pa /var/log/isdnd.acct
デフォルトのアカウンティング情報ファイル名
(アカウンティングが設定されている場合)。
.It Pa /var/log/isdnd.log
デフォルトのログファイル名 (ファイルへのログに設定されている場合)。
.It Pa /var/run/isdnd.pid
isdn デーモンのプロセス ID
(isdnd では "lockfile" とも呼ばれ、多重に呼び出されるのを防ぎます)。
.It Pa /usr/local/lib/isdn
.It Pa /etc/isdn
留守番電話をサポートするための補助的なデータファイルやプログラムが
置かれていることを isdnd が期待するディレクトリ。
.It Pa /etc/isdn/isdnd.rc
デフォルトの実行時設定ファイル。
.It Pa /etc/isdn/isdnd.rates
デフォルトの課金単位料金記述ファイル。
.It Pa /etc/isdn/isdntel.alias
(エイリアスが有効な場合) 電話番号を通話者の名前に変換するデフォルトの表。
.El
.Sh 使用例
最初に試されるときは、設定をうまくデバッグするために、
次のコマンドを実行して
.Nm
をフォアグラウンドモードで起動するのが良いでしょう:
.Bd -literal -offset indent
isdnd -d0xf9 -F
.Ed
.Pp
このコマンドは、isdnd を妥当なデバッグ設定で起動し、
現在の端末に出力を生成します。
.Nm isdnd
はその後 Control-C の入力で終了できます。
.Pp
別の例として、コマンド:
.Bd -literal -offset indent
isdnd -d0xf9 -f -r /dev/ttyv3 -t vt100
.Ed
.Pp
は、妥当なデバッグメッセージを有効にし、全画面モードの動作、
全画面表示は /dev/ttyv03 にリダイレクト、その表示には
termcap エントリの vt100 を使用して
.Nm isdnd
を起動します。
.Sh 診断
終了ステータスは成功時には 0、エラー時には 1 です。
.Pp
.Sh 関連項目
.Xr syslogd 8 ,
.Xr isdntrace 8 ,
.Xr isdntel 8 ,
.Xr isdnd.rc 5 ,
.Xr isdnd.rates 5 ,
.Xr i4bisppp 4 ,
.Xr i4bipr 4
.Sh バグ
まだ 1 つ以上残っています。
.Sh 作者
.Nm
デーモンと本マニュアルページは Hellmuth Michaelis が作成しました。
彼の連絡先は、hm@kts.org または hm@hcs.de です。