השיחה עם הסוכן הקולי נותקה באמצע. איך מבררים למה?

מדריך לאבחון ניתוק שיחה עם סוכן קולי: אילו מזהים לבקש, איך לקרוא את סיבת הסיום ומה להשוות בין ההקלטה, מגבלות הזמן ונתוני החיבור.

השיחה נותקה באמצע. מה בודקים קודם? איור קווי של שפופרת טלפון וגל קול עם חיבור שנקטע.
תוכן עניינים

בקצרה

כדי לברר למה שיחה עם סוכן קולי נותקה, מאתרים את החיבור ומבקשים מהספק את סיבת הסיום המקורית. בודקים אם נשלחה הודעת סגירה או שזרם השמע נפסק לפני שהקו נסגר. מחברים בין המזהים של המרכזייה ושירות הסוכן, ובודקים גם את מגבלות הזמן שהיו בתוקף. דיווח שהלקוח ניתק אינו מוכיח שבחר לסיים. כשהדוח אינו מספיק, מבקשים מהספק פירוש של תיעוד התעבורה, ואז משחזרים את ההסבר בשיחת בדיקה באותו מסלול.

מזהים את החיבור הנכון לפני שמחפשים תקלה

באמצע שיחה עם סוכן קולי הלקוח מתחיל להקריא מספר הזמנה, והקו נסגר לפני הספרה האחרונה. כדי לברר את הניתוק צריך למצוא שלושה דברים ששייכים לאותה שיחה: מזהה החיבור שבו הספק משתמש לאיתור, סיבת סיום ורצף אירועים סביב הרגע שבו הקול נפסק. מספר הטלפון של הלקוח לבדו אינו מספיק, במיוחד אם חייג כמה פעמים. בקשו מהגורם שמפעיל את הטלפוניה לאתר את הניסיון המסוים, עם תאריך ושעה.

רשמו בנפרד מתי החיוג התחיל, מתי נוצר חיבור ומתי הוא נסגר. זמן שמופיע כמשך שיחה עשוי להימדד מנקודה אחרת בכל מערכת. גם אזור הזמן חשוב: שעה מקומית ושעה לפי השעון העולמי, UTC, יכולות להיראות כמו שתי שיחות שונות. בקשו מהספק להציג את המועדים באותה שיטת זמן ולציין אם המספר כולל צלצול או רק את פרק החיבור. כך אפשר להשוות רישומים בלי לנחש למה השעות שונות.

אם השיחה עוברת דרך מרכזייה אל שירות הסוכן, ייתכן שיש לה יותר ממקטע חיבור אחד. מקטע הוא החיבור בין שני רכיבים בדרך, ולכל אחד עשוי להיות מזהה נפרד. בקשו למפות איזה מזהה שייך למרכזייה ואיזה לשירות הסוכן, והיכן נמצא הקשר ביניהם. כשמישהו בודק רק מקטע אחד, הוא עלול לראות סיום תקין בלי לראות מה קרה במקטע הסמוך. הרשימה שמקשרת בין המזהים מאפשרת לכל ספק למצוא את החלק שלו באותה שיחה.

מבקשים את סיבת הסיום המקורית

בקשו את קוד סיבת הסיום כפי שנרשם אצל הספק, לצד הסבר במילים. לדוגמה, קודים כמו agent_hangup, inactivity או max_duration_reached עשויים לציין סגירה שיזם הסוכן, חוסר פעילות או מגבלת משך. השמות בדוגמה מופיעים בתיעוד ספק, ובמערכת שלכם עשויים להופיע שמות אחרים. בקשו את השם המקורי ואת הפירוש המתאים למוצר שבו מופעל הסוכן. שמרו גם מאיזה רכיב נלקח הקוד; סטטוס כללי כמו הסתיימה אינו תחליף לסיבת הסגירה.

גם סיכום השיחה אינו יומן תקלות. הוא עשוי לתאר בקשת הזמנה ובירור פרטים בלי לכלול את האות שסגר את החיבור. לכן אוספים בנפרד את התוכן שנאמר ואת נתון הסיום הטכני. אם בשיחה שנקטעה מופיע סיום תקין, בקשו הסבר למה פירושו תקין באותו רישום. בחלק מהמקרים פירוש הדבר שהמערכת קיבלה הודעת סגירה צפויה, בלי לקבוע שהאדם שמע את המשפט האחרון או בחר לסיים.

בדקו מה עומד מאחורי השדה שמציין מי ניתק. במערכות טלפוניה הוא עשוי להיקבע לפי הכיוון שממנו הגיעה הודעת סגירה, המכונה SIP BYE. הכיוון אינו הוכחה שהלקוח לחץ בכוונה על כפתור הניתוק. לפעמים חסרים אירועי סיום, והצד המנתק נשאר לא ידוע. השאירו את חוסר המידע גלוי ובקשו את האירוע שעליו הסתמך הסיווג; אל תתרגמו סיום מצד לקוח לקביעה שהלקוח איבד עניין.

