דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. API לימות המשיח

API לימות המשיח

מתוזמן נעוץ נעול הועבר תכנות
31 פוסטים 4 כותבים 441 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • MusiCodeM מנותק
    MusiCodeM מנותק
    MusiCode
    השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
    #2

    @יוסף-בן-שמעון אמר בAPI לימות המשיח:

    שאפו על הקוד המושקע!

    תודה תודה!

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

    איך עושים?
    אני שברתי את הראש על זה!
    אפילו פתחתי כאן שרשור, אא"ט.

    י תגובה 1 תגובה אחרונה
    0
    • MusiCodeM מנותק
      MusiCodeM מנותק
      MusiCode
      כתב ב נערך לאחרונה על ידי MusiCode
      #3

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

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

      nigunN 2 תגובות תגובה אחרונה
      1
      • nigunN מנותק
        nigunN מנותק
        nigun
        השיב לMusiCode ב נערך לאחרונה על ידי
        #4

        @MusiCode
        אני לא מכיר את נוד, ולא משקיע בימות
        אז אין מה לבנות עלי כ"כ
        (אני חושב שעדיף כבר לבנות פלטפורמה נוחה לאסטריסק)

        מייל: nigun@duck.com

        תגובה 1 תגובה אחרונה
        0
        • MusiCodeM מנותק
          MusiCodeM מנותק
          MusiCode
          כתב ב נערך לאחרונה על ידי
          #5

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

          תגובה 1 תגובה אחרונה
          1
          • nigunN מנותק
            nigunN מנותק
            nigun
            השיב לMusiCode ב נערך לאחרונה על ידי
            #6

            @MusiCode אמר בAPI לימות המשיח:

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

            למה באמת אתה לא רואה סיבה לעזוב את ימות?

            מייל: nigun@duck.com

            MusiCodeM תגובה 1 תגובה אחרונה
            0
            • MusiCodeM מנותק
              MusiCodeM מנותק
              MusiCode
              השיב לnigun ב נערך לאחרונה על ידי
              #7

              @nigun כי הם נותנים לי הכי הרבה.

              וההפנייה לSIP תקולה אצלם, כך שאי אפשר לבנות על הפנייה לIP.

              nigunN יעקב ישראלי 2 תגובות תגובה אחרונה
              0
              • nigunN מנותק
                nigunN מנותק
                nigun
                השיב לMusiCode ב נערך לאחרונה על ידי
                #8

                @MusiCode
                ז"א כי הם נותנים לך פלטפורמה מוכנה
                אז למה להמציא את הגלגל?

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

                מייל: nigun@duck.com

                תגובה 1 תגובה אחרונה
                1
                • MusiCodeM מנותק
                  MusiCodeM מנותק
                  MusiCode
                  כתב ב נערך לאחרונה על ידי
                  #9

                  @nigun אמר בAPI לימות המשיח:

                  @MusiCode
                  ז"א כי הם נותנים לך פלטפורמה מוכנה
                  אז למה להמציא את הגלגל?

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

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

                  nigunN תגובה 1 תגובה אחרונה
                  1
                  • nigunN מנותק
                    nigunN מנותק
                    nigun
                    השיב לMusiCode ב נערך לאחרונה על ידי
                    #10

                    @MusiCode
                    אתה מתכוון דמי קישורית?
                    יש לך גם מחוץ לימות

                    מייל: nigun@duck.com

                    תגובה 1 תגובה אחרונה
                    0
                    • MusiCodeM מנותק
                      MusiCodeM מנותק
                      MusiCode
                      כתב ב נערך לאחרונה על ידי
                      #11

                      לא ידוע לי על מישהו שישלם לי, כמותם.

                      nigunN תגובה 1 תגובה אחרונה
                      0
                      • nigunN מנותק
                        nigunN מנותק
                        nigun
                        השיב לMusiCode ב נערך לאחרונה על ידי
                        #12

                        @MusiCode
                        שאלת את @clickone ?

                        מייל: nigun@duck.com

                        תגובה 1 תגובה אחרונה
                        0
                        • MusiCodeM מנותק
                          MusiCodeM מנותק
                          MusiCode
                          כתב ב נערך לאחרונה על ידי
                          #13

                          כן...

                          מול מי אתה עובד?

                          nigunN תגובה 1 תגובה אחרונה
                          0
                          • nigunN מנותק
                            nigunN מנותק
                            nigun
                            השיב לMusiCode ב נערך לאחרונה על ידי nigun
                            #14

                            @MusiCode
                            מול 015
                            אמנם עדיין לא קיבלתי שקל כי עדיין לא הגעתי למינימום הדקות שהם רוצים
                            אבל הם אמרו שהם ישלמו 0.5 אג,
                            החל מחצי מליון דקות.
                            (אבל זה לא באמת משנה לי כי אני מרוויח מהפיתוח ולא בונה על דקות)

                            מייל: nigun@duck.com

                            MusiCodeM תגובה 1 תגובה אחרונה
                            0
                            • MusiCodeM מנותק
                              MusiCodeM מנותק
                              MusiCode
                              השיב לnigun ב נערך לאחרונה על ידי MusiCode
                              #15

                              @nigun וואו.
                              זה יותר ממה שיש לי.

                              יאללה, עוברים?...

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

                              יש ממשק ניהול מסודר?

                              nigunN תגובה 1 תגובה אחרונה
                              0
                              • nigunN מנותק
                                nigunN מנותק
                                nigun
                                השיב לMusiCode ב נערך לאחרונה על ידי nigun
                                #16

                                @MusiCode
                                😅 אני יודע שזה יותר מימות
                                אבל עד שאני לא מקבל את השקל הראשון אין מה לרוץ (זה לא בדיוק אני, אני יושב על מספרים של מישהו אחר
                                אני לבד לא מכניס כ"כ הרבה דקות).

                                לגבי היציבות
                                טוענים שיש מגבלות חיוג מגולן ל015 (לא קיבלתי תלונות אבל כך אומרים).
                                ושיחות יוצאות הם לא אוהבים כ"כ את הצינתוקים והם מגבלים כרגע ל100-200 שיחות יוצאות בו זמנית
                                אולי אם נגיע להרבה דקות הם יתגמשו.
                                יש לו קומות שפתוחים בקומה הכשר, והוא לא מוכר עוד קומות לימות
                                אז כרגע לא אמור להיות בעיות, אא"כ לקחות אחרים של 015 יעשו בעיות והוועדה תחסום ל015 קומות שלמות.

                                ממשק מסודר לצערי אין
                                ולכן רציתי להקים שרת קמיליו שינתב את כל השיחות לשרתים הרלוונטים.
                                אבל התייאשתי ואני כנראה יעבור ל @clickone (כאמור לא מעניין אותי הקש"ג).
                                אבל נראה לי שיש עוד חברות שנותנות מחירים דומים חוץ מ015
                                סלקום אמרו שבאופן עקרוני הם מוכנים למשהו, אבל המו"מ לא התקדם בכ"כ
                                בעיקר כי לא מקבלים קש"ג על שיחות מלקחות סלקום
                                כנ"ל אפשר לנסות בעוד חברות.

                                מייל: nigun@duck.com

                                תגובה 1 תגובה אחרונה
                                1
                                • י מנותק
                                  י מנותק
                                  יוסף בן שמעון
                                  השיב לMusiCode ב נערך לאחרונה על ידי
                                  #17

                                  @MusiCode אמר בAPI לימות המשיח:

                                  איך עושים?

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

                                  
                                  const Call = require("./call");
                                  const Router = require("express").Router;
                                  const EventEmitter = require("this.events");
                                  
                                  class Call {
                                      read (massage) { }
                                      id_list_message (massage) { }
                                  }
                                  class Yemot_Router extends Router {
                                      constructor() {
                                          super()
                                          this.events = new EventEmitter();
                                          this.this.active_calls = {};
                                      }
                                  
                                      /**
                                       *
                                       * @param {string} path
                                       * @param {Call} fn
                                       */
                                      addFn (path, fn) {
                                  
                                  
                                          this.all(path, (req, res, next) => {
                                  
                                              req.query = check_query(req.query);
                                  
                                              const call_id = req.query.ApiCallId;
                                  
                                              const [current_call, is_new_req] = this.get_current_call(call_id);
                                  
                                              current_call.get_req_vals(req, res, next);
                                  
                                              if (is_new_req) {
                                  
                                                  fn(current_call).then((r) => {
                                  
                                                      delete this.this.active_calls[call_id];
                                                      console.log(call_id, "deleted", r);
                                                  });
                                  
                                              } else {
                                                  this.events.emit(call_id);
                                              }
                                          });
                                      };
                                  
                                      get_current_call (call_id) {
                                  
                                          let current_call = this.active_calls[call_id];
                                          let is_new_req = false;
                                  
                                          if (!current_call) {
                                              current_call = this.active_calls[call_id] = new Call(call_id, this.events);
                                  
                                              is_new_req = true;
                                              console.log(call_id + " is new");
                                          }
                                  
                                          return [current_call, is_new_req];
                                      };
                                  
                                      const check_query = function check_query (query) {
                                  
                                          if (typeof query == "object") {
                                              let iterator;
                                  
                                              for (const key of Object.keys(query)) {
                                  
                                                  iterator = query[key];
                                  
                                                  if (typeof iterator === "object") {
                                  
                                                      query[key] = iterator[(iterator.length - 1)];
                                                  }
                                              }
                                          }
                                  
                                          return query;
                                      };
                                  
                                  };
                                  
                                  module.exports = () => new Yemot_Router()
                                  
                                  
                                  י תגובה 1 תגובה אחרונה
                                  1
                                  • י מנותק
                                    י מנותק
                                    יוסף בן שמעון
                                    השיב ליוסף בן שמעון ב נערך לאחרונה על ידי יוסף בן שמעון
                                    #18

                                    בשביל תיעוד מלא, תעשה קובץ בשם yemot_router.d.ts, וב require אל תציין סיומת קובץ צור קובץ בשם index.d.ts ותמקם אותו בתיקית השורש

                                    declare function Yemot(): YemotRouter;
                                    interface YemotRouter {
                                        addFn?(path: string, handler: Handler): void;
                                    }
                                    interface Call {
                                        read(massage: string): Promise<string>
                                    }
                                    type Handler = (p: Call) => void;
                                    
                                    export = Yemot;
                                    
                                    
                                    MusiCodeM תגובה 1 תגובה אחרונה
                                    4
                                    • MusiCodeM מנותק
                                      MusiCodeM מנותק
                                      MusiCode
                                      השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                                      #19

                                      @יוסף-בן-שמעון אמר בAPI לימות המשיח:

                                      בשביל תיעוד מלא, תעשה קובץ בשם yemot_router.d.ts, וב require אל תציין סיומת קובץ צור קובץ בשם index.d.ts ותמקם אותו בתיקית השורש

                                      declare function Yemot(): YemotRouter;
                                      interface YemotRouter {
                                          addFn?(path: string, handler: Handler): void;
                                      }
                                      interface Call {
                                          read(massage: string): Promise<string>
                                      }
                                      type Handler = (p: Call) => void;
                                      
                                      export = Yemot;
                                      
                                      

                                      תודה רבה!

                                      בוצע.

                                      תגובה 1 תגובה אחרונה
                                      1
                                      • יעקב ישראלי מנותק
                                        יעקב ישראלי מנותק
                                        יעקב ישראל
                                        השיב לMusiCode ב נערך לאחרונה על ידי
                                        #20

                                        @MusiCode לא מבין איפה הבעיה שולחים לשירות לקוחות את כתובת הIP והם פותחים לך זה כולה עניין של אבטחה

                                        nigunN תגובה 1 תגובה אחרונה
                                        0
                                        • nigunN מנותק
                                          nigunN מנותק
                                          nigun
                                          השיב ליעקב ישראל ב נערך לאחרונה על ידי
                                          #21

                                          @יעקב-ישראל
                                          השיחה לא מחזיקה יותר מחצי שעה

                                          מייל: nigun@duck.com

                                          יעקב ישראלי תגובה 1 תגובה אחרונה
                                          0

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום