Bden Ver 1.51

概要
インストール/アンインストール方法
セキュリティ警告の問い合わせ
事前準備
モジュール構成
設定ファイル
導入時に値を決める作業
補足説明
改版履歴
連絡先など

呼の確立・操作・画面遷移等は80と443で完結するのでアプリと無関係です。
当該は常駐します!カスタムプロトコルを介した音声装置の制御と音声データの送受信を荷います。
PC端末まで音声データを届けるポートマッピングはMiniUPnPがします。

概要
非表示コンソールアプリです。実行されると…
タスクマネージャ > [プロセス] > bden.exe 起動中…となります。
以下、常駐アプリと呼ぶ。
当該ドキュメントは導入に関する最小限の内容を記載しております。
詳しくはサイト記事をご覧ください。

使用環境
・Windows-PC
・自宅等、常時接続環境

ソフト環境
・常駐アプリ
  実行形式は64bits用です。Windows7以上
  開発環境はWin7、テストは7,10,11でおこなっています。
  不具合等あればご報告いただけると助かります。
・MiniUPnP
  実行形式を同梱しております。
  アプリからコマンドをキックしポートマッピング要求をルーターに出します。
  開発元)miniupnp.free.fr

インストール/アンインストール方法
インストール方法

  モジュール展開)
    圧縮ファイル(BdenXXX.7z)を適当なフォルダーで解凍してください。
    7-Zip > ここへ展開 をします 参考)zipをWindows標準機能で解凍するとファイル日時が解凍日時に置き換わる。
    7-Zipは重複フォルダーにもなりません!Bden151 を Bden に変えて任意の場所へ移動しましょう。
    注意1)展開パスに全角文字を含めない(_install_のレジストリ登録で文字化けする) Z:\仕事\Bden
    注意2)C:\Program Files\へ導入されますと「書き込み可能なアクセス権の付与」を強いられます。
    要は「Everyoneにフルアクセスを与え当該フォルダー'Bden'の所有者にする」作業です。ログ, 音声ファイルの作成に関わる。
    C:は容量も少なめですし外付HDDトップへの配置がおすすめです Z:\Bden 等
    一般的な↓権限変更↓手順
    https://dev.macha795.com/windows-folder-access-permissions/ 等に従う

  構築に必要な設定ファイルを作る)
    1)configure.exeをダブルクリックします。
    2)serialnumber と bden.vbs startup.vbs と \_install_\bden.reg が生成されます。

  プロトコル'bden:'を作る)
    ブラウザから当アプリをキックできるようにする。
    1)\_install_へ入ってください。
    2)install.batを管理者権限で実行します。当該batを右クリック→管理者として実行(A)を選択します。
      HKCR\bdenが生成されます。
      続行するには何かキーを押してください…[改行]等を押し無事完了
      ↑\_install_\bden.reg↑は作業後に消えます、レジストリ操作は当該のみ

  スタートアップへ登録する)
    1)startup.vbsを右クリック→ショートカットの作成(S)を選択します。
      常駐アプリの起動はstartup.vbsを推奨します、ポートマッピングします。直接実行(bden.exe)はポマしません。
      自分はstartup.vbsを使っています。
      登録せず…その都度ダブルクリックでも構いませんが起動し忘れると音がしません。
    2)C:\Users\(あなた)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupへ置きます。
      AppDataフォルダーは隠れているかもしれません

アンインストール方法

  スタートアップから削除)
    1)C:\Users\(あなた)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupへ入ってください。
    2)以前置いたショートカットリンクを削除します。

  プロトコル'bden:'を削除)
    1)\_install_へ入ってください。
    2)uninstall.batを管理者権限で実行します。当該batを右クリック→管理者として実行(A)を選択します。
      HKCR\bdenが削除されます。

  モジュール削除)
    1)展開したZ:\Bdenを削除します。

  これにて完全に元の状態に戻りました。

セキュリティ警告の問い合わせ
押下者が電話印を(導入サイトで)最初にクリックした際に出ます
導入サイト:https://bden.siptables.net/index.htmを始め…定形コードを刻んだ所

✓を入れて「wscript.exeを開く」を押してください。
VBスクリプトの中で「ws.run bden.exe」しているから。


