0
Your Cart
empty cart سبد خریدتان در حال حاضر خالی است! بازگشت به فروشگاه

ماژول درخواست تماس | Dial API

با نصب ماژول Call Request یک API قدرتمند روی ایزابل خواهید داشت که به شما اجازه می‌دهد نرم‌افزارها و سرویس‌های بیرونی مثل CRM، وب‌سایت، اپلیکیشن‌های اداری یا حتی تجهیزات سخت‌افزاری، تنها با یک درخواست ساده (API Call) تماس تلفنی را از طریق سیستم تلفنی ایزابل برقرار کنند.

توضیحات فنی و کاربردی

این ماژول تخصصی با مجموعه‌ای از امکانات هوشمند، نکات فنی مهم برای بهره‌برداری صحیح، و شرایط دقیق صدور لایسنس و ارائه پشتیبانی طراحی شده تا پاسخگوی نیازهای سازمانی در حوزه مدیریت بازخورد و تحلیل رضایت مشتریان باشد.

معرفی محصول: ماژول درخواست تماس هوشمند (Call Request) برای Issabel

Call Request یک API فوق‌العاده ساده و امن است که تلفن سازمان شما را به هر نرم‌افزاری که بخواهید متصل می‌کند – فقط با یک درخواست HTTP!

تصور کنید مشتری در سایت شماره می‌گذارد → فوری یا در زمان دلخواه با او تماس گرفته می‌شود. مدیر فروش در CRM کلیک می‌کند → تلفن کارشناس زنگ می‌خورد. سیستم حسابداری بدهی را یادآوری می‌کند → تماس خودکار برقرار می‌شود.

همه این‌ها بدون دردسر، بدون برنامه‌نویسی پیچیده، در چند دقیقه!

کاربردهای واقعی و پرارزش

  • تماس با یک کلیک از CRM، سایت فروش، اپلیکیشن موبایل

  • Call Back هوشمند وب‌سایت (مشتری درخواست تماس می‌دهد)

  • تماس اطلاع‌رسانی خودکار (یادآوری نوبت، پیگیری سفارش، اعلام تخفیف)

  • کمپین‌های مارکتینگ و نظرسنجی تلفنی

  • تماس امن (Number Masking) بدون نمایش شماره واقعی

  • اتصال آسان نرم‌افزارهای حسابداری، انبار، تیکتینگ، بات و IoT به تلفن

ویژگی‌های کلیدی که کار شما را راحت می‌کند

  • ۴ نوع تماس آماده: داخلی به بیرونی، بیرونی به داخلی، بیرونی به بیرونی و داخلی به داخلی

  • کالرآیدی دلخواه: تعیین شناسه تماس‌گیرنده با پارامتر cid

  • تماس زمان‌بندی‌شده: برنامه‌ریزی تماس برای آینده با پارامتر schedule_time

  • شناسه منحصربه‌فرد تماس (UniqueID – اختیاری): دریافت شناسه تماس با want_uniqueid=1 برای پیگیری و اتصال به CRM

  • تگ‌گذاری تماس‌ها: ثبت برچسب اختصاصی با پارامتر tag در فیلد Account Code گزارش CDR

  • محدودیت مدت تماس (جدید!): تعیین حداکثر زمان تماس با پارامتر max_duration

  • هشدار صوتی پیش از پایان تماس (جدید!): پخش صدای هشدار در زمان باقی‌مانده مشخص؛ قابل تنظیم از طریق فایل callrequest-params.ini

  • فعال و غیرفعال کردن هشدار صوتی (جدید!): کنترل هشدار با پارامتر warning_enabled بدون غیرفعال شدن محدودیت مدت تماس

  • تنظیم زمان و فایل هشدار: تعیین زمان هشدار با warning_time و انتخاب فایل صوتی با warning_file

  • امنیت: امکان استفاده از توکن احراز هویت و محدودسازی IPهای مجاز

  • سبک و سریع: مناسب برای اتصال نرم‌افزارهای مختلف به زیرساخت تلفنی مبتنی بر Asterisk

پیش‌نیاز ساده

  • Issabel یا FreePBX با Asterisk فعال

  • اتصال HTTPS توصیه می‌شود

  • نصب در کمتر از ۱۵ دقیقه!

ارزش واقعی Call Request: شما دیگر نیازی به توسعه‌دهنده گران یا راه‌حل‌های پیچیده ندارید. تلفن سازمان‌تان را به هر سیستمی که دارید وصل کنید و تجربه مشتریان را متحول کنید.

آماده اولین تماس هوشمند هستید؟ همین حالا تست کنید و ببینید چقدر ساده و قدرتمند است! 🚀

 

