siptelegram Ver 1.50

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

当アプリは音声デバイスを制御します。会話に必要な操作…
呼の確立!電話印の押下による画面遷移等はすべて80と443で完結させます。
導入されますと電話絵の操作と連動し音声会話できるようになります。

自分が設置者)
  同一LANに複数人が居てルーターを共有しながら使っている。

  一台目PC利用者
   base.csv) いじらない
   upnp.csv) いじらない
   設置者ログイン後のポート変更) いじらない

  二台目PC利用者
   base.csv) 24538 → 24539
   upnp.csv) 12346 → 12347
   設置者ログイン後のポート変更) 24538 → 24539

  ・PC×2台はルーターを共有している
  ・変更する際は 24538 と12346 を(+1で)連動させる(サイト記事を参照)
  ・一台目PCが存在しない中、二台目のような設定は可能です

自分が押下者)
  個人宅のインターネット接続を前提にしている。

  一台目PC利用者
   base.csv) いじらない
   upnp.csv) いじらない

  二台目PC利用者
   想定外

  ・PC×2台はルーターを共有している
  ・仮に24539に変更しても無視して24538を勝手に使う
  ・同じ設定のPCを衝突しないように使おうとするとその都度アドレス変換(ルーター設定)が必要になる
  ・+1,2,3,,に対処するならポート番号保持はCookieになると思う
    押下者は基本…ログインなし・設定なしで考えたい∴現状が望ましいと思う!要望次第

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

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

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

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

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

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

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

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

  スタートアップへ登録する)
    1)startup.vbsを右クリック→ショートカットの作成(S)を選択します。
      手動コマンド入力よりかはstartup.vbsの使用を推奨します。ポートマッピングをします。直接実行(.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)以前置いたショートカットリンクを削除します。

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

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

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

セキュリティ警告の問い合わせ
電話印を最初にクリックした際等に出ます

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


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

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

設定ファイル
resource配下のcsvファイルの説明です。いじる必要があるのか?と問われれば…正直ありません。サイト記事も参考にしてください。

  1.基本設定(base.csv)
    →音声通話ノ範囲(初期値:0)
      0(WAN),1(LAN)
    →内部ポート番号(初期値:59998)
      全ての指示はque.exeが当該ポートを開けて待ちます。指示を出せるのは自身だけ。
    →期限(固定値:1800)
      設置者は気にしてください。席の有効期間です、500ミリ秒単位なので1800=900秒
      サーバー時刻(NTPサーバー下)と使用PC時刻の間で差が生じ…限界を超えると「タイマー」出現!何もできなくなります。
      ※許容範囲は±15秒
      1)一旦、返却する
      2)時刻あわせをする
      3)再度、設置する
    →RTP通信ポート番号(初期値:24538)
      押下者が押す電話絵のAリンクを生成する際、…A24538と表現します。
      あなたが設置者になれば値は使われます、押下者だとアプリソースに固定(24538)で直書き。
      ↑話ともリンクするので是非、読み直してみてください。
      WANポート番号とも一致します!startup.vbs等は当該値を使い作業します。
      余談…LAN環境での音声データ待ち受けポート番号にも使われます。気にしない
    →コーデック種類(初期値: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(ボリューム全体)
      ※上位ワード=右チャネルのボリューム設定値
       下位ワード=左チャネルのボリューム設定値
    →録音ファイル(初期値: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)
      PCが音声データを待つポート番号です。
      WANポートで受けた音声データの転送先と一致します!startup.vbs等は当該値を使い作業します。

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

  ・回線
    当該アプリは移動体通信には向かないと思います。
    PCは15分間隔で自身の位置情報(*1)をSIPサーバへ送り続けます。
    グローバルIPアドレス(*1)が短い間隔で替わるような環境、
    例えば新幹線内の移動体PC等は期待通りの動作をしないかもしれません。

改版履歴
Ver1.00
  ここから開始です。Windows系PCで動作する、RFC3261準拠のIP通話常駐アプリとしてスタート。
Ver1.10
  サービス管理での起動からスタートアップに切り替わった最初のバージョンとお考え下さい。
Ver1.20
  試用バージョンの初版
Ver1.30
  試用バージョンの第二版
Ver1.40
  公開バージョンの初版
Ver1.50
  サーバーを意識する必要はなくなりました。

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

運営グループ