הפניית שיחה לתוך שלוחה במערכת אחרת מבית דוד מלך ישראל (פיתוח פרטי)
-
@שמואל-9 שלוחה 2 מוגדרת כתפריט וממנה עוברים לשלוחות אחרות? באיזה שלב אתה רוצה שיחזרו למערכת המקור?
-
@דוד_מלך_ישראל כתב במהפכני! הפניית שיחה לתוך שלוחה במערכת אחרת מבית דוד מלך ישראל (פיתוח פרטי):
אשלח לו את הקודים.
למה שלא תעלה לגיטהאב?
-
@דוד_מלך_ישראל
תודה רבה
חזקלמה זה אומר לי
"השלוחה אליה ביקשתם לעבור אינה ניתנת להפעלה עקב חוסר כו' ורק אחרי זה עובר -
@משה-הישראלי לפעמים זה קורה בגלל האיטיות של השרת, אני מקווה שהמודול יעבור בקרוב לשרת חדש.
אם אתה רוצה אתה יכול פשוט להשתיק את ההודעה הזו. -
@דוד_מלך_ישראל
תודה
כבר עשיתי את זה
לוקח כמה שניות עד שזה עובר אבל בסדר
שימו לב זה במערכת המפנית לא המופנה -
@דוד_מלך_ישראל מה כותבים במערכת היעד??????????????????????
-
@ivrפון כלום!!!!
-
@מתעניין אז ככל הנראה הסיסמה של מערכת היעד דרושה לצורך יצרת הפילטר כמו שכתוב למעלה
-
-
@דוד_מלך_ישראל כתב במהפכני! הפניית שיחה לתוך שלוחה במערכת אחרת מבית דוד מלך ישראל (פיתוח פרטי):
@משה-הישראלי לפעמים זה קורה בגלל האיטיות של השרת, אני מקווה שהמודול יעבור בקרוב לשרת חדש.
אם אתה רוצה אתה יכול פשוט להשתיק את ההודעה הזו.איך משתיקים את ההודעה?
הבאג הזה עדיין קיים. -
@isi תעלה קובץ שקט בשם M1120
-
@דוד_מלך_ישראל הבעה שהAPI הזה עובד בצורה מאד איטית.
-
@isi נכון, לכן ביקשתי בהתחלה אם מישהו יכול להכניס את זה לשרת שלו, היו כמה שהתנדבו, אבל הייתי מאד עמוס ולא הספקתי לטפל בזה, בעז"ה בימים הקרובים.
-
@דוד_מלך_ישראל כעת זה לא עובד בכלל, אלא עונה: אין מענה בשרת API
-
@דוד_מלך_ישראל
שלום תודה על הלב הגדול והפיתוחים השימושיים
עשיתי את מה שכתוב וב"ה זה עבד טוב
אבל נהיה לי באג שבשיחה הבאה שחייגתי לקו היעד ישירות זה מפנה את המספר המחייג לתוך השלוחה הפנימית (אותה הגדרתי בהפנייה מהמערכת מקור) במקום לתפריט הראשי.
מקווה שהובנתי
אשמח לעזרתך
תודה -
אני מעלה כאן את שני הקודים שמפעילים את המודול, כל מי שיכול להעלות לשרת שלו ולשתף לתועלת כולם, יבורך:
הסבר קצר: הקוד הראשון מבצע שתי פעולות: מגדיר במערכת היעד בדיקת הרשאה, ומעלה קובץ לתיקיית סל המיחזור עם תיקיית היעד.
הקובץ השני מקבל את תוכן הקובץ מסל המיחזור, מגדיר בשלוחה api_goto לשלוחת היעד, ואז מדפיס out.
(בנוסף, צריך שבמידה שבפעם הבאה המשתמש יתקשר ישירות למערכת היעד, לא יופנה לשלוחה, לכן בניתוק השיחה, כשהקוד השני מקבל פרמטר ניתוק, הוא מוחק את תוכן הקובץ ע"י העלאת רווח לקובץ, ובכניסה לקוד מוגדר תנאי שבמידה והקובץ לא קיים (אם הוא מעולם לא התקשר דרך מערכת המקור) או שהוא מכיל רווח, מדפיס ok כדי שייכנס לשלוחה רגיל.)קוד 1:
הערה חשובה: כמובן שיש צורך לשנות את הכתובת שהקוד מגדיר בשלוחה את הפניה אליה לפי השרת שלכם.<?php $did = $_GET['did']; $password = $_GET['password']; $folder = $_GET['folder']; $ApiPhone = $_GET['ApiPhone']; $url = json_decode(file_get_contents("https://www.call2all.co.il/ym/api/UpdateExtension?token=$did:$password&path=ivr2:/&check_api=yes&api_link=http://65786876867.000webhostapp.com/gtfis2.php&check_api_every_entry=yes&api_add_0=password=$password&"), true); $url = json_decode(file_get_contents("https://www.call2all.co.il/ym/api/UploadTextFile?token=$did:$password&what=ivr2:Trash/$ApiPhone.ini&contents=/$folder"), true); $status = $url['responseStatus']; if($status == "OK"){print "routing_yemot=$did"; exit();} else {print "תקלה";}
קוד 2:
<?php $did = $_GET['did']; $password = $_GET['password']; $folder = $_GET['folder']; $ApiPhone = $_GET['ApiPhone']; $ApiDID = $_GET['ApiDID']; if (isset($_REQUEST['hangup'])) { $url = json_decode(file_get_contents("https://www.call2all.co.il/ym/api/UploadTextFile?token=$ApiDID:$password&what=ivr2:Trash/$ApiPhone.ini&contents=%20"), true); exit(); } else{ $url = json_decode(file_get_contents("https://www.call2all.co.il/ym/api/GetTextFile?token=$ApiDID:$password&what=ivr2:Trash/$ApiPhone.ini"), true); $textContent = $url['contents']; if ($textContent == null || $textContent == " "){print "OK"; exit();} else { $url = json_decode(file_get_contents("https://www.call2all.co.il/ym/api/UpdateExtension?token=$ApiDID:$password&path=ivr2:/&api_goto=$textContent&"), true); $status = $url['responseStatus']; if($status == "OK"){print "Out"; exit();} } }
-
-
@דוד_מלך_ישראל תודה רבה.
אפשר הסבר באופן המתאים גם למי שלא מבין בזה, איך מתקדמים עם זה?להבנתי יש כאן 4 שלבים, שעל כל אחד מהם אודה להסבר/תשובה.
שלב ראשון אני מבין שאני צריך לשמור את שני הקודים הנ"ל כל אחד בקובץ נפרד.
אבל תחת איזה שם לשמור כל קובץ?שלב שני אני מעלה את זה לשרת שלי.
אבל האם משנה באיזו תיקיה במנהל הקבצים אני שם את זה?שלב שלישי, אחרי שזה ממוקם בשרת שלי, מה אני בדיוק צריך לשנות בקודים הנ"ל?
שלב רביעי אני עושה שלוחה עם מה שהבאת בהודעה הראשונה, כאשר אני מחליף את:
65786876867.000webhostapp.com
לכתובת של האתר שלי.
הבנתי נכון? -
@isi צריך לשמור כל אחד בקובץ נפרד, בכל שם שאתה רוצה ועם סיומת php.
אתה יכול לשים את הקבצים בכל מקום בשרת שלך, שם הקבץ והמיקום שלו אינם משנים, אבל צריך בלינק לקובץ לציין אותם, כך למשל בפוסט הראשון שהבאתי, הלינק הוא
http://65786876867.000webhostapp.com/gtfis1.php
כאשר
http://65786876867.000webhostapp.com
זו כתובת השרת, ו
gtfis1.php
הוא שם הקובץ, הקובץ נמצא אצלי תחת התיקיה הראשית ולכן צריך רק את כתובת השרת ושם הקובץ, אפשר לשים אותו, לשם הדוג', תחת תיקיית "system", ואז, לאחר כתובת השרת יהיה צריך לכתוב
/system/gtfis1.php
לסיכום, לא משנה איך תקרא לקבצים ואיפה תשים אותם, רק תציין את זה בצורה מדויקת בלינק שאותו אתה שם בשלוחה.
בנוסף, הקוד הראשון מגדיר במערכת היעד בדיקת הרשאת כניסה מול הקוד השני, דהיינו שהוא מוסיף בשלוחה את הלינק לקובץ השני, ולכן צריך שיהיה כתוב בו את הלינק לקובץ כפי שהוא מתאים לשרת שלך.
בהצלחה
-
@דוד_מלך_ישראל זה יפה
נראה לי פיתרון פשוט מאוד לשייך למערכת היעד איזה מספר של 079 חינמי ואת המספר הזה לשייך לשלוחה המסוימת
ואז ממערכת המקור להפנות לשם אני משחק עם הרעיון הזה המון ואפשר להגיד שזה פיתרון טוב לממשק בין מערכות -
@העץ-של-עטין אין אפשרות לשייך מספר משנה חינם.
-
@דוד_מלך_ישראל המודול הפסיק לעבוד הוא עבד לי הרבה זמן ופתאום לא מזמן הפסיק לעבוד כך שמי שהתקשר דרך המערכת שמפנה לשלוחה במערכת השניה הגיע לתפריט הראשי של המערכת השניה ולא לשלוחה 700 שאליה היה אמור להגיע
כבר מחקתי את ההגדרות בשלוחה וסדרתי כך שהמאזין לא יגיע לשום מקום אז לא אוכל לתת את ההגדרות של השלוחה
מה שרציתי לשאול האם היה שינויים בהגדרות השלוחה?