سلام و عرض ادب
یک تایم کاری در ایزابل درست کردم . چطور میتونم بعد از تماس مشتری از اونا شماره تلفن دریافت کنم ؟ که بعد با مشتری تماس بگیرم
سلام دوست عزیز
این موضوع یک کار چند مرحله ای و نیازمند برنامه نویسی دایال پلن و agi است اما مراحل آن را بصورت کامل توضیح میدم :
برای این سناریو میتوان سیستم را به شکلی پیادهسازی کرد که وقتی مشتری خارج از ساعات کاری شرکت تماس میگیرد، سیستم تلفنی بهصورت خودکار:
- متوجه شود شرکت تعطیل است.
- به مشتری اعلام کند که در حال حاضر خارج از ساعات کاری است.
- از مشتری درخواست کند شماره تلفن خود را وارد کند.
- شماره واردشده را دریافت و اعتبارسنجی کند.
- شماره را همراه با تاریخ، ساعت و شماره تماسگیرنده در MySQL ذخیره کند.
- مدیر از طریق یک پنل وب، لیست درخواستها را مشاهده کند.
- مدیر بتواند بر اساس تاریخ، شمارهها را فیلتر کند.
- در آینده بتوان امکاناتی مانند وضعیت «پیگیری شد / پیگیری نشد» و ثبت توضیحات اپراتور را نیز به پنل اضافه کرد.
معماری کلی سیستم
ساختار پیشنهادی به این شکل است:
تماس مشتری │ ▼ Inbound Route │ ▼ Time Condition │ ├── داخل ساعات کاری → مسیر عادی شرکت │ └── خارج از ساعات کاری │ ▼ Misc Destination │ ▼ Custom Dialplan │ ▼ AGI │ ├── اعلام تعطیلی │ ├── درخواست شماره │ ├── دریافت DTMF │ ├── اعتبارسنجی │ └── ذخیره در MySQL │ ▼ Web Panel │ ▼ مشاهده و فیلتر شمارههابرای دریافت چند رقم DTMF در AGI میتوان از دستور استاندارد
GET DATAاستفاده کرد:GET DATA filename timeout maxdigitsاین دستور فایل صوتی را پخش کرده و همزمان ارقام واردشده توسط تماسگیرنده را دریافت میکند.
ساخت Dialplan
در Issabel بهتر است Dialplan سفارشی را در فایل:
/etc/asterisk/extensions_custom.confقرار دهیم.
مثلاً:
[custom-afterhours] exten => s,1,NoOp(=== AFTER HOURS CALLBACK SYSTEM ===) same => n,Answer() same => n,Wait(1) same => n,AGI(afterhours_callback.php) same => n,Hangup()afterhours_callback.php همان فایلی است که عملیات پخش صدا ، دریافت شماره و ذخیره در پایگاه داده را انجام میدهد در این فایل باید با زبان php و بر پایه AGI برنامه نویسی نمائید .
مرحله بعد از این طراحی وب پنل جهت مشاهده شماره های ذخیره شده است که آن هم با برنامه نویسی HTML و PHP انجام میشود
موفق باشید .
