Asteriskتلفن تحت شبکه

تشخیص Hang-up در Asterisk

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

در ابتدا نگاهی می اندازیم به نحوه تشخیص قطع شدن تماس یا همان Hang-up Detection :

سیگنال های هنگ آپ توسط اینترفیس های FXS و به منظور اطلاع قعطی تماس در سمت FXS به اینترفیس های FXO تولید می شوند. پس اگر یک FXO بخواهد قعطی تماس را به یک FXS اطلاع بدهد چگونه این کار را انجام می دهد ؟ درواقع FXO با تغییر سطح ولتاژ خود به حالت on-hook قطعی تماس را اطلاع رسانی می کند.

در مرکز تلفنی Asterisk تنظیمات Hang-up Detection در فایلی به نام chan_dahdi.conf در مسیر /etc/asterisk   ذخیره می شوند. در این فایل پارامترهای متعددی نوشته شده است که تنظیمات آن ها در هر کشوری ممکن است متفاوت باشد. در ادامه توضیح مختصری درباره برخی از آن ها شرح داده شده است :

Busydetect=yes : در اینترفیس های ترانک ( FXS ) باعث می شود که تشخیص قعطی تماس و همچنین اشغالی خطوط ممکن گردد. این پارمتر listening را برای تشخیص الگوی بیپ-بیپ فعال خواهد کرد.

Busycount=6 : این پارامتر در زمانی که busydetect فعال باشد عمل می کند. کار آن به این شکل است که زمانی که busydetect الگوی اشغالی را تشخیص می دهد ، اگر الگوی بیپ-بیپ به تعدادِ مقدار تنظیم شده برای busycount رسید ، تماس را قطع شده اعلام می کند. مقدار پیش فرض آن ۳ است که می توانید برای اطمینان آن را بر روی ۶ یا ۸ تنظیم نمایید. به این معنا که بعد از دریافت مثلا ۶ الگوی اشغال تماس را قطع می کند.

ارتباط VoIP Gateway برند New Rock سری MX با Elastix و FreePBX

Busypattern=500,500 :

با فعال شدن busydetect این پارامتر هم تاثیرگذار خواهد بود. Busypattern تعیین کننده آهنگ اِشغال است. برای مثال در بعضی از کشورها سیگنالِ بوق اشغال ۵۰۰ میلی ثانیه پخش می شود و سپس ۵۰۰ میلی ثانیه سکوت خواهد بود. ( این الگو ممکن است در هر کشوری متفاوت باشد ) اگر این مقدار تنظیم نگردد ، هر الگوی سکوت و صدایی که به صورت پشت سر هم باشد بدون توجه به مدت آن به عنوان بوق اشغال در نظر گرفته خواهد شد.

Progzone=ir : از آن جایی که این تنظیمات برای هر کشوری متفاوت است ، در این قسمت می توان با استفاد ه از مقدار دهی این پارامتر بر اساس مخفف نام هر کشور ( که برای ایران ir است ) سیستم را وادار به استفاده از تنظیمات مناسب هر کشور نماییم. در این صورت پارمتری مانند busypattern اگر از قبل تعریف نشده باشد به صورت خودکار توسط progzone معین خواهد شد.

اگر توضیحات بالا را به خاطر نسپردید و فقط به دنبال حل مشکل هستید نگران نباشید. مراحل زیر را دنبال نمایید :

از هر طریقی که احساس راحتی می کنید فایل chan_dahdi.conf را باز نمایید. ما برای این کار وارد محیط Elastix می شویم. در منوی PBX و زیر منوی Tools گزینه Asterisk File Editor را انتخاب نمایید.

Hang-up Detection - 1

از بین فایل های نمایش داده شده chan_dahdi.conf را پیدا و بر روی آن کلیک کنید. فایل مورد نظر باز خواهد شد. در قسمت آخر موارد busydetect=yes و busycount=3 را از حالت کامنت خارج نمایید. بدین صورت که علامت SemiColon را از ابتدای هر خط پاک کنید. مانند تصویر زیر :

خطای ۵۰۳ پروتکل SIP در زویپر به چه علت اتفاق می افتد؟

اکنون کافی ست که دکمه Save را بزنید و با دکمه Reload Asterisk ، سرویس استریسک را دوباره بارگذاری نمایید.

 

۱ ۱ رای دادن
رای دادن به مقاله

نوید داریا

Experienced IT Specialist with a demonstrated history of working in the information technology and services industry. Skilled in VMware ESX, Domain Name System (DNS), DHCP, VoIP, Veeam Backup Solutions, Adobe Connect, Servers, and Data Center. Strong operations professional graduated from Amirkabir University of Applied Sciences and Technology. Now I am studying Informatics at Vienna University
اشتراک در
اشاره به موضوع
guest
6 کامنت
جدیدترین
قدیمی ترین نظرات با تعداد رای بالا
Inline Feedbacks
مشاهده همه کامنت ها
یاسر
یاسر
3 سال پیش

سلام . ما تلفن cytco تو شرکت داریم . مشکل please hang up داره و اصلا تماسو وصل نمیکنه . چه مشکلی داره به نظر شما ؟

کوروش فضائلی
کوروش فضائلی
7 سال پیش

سلام
تشکر بابت آموزش خوبتون
ولی مشکل حل نشد، البته وقتی یک SIP از IVR انتخاب میشه وبعد خط قطع میشه تشخیص میده ولی وقتی داره پیام IVR پخش میشه و خط از طرف تماس گیرنده قطع بشه اشغال میشناسه و دوباره وصل نمیشه
ممنون میشم راهنمایی کنید

احسان
احسان
7 سال پیش

مطلبی که گذاشتید برای بنده خیلی مفید بود.
امیدوارم باز هم شاهد مقاله های از این دست، مثلا در مورد پارامترهای آنالوگ در سیستم ویپ (که در این مقاله هم به قسمتی از اون اشاره کردید)، پارامترهایEcho Cancel Ring Timeout، Relax DTMF، Send Caller ID After، Denoise، Echo Training، Opermode، Tone Zone و پارامترهای مربوط به کالر آی دی از قبیل موارد، زیر باشیم :
Caller ID Detection
Caller ID Signaling
Caller ID Start
CID Buffer Length
Ring Debounce
DTMF Hits Begin
DTMF Misses End
Detect Caller ID After
متشکرم

دکمه بازگشت به بالا