מוניטור SIP בזמן אמת - מערכת SiP_panel
שימו לב, שירות זה דורש רישיון פעיל (חבילה בתשלום מול שירות הלקוחות, או התנסות). ניתן לבדוק את מצב הרישיון גם ללא רישיון באמצעות getLicenseInfo.
הפקודה היא - SipRealtimeMonitor
אפשר לקרוא לשירות בGET (פרמטרים ב-query string) או בPOST עם json בbody — למעט getCalls עם פילטר חשבונות שמצריך POST.
בכל פניה יש לצרף:
| פרמטר | תיאור | סוג |
|---|---|---|
| token | טוקן | string |
| action | הפעולה לביצוע - יבואר | string |
פעולות:
קבלת מצב הרישיון - getLicenseInfo
הפעולה היא - getLicenseInfo
מענה בעת הצלחה
| מאפיין | סוג | הסבר | דוגמא |
|---|---|---|---|
| responseStatus | string | סטטוס הפעולה | OK |
| license.allowed | boolean | האם יש גישה לשירות | true |
| license.trial | boolean | האם זהו רישיון ניסיון | true |
| license.trialStart | number | Unix timestamp של תחילת הניסיון | 1779705344 |
| license.trialEnd | number | Unix timestamp של סיום הניסיון | 1780310144 |
| license.trialAvailable | boolean | האם ניסיון זמין להפעלה | false |
דוגמא לתגובה כאשר השירות בניסון פעיל:
{
"responseStatus": "OK",
"license": {
"allowed": true,
"trial": true,
"trialStart": 1779705344,
"trialEnd": 1780310144
}
}
דוגמא לתגובה — אין רישיון, ניסיון זמין:
{
"responseStatus": "OK",
"license": {
"allowed": false,
"reason": "no_license",
"trialAvailable": true
}
}
הפעלת ניסיון חינם - startTrial
הפעולה היא - startTrial
מפעיל ניסיון חינם של 7 ימים. ניתן לבצע את הפעולה בכל מערכת פעם אחת בלבד!.
מענה בעת הצלחה
| מאפיין | סוג | הסבר | דוגמא |
|---|---|---|---|
| responseStatus | string | סטטוס הפעולה | OK |
| trialStarted | boolean | האם הניסיון הופעל כעת | true |
| alreadyLicensed | boolean | האם כבר היה רישיון פעיל | true |
| license | object | פרטי הרישיון לאחר הפעלה |
{
"responseStatus": "OK",
"trialStarted": true,
"license": {
"allowed": true,
"trial": true,
"trialStart": 1779705344,
"trialEnd": 1780310144
}
}
קבלת שיחות - getCalls
הפעולה היא - getCalls
שירות זה דורש רישיון פעיל.
הפרמטרים הנדרשים בנוסף (אופציונליים):
| פרמטר | תיאור | סוג | ברירת מחדל |
|---|---|---|---|
| includeEnded | כלול שיחות שהסתיימו (כלומר שלא בחיוג / בשיחה כרגע) (ended[]) בתגובה |
0 או 1 |
0 |
| onlyEnded | החזר רק שיחות שהסתיימו, ללא שיחות פעילות | 0 או 1 |
0 |
| endedLimit | מגבלת מספר שיחות שהסתיימו להחזיר (האחרונות לפי זמן ניתוק, כאשר הראשון הוא החדש ביותר) | number | 30 |
| accounts | מערך חשבונות לסינון — רק חשבונות אלו יוחזרו. מצריך POST עם JSON body | array | ללא סינון |
מענה בעת הצלחה
| מאפיין | סוג | הסבר |
|---|---|---|
| responseStatus | string | סטטוס הפעולה |
| summary | object | סיכום המכיל את המידע המצטבר מכלל החשבונות שנבחרו |
| accounts | object | המפתח — key הוא שם החשבון, value הוא נתוני החשבון |
| license | object | מצורף רק כשהרישיון הוא רישיון התנסות, עם מידע עוד כמה זמן הוא פג תוקף וכו כמו שנכתב למעלה |
מבנה summary:
| מאפיין | סוג | הסבר |
|---|---|---|
| totalActive | number | סה"כ שיחות פעילות כרגע |
| dialing | number | שיחות במצב חיוג |
| inCall | number | שיחות בשיחה ממש |
| totalCalls | number | סה"כ שיחות (היסטוריה שבועית ~~ יבואר למטה) |
| totalIncoming | number | סה"כ נכנסות |
| totalOutgoing | number | סה"כ יוצאות |
| totalAnswered | number | סה"כ נענו |
| totalMissed | number | סה"כ לא נענו |
| totalTalkTimeSeconds | number | סה"כ זמן שיחה בשניות |
| totalRecorded | number | סה"כ מספר שיחות שהוקלטו הוקלטו |
מבנה כל חשבון ב-accounts:
| מאפיין | סוג | הסבר |
|---|---|---|
| summary | object | סטטיסטיקות החשבון (אותם שדות כמו summary הכללי - רק כלפי החשבון הספציפי הזה) |
| calls | array | מערך שיחות שיחות פעילות כרגע |
| ended | array | שיחות שהסתיימו (רק אם includeEnded=1 או onlyEnded=1) |
מבנה שיחה (calls / ended):
| מאפיין | סוג | הסבר | דוגמא |
|---|---|---|---|
| id | string | מזהה שיחה ייעודי | "3f2a1b..." |
| account | string | שם חשבון ה-SIP | "06558877=2" |
| callType | string | סוג שיחה | "IN" / "OUT" |
| source | string | מספר מקור | "050000000" |
| destination | string | מספר יעד | "0773133333=2" |
| startTime | number | Unix timestamp — תחילת השיחה | 1779710278 |
| answeredTime | number|null | Unix timestamp — מענה (null אם לא נענה) | 1779710282 |
| endTime | number|null | Unix timestamp — ניתוק (null אם עדיין פעיל) | null |
| status | string | מצב השיחה | "dialing" / "in_call" / "ended" |
| hasRecord | boolean | האם יש הקלטה | true |
| recordPath | string|null | נתיב ההקלטה | "ivr2://Trash/SIPRecord/DID-..." |
| history | array | רצף אירועי השיחה - יבואר למטה |
מבנה history event:
| מאפיין | סוג | הסבר | דוגמא |
|---|---|---|---|
| event | string | סוג האירוע | "start" / "answer" / "transfer" / "end" |
| time | number | Unix timestamp | 1779710278 |
| to | string | יעד ההעברה (רק באירוע-transfer) | "05200000" |
דוגמא לתגובה מלאה:
{
"responseStatus": "OK",
"summary": {
"totalActive": 2,
"dialing": 1,
"inCall": 1,
"totalCalls": 4395,
"totalAnswered": 219,
"totalMissed": 4176,
"totalIncoming": 4380,
"totalOutgoing": 15,
"totalTalkTimeSeconds": 13515,
"totalRecorded": 16
},
"accounts": {
"0888888888=2": {
"summary": {
"totalActive": 1,
"dialing": 0,
"inCall": 1,
"totalCalls": 250,
"totalAnswered": 8,
"totalMissed": 242,
"totalTalkTimeSeconds": 480,
"totalRecorded": 1
},
"calls": [
{
"id": "3f2a1b4c-5d6e-7f8g-9h0i-1j2k3l4m5n6o",
"account": "0888888888=2",
"callType": "IN",
"source": "050000000",
"destination": "0888888888=2",
"startTime": 1779710278,
"answeredTime": 1779710282,
"endTime": null,
"status": "in_call",
"hasRecord": true,
"recordPath": "ivr2://Trash/SIPRecord/DID-xxxx-Phone-xxxx-routing-4446464646=2-Date-2026-05-25-19-00-00.wav",
"history": [
{
"event": "start",
"time": 1779710278
},
{
"event": "answer",
"time": 1779710282
},
{
"event": "transfer",
"time": 1779710290,
"to": "079999999"
}
]
}
],
"ended": []
}
}
}
קבלת שיחות לחשבון ספציפי - getCallsByAccount
הפעולה היא - getCallsByAccount
שירות זה דורש רישיון פעיל.
הפרמטרים הנדרשים בנוסף:
| פרמטר | תיאור | סוג |
|---|---|---|
| account | שם חשבון ה-SIP | string |
| includeEnded | כלול שיחות שהסתיימו | 0 או 1 |
מענה בעת הצלחה
| מאפיין | סוג | הסבר |
|---|---|---|
| responseStatus | string | סטטוס הפעולה |
| account | string | שם החשבון שנשאל |
| summary | object | סטטיסטיקות החשבון |
| calls | array | שיחות פעילות |
| ended | array | שיחות שהסתיימו (רק אם includeEnded=1) |
{
"responseStatus": "OK",
"account": "09948949494=2",
"summary": {
"totalActive": 1,
"dialing": 0,
"inCall": 1,
"totalCalls": 250,
"totalAnswered": 8,
"totalMissed": 242,
"totalTalkTimeSeconds": 480,
"totalRecorded": 1
},
"calls": [],
"ended": []
}
שימו לב:
השירות מיועד להיות שירות לקבל מידע בזמן אמת על מצב חשבונות ה SIP במערכת - ועל כן כל הנתונים לא נשמרים לטווח ארוך.
נכון לכתיבת שורות אלה - אלה פחות או יותר הזמנים שנשמרים הנתונים לאחר שהם כבר לא ״זמן אמת״:
| נתון | זמן שמירה |
|---|---|
| שיחה בחיוג (dialing) | 5 דקות — פג תוקף אוטומטית אם לא נענתה |
| שיחה פעילה (in_call) | עד 2.5 שעות מרגע המענה |
| שיחה שהסתיימה | 20 דקות |
| סטטיסטיקות | 7 ימים |
שיחות שמועברות: כל העברה מתועדת כ-event מסוג transfer ב-history עם שדה to המכיל את מספר היעד, אבל לא יוצרת שיחה חדשה או מזהה שיחה ייחודי.