freeswitch・とは?初心者でもわかる基本と使い方ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
freeswitch・とは?初心者でもわかる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


freeswitchとは?

このページでは、freeswitchとは何か、どんな場面で使われるのか、仕組みや基本的な導入の流れを中学生にも分かるように解説します。

freeswitchの基本的な仕組み

Freeswitchは、オープンソースの電話通信ソフトウェアで、ソフトウェアPBXとして機能します。音声通話SIPと呼ばれる通信規格を使ってネットワーク上で運びます。Freeswitchは複数の機能を「モジュール」という部品で追加できるため、必要な機能だけを選んで組み合わせます。

ここで大事なのは「ダイヤルプラン(Dialplan)」と呼ばれる通話の流れを決める設計です。たとえば、電話を受けたら自動音声案内を流して、特定の番号を押したら担当者に転送する、という一連の流れをXMLで書きます。これにより 通話の動線を自由に設計できます。

主な用途と使い方

中小企業の電話を統合する「PBX」として使うケースが多く、企業の電話回線をインターネット経由でつなぎ、社内のスマホやPCから同じ番号で通話できるようにします。

また、IVR(自動応答)会議通話コールセンター向けのルーティング、WebRTC対応のブラウザ通話など、多様な用途に対応します。

基本的な仕組みと部品

Freeswitchは中心となる「コア(Core)」と、機能を追加する「モジュール(Modules)」で構成されます。音声データの流れは「チャネル(Channels)」と呼ばれる通話路を通り、ダイヤルプランに従って他のチャネルへ接続されます。

代表的な部品は次のとおりです。 DialplanSIPエンドポイントゲートウェイモジュールコントロール用CLIです。

導入の流れ(初心者向け)

1. 目的と規模を確認します。自社のどの電話機能を作りたいかを考えます。

2. 環境を準備します。サーバーOS(多くはLinux)と安定したネットワーク環境を整えます。

3. Freeswitchのインストールを行います。公式サイトやパッケージマネージャーを使うのが一般的です。

4. 基本設定をします。DialplanとSIP設定、セキュリティ設定を整え、最小限の通話ができる状態を作ります。

5. テストを重ねます。自分のスマホやPCから社内番号へ発信して、転送や自動案内が正しく動くかを確認します。

6. 運用と保守を行います。定期的な更新、ログの監視、緊急時のバックアップ手順を用意します。

実際の運用を想像してみよう(例)

たとえば小さな会社で、受付電話をFreeswitchに任せると、来客が電話をすると自動案内が流れ、担当につながる道筋を選べます。転送先の電話番号はSIP対応のスマホやデスクフォン、あるいはPCのソフトフォンに設定できます。

主な特徴と注意点

特徴説明
オープンソース誰でも無料で使え、ソースコードを自由に改変できます。
モジュール式設計必要な機能を後から追加・削除でき、柔軟に拡張可能です。
SIPおよびWebRTC対応インターネット経由で音声通話を実現します。ブラウザからも通話可能です。
Dialplanでの制御XMLベースの設定で通話の流れを細かく決められます。
クロスプラットフォー主にLinuxで使われることが多いですが、他のOSにも対応します。

よくある質問

Q:Freeswitchは難しいですか?

A:初めは難しく感じますが、基本を押さえれば理解は進みます。公式ドキュメントやコミュニティが豊富で、少しずつ学ぶのに向いています。


freeswitchの同意語

FreeSWITCH
freeswitchの正式表記の別形。FreeSWITCHはオープンソースのVoIP/電話サーバーで、SIP、WebRTCなどのプロトコルを使って音声通話のルーティングを行います。
Free Switch
freeswitchの表記揺れのひとつ。Free SwitchはFreeSWITCHと同義で、オープンソースの電話交換機として利用されます。
FreeSwitch
CamelCaseの別表記。FreeSwitchはFreeSWITCHとほぼ同義です。
オープンソースPBX
PBX(電話交換機)をオープンソースで提供するソフトウェアの総称。Freeswitchはこのカテゴリに該当します。
オープンソースVoIPサーバー
VoIP通話を制御・中継するオープンソースのサーバー。Freeswitchはこのタイプの代表例です。
IP PBX
IPベースのPBX。内線電話の管理と外部回線の接続をソフトウェアで実現します。
VoIPサーバー
Voice over IPを用いた音声通話を処理するサーバー。Freeswitchは代表的な選択肢の一つです。
SIPサーバー
SIPプロトコルを介して音声通話を仲介・制御するサーバー。FreeswitchはSIPをサポートします。
ソフトスイッチ
ソフトウェアで実装された電話交換機/スイッチの総称。Freeswitchはその典型例です。
PBXソフトウェア
PBX機能をソフトウェアとして提供するタイプの製品。Freeswitchはその一例です。
電話交換機ソフトウェア
電話回線の制御・ルーティングを行うソフトウェア。Freeswitchはこのカテゴリに属します。
音声通話サーバー
音声通話の処理・ルーティングを担うサーバー。Freeswitchは代表的な音声通話サーバーです。
VoIPプラットフォーム
VoIPサービスを構築・提供するための総合プラットフォーム。Freeswitchはその一部として使われます。
オープンソース通信ソフトウェア
通信機能を提供するオープンソースのソフトウェア。Freeswitchはその代表例です。
IP電話プラットフォーム
IP電話の機能を統合的に提供するプラットフォーム。Freeswitchは人気の選択肢の一つです。

