Enorme telefoontjes met sipgate.io

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:

Enorme telefoontjes met sipgate.io

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

Terug