Sipgate har oprettet en spændende sky-API med sipgate.io , som man har en lang række muligheder omkring internettelefoni med. En konto er gratis, og der er også mulighed for at indstille et gratis afsendernummer i Feature Store gratis. Dokumentationen fra sipgate.io kan stadig udvides, men med lidt læsning i den officielle Sipgate API kan du hurtigt indse spændende ting.
I den følgende kode implementerer vi følgende adfærd: Til testformål ringer vi et dusin telefonnumre efter hinanden for at afspille en lydfil og derefter sætte den på igen.
2e92bf96cdada9545cb8525ec68a7d6b
PHP-udvidelsen XML-RPC skal være installeret. Opkaldene er nu foretaget - for at afspille lydfilen indtaster vi en trigger-URL i Sipgate-backend for de udgående opkald (hvis vi ringer selv) og for de indgående opkald (hvis nogen ringer tilbage) og aktiverer fejlfindingsloggen:

Nu forbereder vi en lydfil (som ifølge dokumentationen skal være tilgængelig som en mono 16bit PCM WAV-fil). For at gøre dette kaster vi ffmpeg for at konvertere en MP3-fil til det ønskede format:
2e92bf96cdada9545cb8525ec68a7d6b
Nu indlæser vi denne WAV-fil sammen med følgende XML-script til https://www.tld.com/sipgate:/
2e92bf96cdada9545cb8525ec68a7d6b
Hvis du vil variere lydfilerne, anbefales det altid at bruge et nyt filnavn (sound-v * .wav) af cache-grunde.
Parallelle opkald er også mulige (ifølge den officielle udtalelse fra Sipgate er der en grænse på 5 samtidige forbindelser, men jeg kunne etablere flere), men du bør justere søvnværdien lidt.
Opdatering 03/2022 : Sipgate har nu endeligt forældet den anvendte XML-RPC-grænseflade . Derfor kan løsningen ovenfor ikke længere bruges. Et stabilt alternativ er for eksempel kommandolinjeværktøjer som baresip til Linux (ved hjælp af alsa-modulet og kommandoen / ausrc aufile,audio.wav ) eller tSIP til Windows. Her er en lille implementering i PHP, der bruger tSIP til at ringe til et hvilket som helst nummer og afspille en lydfil:
7d1db430a89467d76748de53cfb438bf