📄 شرایط لایسنس، پشتیبانی و اصلاحات ماژول 

قبل از استفاده، لطفاً تب مربوط به شرایط لایسنس و خدمات پشتیبانی را با دقت مطالعه فرمایید.

  • امکان شخصی‌سازی ماژول بنا به درخواست مشتری تنها در صورتی فراهم است که جزئیات زمان و هزینه مورد بررسی و تأیید تیم ویپ ایران قرار گیرد. در غیر این صورت، هیچ تغییری در محصول امکان‌پذیر نخواهد بود.
  • رفع باگ‌های احتمالی در عملکرد سیستم (به معنی بروز رفتار نادرست در بخشی از برنامه)، در بازه زمانی دو ماهه پس از اعلام مشتری توسط تیم فنی ویپ ایران بررسی و در نسخه جدید اصلاح خواهد شد.

شرایط لایسنس، پشتیبانی و بروزرسانی محصول

لطفاً پیش از نصب یا استفاده، شرایط زیر را به دقت مطالعه فرمایید:

🔐 شرایط صدور لایسنس

  • لایسنس برنامه مختص یک دستگاه است و تنها یک‌بار نصب بر روی آن امکان‌پذیر می‌باشد. نصب بر روی چند دستگاه مجاز نیست.
  • مدت زمان استفاده از لایسنس نامحدود بوده و پس از نصب، می‌توانید تا هر زمان از محصول استفاده نمایید.

🤝 شرایط پشتیبانی

  • مدت زمان پشتیبانی یک‌ساله از تاریخ خرید محصول فعال است.
  • در صورت بروز مشکل سخت‌افزاری یا نرم‌افزاری مرتبط با ماشین نصب‌شده، صدور مجدد لایسنس تنها برای یک‌بار و طی سال اول امکان‌پذیر است.
  • تا یک سال پس از خرید، می‌توانید از طریق راه‌های ارتباطی اعلام‌شده، سوالات و مشکلات خود را مطرح نمایید؛ پس از اتمام این دوره، خدمات پشتیبانی غیرفعال خواهد شد.

🔧 شرایط دریافت بروزرسانی

  • دریافت بروزرسانی‌ها و آپدیت‌های فنی محصول فقط در طول دوره یک‌ساله پشتیبانی امکان‌پذیر است.
  • درخواست دریافت بروزرسانی‌ها باید توسط خریدار به صورت رسمی مطرح گردد.

داستان‌های واقعی و موارد کاربردی

این بخش به‌عنوان یک نمونه‌ای از کاربرد عملی، به شما کمک می‌کند تا به‌طور کامل با توانایی‌های افزونه‌های ایزابل و استریسک آشنا شوید و تصمیم‌گیری‌های بهتری در مورد استفاده از آن‌ها بگیرید.

این ماژول به صورت یک صفحه بر روی وب سایت شما قرار میگیرد و در تنظیمات امکان قرار گیری چند دکمه بر روی آن وجود دارد، هر دکمه می تواند به یک شماره داخلی و یا صف به ایزابل متصل شود.

مشتری شما پس از ورود به صفحه ماژول و زدن دکمه انتخابی، می تواند از طریق وب با صف یا اپراتور های شما ارتباط برقرار کند و مکالمه صوتی داشته باشد.

  • امکان قراردادن چند دکمه برای بخش های مختلف بر روی صفحه وب فون
  • امکان برقراری تماس صوتی با صف یا اپراتور
  • نسخه استریسک سرور ایزابل شما باید 16 باشد
  • کیفیت مکالمه یا داشتن صدای کامل بستگی به اینترنت و بسترارتباطی مشتری دارد، مثلا در صورت استفاده از فیلتر شکن یا موانع شبکه ممکن است صدای کامل و دو طرفه را نداشته باشند.
  • یک دامنه یا زیر دامنه برای دسترسی به آی پی ایزابل
  • یک دامنه یا زیر دامنه برای دسترسی به صفحه ماژول بر روی وب سایت 
  • امکان نصب ماژول Sourcegaurdian بر روی هاست وب سایت
  • فرض کنید یک CRM در یک مجموعه آزمایشگاهی در صورت نتیجه آزمایش آماده است و به صورت خودکار با مشتری تماس گرفته شود و این اطلاع رسانی صورت گیرد.

    یک مجموعه بیمه هر روز صبح توسط CRM مجموعه درخواست تماس با کسانی که یک سال قبل خرید بیمه داشتند را ارسال کند و این اطلاع رسانی توسط این ماژول صورت گیرد.

  • ارسال درخواست تماس از صوی CRM یا برنامه مجموعه می تواند هدف تبلیغ محصول کنید به افرادی و مشتیران خاص آن مجموعه باشد.
     
  • در بسیاری از پروژه ها درخواست تماس فقط از سمت CRM ها ارسال نمی وشد، ممکن است که برنامه نظارتی همچون نظارت بر شبکه، محصولات امنیتی و یا ایمنی ارسال گردد.
     به طور مثال دستگاه نظارت بر امنیت یک ساختمان در صورت بروز مشکل درخواست تماس با پلیس را به استریسک ارسال کند.