事前準備
機器・装置)
  本アプリを利用するにあたり以下を前もってご用意ください
  ・Windows-7以上のPC機(プライベートアドレスが割り当てられている)
  ・LAN内にルーターを置く(相手PCとNAT越えで通信する)
  ・音声入出力機器(USB,AUX接続)(サイト記事を一読願う)
  ※念のためですが…グローバルIPへ直に置くようなWAN環境からの接続は想定外です
  ※通話前に音声装置の差し込み具合を確認しましょう

モジュール構成
       Z:\Bden\logs   ---- log.txt)流れ状況,PC&ルータ状態,que.exeの実行結果 ※排出量:少
                           error.txt)設定ミス,プログラムエラー
                           warning.txt)設定ミス,異常操作,サーバ異常等
              \man    ---- ご覧のhtml文書
              \recorded -- 1通話につき"受信","送信"の2Filesが生成されます ※排出量:多
              \resource -- 設定ファイル(適宜、手作業で修正します)
              \_install_ - プロトコル'bden:'の追加|削除
              \configure.exe ---- 導入ファイル生成コマンド
              \que.exe       ---- 要求受付アプリ
              \bden.exe -- 常駐アプリ
              \bden.vbs --------- インストール過程で生成されるプロトコル(bden:)処理用スクリプト
              \startup.vbs ------ インストール過程で生成されるポマを含むアプリ起動スクリプト
              \serialnumber ----- インストール過程で生成される有償サービスで必要な情報
              \upnpc-static.exe - ルーター操作コマンド
              \_*.bat ----------- 頻繁に使うバッチ(LAN-IPアドレス等は決め打ちなので…適宜修正)

設定ファイル
resource配下のcsvファイルの説明です。
ポマ(startup.vbs),会話音の制御に関しては当該(モジュール設定)が使用されます。
設定にはもう一つ…Web側のログイン設定が在るのですが[設置者は]ログイン時と[押下者は]赤電話の押下時にモジュール設定値で上書きします。
なのでいじる必要はありません。電話絵(Aリンクの生成),音声データの送受信で使われます。

  1.基本設定(base.csv)
    →音声通話ノ範囲(初期値:0)
      0(WAN),1(LAN)
    →内部ポート番号(初期値:59998)
      全ての指示はque.exeが当該ポートを開けて待ちます。指示を出せるのは自身だけ。
    →期限(固定値:1800)
      設置者は気にしてください。席の有効期間です、500ミリ秒単位なので1800=900秒
      サーバー時刻と使用PC時刻の間で差が出始め…限界を超えると「タイマー」出現!何もできなくなります。
      ※許容範囲は±15秒
      1)一旦、返却する
      2)時刻あわせをする
      3)再度、設置する
    →RTP通信ポート番号(初期値:24538)
      startup.vbs が使います。ルーターWANの待ち受けポート番号になります。
      ログイン設定(使用ポート)で生成される電話絵のAリンク(…A24538)と連動します。
    →コーデック種類(初期値:0)
      現在はひとつしか組み込まれていません。よって、順番(0)を得るのみです。
    →選択したLANアダプタ(0〜)(初期値:0)
      0(先頭ネカ),1(次ネカ),2(次次ネカ),,,です。
    →呼び出し停止(0:Cancel)(固定値:60)
      相手を呼び出し始めてから、指定値を経過すると自動切断します(Cancelリ送出 by 押下者)。500ミリ秒単位なので60=30秒
    →強制停止(初期値:none)
      RTP通信を確立してから五分後に自動切断します、無音になります。
      制限解除は有償サービスです。興味のある方はサイト「押下者通話制限」を一読願います。
    →受信音量(初期値:1)
      音量をソフトウェア的に変更します。つまりデータ値が変わります。
      ※大値にするとノイズが増大します、初期値のままで音量も十分です、変えない方がいい。
      ※rcvファイルに書き込まれる音量です、聴く音量は出力デバイス音量へ
      ※相手から得た音声データの音量をどうするか。
      1:小(変化なし)
      3:中
      9:大
    →送信音量(初期値:1)
      音量をソフトウェア的に変更します。つまりデータ値が変わります。
      ※大値にするとノイズが増大します、初期値のままで音量も十分です、変えない方がいい。
      ※sndファイルにはマイク音をそのまま書き込みます、送信データは設定値に従う
      ※相手に送る音声データの音量をどうするか。
      1:小(変化なし)
      3:中
      9:大
    →出力デバイス音量(初期値:0x20002000)
      waveOutSetVolume関数でスピーカー(出力デバイス)のボリュームレベルを設定します。
      マイク入力の音量調整はOS操作でおこない確認できるのも相手側のみ。
      なので「マイク入力はいじらず、スピーカーでどうにかする」のが本質だと思います。
      スピーカーの上げ下げだけで十分な感触を得られます。
      ※初期値は設置者と質問者における最適値と思われる値。
      ※上位と下位ビット、それぞれの設定範囲:0x0000(無音)〜0xFFFF(ボリューム全体)
      ※上位ワード=右チャネルのボリューム設定値
       下位ワード=左チャネルのボリューム設定値
      ※会話音は当該によるもの!呼び出し音(設置者が聞く)はJavascript::play();
    →録音ファイル(初期値:true)
      recorded\配下に生成する(true),しない(false)
      ※無圧縮のAUファイル(容量に注意)
    →RTP送信(初期値:true)
      送信する(true),しない(false)
    →スピーカー位置(初期値:100)
      デバイスには端子接続やUSB接続があり、両方差し込んでいたりします。通常、同時再生すると一方だけ音が出て混在して聴こえます。
      スピーカーを分けてそれぞれで聞きたければデバイス識別子(0以上)を与えます。尚…0が端子?USB?かは判らない。
      ※log.txt:SPK=2 → 0,1を設定できる
      ※値(100):MS社サンプルソースに沿ったもので良ければいじらない
    →マイク位置(初期値:100)
      デバイスには端子接続やUSB接続があり、両方差し込んでいたりします。通常、同時録音すると一方だけの入力が使われ同じ音が入ります。
      マイクを分けてそれぞれで入力したければデバイス識別子(0以上)を与えます。尚…0が端子?USB?かは判らない。
      ※log.txt:MIC=2 → 0,1を設定できる
      ※値(100):MS社サンプルソースに沿ったもので良ければいじらない
  2.UPnP設定(upnp.csv)
    →経由ポート番号(初期値:12346)
      startup.vbs が使います。発信元ポート番号の登録=bind();で使われます。
      PCが音声データを待つポート番号です。WANポートで受けた音声データの転送先と一致します。