freeswitchの対義語・反対語

クローズドソースPBX
ソースコードが公開されていない商用のPBXで、自由に改変したり再配布したりするのが難しく、導入後のカスタマイズはベンダー依存になる。
プロプライエタリPBX
ライセンスの下で提供される独自ソフトウェアのPBX。自由度は低く、ソースコードが公開されないことが一般的で、開発者が自前で改良できない場合が多い。
商用PBX
有償で提供されるPBX製品で、導入コストやサポート契約が必要になることが多く、自由度より安定性・サポートを優先する用途に向く。
クラウドPBX
クラウド型のPBXサービスで、運用はサービス提供者に任せる形。自社でのソース改変などの自由度は小さくなる一方、初期導入が手軽で運用負担を軽減できる。
ハードウェアPBX
専用ハードウェア上で動作するPBXで、ソフトウェアの柔軟性が低く、機能追加はベンダーのアップデートに依存することが多い。
閉源ソフトウェア
ソースコードが公開されていないソフトウェア全般のこと。自由な改変・再配布が難しく、透明性・セキュリティの自己検証が難しくなる場合がある。

freeswitchの共起語

mod_sofia
FreeSWITCHのSIPスタックを提供する主要モジュール。SIPベースの通話を外部のSIPエンドポイントと接続する際に使われる。
SIP
Session Initiation Protocol、VoIPの通話の開始・管理に使われる通信プロトコル
VoIP
Voice over IP、インターネット経由で音声通話を実現する技術。
PBX
IP-PBX、企業内の電話番号の割り当てと発着信のルーティングを行う機能。
Dialplan
呼び出しルールや発信先のルーティングを決定するFreeSWITCHの設定・スクリプト。
XML Dialplan
XML形式でDialplanを定義する方法。
Lua
FreeSWITCHでLuaスクリプトを使い、ダイヤルプランを拡張するための言語。
mod_lua
LuaスクリプトをFreeSWITCHで実行するモジュール。
JavaScript
JavaScriptを用いてダイヤルプランやイベント処理を実装することができる。
mod_js
JavaScript実行環境を提供するFreeSWITCHモジュール。
ESL
Event Socket Library、外部アプリからFreeSWITCHを操作するAPI。
fs_cli
FreeSWITCHのコマンドラインインターフェース。リアルタイムでの操作が可能。
WebRTC
WebRTCクライアントとFreeSWITCH間の音声通話を実現する技術。DTLS-SRTPやICEをサポート。
Opus
高品質かつ効率的な音声コーデックで、WebRTC対応でもよく使われる。
G.711
広く普及している音声コーデック。品質は高いが帯域は大きめ。
G.729
ビットレートで通話を確保するコーデック。通信帯域を抑えたいときに使われることが多い。
iLBC
低ビットレートで耐パケット性の高いコーデック。
SRTP
音声データを暗号化して送受信する Real-time Transport Protocol の拡張プロトコル。
TLS
SIP通信を暗号化するための Transport Layer Security。
RTP
Real-time Transport Protocol、音声データの実際の運搬を担うプロトコル
NAT traversal
NAT環境での通話確立を支援する技術。
ICE
WebRTC等で使われる NAT 越え技術。
STUN
NAT越えのための初期接続支援プロトコル。
mod_conference
会議・ブリッジ機能を提供するモジュール。
IVR
自動応答システム。音声ガイダンスで操作を案内する機能。
Extensions.xml
Dialplan を定義するXMLファイル。古典的な設定ファイル。
PSTN gateway
公衆交換電話網へ接続するゲートウェイ機能。
SIP Trunk
外部電話事業者とSIPで接続するための回線。
ODBC
データベース連携の標準インターフェース。
MySQL
データベースとして使われる代表的なRDBMS。
PostgreSQL
信頼性の高いオープンソースデータベース。ODBC連携で利用。
SQLite
軽量データベース、組み込み用途に適する。
Recording
通話の録音機能。
mod_record
通話録音を実現するモジュール。
Docker
FreeSWITCHをコンテナで動かす際に利用される仮想化技術。
Kubernetes
大規模デプロイ時のコンテナ管理プラットフォーム。
License
FreeSWITCHのライセンス情報(例:MPL系)。
Open source
オープンソースのソフトウェアであるFreeSWITCHの特性。