نصب و راه اندازی

با ماژول نظرسنجی ایزابل ویپ ایران، تجربه‌ای سریع و ساده از نصب و راه‌اندازی نظرسنجی تلفنی را تجربه کنید؛ بدون نیاز به دانش فنی، تنها با چند کلیک! مناسب برای شرکت‌هایی که به دنبال راهکاری مقرون‌به‌صرفه، قدرتمند و قابل اعتماد هستند. همراه با راهنمای کامل نصب و امکان پشتیبانی در صورت نیاز.

راهنمای نصب ماژول بر روی ایزابل 

نصب این ماژول کاملاً خودکار است و هیچ نیازی به دانش برنامه‌نویسی یا مهارت‌های پیشرفته لینوکس ندارد. تنها کافی‌ست به سرور ایزابل دسترسی SSH داشته باشید.


پیش‌نیازهای نصب

  • دسترسی به سرور ایزابل با کاربر root از طریق SSH (مثلاً با نرم‌افزار PuTTY)

  • اتصال اینترنت روی سرور (فقط در زمان نصب اولیه)

  • دریافت لایسنس اختصاصی که پس از خرید به ایمیل شما ارسال می‌شود

💡 نکته مهم: نصب این ماژول تأثیری بر عملکرد سیستم تلفنی فعلی شما ندارد. با این حال، توصیه می‌شود قبل از نصب از سرور بکاپ تهیه کنید.


مراحل نصب گام‌به‌گام

این ماژول بخشی از پلتفرم مرکزی Connect panel (بستر اجرای ماژول‌ها) است. اگر قبلاً ماژول دیگری خریداری کرده‌اید و پلتفرم نصب شده است، نیازی به اجرای مجدد فرمان نصب نیست و فقط لایسنس را در محیط وب وارد کنید.

