چگونه می‌توانیم سرویس Call Back را بر روی Asterisk راه‌اندازی کنیم؟ (البته این سرویس برای ارتباط بین داخلی‌ها است). بعد از شماره‌گیری یک داخلی، اگر شماره مقصد اشغال باشد تماس گیرنده در صورت تمایل می‌تواند تماس را callback کند. یعنی به طور اتوماتیک بعد از آزاد شدن مقصد، تماس برقرار شود. به این ویژگی completion گفته می‌شود. Call Completion که به طور کلی مخفف Call Completion Supplementary Services (CCSS) می‌باشد به عنوان یک قابلیت جدید در Asterisk 1.8 معرفی شده است و در آخرین توزیع freepbx به عنوان یک option در تعریف داخلی مورد استفاده قرار می‌گیرد. completion در بعضی از ipphone مثل yealink به عنوان یک قابلیت و feature تعریف شده است و می‌توان آن را فعال کرد. اما شما نیز می‌توانید با dialplanنویسی این قابلیت را فعال کنید.


1) در مسیر etc/asterisk/sip_custom.conf برای داخلی خود دو خط زیر را اضافه می‌کنیم:

[100]
...
cc_agent_policy = generic
cc_monitor_policy = generic
[200]
...
cc_agent_policy = generic
cc_monitor_policy = generic


2) به طور مثال در context زیر در صورت اشغال بودن داخلی 100 یا 200 یا عدم پاسخ‌گویی پس از 20 ثانیه تماس hangup می‌شود حال می توان برای در خواست فعال‌سازی سرویس completion از کد *30 استفاده کنیم.

[phones]
exten => 7101,1,Dial(SIP/100,20)
same =>n,Hangup()
exten => 7102,1,Dial(SIP/200,20)
same =>n,Hangup()

exten => *30,1,CallCompletionRequest()
same =>n,playback(callbackisactive )
same =>n,Hangup()
;
; Dial *31 to cancel a call completion request.
;
exten => *31,1,CallCompletionCancel()
same =>n,playback(callbackisdeactive )
same =>n,Hangup()


منبع: VOIPIRAN