理論的には、オープン ソース ソフトスイッチ (FreeSWITCH、Asterisk) プロジェクトを使用して SIP サーバーを展開し、「SIP トランキング」サービスを購入して、電話番号を取得し、PSTN との間で通話をルーティングすることができます。次に、サーバーを使用するように WebRTC SIP クライアントを構成できます。オープン ソースの JavaScript ライブラリ (SIP.js、JsSIP、sipML5) があります。
小規模で作業していて、通信インフラストラクチャの実行とトランキングの購入に慣れている場合は、これが最良の選択かもしれません。実際には、PSTN から WebRTC への呼び出しを実行するのは難しい場合があり、多くの品質の問題があります。また、アプリを構築しようとしている規模もわかりませんが、SIP サーバーへの同時接続が 100 を超えているため、スケーリングに対処する必要があります。ホステッド ソリューションで通信の煩わしさを解消したい場合は、SIP.js を使用して OnSIP (SIP.js をサポートしている会社) にサインアップできます。これは、電話を購入できる従量課金制のサービスです。数字を入力して、クライアントをコーディングするだけです。SIP.js ユーザー エージェントの構造は次のようになります。
var userAgent = new SIP.UA({
uri: 'bob@example.onsip.com',
wsServers: ['wss://sip-ws.example.com'],
authorizationUser: sipUsername,
password: sipPassword
});
OnSIP (hosted) を選択した場合、これらの資格情報はサービスによって提供され、OnSIP に登録されます。独自の SIP サーバーを展開することを選択した場合は、それに応じて変更します。