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