מה זה DTMF, ולמה לפעמים "המקש לא נקלט"?
DTMF (Dual-Tone Multi-Frequency) הם הצלילים שהטלפון משמיע כשלוחצים על מקש: לכל מקש שילוב של שני תדרים. בזכותם אפשר "לבחור 1 למזכירות" בתפריט קולי. בשיחת אינטרנט יש כמה דרכים להעביר את הלחיצה, וכששני הצדדים לא מסכימים על אותה דרך — המקש לא נקלט.
הגדרה ומקור
DTMF הם ראשי התיבות של Dual-Tone Multi-Frequency — "צלילים כפולים בכמה תדרים". השיטה פותחה בארצות הברית בשנות החמישים והשישים, והחליפה בהדרגה את החיוג המסתובב, שבו הטלפון "ספר" לרשת את הספרה בניתוקים קצרים של הקו.
הרעיון: המקשים מסודרים בטבלה של ארבע שורות ושלוש (ולפעמים ארבע) עמודות. לכל שורה יש תדר נמוך, ולכל עמודה תדר גבוה. לחיצה על מקש משמיעה את שני התדרים יחד. שילוב כזה כמעט לא מופיע בדיבור רגיל, ולכן קל למערכת לזהות אותו — וקשה לבלבל אותו עם קול של אדם.
זו גם הסיבה שהשיטה החזיקה מעמד עד היום. כל תפריט קולי, כל כרטיס חיוג וכל מערכת שמבקשת "הקישו את מספר תעודת הזהות" מסתמכים עליה.
טבלת התדרים
מי שרוצה לראות את זה במספרים — כך בנויה המקלדת:
| 1209 הרץ | 1336 הרץ | 1477 הרץ | |
|---|---|---|---|
| 697 הרץ | 1 | 2 | 3 |
| 770 הרץ | 4 | 5 | 6 |
| 852 הרץ | 7 | 8 | 9 |
| 941 הרץ | * | 0 | # |
למשל, הספרה 5 היא שילוב של 770 ו-1336 הרץ. יש גם עמודה רביעית, עם האותיות A עד D, שכמעט לא נמצאת בטלפונים רגילים אבל קיימת בתקן.
למשתמש אין צורך לזכור את זה. מה שחשוב להבין הוא שמקש הוא בעצם צליל — ומכאן מגיעות רוב הבעיות כשהצליל הזה עובר באינטרנט.
איפה פוגשים DTMF ביום-יום
- תפריט קולי — "לשיעורים הקישו 1, למזכירות הקישו 2".
- כניסה לתא קולי — הקשת קוד סודי כדי לשמוע הודעות.
- כרטיסי חיוג — הקשת מספר הכרטיס והקוד.
- חדרי ועידה — הקשת קוד PIN כדי להיכנס.
- שירותים של גופים אחרים — בנק, קופת חולים, חברת חשמל — שמבקשים להקיש מספר זהות או לבחור שלוחה.
- קודים בתוך המרכזייה — במרכזיות רבות מקישים קוד כדי להעביר שיחה, לאסוף שיחה מטלפון אחר או להפעיל מצב "נא לא להפריע".
בכל המקרים האלה אותה בעיה יכולה לצוץ: המשתמש לוחץ, ושום דבר לא קורה. או שהוא לוחץ פעם אחת, והמערכת קולטת שתיים.
הבעיה: צליל שעובר דרך מכונת דחיסה
בטלפון קווי ישן, הצליל של המקש עבר בקו כמו הקול שלכם, והמרכזייה "שמעה" אותו. באינטרנט הקול לא עובר כמו שהוא. הוא נחתך לחבילות ונדחס בקודק, שנבנה כדי לשמר דיבור אנושי — לא צלילים מדויקים.
קודק כמו G.711 משמר את הצליל טוב יחסית. קודקים דוחסים יותר, כמו G.729, יכולים לעוות אותו עד שהמערכת בצד השני לא מזהה אותו. ואם חבילה הולכת לאיבוד באמצע הצליל, המקש יכול להיקטע, להיעלם או להיקלט פעמיים.
לכן עולם ה-VoIP פיתח דרכים "לספר" על המקש במקום "להשמיע" אותו. במקום לשלוח צליל, שולחים הודעה: "נלחץ המקש 5, למשך כך וכך". זה מדויק, וזה לא תלוי בקודק.
שלוש השיטות
יש שלוש דרכים עיקריות להעביר לחיצת מקש בשיחת אינטרנט:
- RFC 2833 (היום RFC 4733), נקרא גם RTP Event או "Out-of-band בתוך RTP" — הלחיצה נשלחת כחבילה מיוחדת בתוך ערוץ הקול (RTP), אבל לא כצליל, אלא כהודעה מסודרת: איזה מקש, כמה זמן. זו השיטה הנפוצה ביותר, ובדרך כלל גם ברירת המחדל בטלפונים.
- SIP INFO — הלחיצה נשלחת כהודעה בערוץ הניהול (SIP), בנפרד מהקול. אמינה, אבל לא כל המערכות תומכות בה, והיא עלולה להגיע מעט אחרי הקול.
- Inband — הצליל עצמו נשלח בתוך הקול, כמו בקו ישן. עובד רק עם קודק שלא מעוות את הצליל, כמו G.711, ורגיש לאובדן חבילות.
| שיטה | איפה עובר | יתרון | חיסרון |
|---|---|---|---|
| RFC 2833 / 4733 | בערוץ הקול, כהודעה | נתמכת כמעט בכל מקום; לא תלויה בקודק | צריך ששני הצדדים יסכימו עליה בתחילת השיחה |
| SIP INFO | בערוץ הניהול | לא מושפעת מבעיות בערוץ הקול | תמיכה חלקית |
| Inband | בתוך הקול, כצליל | עובר דרך כל ציוד, גם ישן | נפגע מדחיסה ומאובדן חבילות |
למה "המקש לא נקלט" — הסיבות הנפוצות
- אי-התאמה בשיטה — הטלפון שולח RFC 2833, והמערכת בצד השני מחכה לצליל Inband, או להפך. הלחיצה נשלחת, אבל אף אחד לא "מקשיב" לה בשפה הזאת.
- קודק דוחס עם Inband — הצליל עובר עיוות ולא מזוהה.
- אובדן חבילות — חלק מהצליל או מההודעה נעלם בדרך.
- לחיצה קצרה מדי — במערכות מסוימות, לחיצה מהירה מאוד לא נרשמת.
- לחיצה לפני שהתפריט מוכן — מקישים בזמן שהתפריט עוד לא התחיל להאזין, למשל באמצע ברכה שלא מוגדרת לקבל הקשות.
- שליחה כפולה — הטלפון שולח גם הודעה וגם צליל, והמערכת קולטת את המקש פעמיים: לחצתם 1, נקלט 11.
אבחון: איך מבינים איפה הבעיה
כשמשתמש מתלונן שהמקשים לא עובדים, כמה שאלות פשוטות מצמצמות מהר את החיפוש:
| מה קורה | מה זה רומז | מה בודקים |
|---|---|---|
| לא עובד באף תפריט, מאף שלוחה | הגדרה כללית של המרכזייה או של החיבור לספק | פונים לתמיכה |
| לא עובד רק משלוחה אחת | הגדרת המכשיר | שיטת ה-DTMF בטלפון; ברוב המקרים RFC 2833 |
| עובד בתפריט שלנו, לא בתפריט של הבנק | בעיה במעבר לרשת החיצונית או אצל הגוף השני | לנסות מנייד; לדווח לתמיכה עם שעה ומספר |
| כל לחיצה נקלטת פעמיים | שליחה כפולה | לבחור בטלפון שיטה אחת בלבד |
| עובד לפעמים | אובדן חבילות או לחיצות מהירות | איכות הרשת; ללחוץ לאט וברור |
טיפ: כשמדווחים על תקלה כזו, כדאי לציין מאיזו שלוחה, לאיזה מספר, ובאיזו שעה. כך אפשר למצוא את השיחה ביומן ולבדוק מה עבר בה בפועל.
DTMF בבניית תפריט קולי
מי שמגדיר תפריט קולי צריך לחשוב גם על המקשים, לא רק על ההקלטה:
- לאפשר הקשה כבר בזמן הברכה — מתקשרים קבועים יודעים מראש מה להקיש, ולא רוצים לחכות עד סוף ההודעה.
- זמן המתנה סביר להקשה — אחרי סוף ההודעה צריך לחכות כמה שניות. קצר מדי — מבוגרים לא מספיקים; ארוך מדי — האחרים מתעצבנים.
- מה קורה כשאין הקשה — להעביר למזכירות, להשמיע שוב, או לנתק בנימוס. לא להשאיר את המתקשר באוויר.
- מה קורה בהקשה שגויה — הודעה קצרה "בחירה לא קיימת" וחזרה לתפריט.
- קלט ארוך — כשמבקשים מספר מנוי או תעודת זהות, לסיים ב-# כדי שהמערכת תדע שהמתקשר סיים.
מכשירים שונים, התנהגות שונה
- טלפון IP — שולח בדרך כלל RFC 2833. אפשר לשנות את השיטה בהגדרות החשבון, תחת שם כמו "DTMF Type".
- סופטפון — תלוי באפליקציה. רוב האפליקציות עובדות ב-RFC 2833, וחלקן מאפשרות לבחור.
- טלפון רגיל דרך מתאם (ATA) — הטלפון משמיע צליל, והמתאם צריך "לשמוע" אותו ולהמיר להודעה. הגדרה לא נכונה במתאם היא סיבה נפוצה ללחיצות כפולות.
- נייד שמתקשר מבחוץ — הלחיצה עוברת ברשת הסלולרית ומגיעה למרכזייה דרך הספק. כאן אין מה לשנות בצד המתקשר.
הנקודה החשובה: כשתפריט עובד למתקשרים מבחוץ, ולא עובד רק מתוך שלוחה מסוימת, כמעט תמיד הבעיה בהגדרת המכשיר של אותה שלוחה.
דוגמה מהשטח
בישיבת "תפארת שמואל" (שם בדוי) הורים התלוננו שבתפריט של מערכת הציונים הם "לוחצים 2 ושומעים את ההודעה של 22". מתברר שהבעיה הייתה רק אצל הורים שהתקשרו מטלפון ביתי ישן שמחובר למתאם.
המתאם שלהם שלח את הלחיצה פעמיים — פעם כצליל ופעם כהודעה. אחרי שבהגדרת המתאם נבחרה שיטה אחת בלבד, הבעיה נפתרה. התפריט עצמו לא שונה בכלל.
פרטיות: מה עושים עם מספרים שמקישים
כשמבקשים ממתקשר להקיש מספר זהות, מספר כרטיס או קוד סודי, ההקשה הופכת למידע רגיש. כדאי לזכור כמה דברים:
- הקלטת שיחה — בשיטת Inband הצלילים נשמעים בהקלטה, ומי שמאזין יכול לשחזר מהם את הספרות. בשיטות האחרות ההקלטה בדרך כלל שקטה ברגעים האלה, אבל זה תלוי במערכת.
- תמלול ויומנים — לא לשמור קודים סודיים במקומות שלא נועדו לכך.
- קוד קצר מדי — קוד של ארבע ספרות לתא קולי או לוועידה הוא נוח, אבל קל לנחש. עדיף לבחור קוד שאינו רצף פשוט כמו 1234.
הכלל הפשוט: מה שמקישים הוא כמו מה שאומרים. אם לא הייתם רוצים שזה יישמע בהקלטה, חשבו איפה הוא נשמר.
מקשים בתוך המרכזייה: קודים מיוחדים
מלבד תפריטים, במרכזיות רבות מקישים קודים קצרים כדי להפעיל פעולות: כוכבית ומספר כדי לאסוף שיחה שמצלצלת בשלוחה אחרת, קוד להעברת שיחה, קוד לכניסה לתא הקולי. כאן המקש לא עובר למערכת חיצונית, אלא נקלט במרכזייה עצמה.
כשקוד כזה לא עובד, השאלה הראשונה היא אם הוא מוקש לפני השיחה (כמו חיוג רגיל) או בתוכה. קודים לפני השיחה נשלחים כמספר מחויג, ולכן בעיות DTMF לא משפיעות עליהם. קודים בתוך השיחה כן מושפעים.
איך זה עובד אצלנו בקשר
בלוח הבקרה של קשר בונים תפריט קולי ותפריטי תבנית שבהם המתקשר בוחר במקשים, ואת כל הדרך של השיחה רואים במסך "מסלול השיחה", בתרשים אחד.
גם במקומות אחרים במערכת משתמשים בהקשות: חדרי ועידה עם קוד PIN לפי תפקיד, תאים קוליים, וכרטיסי חיוג. לכל מסך יש מדריך מצולם בעברית.
הטלפונים שלנו מגיעים מוגדרים מראש, כך שבדרך כלל לא צריך לגעת בהגדרות ה-DTMF שלהם.
כשמקש לא נקלט, כדאי לפנות אלינו עם השעה, השלוחה והמספר שאליו התקשרתם. לכל שאלה עונה אדם — לא מענה ממוחשב ולא תור לנציג — וביומן השיחות אפשר למצוא את השיחה ולבדוק אותה.
שאלות נפוצות
מה זה DTMF במילים פשוטות?
הצלילים שהטלפון משמיע כשלוחצים על מקש. כל מקש הוא שילוב של שני צלילים, והמערכת בצד השני מזהה לפיהם על מה לחצתם.
איזו שיטת DTMF לבחור בטלפון?
ברוב המקרים RFC 2833 (נקראת לפעמים RFC 4733 או RTP Event). היא ברירת המחדל ברוב המכשירים ועובדת עם רוב המערכות.
למה לחצתי 1 והמערכת קלטה 11?
כנראה המכשיר שולח את הלחיצה בשתי שיטות במקביל. בוחרים בהגדרות שלו שיטה אחת בלבד.
התפריט שלנו עובד, אבל אני לא מצליח להקיש בתפריט של הבנק. למה?
הבעיה יכולה להיות במעבר לרשת החיצונית או בצד של הבנק. כדאי לנסות מנייד ולדווח לתמיכה עם השעה והמספר.
אפשר להקיש בזמן שההודעה עוד מושמעת?
בתפריטים רבים כן, אם הוגדר שמותר לקבל הקשות כבר בזמן הברכה. זה חוסך זמן למתקשרים קבועים.
האם הקודק משפיע על המקשים?
רק בשיטת Inband, שבה הצליל עובר בתוך הקול. קודק דוחס עלול לעוות אותו. בשיטות האחרות הקודק לא משנה.
למה מבקשים לסיים ב-#?
כדי שהמערכת תדע שסיימתם להקיש מספר ארוך, ולא תחכה לספרה נוספת.
אפשר לחייג בצלילים מטלפון סיבובי ישן?
טלפון סיבובי לא משמיע צלילי DTMF, ולכן הוא לא יכול לבחור בתפריט קולי. מתאמים מסוימים יודעים לתרגם את החיוג שלו, אבל זה לא מובטח.
מתקשרים מבוגרים מתקשים בתפריט. מה אפשר לעשות?
להאריך את זמן ההמתנה להקשה, להשמיע את האפשרויות שוב כשאין הקשה, ולהעביר לאדם אם המתקשר לא בחר כלום. כך אף אחד לא נשאר תקוע.