מבדילים בין אות סיום להפסקת שמע

בחיבורי טלפוניה מבוססי SIP יש הבדל בין הודעות שמנהלות את החיבור לבין השמע שעובר בו. SIP הוא הפרוטוקול שבעזרתו רכיבים מקימים ומסיימים את השיחה. בקשת BYE משמשת לסיום מקטע השיחה שאליו היא שייכת. אם הצד השני מאשר שקיבל אותה, זהו אישור טכני לסגירה, ולא אישור שהמשימה העסקית הסתיימה. בקשו מהספק לזהות את שולח הבקשה ואת החיבור שאליו השתייכה, כדי לראות אם הסגירה התחילה אצל הסוכן או במקום אחר בנתיב.

השמע מועבר במנגנון נפרד, שבחיבורי טלפון רבים נקרא RTP: רצף של חבילות נתונים שנושאות קול. לכן ייתכן שהקול ייעלם לפני שתופיע הודעת סיום, או שיישמע קול רק בכיוון אחד. את הקלטת השיחה מצרפים כדי להראות מה נשמע בנקודת ההקלטה; היא אינה מחליפה בדיקת תעבורה. בקשו מהגורם הטכני לבדוק אם הגיע שמע משני הצדדים במקטע שנבדק, ואם הודעת הסגירה קדמה להפסקת השמע או באה אחריה.

כאשר נרשם סיום מצד המתקשר, צריך לדעת מה פירוש הצד הזה במיקום שבו נמדד הנתון. שירות הסוכן עשוי לראות מולו מרכזייה או ספק טלפוניה, ולא את מכשירו של האדם ישירות. מקור אות הסגירה בנקודה אחת אינו בהכרח מקור התקלה בכל הנתיב. בקשו לציין מה ידוע על המקטע הסמוך ומה לא נבדק. כך נשאר הבדל ברור בין תיאור של הודעה שהתקבלה לבין קביעה מי או מה גרם לניתוק.

מפרידים בין שעון שתיקה לשעון השיחה

מגבלת שתיקה ומגבלת משך מודדות דברים שונים. מגבלת שתיקה עוסקת בפרק שבו המערכת לא זיהתה פעילות לפי הכלל שהוגדר בה; מגבלת משך עוסקת באורך השיחה. בקשו את הערך שהיה בתוקף בזמן האירוע ואת הנקודה שממנה כל מגבלה נספרת. אין טעם להשוות משך כולל של חמש דקות למגבלת שתיקה של עשרים שניות. אלה שני שעונים שונים, וכל אחד דורש התאמה לאירוע הסיום המתאים ברישום.

כשהסיבה המדווחת היא חוסר פעילות, מצאו את הדיבור האחרון שהמערכת זיהתה ובדקו מה נשמע אחריו. שתיקה של אדם שמחפש מסמך שונה ממצב שבו הוא דיבר אבל הדיבור לא הגיע לרכיב שמזהה אותו. בתמלול ריק בלבד אי אפשר להבחין בין השניים. השוו את השמע ואת אירועי הקליטה הזמינים, ורק אז בדקו את זמן ההמתנה. הארכת ההמתנה אינה מתקנת חיבור שמע שמפסיק להעביר את קול המתקשר.

סיום שיזם הסוכן הוא מסלול נוסף. חפשו אם נשלחה פעולת סגירה ומה קדם לה: הוראה מפורשת, זיהוי פרידה או תנאי בתהליך. בדקו גם אם הסתיים רק תפקידו של הסוכן במסגרת מעבר לרכיב אחר. סיום מקטע אחד אינו בהכרח ניתוק של כל השיחה. כשמתכננים סיום שיחה מסודר, צריך להתאים בין המשפט שנאמר לבין הפעולה שמותר לבצע אחריו; כאן בודקים אם הפעולה הזאת הופעלה בזמן הנכון ובמקטע הנכון.

מבקשים מהספק תרשים של סיום החיבור

אם דוח הסיום אינו מסביר את התקלה, שאלו אם קיים תיעוד תעבורה של החיבור. קובץ PCAP הוא קובץ שבו נשמרו נתוני תעבורת הרשת לצורך בדיקה. במקרים מתאימים איש הטלפוניה יכול לסנן בו לפי SIP Call-ID, המזהה של שיחת ה-SIP, ולבנות תרשים שמראה אילו הודעות עברו בין הרכיבים. לא בכל תצורה נאסף קובץ כזה, ולא כל קובץ מכיל גם שמע. לפני שמבקשים עוד נתונים, בררו מה תועד והאם הוא מכסה את המקטע שנכשל.

בקשו שהספק יסמן בתרשים את הודעת הסגירה, השולח, המקבל ותגובת הצד השני, ואת אירועי הכשל שסמוכים לה. אין צורך ללמוד את כל קודי הטלפוניה כדי לבקש הסבר. למשל, אישור להודעת סגירה אינו מסביר למה נשלחה; שגיאה בניסיון הקמה נוסף אינה בהכרח סיבת ניתוק השיחה שכבר התחברה. שאלו על איזו הודעה ועל איזה מזהה נשענת המסקנה. תרשים עם סימון אחד ברור שימושי יותר מתמונה של עשרות שורות ללא פירוש.

