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 zijn geïnstalleerd. De oproepen zijn nu gemaakt - om het audiobestand af te spelen, voeren we een trigger-URL in de Sipgate-backend in voor de uitgaande oproepen (wanneer we onszelf bellen) en voor de inkomende oproepen (mocht iemand terugbellen) en activeren de debug -Log:
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 oproepen zijn mogelijk (volgens de officiële verklaring van Sipgate is er een beperking van 5 gelijktijdige verbindingen, maar ik kon er meer tot stand brengen), hier moet je dan iets aanpassen aan de slaapwaarde.
Update 03/2022 : Sipgate heeft nu eindelijk de gebruikte XML-RPC-interface verouderd. Daarom is de bovenstaande oplossing niet langer bruikbaar. Een stabiel alternatief is bijvoorbeeld command line tools zoals baresip voor Linux (met behulp van de alsa module en het commando /ausrc aufile,audio.wav ) of tSIP voor Windows.Hier is een kleine implementatie in PHP die elke telefoonnummer met behulp van tSIP en speelt een audiobestand af:
7d1db430a89467d76748de53cfb438bf