NumberWatcher サーバの動作設定
 numwat.ini ファイルの説明
NumberWatcher サーバは numwat.ini ファイルに設定された内容に従って動作します。このファイルを直接編集するか、または iniedit.exe プログラムを使って編集します。
まずはじめに numwat.ini ファイルの内容を説明します。
[Settings] セクション
ここには環境設定項目を設定しますが、現在ではログファイルに関する設定を行います。
- logDirName
-
ログファイル作成先ディレクトリ名を指定します。空欄にした場合、あるいは指定したディレクトリが存在しない場合は C:\ に作成します。また、NumberWatcher サーバ起動時に numwat.ini ファイルの読み込み前にエラーがあった場合は C:\ に作成したログファイルにログデータが出力されます。
作成するログファイルは次の 3 種類です。
numwat.yyyymmdd.log |
日付別ファイル(yyyymmdd = 年月日)
ここにはエラーログ、トレースログ等が記録されます。 |
numwat.errors.log |
エラーログファイル
ここにはエラーログのみ記録されます。
|
numwat.number.log |
着信した電話番号の履歴ファイル
ここには着信した電話番号が記録されます。
|
ただし、作成するログファイル、出力するログデータは logLevel の設定に依存します。
- logLevel
-
ログの出力レベルを設定します。設定できる値は 1 ~ 4 までで、値の意味は以下の通りです。
値 |
ログファイル名 |
出力 |
1 |
numwat.yyyymmdd.log
numwat.errors.log
numwat.number.log
|
通常出力
出力しない(ファイル作成しない)
出力しない(ファイル作成しない)
|
2 |
numwat.yyyymmdd.log
numwat.errors.log
numwat.number.log
|
通常出力
出力する (ファイル作成する)
出力する (ファイル作成する)
|
3 |
numwat.yyyymmdd.log
numwat.errors.log
numwat.number.log
|
詳細出力
出力しない(ファイル作成しない)
出力しない(ファイル作成しない)
|
4 |
numwat.yyyymmdd.log
numwat.errors.log
numwat.number.log
|
詳細出力
出力する (ファイル作成する)
出力する (ファイル作成する)
|
- logFileForcedWrites
-
ログファイルに書き出し時にバッファリングさせるのか、あるいはバッファリングさせないで即時にファイルに書き出すかを指定します。 false に設定するとバッファリングするようになるため頻繁にログ出力がある場合はパフォーマンスが向上しますが、電源断などがある場合はログデータが書き込まれない場合も起こりえます。一方、true に設定するとバッファリングしないためパフォーマンスが多少落ちる場合もありますが、電源断などのトラブルがあっても出力したログデータの欠落はまず起こりません。
[NumberDisplayAdaptors] セクション
このセクションと次の [NumberWatcherAdaptors.*] セクションでは、取り付けるナンバーディスプレイアダプタに関する設定を行います。NumberWatcher サーバ PC には複数のナンバーディスプレイアダプタを取り付けて各々の電話着信を監視することができます。
- adaptorCount
-
NumberWatcher サーバ PC に取り付けるナンバーディスプレイアダプタの数を設定します。例えば、3 に設定した場合は次のセクションを参照することになります。
[NumberDisplayAdaptor.0] |
1 台目のナンバーディスプレイアダプタの設定 |
[NumberDisplayAdaptor.1] |
2 台目のナンバーディスプレイアダプタの設定 |
[NumberDisplayAdaptor.2] |
3 台目のナンバーディスプレイアダプタの設定 |
設定値範囲としては 0 ~ 2147483647 (台) まで設定できますが、実際何台まで使えるかはサーバ PC 環境などによって変わります。
- connRetryInterval
-
[NumberDisplayAdaptor.*] セクションで指定した COM ポートがオープンできない場合(COM ポート指定時)、あるいはアダプタに接続されていない場合(COM ポート自動検索時)にリトライして接続を確認するための間隔を秒単位で設定します。(シミュレータを使う場合も同様です。)設定範囲は 1 ~ 2147483 (秒)です。リトライしたくない場合は 0 に設定して下さい。
[NumberDisplayAdaptor.*] セクション (* = 0, 1, 2,... )
ここには取り付ける個々のナンバーディスプレイアダプタに関する設定を行います。セクション名は 1台目の設定は [NumberDisplayAdaptor.0] に、 2 台目の設定は [NumberDisplayAdaptor.1] に(以下同様)設定します。
ナンバーディスプレイアダプタは日興電機製作所製の「アロハ PC1」を使いますが、シミュレータプログラム (vadaptor.exe) を使えばナンバーディスプレイアダプタがない環境でもシミュレーションすることができます。
- commPortName
-
ナンバーディスプレイアダプタ(アロハ PC1)と接続している RS-232C
通信ポート名(COM1 , COM2 など)を設定します。空欄にすると接続ポートを自動検索して設定します。
シミュレータ(vadaptor.exe)を使ってテストする場合は、"DEMO" プリフィックスの後にシミュレータの IP アドレスとポート番号を付けます。
例えば、シミュレータの IP アドレスが 127.0.0.1,ポート番号が 9875 の場合は次のように指定します。
commPortName=DEMO:127.0.0.1:9876
[Dispatch.TCP] セクション
ここには NumberWatcher サーバとクライアントとの TCP/IP 通信における設定を行います。TCP/IP 通信を有効にすると電話の着信時にクライアントに通知できるだけでなく、クライアントからのコマンド要求にも対応させることができます。
- enabled
-
true に設定するとクライアントとの TCP/IP 通信が有効になり、false にすると TCP/IP 通信は行われません。
- backlog
-
電話着信時の未処理の電話番号転送パケットを保持しておく容量を設定します。設定値範囲は 1 ~ 255 です。容量が少なすぎると FIFO バッファオーバーフローとなり、溢れた分の電話番号パケットは破棄されてしまいます。(通常は 10 程度にしておけば充分です。)
- bindAddr
-
バインドする IP アドレスまたはホスト名を設定できます。
これは、マルチホームホスト(複数のインターフェース[LAN カード]を持つホスト)場合、
どの IP アドレスにバインドしてクライアントからの要求を受け付けるかを指定したい場合に設定します。
空欄にすると自動バインドされます。
- bindPort
-
クライアントからの TCP/IP 接続をリスニングするポート番号を設定します。設定値範囲は 1 ~ 65535 です。
- keepAliveTimeout
-
接続しているクライアントが生きているかどうかを確認するために、ここで指定した時間内にクライアントから送信があるかどうかをチェックします。
クライアントの方は keepAliveTimeout 秒以内にサーバに何らかのコマンドを送るようにする必要があります。
なぜなら、そうしないと keepAliveTimeout 秒経過後にサーバから接続を解除されてしまうからです。
設定値範囲は 1 ~ 2147483 (秒)です。
※ ソケットオプションの SO_KEEPALIVE とは関係ありません。
- maxClients
-
同時接続クライアントの最大数を設定します。設定値範囲は 0 ~ 2147483647 です。0 にするとクライアントはサーバに接続できなくなります。
- clientFilter
-
クライアントからの接続を受け付けるかどうかを決める numwatf.dll にある関数名を指定できます。(numwatf.dll とはTCP/IP 通信用のフィルタ関数ライブラリです。)
すべてのクライアントからの接続を受け入れる場合はここを空欄にしておき、特定のクライアントの接続だけ受け入れたり、拒否したりしたい場合は対応する関数名を指定します。
numwatf.dll には以下の関数があり、いずれかを指定できます。
関数名 |
説明 |
server |
クライアントが NumberWatcher サーバと同じ IP アドレスならば受け入れる。 |
localhost |
クライアントの IP アドレスが 127.0.0.1 ならば受け入れる。 |
local |
クライアントの IP アドレスが NumberWatcher サーバマシン上の任意のインターフェースの IP アドレスと同じならば受け入れる。(127.0.0.1 を含む) |
allow |
numwat.ini ファイル(このファイル)の [hosts.allow] で指定した、いずれかの IP アドレスに一致するクライアントのみ受け入れる。 |
deny |
numwat.ini ファイル(このファイル)の [hosts.deny] で指定した、いずれかの IP アドレスに一致するクライアントは 拒否する。(=ここに定義されていないクライアントは受け入れる。) |
※ 「接続拒否」の動作について、正確には一度接続してからすぐに接続解除しています。
- adminFilter
-
接続クライアントに管理者権限を与えるかどうかを決める numwatf.dll にある関数名を指定できます。(numwatf.dll とはTCP/IP 通信用のフィルタ関数ライブラリです。)
すべてのクライアントに管理者権限を与える場合はここを空欄にしておき、特定のクライアントだけに管理者権限を与えたりしたい場合は対応する関数名を指定します。指定する関数名は clientFilter と同じです。
[Dispatch.Multicast] セクション
ここには NumberWatcher サーバとクライアントとの IP マルチキャスト通信における設定を行います。IP マルチキャスト通信を有効にすると電話の着信時にクライアントに通知できるようになります。
ただし、IP マルチキャスト通信ではクライアントへの送信のみのため、TCP/IP 通信とは違い、コマンドのやりとりはできません。
- enabled
-
true に設定するとクライアントとの IP マルチキャスト通信が有効になり、false にすると IP マルチキャスト通信は行われません。
- backlog
-
電話着信時の未処理の電話番号転送パケットを保持しておく容量を設定します。設定値範囲は 1 ~ 255 です。容量が少なすぎると FIFO バッファオーバーフローとなり、溢れた分の電話番号パケットは破棄されてしまいます。(通常は 10 程度にしておけば充分です。)
- bindAddr
-
バインドする IP アドレスまたはホスト名を設定できます。
これは、マルチホームホスト(複数のインターフェース[LAN カード]を持つホスト)場合、
どの IP アドレスにバインドしてクライアントからの要求を受け付けるかを指定したい場合に設定します。
空欄にすると自動バインドされます。
※ このアドレスをマルチキャストグループのメンバーシップとしています。
※ Windows95 をお使いの場合はここを空欄にしておいて下さい。
- bindPort
-
ソケットにバインドする際のポート番号を設定します。設定値範囲は 1 ~ 65535 です。空欄または 0 にするとポート番号が自動設定されます。
- mcastAddr
-
マルチキャストアドレスを設定します。224.0.0.0 ~ 239.255.255.255 の任意のアドレスを設定します。クライアント側はサーバと同じマルチキャストアドレスにするようにして下さい。
※ マルチキャストアドレスに関しては RFC2365, RFC1112, RFC2236 や関連サイト等を参照して下さい。
- mcastPort
-
マルチキャストパケットの宛先ポート番号を設定します。設定値範囲は 1 ~ 65535 です。
クライアント側はサーバと同じマルチキャストポート番号にするようにして下さい。
- ttl
-
TTL 値(マルチキャストパケットが届く範囲)を設定します。設定できる値は以下の通りです。
値 |
説明 |
0 |
ローカル内 |
1 |
セグメント内 |
2 ~ 255 |
ルータ越えさせる範囲(ホップ数) |
※ Windows95 をお使いの場合はこの設定は無意味かもしれません。(ttl=0 にしても別マシンのクライアントに届いてしまうようです。)
[hosts.allow] セクション
[hosts.deny] セクション
[hosts.allow] には標準の numwatf.dll の "allow" フィルタ関数の動作設定を、[hosts.deny] には "deny" フィルタ関数の動作設定を行います。指定形式は
"IP アドレス=" または
"ホスト名=" とします。
[hosts.allow]
127.0.0.1=
上の設定では、127.0.0.1 のクライアントを受け入れるという意味です。"allow" 関数でこの設定内容を参照しています。
[hosts.deny]
192.168.0.1=
上の設定では、192.168.0.1 のクライアントを拒否するという意味です。"deny" 関数でこの設定内容を参照しています。
※ 「標準の numwatf.dll」と表現しているのは、numwatf.dll はユーザが作成した同名ファイルと差し替え可能なため、ここでは当社が提供する numwatf.dll を表すために「標準 ...」と表現しています。
 iniedit.exe の使い方
iniedit.exe プログラムを使うと GUI で numwat.ini ファイルを編集することができます。iniedit.exe を起動すると次の画面が表示されます。
画面上の入力項目にカーソルを合わせるとヘルプが表示されるので、それに従って設定して下さい。
すべて設定し終わったら[登録]ボタンをクリックして numwat.ini ファイルに保存して下さい。保存せずにプログラムを終了したい場合は[キャンセル]ボタンをクリックして下さい。
|