現在XCALLYの大規模案件対応を行っています。
数百席の対応を行うために、複数のサーバを利用しXCALLYを構築していく必要があります。
その際にポイントになるのが、複数のサーバに対して着信した呼を分配していく必要があるということです。
VOIPVプロバイダーが複数のサーバーからレジストさせることができないため、VOIPプロバイダーのSIPサーバーと複数のXCALLYサーバーの中間に呼を分配してくれるSIPサーバーが必要となります。
そのため、今回はKamailioというSIPサーバーを中間に置くことを採用しました。
目次
概要
Kamailioとは、SIP proxyやpresenceサーバなど様々な機能を持つSIPサーバのOSSで、様々なモジュールを組み合わせることで用途ごとの設定を行うことができます。
機能として出来ること
- SIP proxy server
- SIP registrar server
- SIP location server
- SIP application server
- SIP dispatcher server
- SIP Websocket server
機能として出来ないこと
- SIP phone
- media server
RTPに対してNATなど処理を行う場合、別OSSを利用する必要がある。また、保留音などの音声を再生することが出来ない。 - back-to-back user agent
KamailioがINVITEやBYEを生成することは出来ない。
Kamailioの設定ファイル
Kamailioの構築・設定方法については、改めてエンジニアがブログでアップさせていただきます。
AWS上でKamailioを構築した手順を、エンジニアがアップしました。
AWSでKamailioを構築
ここではFilePathのみに言及しておきます。
- パッケージからインストール
/etc/kamailio/kamailio.cfg - ソースからインストール
/usr/local/etc/kamailio/kamailio.cfg
具体的にやったこと
- UACモジュールで、VOIPプロバイダーのSIPトランクにKamailioからREGISTER
- DISPATCHERモジュールで、6つのXCALLYにラウンドロビンでロードバランシング
- ロードバランシングする際に、分配率を設定し比率に合わせて呼を着信
- 発信の際は、Kamailioを経由せずに直接XCALLYからVOIPプロバイダーのSIPトランクへ直接接続
具体的にどのような設定を行ったのかは、こちらもエンジニアが改めてブログで公開させていただきます。
エンジニアがブログアップしました。
Kamailioの設定
関連コマンド
kamctl
- kamailioと一緒にデフォルトでインストールされる。
- kamailio.cfgと同じディレクトリに設定ファイルのkamctlrcが存在する。
- SIPアカウント追加やdispatch先登録などの操作を行う。
kamdbctl
- kamailioと一緒にデフォルトでインストールされる。
- このコマンドもkamctlrcを参照する。
- kamailioが必要するとDBを初期作成する。
kamcmd
- kamailioと一緒にデフォルトでインストールされる。
- RPCコマンドを実行するためのCLIツール。
- uacに関するコマンドを実行する。
siremis
- kamailioのWEBGUIを追加するオプションツール。
- 利用しなくてもよい。
- 公式HP
kamcli
- kamctlの置き換えツール。
- 公式HP
参照元
本ブログの参照元は、公式wikiになります。
The following two tabs change content below.
取締役
主に開発のプロジェクト管理や新規事業の立ち上げを行う。
現在はXCALLY(エックスコーリー)の拡販に力入れている。
- XCALLYがメジャーバージョンアップするのでウェビナーに参加してみた - 2022-01-20
- 0120番号をクラウドPBXで利用するための基本的な作業手順 - 2021-06-03
- Kamailioとはなにか - 2021-04-21
- RFPの発注者とベンダー、両方の立場を並行で仕事してみて思うこと - 2020-12-09
- コールセンターはAIに仕事を取って代わられるのか - 2019-09-17