完全ガイド

インストールして通話を通せるよう設定する

KatoCall をサーバーに導入し、実際の通話を課金できるようにするための、やさしい言葉のガイドです。各パートを順に進めてください——通信の予備知識は不要です。

バージョン 1.0.0Debian 12 サーバー向け最初の通話まで約 30〜45 分

ここから始める

KatoCall の仕組みを 2 分で

KatoCall は課金エンジンを内蔵した電話交換機です。顧客はこれを通して発信し、残高を確認し、最も安いルートを選び、通話を計測して課金します——すべて自動です。

あなたの顧客 が発信する KatoCall 残高を確認し、 最も安いルートを選び、 計測して課金 あなたのキャリア (SIP トランク) 誰でも 発信 ルーティング 着信も逆向きに同じように動きます:番号(DID)が鳴り、顧客へ転送されます。
すべての通話——発信も着信も——KatoCall を通り、そこで課金が行われます。

利益はどこから生まれるか

キャリアから分を一つの価格で仕入れ、顧客にはより高く売ります。KatoCall は両方を保存し、通話ごとに差額を確保します。

キャリアに支払う
$0.0090
プロバイダー料金、1 分あたり
顧客に請求する
$0.0150
顧客料金、1 分あたり
あなたの取り分
$0.0060
あなたのマージン、自動で

ヒント: KatoCall は通貨を換算しません。設定で通貨を一つ選び(既定は米ドル)、仕入れと販売の両方に使えば、どのマージンも単純な引き算になります。

パート 1

サーバーにインストール

これは真新しいサーバーで一度だけ行います。技術者がサーバーを用意してくれるなら、このパートを渡してください。

まず必要なもの

サーバーDebian 12 (Bookworm)、64 ビット——まっさらなもの。まともな VPS なら何でも可(OVH、Hetzner、DigitalOcean、Vultr)。
スペックCPU 2 コア、メモリ 4 GB、ディスク 20 GB。メモリは 2 GB が下限。
公開 IP アドレスサーバーにはインターネット上の自前アドレスが必要です——プロバイダーが提供します。
サーバーへのログインroot のパスワード、または sudo を使えるユーザー。
キャリアからSIP トランク(そのホストと、許可 IP もしくはユーザー名/パスワード)、加えてお持ちの番号(DID)。
ドメイン名(任意)https の鍵マークが欲しい場合のみ。なしで始めて、後から追加できます。

インストールを行う

katocall-1.0.0.tar.gz をサーバーにコピーし、これらのコマンドを一つずつ実行します。各コマンドは何をしているか表示し、足りないものがあれば明確なメッセージで止まります。

  1. 展開してサーバーを確認

    最初のコマンドは何も変更しません——サーバーが準備できているか確認し、足りないものがあれば知らせます。

    root@your-server
    # unpack the package
    tar -xzf katocall-1.0.0.tar.gz
    cd katocall-1.0.0
    
    # サーバーを確認(安全——何も変更しない)
    sudo bash install/00-preflight.sh
  2. インストールスクリプトを順に実行

    一つずつ実行します。01 番は電話エンジンをビルドし 10〜20 分かかります。残りはすぐ終わります。

    root@your-server
    sudo bash install/01-install-asterisk.sh   # 電話エンジン(10〜20 分)
    sudo bash install/02-install-base-stack.sh
    sudo bash install/03-setup-admin-panel.sh
    sudo bash install/04-configure-ami.sh
    sudo bash install/05-production-hardening.sh
    sudo bash install/06-configure-did-forwarding.sh
    sudo bash install/07-configure-fail2ban.sh
    sudo bash install/08-configure-nat.sh
    sudo bash install/09-configure-outbound.sh
    sudo bash install/11-configure-backups.sh
    sudo bash install/12-configure-dialer.sh   # ダイヤラーが必要な場合のみ

    01 から 09 は必須です。ステップ 12 はダイヤラー専用——省いても他はすべて動きます。

  3. すべて健全か確認

    約 65 項目を検査します——各サービス、ファイアウォール、バックアップ、セキュリティ——失敗したものには何を直すか示します。

    root@your-server
    sudo bash install/verify.sh
    
    PASS 66   WARN 1   FAIL 0
  4. 初めてログインする

    ブラウザでサーバーのアドレスを開いてサインインします。すぐに新しいパスワードを求められます——設定するまで何も使えません。

    • アドレス: http://your-server-address/
    • ユーザー名: admin
    • パスワード(すぐに変更): Katocall

