スポンサーリンク

ISDND(8) FreeBSD システム管理者マニュアル ISDND(8)

名称

isdnd − isdn4bsd ISDN 接続管理デーモン

書式

isdnd [−c configfile] [−d debuglevel] [−f] [−F] [−l] [−L logfile] [−P] [−r device] [−s facility] [−t terminaltype] [−u charging unit length] [−m]

解説

isdnd ユーティリティは isdn4bsd パッケージのデーモンであり、このパッケー ジがサポートする ISDN デバイスのすべての ISDN 関連の接続や切断を管理しま す。

オプションは以下の通りです:

       −c

デフォルトのファイル /etc/isdn/isdnd.rc の代わりに、 configfileisdnd の実行時設定ファイル名として用います。

−d
isdnd
がデバッグ機能をサポートするようにコンパイルされている場合 に、このオプションを使ってデバッグレベルを指定し、どの種類のデ バッグメッセージを表示するかを設定します。デバッグレベルには次の 値の和を指定します:

0x001
一般的なデバッグ。
0x002

料金計算。
0x004

タイミング計算。
0x008

状態移行。
0x010

再試行操作。
0x020

ダイヤル。
0x040

プロセス操作。
0x080

isdn4bsd カーネルの入出力呼び出し。
0x100

コントローラとチャネルのビジー/フリーメッセージ。
0x200

設定ファイル isdnd.rc の処理。
0x400

発呼の予算処理。
0x800

有効なキーワードと休日ファイルの処理。

この値の指定に際して、 sscanf(3) ライブラリルーチンがサポートする 基数のどれでも使用できます。

さらに、このオプションでは引数として文字「n」を与えて、全画面表示 にデバッグメッセージを表示させないようにもできます。

−f
このオプションを指定すると、 isdnd は全画面モードでの操作に切り替 わります。このモードで操作する場合、制御文字 Control-L を入力する と表示を更新します。また、 復帰文字 (Carriage-Return) または Enter でコマンドウィンドウを表示します。 isdnd ユーティリティはコ マンドウィンドウが開いている間はメッセージを受け付けないので、 5 秒間どのコマンドキーも押されなければ、このコマンドウィンドウは自 動的に閉じます。

コマンドウィンドウが開いている時は、 タブか スペースで次のメ ニュー項目へ進みます。コマンドを実行するには、ハイライト表示され たメニュー項目に対し ReturnEnter を入力するか、実行する項目に 対応する数字を入力するか、メニュー項目記述の大文字を入力して下さ い。

−l
このオプションが指定されると、ログは syslogd(8) ファシリティ経由 ではなく、ファイルに追加書きされます。

−L
オプション -l が指定されている時に使用されるログファイルの名前を 指定します。 isdnd.rc(5) のシステムセクションのキーワード rotatesuffix も参照してください。

−P
このオプションは、解析され有効になった isdnd の設定を isdnd.rc ファイルと同じ書式で出力します。この出力は isdnd.rc ファイルとし て利用できます。 isdnd.rc をデバッグする際に、 isdnd.rc 入力ファ イル中で設定していないオプションのデフォルトの設定は何かを調べる 場合、この機能は特に有用です。

出力を終えると、 isdnd は終了します。

−F
このオプションは、 isdnd が制御端末から離れてデーモンにならないよ うにします。

−r
−t
オプションとともに用いられ、 device で端末デバイスを指定しま す。これが isdnd の制御端末となり、ここに全画面モードの出力が表示 されるようになります。

−s
syslog(3) によるログが設定されていて、デフォルトの LOCAL0 ファシ リティ以外のファシリティを使いたい場合に、このオプションを用いて ログファシリティを指定できます。ファシリティは 0-11 または 16-23 の範囲の整数で指定します (ファイル /usr/include/syslog.h を参 照)。

−t
オプション −f−r と共に用いられ、 isdnd の全画面出力に使われる デバイスの端末タイプか termcap エントリ名 (vt220 など) を terminaltype で指定します。このオプションは、環境変数 TERM が存在 しない、未使用の (getty が動いていない) tty 回線を全画面出力に使 う場合に有用です。