freeswitchの関連用語

FreeSWITCH
オープンソースのIP-PBX/通信プラットフォーム。VoIP通話のルーティング、会議、IVR、ボイスメールなどを自由に構築できる基盤です。
sofia
SIPスタックとして動作するモジュール群(mod_sofia)。SIPによる発着信の処理を担当します。
SIP
Session Initiation Protocol。VoIP通話の開始・制御を行う標準的な通信プロトコル。
IAX2
Inter-Asterisk eXchange v2。別のVoIPプロトコルで、NAT越えが得意な場面があります。
WebRTC
WebブラウザとFreeSWITCH間の音声/ビデオ通話を実現するWebリアルタイム通信技術。
ESL
Event Socket Library。外部アプリがFreeSWITCHへ指示を出し、イベントを受け取るAPI。
Dialplan
通話の分岐・挙動を決める設定。発着信時のルーティングを定義します。
dialplan.xml
DialplanをXML形式で記述する定義ファイル
Directory
ディレクトリ機能。ユーザー・内線番号・着信先のデータを管理します。
mod_voicemail
留守番電話機能。メッセージの録音・再生・通知を提供します。
mod_conference
複数人での同時通話を可能にする会議機能のモジュール
mod_spandsp
T.38ファクスのサポートを提供するモジュール。
T.38
IPネットワーク上でファクスを送受信するFaxプロトコル。
Codecs
音声データの圧縮・伸張方式の総称。代表例にはG.711/PCMU, G.711/PCMA, Opus, G722, G729, iLBC 等がある。
G.711-PCMU
広くサポートされる高品質な音声コーデック。
G.711-PCMA
G.711のPCMA変種。
Opus
高品質・低遅延の現代的コーデック。WebRTCでも標準。
G.722
HD音質を提供するコーデック。
G.729
低帯域で音声を伝えるコーデック(特許問題あり)。
iLBC
ビットレートで耐ノイズ性のあるコーデック。
DTMF-RFC2833
RTPイベントとしてDTMF信号を伝える方式。
DTMF-Inband
音声信号の中にDTMF信号を埋め込む方式。
RTP
Real-time Transport Protocol。音声データをパケット化して運ぶ基本プロトコル。
SRTP
RTPの暗号化版。音声を暗号化して転送します。
Bridge
2つの通話を直接つなぐ機能。
Gateway
SIPトランクやPSTNなど他ネットワークへの接続点。
CallCenter
コールセンター運用をサポートする機能群(キュー、エージェント、統計など)。
Queue
着信を待機させ、適切なエージェントへ割り当てる待機列機能。
CDR
Call Detail Record。通話の開始・終了・長さ・コストなどを記録するデータ。
CDR_csv
CDRをCSV形式で出力する機能。
PostgreSQL
高機能なリレーショナルデータベース。FreeSWITCHと連携可能。
MySQL
広く使われるリレーショナルデータベース。
SQLite
組み込み型の軽量データベース
Presence
利用者のオンライン/オフライン、着信状態などのプレゼンス情報を共有する機能。
LDAP
LDAPディレクトリと連携してユーザー情報を参照できる機能。
mod_xml_curl
外部URLからダイアルプランを取得するモジュール。
Lua
Luaスクリプトを使ってダイアルプランを拡張できるモジュール。
mod_lua
Luaスクリプト実行用のFreeSWITCHモジュール
mod_js
JavaScriptでダイアルプランを記述するモジュール。
mod_python
Pythonスクリプトを実行するモジュール。
fs_cli
FreeSWITCHのコマンドラインインターフェース。管理・デバッグに使用。
STUN
NAT越えのためのサーバー。SIP通話のNAT問題を緩和します。
TURN
NAT越え時のメディア転送用中継サーバ。STUNと併用して安定化します。
LoadBalancing
複数ノード間での負荷分散。高い可用性を実現。
HA/Failover
障害時の自動切替え機能。

インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14448viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2407viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1067viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1026viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
929viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
897viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
832viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
830viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
795viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
781viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
714viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
690viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
590viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
569viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
562viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
547viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
514viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
492viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
473viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
469viws

新着記事

インターネット・コンピュータの関連記事