実通話の前に:HTTPS を有効化。 それまではパネルは平文 http で動き、ログインは保護されずインターネットを流れます。ドメインがサーバーを指したら、実行:

sudo bash install/10-configure-tls.sh panel.yourcompany.com you@yourcompany.com

パート 2

通話を通せるよう設定

これでパネルに入りました。この 6 つをこの順番で作ります——それぞれ前のものを使います。すべてサイドメニューにあります。

1Suppliers分を仕入れる相手
2Rate Cards仕入れと販売の価格
3Trunksキャリアへの回線
4Routing Groupsどの通話をどの回線で
5Accountsあなたの顧客
6DIDs着信番号
  1. Suppliers — 分を仕入れる相手

    サプライヤー(Supplier)は分を仕入れるキャリアです。すべてがここを参照するので、ここから始めます。Suppliers → New Supplier を開いて名前を付けます。

    Suppliers+ New Supplier
    e.g. IDT Gold
    USD — $ US Dollar
    Account manager, contract terms…
    Suppliers → New Supplier
  2. Rate Cards — 仕入れと販売の価格

    レートカード(Rate Card)は価格表で、宛先ごとに 1 行(米国の 1、英国の 44 のようなプレフィックス)。2 種類作ります:

    • Provider Rates — サプライヤーがあなたに請求する価格。
    • Customer Rates — あなたが顧客に請求する価格(高め——その差があなたの利益)。

    何百ものプレフィックスを打ち込まないでください:カードを開いて Import CSV をクリックし、キャリアの価格ファイルを一度に読み込みます。

    USA Wholesale — ProviderImport CSV
    DestinationPrefixPer min
    United States1$0.0090
    United Kingdom44$0.0110
    Mexico Mobile521$0.0180
    Rates → Import CSV

    ヒント: 料金は小数点以下 4 桁で保存されます。5 桁の価格表はインポート時に丸められます。

  3. Trunks — キャリアへの実際の回線

    トランク(Trunk)はサプライヤーとのライブ接続です。Trunks → New Trunk を開きます。重要なのは 2 点:

    • Direction — Outbound(発信)、Inbound(着信)、Both(両方)。
    • Authentication — IP-based(あなたのサーバーのアドレスを信頼)または Username/Password(SIP のログイン情報をもらった)。

    保存後、Test Call で発信できることを確認してから顧客を向けます。

    New TrunkSave
    IDT-GOLD
    Outbound
    IP-based
    sip.idtgold.com
    30
    Trunks → New Trunk

    トランク名に空白は使えません——IDT GOLD ではなく IDT-GOLD を使ってください。

  4. Routing Groups — どの通話をどの回線で

    ルーティンググループはこう言います:この種類の番号なら、この順でこれらのトランクを試せ。ダイヤルは 2 つ:

    • Priority — 小さいほど先に試します。最も安いキャリアを優先度 1 に。
    • Weight — 同じ優先度のトランク間でトラフィックを分配します。

    最初のトランクが話中や失敗なら、KatoCall は次に移ります。Preview で番号を入力し、どのトランクを使うか確認できます。

    Standard LCR+ Add Route
    TrunkPriorityWeight
    IDT-GOLD1 first100
    Backup-Carrier2100
    Routing Groups → Add Route
  5. Accounts — あなたの顧客

    アカウント(Account)は 1 人の顧客です。Accounts → New Account を開きます。重要な選択:

    • Billing Type — Prepaid(残高をチャージ。ゼロで通話停止)または Postpaid(後で請求)。
    • Rate Card — ステップ 2 の顧客価格表。
    • Routing Group — 通話がどう出て行くか、ステップ 4 から。
    • 接続方法 — 許可 IP、または電話機/PBX 用のユーザー名とパスワード。
    New AccountSave
    Acme Telecom
    Prepaid
    $250.00
    USA Retail
    Standard LCR
    Accounts → New Account

    ヒント: 発信するすべてのアカウントには、あなたが販売するプレフィックスをカバーする顧客用 Rate Card が必要です——ないと、それらの通話は拒否されます(ゼロで課金されることは決してありません)。

  6. DIDs — 鳴って入ってくる番号

    DID は、あなたの顧客の一人に連絡するために人が電話する番号です。アカウントを開き、DIDs → Add DID へ進み、番号と転送先を入力します。(先にアカウントを保存。)

    Acme Telecom · DIDs+ Add DID
    DID NumberForwards To
    +1 305 555 0100Acme main lineactive
    Accounts → DIDs → Add DID