−u
設定ファイルのエントリキーワード unitlenghtsrccmdl に設定され ている場合に、課金単位の長さを指定します。

−m
isdn デーモンが、ローカル監視またはリモート監視をサポートしてコン パイルされていれば、このオプションは監視アクセスをすべて無効にし ます。これは設定ファイルのオプション monitor-allowed よりも優先さ れます。

カーネルとのやりとり

isdnd ユーティリティは isdn4bsd のカーネル部分と通信して、状態やイベント メッセージを受けとったり (デバイス /dev/i4b から read(2) します)、コマン ドや応答を送ります (デバイス /dev/i4b から ioctl(2) します)。

メッセージおよびメッセージパラメータは、インクルードファイル /usr/include/machine/i4b_ioctl.h に記述されています。

カーネルへのコマンドと応答メッセージ (ioctl) は次のものがサポートされてい ます:

             I4B_CDID_REQ

交換局とのローカル D チャネルの単一のやりとりを一意に識別す る呼記述識別子 (CDID: Call Description IDentifier) を要求し ます。
I4B_CONNECT_REQ

呼設定 (call setup) をリモート ISDN 加入者 (subscriber) に 能動的に要求します。
I4B_CONNECT_RESP

着呼 (incoming call) に対し、受け入れ、拒否、または無視する と応答します。
I4B_DISCONNECT_REQ

能動的に呼を終了させます。
I4B_CTRL_INFO_REQ

設置されている ISDN コントローラカードについての情報を要求 します。
I4B_DIALOUT_RESP

ダイヤルアウトを要求してきたドライバに対し、呼設定に関する 情報を与えます。
I4B_TIMEOUT_UPD

動的に計算されるショートホールドモードのタイミングが変わっ た場合に、カーネルのタイムアウト値を更新します。
I4B_UPDOWN_IND

カーネルのユーザランドドライバにインタフェースのソフト的 アップ/ダウン状態変化を知らせます。
I4B_CTRL_DOWNLOAD

アクティブなカードにファームウェアをダウンロードします。
I4B_ACTIVE_DIAGNOSTIC

アクティブなカードからの診断情報を返します。

カーネルから送られる状態メッセージとイベントメッセージは、次のものがサ ポートされています:
MSG_CONNECT_IND

リモートの ISDN ユーザからの着呼を示します。
MSG_CONNECT_ACTIVE_IND

着呼がローカルで受け入れられた後、あるいは発呼 (outgoing call) がリモートに受け入れられた後で、交換局がアクティブ接 続を通知しました。対応する B チャネルが交換されます。
MSG_DISCONNECT_IND

呼は終了しました。
MSG_DIALOUT_IND

ユーザランドインタフェースドライバがデーモンにダイヤルアウ トするよう要求します (典型的には、ネットワークインタフェー スの送信キューにパケットが届く時です)。
MSG_IDLE_TIMEOUT_IND

B チャネルのアイドルタイムアウトが起こったために、 isdn4bsd カーネルドライバが呼を終了させました。
MSG_ACCT_IND

ネットワークドライバからのアカウンティング情報です。
MSG_CHARGING_IND

カーネルからの課金情報です。

発呼
現在のところ、発呼を起こす唯一の可能性は、 isdn4bsd ネットワークドライバ (ipr<n>)MSG_DIALOUT_INDisdnd ユーティリティに送ることです。

デーモンは ioctl メッセージ I4B_CDID_REQ を用いて、カーネルから新しい CDID を要求します。以後この CDID は、切断が起こるまで、カーネルとのやりと りすべてにおいて、この単一の呼を識別するのに使われます。

CDID を取得した後、デーモンはその接続に対応する設定のエントリセクションか ら追加情報をいくつか調べ、ioctl メッセージ I4B_CONNECT_REQ をカーネルに発 行します。ここでカーネルはリモート側へダイヤルし、リモート側が呼を受け入 れると、カーネルはデーモンへ MSG_CONNECT_ACTIVE_IND を送ります。

ローカルサイトがタイムアウトするかリモート側が接続を切る、あるいはローカ ル側が能動的に ioctl メッセージ I4B_DISCONNECT_REQ を送ることで、呼は終了 します。いずれのイベントも、カーネルが I4B_DISCONNECT_IND メッセージを 送って isdnd に通知されます。また、その呼に対応する CDID は無効になりま す。

