sipgate.ioを使用して、 SipgateはエキサイティングなクラウドAPIを作成しました。このAPIを使用して、インターネットテレフォニーの多数のオプションを利用できます。 アカウントは無料です。また、機能ストアで無料の送信者番号を設定するオプションもあります。 sipgate.ioのドキュメントはまだ拡張可能ですが、公式のSipgate APIを少し読むだけで、エキサイティングなことをすぐに実現できます。
次のコードでは、次の動作を実装します。テストの目的で、1ダースの電話番号に次々に電話をかけてオーディオファイルを再生してから、再びオンにします。
2e92bf96cdada9545cb8525ec68a7d6b
PHP 拡張機能XML-RPCがインストールされている必要があります。これで通話が行われます。オーディオ ファイルを再生するために、発信通話 (自分自身に電話をかける場合) と着信通話 (誰かが折り返し電話する場合) のトリガー URL を Sipgate バックエンドに入力し、デバッグ ログをアクティブにします。:

現在、オーディオファイルを準備しています(ドキュメントによると、モノラル16ビットPCM WAVファイルとして利用可能である必要があります)。 これを行うには、ffmpegをスローして、MP3ファイルを目的の形式に変換します。:
2e92bf96cdada9545cb8525ec68a7d6b
次に、このWAVファイルを次のXMLスクリプトと一緒にhttps://www.tld.com/sipgateにロードします。:/
2e92bf96cdada9545cb8525ec68a7d6b
オーディオファイルを変更する場合は、キャッシュ上の理由から、常に新しいファイル名(sound-v * .wav)を使用することをお勧めします。
並列呼び出しも可能です(Sipgateの公式発表によると、同時接続数は5つに制限されていますが、私はそれ以上の接続を確立できました)。その場合は、スリープ値を調整する必要があります。
更新 03/2022 : Sipgate は、使用されているXML-RPC インターフェイスを最終的に非推奨にしました。したがって、上記の解決策は使用できなくなります。安定した代替手段は、たとえば、Linux のbaresip ( alsa モジュールとコマンド/ ausrc aufile,audio.wavの助けを借りて) や Windows のtSIPなどのコマンド ライン ツールです。これは、tSIP を使用して任意の番号にダイヤルし、オーディオ ファイルを再生する PHP での小さな実装です。:
7d1db430a89467d76748de53cfb438bf