Met sipgate.io heeft Sipgate een opwindende cloud-API gecreëerd waarmee men een veelvoud aan opties heeft voor internettelefonie. Een account is gratis en er is ook de mogelijkheid om gratis een gratis afzendernummer in de Feature Store in te stellen. De documentatie van sipgate.io is nog steeds uitbreidbaar, maar met een beetje inlezen in de officiële Sipgate API kun je snel spannende dingen realiseren.
In de volgende code implementeren we het volgende gedrag: Voor testdoeleinden bellen we een tiental telefoonnummers een voor een om een audiobestand af te spelen en vervolgens weer op te hangen.
2e92bf96cdada9545cb8525ec68a7d6b
De PHP-extensie XML-RPC moet geïnstalleerd zijn. De oproepen zijn nu gedaan - om het audiobestand af te spelen, voeren we een trigger-URL in de Sipgate-backend in voor de uitgaande oproepen (als we onszelf bellen) en voor de inkomende oproepen (als iemand terugbelt) en activeren we het debug-logboek:

Nu bereiden we een audiobestand voor (dat volgens de documentatie beschikbaar moet zijn als een mono 16bit PCM WAV-bestand). Om dit te doen, gooien we ffmpeg om een MP3-bestand naar het gewenste formaat te converteren:
2e92bf96cdada9545cb8525ec68a7d6b
Nu laden we dit WAV-bestand samen met het volgende XML-script naar https://www.tld.com/sipgate:/
2e92bf96cdada9545cb8525ec68a7d6b
Als u de audiobestanden wilt variëren, is het raadzaam om altijd een nieuwe bestandsnaam (sound-v * .wav) te gebruiken om cache-redenen.
Parallelle gesprekken zijn ook mogelijk (volgens de officiële verklaring van Sipgate is er een limiet van 5 gelijktijdige verbindingen, maar ik heb er meer tot stand kunnen brengen), in welk geval u de slaapwaarde moet aanpassen.
Update 03/2022 : Sipgate heeft nu eindelijk de gebruikte XML-RPC-interface beëindigd. Daarom kan de bovenstaande oplossing niet langer worden gebruikt. Een stabiel alternatief zijn bijvoorbeeld opdrachtregeltools zoals baresip voor Linux (met behulp van de alsa-module en de command / ausrc aufile,audio.wav ) of tSIP voor Windows. Hier is een kleine implementatie in PHP die tSIP gebruikt om een willekeurig nummer te bellen en een audiobestand af te spelen:
7d1db430a89467d76748de53cfb438bf