ایمیلی که بعد از خرید دریافت می‌کنید، حاوی یک فرمان کامل شبیه زیر است:

 
bash <(curl -fsSL -H 'Voipiran-Key:
VOIPIRAN_zJ6UVMkEq03Zbmqp1J2I16WDtX1D4U36GUf3h2n97XkcUK1L010WLp4ZDw1UY7sI82bVNM220sa93LOa6crYxkvWjXaOt02M3PVEe7X4my2JZ2053LA8Tx3Slmc4S34yOPEBO76tgFta3Fw6479P74q9eQk6G6L4q8724WO3FG3e7FqnmUW1B2U6WdWxxQH' https://voipiran.io/clover/install.sh)

این فرمان شامل کلید لایسنس (رشته بلند بعد از Voipiran-Key:) است که برای نصب و فعال‌سازی استفاده می‌شود.

 


مرحله اول: نصب Connect

مرحله اول: نصب یا به‌روزرسانی پلتفرم مرکزی (Connect panel)

  1. فرمان کامل را از ایمیل کپی کنید.
  2. در ترمینال SSH سرور خود (روی Issabel یا FreePBX) وارد کنید و Enter بزنید.
  3. اسکریپت به‌طور خودکار اجرا می‌شود. در این مرحله ممکن است چند سوال ساده پرسیده شود، مانند:
    • رمز عبور دلخواه برای ورود به محیط وب CCpanel (اگر قبلاً نصب شده، از رمز موجود استفاده کنید).
  4. پس از اتمام، آدرس IP و پورت دسترسی به محیط وب CCpanel (مثلاً http://your-ip:9000) به شما نمایش داده می‌شود.

نکته: اگر پلتفرم قبلاً نصب شده باشد، این فرمان فقط لایسنس را بررسی و ماژول‌های جدید را آماده می‌کند بدون نصب مجدد کامل.


مرحله دوم: فعال‌سازی لایسنس ماژول در محیط وب

  1. مرورگر خود را باز کنید و به آدرس پلتفرم Connect Panel (که بعد از نصب نمایش داده شده، مثلاً http://your-ip:9000) وارد شوید.
  2. با نام کاربری و رمز عبوری که در مرحله نصب تنظیم کردید، وارد محیط CCpanel شوید.
  3. از منوی بالا یا بخش تنظیمات، وارد قسمت فعال‌سازی لایسنس (یا Licence Activation) شوید.
  4. کل لایسنس دریافتی از ایمیل را کامل کپی کنید و در فیلد مربوطه جای‌گذاری (Paste) کنید:
 
VOIPIRAN_zJ6UVMkEq03Zbmqp1J2I16WDtX1D4U36GUf3h2n97XkcUK1L010WLp4ZDw1UY7sI82bVNM220sa93LOa6crYxkvWjXaOt02M3PVEe7X4my2JZ2053LA8Tx3Slmc4S34yOPEBO76tgFta3Fw6479P74q9eQk6G6L4q8724WO3FG3e7FqnmUW1B2U6WdWxxQH
 

نکته مهم: لایسنس دقیقاً با پیشوند VOIPIRAN_ شروع می‌شود و کل رشته (شامل پیشوند) باید وارد شود. نیازی به ویرایش یا حذف بخشی نیست.

  1. روی دکمه تأیید یا فعال‌سازی کلیک کنید.
  2. پس از چند ثانیه، اگر لایسنس معتبر باشد، پیام موفقیت‌آمیز نمایش داده می‌شود و منوی محصول(های) خریداری‌شده (مانند نظرسنجی، گزارش‌گیری، درخواست تماس و سایر ماژول‌ها) به صورت خودکار به پنل اضافه می‌گردد.

نکات اضافی در این مرحله

  • اگر قبلاً لایسنس دیگری وارد کرده‌اید، این لایسنس جدید می‌تواند ماژول‌های اضافی را به همان پلتفرم اضافه کند.
  • در صورت خطای «لایسنس نامعتبر»، مطمئن شوید کل رشته را دقیق و بدون فضای اضافی کپی کرده‌اید.
  • پس از فعال‌سازی موفق، صفحه را رفرش کنید تا منوهای جدید ظاهر شوند.

 

راهنمای استفاده از API ماژول Call Request

آدرس پایه سرویس:

https://ISSABEL_IP/dial.php

ISSABEL_IP را با IP یا دامنه سرور Issabel جایگزین کنید.

۱. پارامترهای درخواست

پارامترالزامیتوضیحاتمثال
dirبلهنوع تماس: inout، outin، outout یا inindir=inin
in1بسته به نوع تماسداخلی اولin1=2001
in2برای ininداخلی دومin2=2002
out1بسته به نوع تماسشماره بیرونی اولout1=09122103200
out2برای outoutشماره بیرونی دومout2=09121234567
schedule_timeخیرزمان اجرای تماس در آیندهschedule_time=2026-10-11%2014:30:00
want_uniqueidخیردرخواست انتظار برای دریافت شناسه تماس؛ مقدار 1want_uniqueid=1
tagخیرشناسه اختصاصی درخواست؛ حداکثر ۶۴ کاراکترtag=CRM-456
max_durationخیرحداکثر مدت تماس بر حسب ثانیه؛ از ۱ تا ۸۶۴۰۰max_duration=60

انواع تماس

dirمبدأمقصد
inoutداخلیشماره بیرونی
outinشماره بیرونیداخلی
outoutشماره بیرونی اولشماره بیرونی دوم
ininداخلی اولداخلی دوم

نکته: کاراکترهای غیرعددی شماره‌ها حذف می‌شوند. موفقیت تماس‌های بیرونی به تنظیمات ترانک و مسیرهای تماس سانترال وابسته است.

۲. محدودیت مدت تماس و هشدار صوتی

پارامتر max_duration حداکثر مدت تماس را بر حسب ثانیه تعیین می‌کند.

برای مثال:

max_duration=60

برای فعال کردن هشدار صوتی، فایل callrequest-params.ini را تنظیم کنید:

warning_enabled = yes
warning_time = 20
warning_file = en/beep
تنظیمکاربرد
warning_enabledفعال یا غیرفعال کردن هشدار با yes یا no
warning_timeتعداد ثانیه‌های باقی‌مانده هنگام پخش هشدار
warning_fileنام فایل صوتی نسبت به مسیر صداهای Asterisk، بدون پسوند

مثال: با max_duration=60 و warning_time=20، هشدار باید حدود ثانیه ۴۰ پخش شود و تماس در محدودیت ۶۰ ثانیه پایان یابد.

برای غیرفعال کردن هشدار:

warning_enabled = no

غیرفعال کردن هشدار، محدودیت مدت تماس را غیرفعال نمی‌کند.

فایل صوتی باید در مسیر صداهای Asterisk موجود و قابل پخش باشد. برای مثال، en/beep به فایل beep.gsm در پوشه en اشاره می‌کند.

۳. نمونه درخواست‌ها

در مثال‌ها، ISSABEL_IP را با آدرس واقعی سرور جایگزین کنید.

تماس داخلی به داخلی

https://ISSABEL_IP/dial.php?dir=inin&in1=2001&in2=2002

تماس داخلی به بیرونی

https://ISSABEL_IP/dial.php?dir=inout&in1=2001&out1=09122103200

تماس بیرونی به داخلی

https://ISSABEL_IP/dial.php?dir=outin&out1=09122103200&in1=2001

تماس بیرونی به بیرونی

https://ISSABEL_IP/dial.php?dir=outout&out1=09122103200&out2=09121234567

تماس با محدودیت ۶۰ ثانیه

https://ISSABEL_IP/dial.php?dir=inin&in1=2001&in2=2002&max_duration=60

تماس با محدودیت ۶۰ ثانیه و هشدار ۲۰ ثانیه پایانی

ابتدا تنظیمات هشدار را در فایل INI فعال کنید، سپس درخواست زیر را بفرستید:

https://ISSABEL_IP/dial.php?dir=inin&in1=2001&in2=2002&max_duration=60

تماس با تگ و درخواست UniqueID

https://ISSABEL_IP/dial.php?dir=inin&in1=2001&in2=2002&want_uniqueid=1&tag=CRM-456

تماس زمان‌بندی‌شده

https://ISSABEL_IP/dial.php?dir=inin&in1=2001&in2=2002&schedule_time=2026-10-11%2014:30:00&tag=CRM-456&max_duration=60

زمان باید در آینده باشد تا تماس زمان‌بندی شود. اجرای تماس‌های زمان‌بندی‌شده به پیکربندی Cron وابسته است.

۴. نمونه پاسخ‌های JSON

درخواست پذیرفته شده و UniqueID دریافت شده است

{
  "status": "success",
  "message": "Originate sent",
  "UniqueID": "1710321456.123",
  "tag": "CRM-456",
  "max_duration": 60
}

فیلد max_duration فقط زمانی در پاسخ وجود دارد که محدودیت مدت تماس تعیین شده باشد.

درخواست پذیرفته شده، اما UniqueID دریافت نشده است

{
  "status": "queued",
  "message": "Originate queued (no UniqueID yet)",
  "UniqueID": null,
  "tag": "CRM-456"
}

وضعیت queued به معنای شکست قطعی تماس نیست. همچنین پذیرش درخواست یا دریافت UniqueID تضمین نمی‌کند که مقصد پاسخ داده باشد.

تماس زمان‌بندی شده است

{
  "status": "scheduled",
  "time": "2026-10-11 14:30:00",
  "tag": "CRM-456"
}

خطای برقراری تماس

{
  "status": "failed",
  "message": "Originate failed",
  "tag": "CRM-456"
}

۵. خطاهای رایج

خطاعلت یا اقدام پیشنهادی
AMI not connectedبررسی اتصال AMI، نام کاربری، رمز عبور و دسترسی شبکه
Invalid parametersبررسی dir و شماره‌های موردنیاز
Invalid schedule_time formatارسال تاریخ و ساعت معتبر
Invalid max_durationارسال عدد صحیح بین ۱ تا ۸۶۴۰۰
Originate failedبررسی ترانک، Dialplan و شماره مقصد
هشدار صوتی پخش نمی‌شودبررسی warning_enabled، مقدار warning_time، نام فایل و لاگ Asterisk

۶. نکات عملیاتی

  • برای ارتباط امن، از HTTPS استفاده کنید.

  • max_duration اختیاری است؛ در صورت حذف، محدودیت زمانی این قابلیت اعمال نمی‌شود.

  • تنظیمات هشدار از فایل callrequest-params.ini خوانده می‌شوند.

  • tag در فیلد Account Code تماس به Asterisk ارسال می‌شود و در پاسخ API نیز برگردانده می‌شود.

  • برای دریافت UniqueID، مقدار want_uniqueid=1 را ارسال کنید؛ API تا حدود ۵ ثانیه منتظر می‌ماند.

  • تماس‌های زمان‌بندی‌شده به اجرای صحیح Cron نیاز دارند.

  • لاگ اصلی برنامه در فایل callrequest.log کنار فایل PHP ذخیره می‌شود؛ برای نصب در /var/www/html/dialer مسیر آن /var/www/html/dialer/callrequest.log است.

پیشنهاد: پیش از استفاده عملیاتی، هر چهار نوع تماس، محدودیت مدت تماس، هشدار صوتی و زمان‌بندی را با شماره‌های آزمایشی بررسی کنید.