📖用語集
fail-safe / fail-open / fail-closed の使い分けと Phase C 用語。
aegis-sip-bridge/docs/glossary.md と整合。混同しやすい *fail- の 3 語**を最初に図示します。
fail-safe / fail-open / fail-closed(最重要)
fail-safe
spam と判定したら Hangup(遮断)
採用(spam への防衛)
verdict=spam → Hangup(21) fail-open
業務側に倒す=正当な着信を人へ転送
採用(Aegis の既定)
verdict=unknown/空/想定外 → Dial(PJSIP/${HUMAN_PEER}) fail-closed
全部切断(誰も通さない)
不採用
旧 dialplan の unknown→Hangup(C-2(b) で廃止) - verdict
- AI(classify_call)の判定(classification / spam_score / should_terminate 等)。現行コードでは記録と「用件を預かる側へ進む」材料に使い、通話を切る指示には使わない(旧A案 AstDB・旧B案 AMI Hangup とも発火しない・撤去予定)。
- AstDB
- Asterisk 内蔵の Key-Value ストア。旧A案では bridge が AMI DBPut で verdict を書き dialplan が読む予定だったが不採用。現行 dialplan の h 拡張に DB_DELETE(aegis_verdict/…) が残るだけで書く側は無い(撤去予定)。
- AudioSocket
- Asterisk chan_audiosocket の TCP 音声プロトコル。[type:1][len:2 BE][payload]。bridge が 127.0.0.1:9092 で待受。type: 0x00=hangup / 0x01=UUID / 0x10=audio(slin=16bit PCM・8kHz・20ms=320 バイト。μlaw ではない・2026-08-03 実測)。
- AMI
- Asterisk Manager Interface(127.0.0.1:5039)。bridge の hangup_by_uuid(Status で AEGIS_UUID を逆引き → Hangup)は在るが、会話判定から呼ぶ道が現行コードに無く発火しない。確定設計で撤去予定。DBPut を送るコードは無い。
- HUMAN_PEER
- 旧 placeholder(現行 dialplan には無い)。いま人へ倒す先は HUMAN_EXTEN(kitted で設定・空なら着信内線)で、Dial(PJSIP/${HUMAN_DIAL_EXTEN}@hgw-trunk,30)。判定不能・bridge 不達・AI 区間終了のどれもここへ合流する。
- ALLOW_DESTINATION
- 旧 placeholder(現行 dialplan には無い)。正当な着信も人へ倒す先は HUMAN_EXTEN と同じ 1 か所(exec_dial)。
- classify_call
- OpenAI Realtime の tool(function calling)。通話を分類して classification(spam/allow/unknown)や should_terminate 等を返す。
- should_terminate
- classify_call の戻り値。true でも現行 bridge は切らない(conversation_may_terminate() が常に False)。platform 側は explicit_human_request のとき必ず false に固定する。確定設計では切断の指示に使わない。
- Aegis Cloud
- aegis-platform バックエンド。bridge は tool 実行を /api/realtime/tools/{tool_name} に転送する(AegisCloudProxy)。
- HGW
- ひかり電話などのホームゲートウェイ。Asterisk が内線として REGISTER して着信を受ける相手。
- commodity 箱
- Asterisk 配線とデプロイ手順だけをまとめた汎用パッケージ(bridge 本体は含まない)。
- Item A (strict_approval_mode)
- クライアント単位の迂回不能ゲート。loosen 方向の直接 write を 409 で拒否し、propose→approve→apply のみ許可。
- 4-eyes
- 提案者と承認者を別人に強制する二人承認。strict_approval / change_approval で適用。
- voice-edge
- Pi 上の Asterisk 22 + chan_pjsip + dialplan と、HGW・bridge・人間内線への「繋がる口」を持つメインリポ。実電話番号の現行メイン経路。
- AI_ROUTE
- 着信を人間と AI に振り分ける仕組み。登録番号は人間へ、それ以外は AI 受付へ回す。
- route-decision
- 発信者番号を受け取り block / human / ai を返す aegis-platform の API(GET /api/realtime/route-decision)。判定は既存の blocklist / whitelist / protection を再利用する。
- RDS
- Arrowfone Redirect Server。Rhodium の通話リダイレクトを担うサーバ。
- Arrowfone
- Rhodium の Presence サービスと、そのスマホアプリのプロトコル。
- RTS
- Rhodium 系の設定 / DB 上に現れる概念名。独立した実行プログラムではない。
- ChatVoice
- 実機テストを担当する外部 JV パートナー。現状運用(v1)の設置も ChatVoice 経由で行ってきた。
- arc score
- 会話の弧スコア。単発ターンではなく会話全体でリスクを測る物差し。Peak(最大瞬間リスク)と Accumulation(積み上げ)の組み合わせ。法人MVPのグレー営業検知の中核。段階1(shadow 記録のみ)実装済み・本線判定には未使用。
- arc_peak
- 会話中に観測されたターンスコアの最大値。「一度でも明確に危険な要求が出たか」を、平均に均されて消えないよう保持する。shadow 列に記録。
- arc_accumulation
- 閾値未満の怪しさが繰り返し出続けたぶんの累積。執拗さ(persistence)をここで捉える。shadow 列に記録。
- persistence
- 執拗さ。「薄く長く」攻める型。平均で均すと閾値を永遠に下回るため Accumulation で捉える。執拗なだけの正当な会話もあるので、弧スコアは疑いの材料に留め、それ単独で切断には直結させない。
✅Aegis の既定
登録番号だけ第 1 関門で確実に切り(fail-safe)、それ以外は人へ繋ぐ(fail-open)。通話中の判定(spam)で切る経路は現行コードで発火しない(撤去予定・2026-09-16)。 bridge / AMI / OpenAI が落ちても「全切り(fail-closed)」にはしない(verdict=unknown → 人へ取次)。
ℹ️Phase C 用語
verdict / AstDB / AudioSocket / AMI / HUMAN_PEER / ALLOW_DESTINATION / classify_call / should_terminate / Aegis Cloud / HGW / commodity 箱 / Item A / 4-eyes — 定義は上の一覧(GlossaryView)に表示。