パネルの各項目の横には小さな ? があり、その用途を 10 言語すべてで説明します。Settings → Network は大きな変更の後に設定を電話エンジンへ送ります。

パート 3

ダイヤラーのキャンペーンを実行

ダイヤラーは番号のリストに発信し、録音メッセージを再生し、人がキーを押して接続・折り返し依頼・配信停止できるようにします。先にインストールのステップ 12 が必要です。

これが何かを理解する: これはパワーダイヤラー(power dialer)であり、予測式ではありません。留守番電話検出なし(ボイスメールは応答とみなされます)、自動ペーシングなし——同時通話数を固定で設定します。一度に 1 台のサーバーで動作します。

  1. キャンペーンを作成

    Dialer Campaigns → New Campaign を開きます。課金先アカウントを選び、名前を付け、ペースを設定:Max Concurrent Calls、Max Attempts、Retry gap。

    New CampaignSave
    Acme Telecom
    10
    3
    Upload a .wav / .mp3…
    Dialer Campaigns → New Campaign
  2. メッセージとメニューを追加

    応答時に再生される Prerecorded Message をアップロードします。次に IVR Menu を作成——各キーの動作:

    • 1 を押す → エージェントへ転送
    • 2 を押す → 折り返しを依頼
    • 9 を押す → Do-Not-Call に追加(二度と発信しない)
  3. 連絡先をアップロード

    キャンペーンの Contacts セクションで Upload CSV をクリック——電話番号だけの簡単なファイルです。

  4. Start を押す——そして結果を見る

    Start を押すと数秒で発信を開始します。Pause も同じくらい速く止まります。完了すると Download Results が、各番号に何が起きたかを示すファイルを出します。

    Spring PromoStart
    Phone NumberAttemptsResult
    +1 305 555 00001answered
    +1 305 555 00012no answer
    +1 305 555 00021transferred
    キャンペーンは各番号に結果を記入します。

パート 4

日々の運用

4 つのコマンドで、サーバー上でやることのほぼすべてをカバーします。

root@your-server
sudo bash install/verify.sh            # すべて健全か?
sudo /usr/local/sbin/katocall-backup    # 今すぐバックアップ
sudo bash install/upgrade.sh           # 新しいバージョンを適用
sudo bash install/uninstall.sh         # 削除(データは残す)

バックアップは、それが守るのと同じディスク上にあります。 定期的に別の場所へコピーしてください。さもないとディスク障害でデータと唯一のバックアップが一緒に失われます。

収益レポートを信頼する前に、帳簿が 1 円単位で合うことを証明できます:

sudo -u softswitch admin/backend/venv/bin/python admin/backend/manage.py verify_ledger

パート 5

うまくいかないとき

ログイン時に「サーバーに接続できません」と出る。
サービスが再起動中かもしれません。待って更新してください。続くなら install/verify.sh を実行——停止している正確なサービスを示します。
通話がつながらない。
順に 3 つ確認:Account に残高と Rate Card があるか。Routing Group にその宛先のトランクがあるか(Preview を使用)。トランクの Test Call が通るか。
パスワードを打ち間違えてロックアウトされた。
KatoCall は繰り返しの失敗の後、意図的にアドレスをブロックします。ブロックが切れるのを待つか、別の端末から IP Bans ページで解除します。
ダイヤラーが「Running」と出るのに何も発信しない。
おそらくインストールのステップ 12 を飛ばしています。install/12-configure-dialer.sh、続いて install/verify.sh を実行してください。
マージン列が空。
顧客の通貨とトランクの通貨が異なります。KatoCall は通貨を換算しません——1 つの通貨で売買すれば、マージンが表示されます。

どんな問題でも、まず実行すべきは sudo bash install/verify.sh です。約 65 項目を確認し、再実行すべきスクリプトを示します。