着呼
着呼は、カーネルが MSG_CONNECT_IND メッセージを送って isdnd に通知しま す。

isdnd は、このメッセージに含まれる情報を使って設定データベースのエントリ セクションを探し、マッチした場合にはその呼を受け入れる、または拒否し、 マッチしなかった場合にはその呼を無視します。いずれの場合にも ioctl メッ セージ I4B_CONNECT_RESP に適切なパラメータを指定して、カーネルに発行しま す。

デーモンが呼の受け入れを決めた場合、カーネルは MSG_CONNECT_ACTIVE_IND メッセージをデーモンに送って、このことを通知します。

ローカルサイトがタイムアウトするかリモート側が接続を切る、あるいはローカ ル側が能動的に ioctl メッセージ I4B_DISCONNECT_REQ を送ることで、呼は終了 します。いずれのイベントも、カーネルが I4B_DISCONNECT_IND メッセージを 送って isdnd に通知されます。また、その呼に対応する CDID は無効になりま す。

シグナル

HUP シグナルを isdnd に送ると、開いている接続をすべて終了させ、設定ファイ ルを読み直します。エイリアスファイル操作が有効な場合、エイリアスファイル も読み直します。

USR1 シグナルを isdnd に送ると、アカウンティングファイルと ( syslog(3) ファシリティ経由のログの代わりにファイルへログが送られる場合は) ログファ イルがクローズされ、再オープンされて、ログファイルの交換を可能とします。

環境変数

次の環境変数が isdnd の実行に影響します:

       TERM

全画面表示モードで実行される時の端末タイプです。より詳しくは environ(7) を参照して下さい。

関連ファイル

       /dev/i4b

カーネルの ISDN ドライバサブシステムと通信するため のデバイスファイル。

/var/log/messages
syslogd ログがサポートされている時の動作記録。

/var/log/isdnd.acct
デフォルトのアカウンティング情報ファイル名 (アカウ ンティングが設定されている場合)。

/var/log/isdnd.log
デフォルトのログファイル名 (ファイルへのログに設定 されている場合)。

/var/run/isdnd.pid
isdn デーモンのプロセス ID (isdnd では "lockfile" とも呼ばれ、多重に呼び出されるのを防ぎます)。

/usr/local/lib/isdn

/etc/isdn
留守番電話をサポートするための補助的なデータファイ ルやプログラムが置かれていることを isdnd が期待す るディレクトリ。

/etc/isdn/isdnd.rc
デフォルトの実行時設定ファイル。

/etc/isdn/isdnd.rates
デフォルトの課金単位料金記述ファイル。

/etc/isdn/isdntel.alias
(エイリアスが有効な場合) 電話番号を通話者の名前に 変換するデフォルトの表。

使用例

最初に試されるときは、設定をうまくデバッグするために、次のコマンドを実行 して isdnd をフォアグラウンドモードで起動するのが良いでしょう:

      isdnd -d0xf9 -F

このコマンドは、isdnd を妥当なデバッグ設定で起動し、現在の端末に出力を生 成します。 isdnd ユーティリティはその後 Control-C の入力で終了できます。

別の例として、コマンド:

      isdnd -d0xf9 -f -r /dev/ttyv3 -t vt100

は、妥当なデバッグメッセージを有効にし、全画面モードの動作、全画面表示は /dev/ttyv3 にリダイレクト、その表示には vt100 用の termcap エントリを使っ て isdnd を起動します。

診断

終了ステータスは成功時には 0、エラー時には 1 です。

関連項目

i4bing(4), i4bipr(4), i4bisppp(4), isdnd.rates(5), isdnd.rc(5), isdntel(8), isdntrace(8), syslogd(8)

バグ

まだ 1 つ以上残っています。

作者

isdnd ユーティリティと本マニュアルページは Hellmuth Michaelis ⟨hm@FreeBSD.org⟩ が作成しました。

FreeBSD 10.0 May 2, 2001 FreeBSD 10.0

スポンサーリンク