با sipgate.io ، Sipgate یک API ابر هیجان انگیز ایجاد کرده است که با استفاده از آن گزینه های زیادی برای تلفن اینترنتی وجود دارد. یک حساب کاربری رایگان است و همچنین امکان تنظیم هر شماره ارسال کننده رایگان در فروشگاه ویژگی وجود دارد. مستندات سایت sipgate.io هنوز قابل ارتقا هستند ، اما با کمی مطالعه در API رسمی Sipgate می توانید به سرعت چیزهای هیجان انگیز را دریابید.
در کد زیر رفتار زیر را پیاده سازی می کنیم: برای اهداف آزمایشی ، ما دوازده شماره تلفن را یکی پس از دیگری تماس می گیریم تا یک فایل صوتی را پخش کنیم و سپس دوباره روشن می کنیم.
2e92bf96cdada9545cb8525ec68a7d6b
پسوند PHP XML-RPC باید نصب شود. تماسها اکنون برقرار شدهاند - برای پخش فایل صوتی، یک URL ماشهای را در باطن Sipgate برای تماسهای خروجی (اگر خودمان تماس بگیریم) و برای تماسهای ورودی (اگر کسی تماس بگیرد) وارد میکنیم و گزارش اشکال زدایی را فعال میکنیم.:

اکنون ما در حال آماده سازی یک فایل صوتی هستیم (که طبق اسناد و مدارک باید به عنوان یک فایل mono 16bit PCM WAV در دسترس باشد). برای این کار ، ffmpeg را پرتاب می کنیم تا یک فایل MP3 را به قالب دلخواه تبدیل کنیم:
2e92bf96cdada9545cb8525ec68a7d6b
اکنون این پرونده WAV را به همراه اسکریپت XML زیر بارگیری کرده و در https://www.tld.com/sipgate بارگذاری می کنیم:/
2e92bf96cdada9545cb8525ec68a7d6b
اگر می خواهید فایل های صوتی را تغییر دهید ، توصیه می شود که به دلایل حافظه پنهان همیشه از نام پرونده جدید (sound-v * .wav) استفاده کنید.
تماسهای موازی نیز امکانپذیر است (طبق بیانیه رسمی سیپگیت، محدودیت ۵ اتصال همزمان وجود دارد، اما من توانستهام تعداد بیشتری برقرار کنم)، که در این صورت باید مقدار sleep را تنظیم کنید.
به روز رسانی 03/2022 : Sipgate اکنون بالاخره رابط XML-RPC مورد استفاده را منسوخ کرده است. بنابراین راه حل فوق دیگر قابل استفاده نیست. یک جایگزین پایدار، برای مثال، ابزارهای خط فرمان مانند baresip برای لینوکس (با کمک ماژول alsa و دستور / ausrc aufile,audio.wav ) یا tSIP برای ویندوز است. در اینجا یک پیاده سازی کوچک در PHP وجود دارد که از tSIP برای شماره گیری هر شماره و پخش یک فایل صوتی استفاده می کند:
7d1db430a89467d76748de53cfb438bf