מוניטור 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 המכיל את מספר היעד, אבל לא יוצרת שיחה חדשה או מזהה שיחה ייחודי.