אם החשד הוא לאובדן שמע, בקשו בדיקה של שני כיווני התעבורה במקטע הרלוונטי. זרם שמגיע למרכזייה אינו הוכחה שאותו זרם הגיע לשירות הסוכן. בקשו שהספק יפריד בין מה שנראה בקובץ לבין הסבר משוער, ויציין היכן נאסף התיעוד. כשאין תיעוד מתאים, אפשר לתכנן איסוף בניסוי מבוקר באותו מסלול. בקשו שהאחראי יפרט איך ייקשר הקובץ למזהה הניסוי, במקום להריץ עוד הדגמת דפדפן שאינה עוברת דרך הנתיב החשוד.

דוגמה: חיפוש מספר הזמנה שהסתיים בניתוק

דוגמה בדויה להמחשה: לקוח אומר שהוא מחפש את מספר ההזמנה, ואז הקו נסגר. במרכזייה מופיע שהשיחה הסתיימה; בדוח שירות הסוכן מופיע קוד inactivity. מי שמפעיל את השירות מקשר בין שני המזהים ומוצא שבאותה גרסה הוגדרה המתנה של עשרים שניות ללא פעילות מזוהה. כך הופך סטטוס כללי לסיבה שאפשר לבדוק. המספר והאירוע מומצאים לצורך הדוגמה, ואינם ברירת מחדל או זמן המתנה מומלץ.

בבדיקת האירועים מתברר שההמתנה נספרה מסוף המשפט על חיפוש המספר, ופקעה כעבור עשרים שניות. לא נמצאה לפניה הוראה של הסוכן לסגור את הקו. בשיחת ניסוי פנימית חוזרים על החיפוש ורואים שוב את אותו קוד. אם בהקלטה היה נשמע דיבור במהלך ההמתנה, היה צריך לבדוק מדוע השירות לא זיהה אותו. שני דוחות הסיום לבדם לא היו מספיקים כדי להבחין בין חיפוש שקט לבין קול שלא הגיע לשירות.

לאחר התאמה של כלל ההמתנה, חוזרים על הניסוי ובודקים את הרישום החדש. האם נשמר חיבור עד שהוקרא המספר, והאם אירוע הסיום הקודם אכן לא הופיע? אם השיחה עדיין נופלת עם שגיאת חיבור אחרת, התוצאה אינה מאשרת שאותו כלל אשם. רושמים את המזהה החדש לצד הקודם ואת ההבדל המדויק. הדוגמה מראה איך לבדוק הסבר מסוים, בלי להסתמך על השוואת משכים בלבד או להסיק שכל ניתוק עתידי נגרם משתיקה.

מעבירים לספק את ההקלטה ואת הרישום הטכני

רכזו לפנייה אחת את מפת מזהי החיבור, קוד סיבת הסיום ורצף האירועים המותאם להקלטה. הוסיפו כיוון חיוג, גרסת סוכן והגדרות זמן רלוונטיות ככל שהן זמינות. אפשר לתאר כך: שיחת בדיקה מחוברת, קול המתקשר נקטע במיקום מסוים, וזה הקוד שהתקבל במקטע המצורף. השאירו מקום לתשובה על שלוש שאלות: מה נסגר ראשון, איזה נתון מוכיח זאת, ואיזה רכיב צריך לבדוק בהמשך. אין צורך לקבוע מראש מי אשם.

שתפו הקלטה או יומן מפורט רק בדרך שהעסק והספק מאפשרים למורשים, וצמצמו פרטים שאינם דרושים לאבחון. אם חסרה ראיה, בקשו לדעת אם אפשר לאסוף אותה בניסוי הבא; לא כל נתון זמין בדיעבד או בכל מסלול. כשיש תיקון מוצע, הגדירו איזה קוד או אירוע צפוי להשתנות. לאחר מכן אפשר לשחזר את הניתוק במסגרת בדיקות לפני הפעלה, עם מזהים חדשים ותיעוד של אותה תצורה, בלי לבצע ניסוי מפתיע בשיחות לקוחות.

בסיום הניסוי שמרו יחד את הרישום הישן והחדש. ציינו אם השמע נשמר, אם החיבור נמשך ואם התקבלה סיבת סיום אחרת, והאם אלה התוצאות שציפיתם להן. בדיקה מוצלחת אחת אינה מבטיחה שלא תתרחש תקלה שונה. אם התיקון מצריך הפעלה מדורגת, ממשיכים לעקוב אחר אותו קוד ובאותו מסלול. כך אפשר לומר מה בדיוק נבדק ותוקן, במקום להסתפק בהודעה כללית שהשיחות שוב עובדות.

שיחת הדגמה עם הסוכן

השאירו פרטים והסוכן הקולי של Voxeli יתקשר אליכם לשיחת הדגמה קצרה.

עוד בבלוג