DTMF چیست؟
DTMF مخفف Dual-Tone Multi-Frequency به معنی «تنهای چندفرکانسی» است. این همان سیگنالهایی هستند که هنگام فشردن کلیدهای تلفن (۰ تا ۹، * و #) شنیده میشوند.
در واقع هر کلید ترکیبی از دو فرکانس صوتی تولید میکند. گیرنده با شنیدن این ترکیب، تشخیص میدهد کدام کلید فشرده شده است.
چرا DTMF اهمیت دارد؟
-
کنترل IVR و منوهای صوتی: وقتی در منوی تلفن گویا عددی را فشار میدهید، سیگنال DTMF ارسال میشود.
-
بانکداری تلفنی: وارد کردن رمز دوم یا شماره کارت از طریق کلیدهای تلفن.
-
کنترل از راه دور: برخی دستگاهها مثل سیستمهای امنیتی یا کنفرانس از طریق DTMF کنترل میشوند.
روشهای انتقال DTMF در VoIP
در شبکههای سنتی PSTN، DTMF به صورت صوتی (In-band) منتقل میشد. اما در VoIP چند روش وجود دارد:
-
In-band DTMF
-
سیگنالها همراه صدا (RTP) منتقل میشوند.
-
مشکل: اگر فشردهسازی صوتی (کدکهایی مثل G.729) استفاده شود، ممکن است سیگنالها مخدوش شوند.
-
-
Out-of-band (RFC2833 یا RTP Events)
-
سیگنال DTMF جدا از جریان صدا ارسال میشود.
-
پرکاربردترین روش در Asterisk و SIP.
-
-
SIP INFO
-
سیگنالها در قالب پیامهای SIP ارسال میشوند.
-
کمتر استفاده میشود اما در برخی تجهیزات موجود است.
-
نکات فنی و تجربی
-
در Asterisk تنظیم DTMF در فایل
sip.conf
یا در ترانکهای SIP بسیار مهم است. گزینههایی مثل:dtmfmode=rfc2833
-
اگر صدای کاربر خوب منتقل میشود ولی IVR اعداد را درست تشخیص نمیدهد، احتمالاً مشکل از روش انتقال DTMF است.
-
همیشه بین تجهیزات مختلف هماهنگی لازم است. مثلاً اگر یک سمت RFC2833 باشد و سمت دیگر In-band، DTMF کار نخواهد کرد.
-
در تماسهای بینالمللی گاهی اپراتورها DTMF را تبدیل میکنند و باعث خطا میشوند. تست کردن قبل از تحویل پروژه ضروری است.
-
اپلیکیشنهای موبایل SIP (مثل Zoiper یا Linphone) گاهی تنظیم DTMF متفاوتی دارند. باید مطمئن شوید مطابق سرور PBX تنظیم شدهاند.