המתנה לפני התשובה
-
@חויוה-טלפונית מה שאתה רוצה לעשות לא עובד בPHP.
זה דורש שפה אסינכרונית.
שאז אתה יכול לפצל בין השניים ולשים למשל מוזיקה בהתמתנה עד התשובה הסופית -
לא הבנתי מה אתה רוצה
אני יש לי בהרבה מקומות בPHP שאני שולח תגובה מהשרת אבל הקובץ ממשיך בעבודה ומעלה לימות דברים נוספים
ודומה לדוגמא שהוא הביא כאן
משמיעים למאזין "הקובץ נשלח לשרת" או כל דבר דומה, מגדירים במערכת שבסיום יעבור לשלוחה אחרת מוגדרת מראש, ובה הוא יישמע את התשובה שמועלית ע"י הפקודה בשורה שאח"כ תוךניצול 3 /4 השניות בהן מושמעת התשובה הקודמת למאזין.
-
@מנסה
תן דוגמה של קוד בשביל זה...
ניסיתי לחשוב על רעיון כלשהו ולא עלה לי! -
אני בניתי חייגן אוטומטי לנציגים
זאת אומרת יש קובץ שבו מכניסים את מספרי הטלפון שאמורים לחזור אליהם, וזה מחייג אוטומטית לבא בתורצורת העבודה היא שהנציג מתקשר לשלוחת API, בשלוחה יש פקודה להוריד את רשימת הטלפונים הממתינים, מקריא לנציג את שם המחוייג הבא בתור, ופקודה נוספת יוצרת שלוחת ראוטינג [שיחה יוצאת] שבהגדרות להיכן תצא השיחה נמצא המספר הבא בתור, כך שהנציג לא צריך להקיש מספרים או משבהו דומה, פשוט זה מחייג לו לבד.
מכיוון שיש כמה שניות מהרגע שהוא מתקשר ועד שהשלוחה לחיוג מוכנה [זמן תגובות השרתים] אני משמיע לו הודעה כנ"ל [שם המחוייג או מספר הטלפון המחוייג] ועד שהוא גומר לשמוע השלוחה מוכנה ואז הפקודה הבאה בAPI היא העברת הנציג לשלוחת הראוטינג -
@מנסה אמר בהמתנה לפני התשובה:
אני בניתי חייגן אוטומטי לנציגים
זאת אומרת יש קובץ שבו מכניסים את מספרי הטלפון שאמורים לחזור אליהם, וזה מחייג אוטומטית לבא בתורצורת העבודה היא שהנציג מתקשר לשלוחת API, בשלוחה יש פקודה להוריד את רשימת הטלפונים הממתינים, מקריא לנציג את שם המחוייג הבא בתור, ופקודה נוספת יוצרת שלוחת ראוטינג [שיחה יוצאת] שבהגדרות להיכן תצא השיחה נמצא המספר הבא בתור, כך שהנציג לא צריך להקיש מספרים או משבהו דומה, פשוט זה מחייג לו לבד.
מכיוון שיש כמה שניות מהרגע שהוא מתקשר ועד שהשלוחה לחיוג מוכנה [זמן תגובות השרתים] אני משמיע לו הודעה כנ"ל [שם המחוייג או מספר הטלפון המחוייג] ועד שהוא גומר לשמוע השלוחה מוכנה ואז הפקודה הבאה בAPI היא העברת הנציג לשלוחת הראוטינגאתה עושה משהו אחר.
אתה מריץ פקודת API, נותן לימות המשיח לעבוד, ובינתיים כדי שלא ישתעמם את מדפיס לו טקסט שיקריא.
תכלס מבחינת הקו מה שקורא זה שבאותו רגע מודפס כל הפקודה.מה שהוא רוצה זה לשלוח ערכים לשרת ותוך כדי שהשרת חושב לענות משהו, שזה לא אפשרי בPHP אלא רק בשפה אסינכרונית
-
@מנסה
אתה עונה 2 תשובות לימות ושניהם מודפסים בשעת הפעולה,
מה שהתכוונתי שידפיס תשובה, ובאמצע התשובה כלומר מוזיקה, שיריץ שוב את הקוד ושיחכה עד שיקבל תשובה נוספת, וכשהיא תתקבל יעצר המוזיקה.. -
@MGM-IVR אני לא רוצה לחכות לתדובה בסוף, אני רוצה רק לשלוח את התשובה לימות
אח"כ שהשרת ימשיך לעשות מה שהוא רוצה
וזהו
בלי להשמיע את התגובה שבסוף -
@מנסה אמר בהמתנה לפני התשובה:
תנסה להוסיף & בסוף שןרה 4 [לפני המרכאות הסוגרות]
למה זה צריך להיות ככה, זה לא אמור לעבוד בצורה רגילה ?
-
לפעמים זה גורם לצרות
-
אתה מדבר לומדעס, אני מדבר פרקטיש..
בתכלס אין דרך לשלוח לימות בחיבור API אחד 2 דברים שלא ברציפות, ולא משנה באיזו שפה.
הטריק היחיד שאני מכיר הוא להעביר לשלוחה אחרת לקבל את התשובה הסופית ולבנתיים להשמיע מוזיקה
[ייתכן גם דרך עוד יותר מדוייקת [ומסובכת], להעביר אותו לשמיעת מוזיקה לשלוחה 2 ושם כל קובץ יהיה של מספר שניות, וכשהחיפוש יסתיים בשרת אשלח פקודה להזיז אותו משלוחת המוזיקה לשלוחת התשובה [שלוחה 3]
-
@מנסה אמר בהמתנה לפני התשובה:
[ייתכן גם דרך עוד יותר מדוייקת [ומסובכת], להעביר אותו לשמיעת מוזיקה לשלוחה 2 ושם כל קובץ יהיה של מספר שניות, וכשהחיפוש יסתיים בשרת אשלח פקודה להזיז אותו משלוחת המוזיקה לשלוחת התשובה [שלוחה 3]
לא יעבוד.
שוב
יש רק הדפסה אחת!!! היא יכולה להיות עם הרבה פקודות אבל רק הדפסה אחת -
-
@מנסה אמר בהמתנה לפני התשובה:
אתה מתכוון שPHP גומר את ההרצה בהדפסה?
מוזר לי, אני יבדוק
ככה הוא בנוי.
הוא מדפיס בסוף הריצה שלו.
הוא לא מדפיס דבר ועוד דבר -
אבל אפשר לעשות 2 print ב php אחד
-
@מנסה
אבל עד שהוא לא יקבל תשובה מה print השני, הראשון לא יודפס, כך שאין סיכוי שהוא יענה על הראשון וימשיך לרוץ עד השני. בקיצר: הם מודפסים ביחד ולא בשלבים! -
אפשר לעשות שתיהיה הדפסה בשלבים, אבל זה לא יעזור כדי לעשות כמה פעולות מאחר שזה לא יסגור את החיבור כל זמן שהתהליך לא יסתיים.
-
פוסט זה נמחק! -
@שמואל אבל המערכת לא מתחילה להשמיע ברגע שמדפיסים לה ?
-
@שמחה-זו-הסיסמא אמר בהמתנה לפני התשובה:
@שמואל אבל המערכת לא מתחילה להשמיע ברגע שמדפיסים לה ?
@שמואל אמר בהמתנה לפני התשובה:
אבל זה לא יעזור כדי לעשות כמה פעולות מאחר שזה לא יסגור את החיבור כל זמן שהתהליך לא יסתיים.
-
@שמחה-זו-הסיסמא אמר בהמתנה לפני התשובה:
@שמואל אבל המערכת לא מתחילה להשמיע ברגע שמדפיסים לה ?
לא.
עוד לא הסתיימה הבקשה.