...

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

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

مشخصات فنی، نکات کلیدی و شرایط پشتیبانی

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

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

Call Request برای Issabel/Asterisk یک API ساده و امنِ ‌HTTP است که به شما اجازه می‌دهد از هر نرم‌افزار بیرونی—مثل CRM، وب‌سایت، اتوماسیون اداری یا حتی تجهیزات سخت‌افزاری—درخواست «برقراری تماس» را مستقیم به سانترال‌تان ارسال کنید. این ماژول با استفاده از AMI تماس را از داخل ایزابل آغاز (originate) می‌کند و سناریوهای مختلف تماس را پوشش می‌دهد.

کاربردهای رایج

  • درخواست تماس از وب‌سایت (Customer Call Back): کاربر شماره می‌گذارد، سیستم تماس می‌گیرد.

  • Click2Call / Click2Dial در CRM: یک کلیک در CRM، تماس روی داخلی کارشناس برقرار می‌شود.

  • Number Masking (تماس امن): تماس دوطرفه بدون نمایش شماره‌های واقعی.

  • تماس اطلاع‌رسانی: یادآوری رویداد، اعلام بدهی/پیگیری سفارش و…

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

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

ویژگی‌ها و مزایا

  • چهار سناریوی تماس آماده:
    inout (داخلی⇢شماره بیرونی) · outin (شماره بیرونی⇢داخلی) · outout (بیرونی⇢بیرونی) · inin (داخلی⇢داخلی)

  • کالرآیدی سفارشی در هر درخواست (پارامتر cid)

  • همگام با ایزابل/استریسک: استفاده از AMI، بدون نیاز به ماژول‌های پیچیده

  • امنیت قابل تنظیم:
    احراز هویت با توکن (اختیاری) و محدودسازی دسترسی بر اساس IP/رِنج/CIDR

  • تنظیمات متمرکز از دیتابیس: voipiran_callrequest.settings (نام ترانک، پیش‌شماره خروجی، کالرآیدی، لاگ)

  • ثبت لاگ درخواست‌ها برای عیب‌یابی و پیگیری

  • سبک و سریع: مناسب یکپارچه‌سازی با هر سیستم (وب، موبایل، ERP، بات، IoT و…)

پیش‌نیازها

  • Issabel/Asterisk فعال و قابل دسترس

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

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

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

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

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

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

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

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

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

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

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

SCENARIO

داستان های مورد استفاده

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

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

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

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

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

راهنمای فنی استفاده (Usage Guide)

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

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

نصب این ماژول کاملاً خودکار است و هیچ نیازی به دانش برنامه‌نویسی یا مهارت‌های پیشرفته لینوکس ندارد. تنها کافی‌ست به سرور ایزابل دسترسی 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. پس از چند ثانیه، اگر لایسنس معتبر باشد، پیام موفقیت‌آمیز نمایش داده می‌شود و منوی محصول(های) خریداری‌شده (مانند نظرسنجی، گزارش‌گیری، درخواست تماس و سایر ماژول‌ها) به صورت خودکار به پنل اضافه می‌گردد.

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

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

 

 

راهنمای فنی استفاده (Usage Guide)

آدرس سرویس

 
https://ISSABEL_IP/dialer/dial.php

پیشنهاد: از HTTPS استفاده کنید. اگر توکن روشن است، توکن را در هِدر بفرستید.

✅ پارامترها

  • dir (الزامی): نوع تماس

    • inout : تماس از داخلی به بیرون

    • outin : تماس از بیرون به داخلی

    • outout: تماس بین دو شماره بیرونی

    • inin : تماس بین دو داخلی

  • in1 : داخلی مبدا (در inout و inin و outin)

  • in2 : داخلی مقصد دوم (فقط در inin)

  • out1: شماره بیرونی اول (در inout/outin/outout)

  • out2: شماره بیرونی دوم (فقط در outout)

  • cid : کالرآیدی دلخواه (اختیاری—در صورت مجاز بودن ترانک)

  • token : فقط وقتی لازم است که توکن در تنظیمات فعال باشد (بهتر است در هدر بفرستید)

✅ امنیت (قابل تنظیم در فایل ini)

  • enableToken = ۱|۰
    وقتی ۱ شود، باید توکن صحیح ارسال کنید.

    • مقدار توکن در token داخل ini تنظیم می‌شود.

    • ترجیحاً توکن را در هِدر بفرستید: (در صورت نیاز می‌توانید به‌صورت پارامتر token هم بفرستید.)


    • X-CallRequest-Token: <YOUR_TOKEN>

  • enableIpFilter = ۱|۰
    وقتی ۱ شود، فقط IPهایی که در allowedIps آمده‌اند مجازند.
    فرمت‌های مجاز در allowedIps (با کاما جدا کنید):

    • IP دقیق: ۱۹۲.۱۶۸.۲.۱۴

    • CIDR: ۱۹۲.۱۶۸.۲.۰/۲۴ یا ۱۰.۰.۰.۰/۸

    • بازه IPv4: ۲۰۳.۰.۱۱۳.۵-۲۰۳.۰.۱۱۳.۲۰

    • وایلدکارد IPv4: ۱۹۲.۱۶۸.۲.* یا ۱۰.*.*.*

اگر enableIpFilter=1 باشد و allowedIps خالی بماند، دسترسی رد می‌شود. وقتی خاموش است، به‌صورت پیش‌فرض همه مجازند.

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

 
# داخلی ۲۰۰۱ به شماره بیرونی

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

# تماس از شماره بیرونی به داخلی ۲۰۰۱
https://ISSABEL_IP/dialer/dial.php?dir=outin&in1=2001&out1=09121234567
# بیرونی به بیرونی

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

# داخلی به داخلی

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

# با کالرآیدی سفارشی

https://ISSABEL_IP/dialer/dial.php?dir=inout&in1=2001&out1=09121234567&cid=43398000

# با توکن در هدر (ترجیحی)
GET
https://ISSABEL_IP/dialer/dial.php?dir=inout&in1=2001&out1=09121234567
X-CallRequest-Token: YOUR_SECURE_TOKEN

پاسخ‌ها و خطاهای متداول

  • اتصال AMI ناموفق: AMI NOT CONNECTED (زیرساخت/کرِدنشیال AMI را چک کنید)

  • ۴۰۱ Unauthorized: توکن الزامی بوده و نادرست/خالی ارسال شده است.

  • ۴۰۳ Forbidden: فیلتر IP فعال است و IP شما در محدوده مجاز نیست.

  • ۲۰۰ OK: درخواست ثبت شده و Originate ارسال می‌شود (لازم نیست منتظر زنگ واقعی بمانید).

نکات پیاده‌سازی و بهترین‌تمرین‌ها

  • همیشه از HTTPS استفاده کنید و ترجیحاً توکن را در Header بفرستید.

  • ساختار شماره‌ها را در سمت کلاینت اعتبارسنجی کنید (طول/فرمت).

  • اگر کمپین حجیم دارید، ریت‌لیمیت سمت کلاینت/وب‌سرور لحاظ شود.

  • لاگ‌ها را مرتب بررسی کنید (فعال‌سازی dial_logging در تنظیمات DB).