Avec sipgate.io, Sipgate a créé une API cloud passionnante avec laquelle on dispose d'une multitude d'options pour la téléphonie Internet. Un compte est gratuit, et il est également possible de définir gratuitement n'importe quel numéro d'expéditeur gratuit dans le Feature Store. La documentation de sipgate.io est toujours extensible, mais avec un peu de lecture dans l' API officielle de Sipgate, on peut rapidement réaliser des choses passionnantes.
Dans le code suivant, nous implémentons le comportement suivant: À des fins de test, nous appelons une douzaine de numéros de téléphone l'un après l'autre pour lire un fichier audio, puis le remettre en marche.
2e92bf96cdada9545cb8525ec68a7d6b
L'extension PHP XML-RPC doit être installée. Les appels sont maintenant effectués - afin de lire le fichier audio, nous entrons une URL de déclenchement dans le backend Sipgate pour les appels sortants (si nous nous appelons) et pour les appels entrants (si quelqu'un rappelle) et activons le journal de débogage.:

Nous préparons maintenant un fichier audio (qui selon la documentation doit être disponible sous forme de fichier mono 16 bits PCM WAV). Pour ce faire, nous lançons ffmpeg pour convertir un fichier MP3 dans le format souhaité:
2e92bf96cdada9545cb8525ec68a7d6b
Maintenant, nous chargeons ce fichier WAV avec le script XML suivant dans https://www.tld.com/sipgate:/
2e92bf96cdada9545cb8525ec68a7d6b
Si vous souhaitez faire varier les fichiers audio, il est conseillé de toujours utiliser un nouveau nom de fichier (sound-v * .wav) pour des raisons de cache.
Les appels parallèles sont également possibles (selon la déclaration officielle de Sipgate, il existe une limite de 5 connexions simultanées, mais j'ai pu en établir davantage), auquel cas vous devez ajuster la valeur de veille.
Mise à jour 03/2022 : Sipgate a finalement rendu obsolète l' interface XML-RPC utilisée. La solution ci-dessus ne peut donc plus être utilisée. Une alternative stable est, par exemple, les outils en ligne de commande tels que baresip pour Linux (avec l'aide du module alsa et de la commande / ausrc aufile,audio.wav ) ou tSIP pour Windows. Voici une petite implémentation en PHP qui utilise tSIP pour composer n'importe quel numéro et lire un fichier audio:
7d1db430a89467d76748de53cfb438bf