導入時に値を決める作業
1人だと関係ないのですが複数人、アプリ利用者が居れば考慮しなければなりません。
押下者…設置者…音声ポートは使います!よって、衝突しないポート番号にしましょう。
基本、24538から始め、押下者…設置者…に関わらず+1します。
  = = = = = = = = = = = = = = = = = = = = = = = = 
  設定変更の対象) 二台目PC
  = = = = = = = = = = = = = = = = = = = = = = = = 
  base.csv) 24538 → 24539
  - - - - - - - - - - - - - - - - - - - - - - - - 
  ※24538に拘らず、いきなり二台目のような設定は可能です

自分が設置者)
  はじめに伺います!電話番号取得はお済みですか?(5XXX)のこと
  ⇒運用サイトに定形コードを追記し、ログインできる!を確認してから導入作業に入りましょう

自分が押下者)
  インストールが済んでいれば後は押下だけで通話できるのが売り!個人宅の1人接続なら何もしないでいい
  ⇒ポート変更の画面なし!押下の際、自動的にモジュール設定値を取得しログイン設定に反映させます

外からの音声データを如何に内側へ引き込むかが重要になります。
ポートマッピングやアドレス変換に詳しい方であれば私の話は不要でしょう!設定値に目を向けてください。

補足説明
  ・ルータ
    1.UPnPに対応していないルータはほとんどないと思うも
      初期状態でonになっているのが普通!そうでない場合もあるかもしれません。
      必ず有効(on)にしておいてください。
    2.通常、同一のネットワークに複数台ルータが設置される事はありませんがどれを掴んだかはlog.txtで確認できます。
      もし意向に沿わない場合は「選択したLANアダプタ」を適宜修正願います。

改版履歴
Ver1.00
  ここから開始です。Windows系PCで動作する、RFC3261準拠のIP通話常駐アプリとしてスタート。
Ver1.10
  サービス管理での起動からスタートアップに切り替わった最初のバージョンとお考え下さい。
Ver1.20
  試用バージョンの初版
Ver1.30
  試用バージョンの第二版
Ver1.40
  公開バージョンの初版
Ver1.50
  SIPサーバー機能をWebサーバーへ統合化
Ver1.51
  HTTPリクエストを導入し設定作業の軽減化

連絡先など
最新版の入手先
 ・Bden のホームページ
  https://bden.siptables.net/

運用グループ