ISDND

Section: Maintenance Commands (8)
索引 jman

BSD mandoc
 

索引

名称

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

索引

書式

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

索引

解説

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

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

-c
デフォルトのファイル /etc/isdn/isdnd.rc の代わりに、 configfile の実行時設定ファイル名として用います。
-d
がデバッグ機能をサポートするようにコンパイルされている場合に、 このオプションを使ってデバッグレベルを指定し、 どの種類のデバッグメッセージを表示するかを設定します。 デバッグレベルには次の値の和を指定します:

0x001
一般的なデバッグ。
0x002
料金計算。
0x004
タイミング計算。
0x008
状態移行。
0x010
再試行操作。
0x020
ダイヤル。
0x040
プロセス操作。
0x080
isdn4bsd カーネルの入出力呼び出し。
0x100
コントローラとチャネルのビジー/フリーメッセージ。
0x200
設定ファイル isdnd.rc の処理。
0x400
発呼の予算処理。
0x800
有効なキーワードと休日ファイルの処理。

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

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

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

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

-l
このオプションが指定されると、ログは syslogd(8) ファシリティ経由ではなく、ファイルに追加書きされます。
-L
オプション -l が指定されている時に使用されるログファイルの名前を指定します。 isdnd.rc5 のシステムセクションのキーワード rotatesuffix も参照してください。
-P
このオプションは、解析され有効になった isdnd の設定を isdnd.rc ファイルと同じ書式で出力します。 この出力は isdnd.rc ファイルとして利用できます。 isdnd.rc をデバッグする際に、 isdnd.rc 入力ファイル中で設定していないオプションのデフォルトの設定は 何かを調べる場合、この機能は特に有用です。

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

-F
このオプションは、 が制御端末から離れてデーモンにならないようにします。
-r
-t オプションとともに用いられ、 device で端末デバイスを指定します。これが の制御端末となり、ここに全画面モードの出力が表示されるようになります。
-s
syslog(3) によるログが設定されていて、 デフォルトの LOCAL0 ファシリティ以外のファシリティを使いたい場合に、 このオプションを用いてログファシリティを指定できます。 ファシリティは 0-11 または 16-23 の範囲の整数で指定します (ファイル /usr/include/syslog.h を参照)。
-t
オプション -f と -r と共に用いられ、 の全画面出力に使われるデバイスの端末タイプか termcap エントリ名 (vt220 など) を terminaltype で指定します。 このオプションは、環境変数 TERM が存在しない、未使用の (getty が動いていない) tty 回線を 全画面出力に使う場合に有用です。
-u
設定ファイルのエントリキーワード unitlenghtsrccmdl に設定されている場合に、課金単位の長さを指定します。
-m
isdn デーモンが、ローカル監視またはリモート監視を サポートしてコンパイルされていれば、 このオプションは監視アクセスをすべて無効にします。 これは設定ファイルのオプション monitor-allowed よりも優先されます。

 

索引

カーネルとのやりとり

ユーティリティは 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_IND ユーティリティに送ることです。

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

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

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

 

着呼

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

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

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

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

索引

シグナル

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

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

索引

環境変数

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

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 -d0xf9 -F

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

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

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

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

索引

診断

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

索引

関連項目

i4bing(4), i4bipr(4), i4bisppp(4), isdnd.rates5, isdnd.rc5, isdntel(8), isdntrace(8), syslogd(8)  

索引

バグ

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

索引

作者

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


 

索引

Index

名称
書式
解説
カーネルとのやりとり
発呼
着呼
シグナル
環境変数
関連ファイル
使用例
診断
関連項目
バグ
作者

jman



Time: 07:07:38 GMT, January 12, 2009