אחרי כל השרשורים אני לא מסתדר עם פתיחת תא קולי
-
@יוסלה-טראמפ
עשיתי קובץ כזה והוא עובד, אבל אני לא בטוח שעד הסוף.
כלומר אני לא בטוח שהוא מתקין את כל השלוחות.
וכן הוא מעלה את הקבצים עם ההקלטות.הקוד הוא
<!DOCTYPE html> <html lang="he" dir="rtl"> <head> <meta charset="UTF-8"> <title>מתקין מערכת - גרסה מתוקנת</title> <style> body { font-family: 'Segoe UI', Arial, sans-serif; background-color: #f4f7f9; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; padding: 20px; flex-direction: column; } .card { background: white; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); width: 500px; text-align: center; } h2 { color: #2c3e50; margin-bottom: 20px; } input[type="text"], input[type="password"] { width: 100%; padding: 12px; margin: 10px 0; border: 1px solid #dcdfe6; border-radius: 8px; box-sizing: border-box; font-size: 16px; } .folder-input { background: #f9f9f9; padding: 20px; border: 2px dashed #409eff; border-radius: 8px; margin: 20px 0; cursor: pointer; transition: 0.3s; } .folder-input:hover { background: #ecf5ff; } button { background-color: #67c23a; color: white; border: none; padding: 15px; border-radius: 8px; cursor: pointer; width: 100%; font-size: 16px; font-weight: bold; transition: 0.3s; } button:hover { background-color: #85ce61; } #install-box { display: none; } .progress-container { background: #ebeef5; border-radius: 10px; height: 25px; width: 100%; margin: 20px 0; overflow: hidden; border: 1px solid #eee; } .progress-fill { background: linear-gradient(90deg, #409eff, #66b1ff); width: 0%; height: 100%; transition: width 0.3s ease; } #status { font-size: 15px; color: #2980b9; font-weight: bold; margin-top: 10px; min-height: 1.5em; } .success-text { color: #67c23a; font-weight: bold; font-size: 20px; margin-top: 15px; } .next-steps { text-align: right; background: #fffdf0; border-right: 5px solid #f1c40f; padding: 15px; margin-top: 20px; font-size: 14px; line-height: 1.6; color: #333; display: none; } .next-steps h4 { margin-top: 0; color: #d35400; } .credit { font-size: 11px; color: #bdc3c7; margin-top: 20px; } </style> </head> <body> <div class="card" id="login-box"> <h2>התקנת מערכת תא קולי</h2> <input type="text" id="sysId" placeholder="מספר מערכת"> <input type="password" id="pass" placeholder="סיסמה"> <div class="folder-input" onclick="document.getElementById('folder-select').click()"> <strong>לחץ כאן לבחירת תיקיית הגיבוי</strong> <input type="file" id="folder-select" webkitdirectory directory multiple style="display:none"> <div id="file-count" style="margin-top: 10px; font-size: 13px; color: #909399;">טרם נבחרה תיקייה</div> </div> <button onclick="runInstaller()">בצע התקנה ושחזור קבצים</button> </div> <div class="card" id="install-box"> <h2 id="title-main">ההתקנה בביצוע...</h2> <div class="progress-container"> <div id="fill" class="progress-fill"></div> </div> <div id="status">מתחבר למערכת...</div> <div id="final-msg" class="success-text"></div> <div id="sub-msg" style="font-weight: bold; color: #2c3e50; margin-top: 10px; display: none;"></div> <div id="instructions" class="next-steps"> <h4>כמה פעולות שיש עוד לעשות:</h4> 1. הרשמה לקבלת צינתוקים בשלוחה 6 בשלוחת ניהול התא.<br> 2. נבדוק את הקמפיינים במערכת (בלשונית 'שיגור הודעות' באתר הישן).<br> <strong>ההגדרות צריכות להיות כמו בברירת מחדל:</strong><br> • שיש רק קמפיין אחד.<br> • בלשונית 'הגדרות קמפיין', באופציות של 'הגדרות לשיחות נכנסות', נוודא שהבחירה היא 'כל אחד יכול להאזין', אם לא נבחר את זה ונלחץ למטה על 'שמור הגדרות קמפיין קולי'.<br> • בלשונית 'רשימת התפוצה' נוודא שיש רק מספר אחד, והוא המספר שלנו.<br> 3. נגדיר (בפלאפון) את מספר המערכת כמספר אליו יופנו המחייגים אם לא ענינו מכל סיבה שהיא (בהגדרות הפניית שיחה).<br><br> <strong>וזהו! הכל מוכן!! בהצלחה!!</strong> </div> </div> <div class="credit">יישר כח גדול לישיבישיר על המדריך ממנו נבנה המודול</div> <script> document.getElementById('folder-select').addEventListener('change', function(e) { document.getElementById('file-count').innerText = `נבחרו ${e.target.files.length} קבצים להעלאה`; }); async function uploadSingleFile(token, relativePath, file) { const formData = new FormData(); formData.append('token', token); formData.append('path', `ivr2:/${relativePath}`); formData.append('convertAudio', '1'); formData.append('file', file); try { await fetch("https://private.call2all.co.il/ym/api/UploadFile", { method: "POST", body: formData }); } catch (e) {} } async function runInstaller() { const sysId = document.getElementById('sysId').value; const pass = document.getElementById('pass').value; const folderFiles = document.getElementById('folder-select').files; if (!sysId || !pass) return alert("נא להזין מספר מערכת וסיסמה"); document.getElementById('login-box').style.display = 'none'; document.getElementById('install-box').style.display = 'block'; const token = `${sysId}:${pass}`; const base = "https://private.call2all.co.il/ym/api/"; const fill = document.getElementById('fill'); const status = document.getElementById('status'); const configSteps = [ { url: `UpdateExtension?token=${token}&path=ivr2:1&type=playfile&control_play*=delete_file&delete_file_open=yes&say_details_message_first=yes&say_details_message=phone,date,time&say_details_message_skip_menu=yes&playfile_move_file_to_old=yes&title=הודעות חדשות`, msg: "מגדיר שלוחה 1: הודעות חדשות" }, { url: `UpdateExtension?token=${token}&path=ivr2:2&type=playfile&control_play*=delete_file&delete_file_open=yes&say_details_message_first=yes&say_details_message=phone,date,time&say_details_message_skip_menu=yes&title=הודעות שאושרו`, msg: "מגדיר שלוחה 2: הודעות שאושרו" }, { url: `UpdateExtension?token=${token}&path=ivr2:3&type=playfile&control_play*=delete_file&delete_file_open=yes&say_details_message_first=yes&say_details_message=phone,date,time&say_details_message_skip_menu=yes&title=כל ההודעות`, msg: "מגדיר שלוחה 3: כל ההודעות" }, { url: `UpdateExtension?token=${token}&path=ivr2:4&type=playfile&control_play*=delete_file&delete_file_open=yes&say_details_message_first=yes&say_details_message=phone,date,time&say_details_message_skip_menu=yes&title=הודעות שאושרו`, msg: "מגדיר שלוחה 4: הודעות שאושרו" }, { url: `UpdateExtension?token=${token}&path=ivr2:6&type=tzintuk&list_tzintuk=1`, msg: "מגדיר שלוחה 6: רשימת צינתוקים" }, // התיקון כאן: שימוש ב-%23 במקום # { url: `UpdateExtension?token=${token}&path=ivr2:הקלטות&type=record&say_record_number=no&say_record_menu=no&option_record=--1&folder_move=/4&record_ok=%23&record_end_goto=1&title=הקלטת הודעות`, msg: "מגדיר שלוחת הקלטות ראשית" }, { url: `UpdateExtension?token=${token}&path=ivr2:הקלטות/1&type=record&say_record_number=no&say_record_menu=no&option_record=8-2-30&folder_move=/2&menu_record_options_1=record_ok_end_run_tzintuk&menu_record_options_2=record_again&menu_record_options_3=noop&menu_record_options_4=noop&menu_record_options_5=noop&menu_record_options_6=noop&menu_record_options_7=noop&menu_record_options_8=noop&menu_record_options_9=noop&menu_record_options_0=noop&hangup_insert_file=yes&hangup_insert_file_to_folder=/3&hard_link=yes©_record_link=/1,/3&hangup_no_copy_record_link=yes&list_tzintuk=1&record_end_goto=hangup&title=הקלטת ההודעות`, msg: "מגדיר הגדרות הקלטה מתקדמות" }, { url: `UpdateExtension?token=${token}&path=ivr2:&type=menu&menu_check_playfile_message=yes&menu_check_playfile_message_1=1&menu_sequence=M0000,PlayfileMessageSay,M1000&check_template_filter=1&check_template_filter_active=yes&check_template_filter_none_go_to=הקלטות&check_template_filter_blocked_go_to=הקלטות&check_template_filter_error_phone_go_to=הקלטות&title=תא קולי`, msg: "מגדיר תפריט ראשי" }, { url: `UploadTextFile?token=${token}&what=ivr2:/ivr.ini&contents=no_ringing=yes`, msg: "מעלה הגדרות למערכת (ivr.ini)" } ]; let total = configSteps.length + folderFiles.length; let count = 0; for (let step of configSteps) { status.innerText = step.msg; await fetch(base + step.url); count++; fill.style.width = (count / total * 100) + "%"; } for (let i = 0; i < folderFiles.length; i++) { const file = folderFiles[i]; const rel = file.webkitRelativePath.split('/').slice(1).join('/'); status.innerText = `מעלה קובץ: ${file.name}...`; await uploadSingleFile(token, rel, file); count++; fill.style.width = (count / total * 100) + "%"; } document.getElementById('title-main').innerText = "ההתקנה הסתיימה!"; status.style.display = 'none'; document.getElementById('final-msg').innerText = "ההתקנה הסתיימה בהצלחה!"; const subMsg = document.getElementById('sub-msg'); subMsg.innerText = "כעת יש לכם תא קולי מתקדם משלכם!"; subMsg.style.display = 'block'; document.getElementById('instructions').style.display = 'block'; } </script> </body> </html>התקייה שיש להעלות
קבצים-למערכת-תא-קולי.zip
שים לב שיש להעלות את התקיה של שלוחה ראשית והכל יעלה.אשמח שתבדוק ותעדכן.
-
@אA
1קודם כל תודה רבה רבה
2לא הבנתי איפה לשים את התיקייה בהגדרות המתקדמות (האתר הישן) -
@יוסלה-טראמפ נראה יל שעובד אני צריך לבדוק עוד כמה עניינים אעדכן אותך
ועוד פעם תודה תודה

-
@יוסלה-טראמפ
גיליתי באג ועדכנתי את הקוד.
הבאג היה בשלוחה בשם הקלטות שיש שם הגדרה עם = בלי המשך, אז ההמשך הוא #.
וכן שלא מוגדר שם המעבר בסיוםrecord_end_goto=1 -
ניסיתי (דרך מס' אחר כמובן) וזה אומר לי בזה''ל:''השלוחה אליה ביקשתם לעבור אינה ניתנת להפעלה עקב חוסר בהגדרות אנא פנה למנהל המערכת'' ואז מנתק
במספר שלי דהיינו המספר של בעל התא קולי זה נראה שהכל טוב ועובד כמו שצריך
יכול להיות שהבעיה זה הבאג שציינת שלא תיקנתי כי לא ידעתי מה ואיך
אשמח מאוד אם נוכל לדבר בפרטי שנוכל יותר להבין אחד את השני (אני לא כל הזמן על המחשב וגם אתה לא......)
0548417799 -
@יוסלה-טראמפ
זה לא קשור למה שהבאתי כי הבאג היה בעצם המעבר לשלוחה אחרת אבל לא שלא היו הגדרות.
לקחת את הקוד החדש שהבאתי?! -
אולי נדבר בטלפון הנ''ל
-
@אA כתב באחרי כל השרשורים אני לא מסתדר עם פתיחת תא קולי:
@יוסלה-טראמפ
גיליתי באג ועדכנתי את הקוד.
הבאג היה בשלוחה בשם הקלטות שיש שם הגדרה עם = בלי המשך, אז ההמשך הוא #.
וכן שלא מוגדר שם המעבר בסיוםrecord_end_goto=1כשאתה שולח URL, סולמית מסמל סיום פקודה, ולכן כששלחת =#, הסולמית לא נקלט, וגם לא פקודת מעבר בסיום שהיתה אח"כ, כדי לפתור את זה, במקום סולמית שלח %23 , זה מייצג סולמית בלי לקטוע את הפקודה.
-
@דוד_מלך_ישראל
לא הבנתי מילה....
אשמח מאוד אם נדבר בטל'0548417799
אני לא הכי מומחה בלהגדיר ולכן אני לא מבין את כל הקודים שלכם -
@דוד_מלך_ישראל
זה באמת מה שהוא תיקן לי בקוד./ התיקון כאן: שימוש ב-%23 במקום #
-
@יוסלה-טראמפ
פשוט תריץ שוב את הקוד שהבאתי לך(המתוקן).
אם אתה עדיין מסתבך, נדבר. -
@יוסלה-טראמפ לא יותר שפוט לעשות שלוחה הקלטה שכל מי שמקליט הודעה שולח לך צינתוק והודעה למייל ?
מה צריך תא קולי ? -
@haiims לא
-
@אA לא מסתדר בכלל (מנתק מיד בתחילת השיחה) אשמח לדבר בטל'
-
אתה יכול לעשות שלוחה 1 נמשל מסנן פילטר כולם מגיעים לשלוחה 2 בתוך 1 להקלטת הודעה ושליחת צינתוק אליך ושלוחה 1 ואתה תכנס לפי הפילטר לשלוחה 1 בתוך 1 ותשמע את ההודעות
ככה נראה לי עפ"י מה שקראתי -
הסתדרת ?
-
@sh0548534047 כתב באחרי כל השרשורים אני לא מסתדר עם פתיחת תא קולי:
תגובה
ממש לא -
תגדיר בשלוחה 1
title=תא קולי
type=menugo_to_from_tzintuk=yes
check_list_tzintuk=רשימת צינתוקים שלך
go_to_from_tzintuk_found=/1/1
go_to_from_tzintuk_not_found=/1/2ובשלוחה 1-1 תגדיר
type=playfile
title=תא קולישמות
say_details_message_first=yes
say_details_message_skip_menu=yes
say_details_message=nameובשלוחה 1-2 תגדיר
type=record
title=תא קולי;לשמיעת הקלטה 1, לאישור ושליחת צנתוק 2, להקלטה מחדש 3, להמשך הקלטה 4, לאישור הקלטה ללא צנתוק 5, ליציאה 6
menu_record_options_2=record_ok_end_run_tzintuk
menu_record_options_3=record_again
menu_record_options_4=continue_recording
menu_record_options_5=record_ok
menu_record_options_6=record_cancel
menu_record_options_7=end_goto=/
menu_record_options_8=noop
folder_move=/1/1
list_tzintuk=רשימת הצצינתוקים שלך
say_record_number=no
say_record_menu=noקליטת שם
say_name=yes
login_add_val_name=yes
enter_id=yes
enter_id_type=phone
login_add_val_name_folder=/EnterID
delete_id_exit=yes
record_name=no
create_tts_add_val_name=yesסגירת שלוחה
enter_if_time=08:00-23:59.sun-fri..מי שרשום לצינתוקים יועבר לשלוחה 1-1 לשמוע הודעות ומי שלא רשום לצינתוקים יועבר לשלוחה 1-2 להקלטת הודעה
ככה ראיתי אחד שכתב בפורום לא זוכר מאיפה לקחתי את זה...
-
וואלה טוב.
-
זה עובד לך ?