מה זה SIP?
SIP (Session Initiation Protocol — "פרוטוקול לפתיחת שיחה") הוא "השפה" שבה טלפונים ומרכזיות מדברים זה עם זה: הוא אחראי להקים שיחה, לצלצל, לענות, להעביר ולנתק. כמעט כל טלפון IP, אפליקציה ומרכזייה בענן היום מדברים SIP.
מה זה SIP
SIP הם ראשי התיבות של Session Initiation Protocol. "Session" היא שיחה — או באופן רחב יותר, כל מפגש בין שני צדדים: קול, וידאו או הודעות. "Initiation" היא הפתיחה. "Protocol" הוא מערכת כללים מוסכמת שכל הצדדים מכירים.
SIP לא מעביר את הקול עצמו — הוא מנהל את השיחה. אפשר לחשוב עליו כמו על מזכירה: היא מבררת מי רוצה לדבר עם מי, מצלצלת, מודיעה שענו ומסכמת בסוף. את הדיבור עצמו נושא פרוטוקול אחר, RTP, בערוץ נפרד.
איך שיחה מוקמת: ארבעה רגעים
נניח שדני, בשלוחה 201, מחייג לשלוחה 305. מאחורי הקלעים מתנהל דו-שיח קצר של הודעות, כל אחת עם שם ברור:
- INVITE — הזמנה. הטלפון של דני שולח למרכזייה: "אני 201, רוצה לדבר עם 305". בתוך ההזמנה הוא מצרף גם תיאור טכני של הקול שהוא יודע לשלוח — אילו קודקים הוא תומך, ולאיזו כתובת לשלוח אליו את הקול.
- Ringing — מצלצל. המרכזייה מעבירה את ההזמנה ל-305, והטלפון שם מתחיל לצלצל. הודעת "מצלצל" (180 Ringing) חוזרת לדני, ולכן הוא שומע צליל חיוג בשפופרת.
- 200 OK — ענו. כשמרימים ב-305, נשלחת הודעת "בסדר" עם הקודק שנבחר. דני מאשר (ACK), ומכאן נפתח ערוץ הקול, והחבילות מתחילות לזרום בשני הכיוונים.
- BYE — ניתוק. מי שמנתק ראשון שולח BYE, הצד השני מאשר, וערוץ הקול נסגר.
גם כל השאר הוא הודעות SIP: העברת שיחה היא בקשה לחבר את הצד השני למישהו אחר, המתנה היא בקשה להשהות את הקול, ו"תפוס" הוא תשובה (486 Busy) במקום "מצלצל". מספרי התשובות מזכירים את אלה של אתרי אינטרנט — ולא במקרה: SIP נבנה בהשראת הפרוטוקול של הרשת.
רישום: איך המרכזייה יודעת איפה הטלפון
כדי לקבל שיחות, כל טלפון צריך קודם להודיע למרכזייה שהוא קיים. זה נקרא רישום (REGISTER): הטלפון שולח את שם השלוחה, המרכזייה מבקשת הוכחה, והטלפון עונה בעזרת הסיסמה — בלי לשלוח את הסיסמה עצמה ברשת. מרגע שהרישום הצליח, המרכזייה זוכרת מאיזו כתובת הטלפון מחובר.
הרישום תקף לזמן מוגבל, ולכן הטלפון מחדש אותו כל כמה דקות. אם הטלפון כבה או האינטרנט נפל, הרישום פג, והמרכזייה יודעת שאין לאן לצלצל — ומפעילה את מה שהוגדר במקרה כזה, למשל תא קולי או הפניה לנייד.
זה גם מה שמאפשר לאותה שלוחה לעבוד מהמשרד, מהבית או מהנייד: היא פשוט נרשמת מהמקום שבו היא נמצאת. וכמה מכשירים יכולים להירשם יחד לאותה שלוחה, כך שכולם מצלצלים.
קצת היסטוריה
SIP פותח באמצע שנות התשעים על ידי חוקרים באקדמיה, במסגרת IETF — הגוף שמנסח את התקנים של האינטרנט. הגרסה הרשמית הראשונה פורסמה ב-1999, והגרסה שעליה עובדים עד היום (RFC 3261) פורסמה ב-2002.
באותה תקופה היה לו מתחרה, H.323, שהגיע מעולם הטלפוניה המסורתי והיה מורכב יותר. SIP ניצח בזכות הפשטות שלו: ההודעות שלו הן טקסט קריא, בסגנון של פרוטוקולי האינטרנט, וקל לפתח לו תוכנה. היום SIP משמש לא רק במרכזיות — גם רשתות סלולר מודרניות מנהלות בעזרתו שיחות קול.
למה תקן פתוח חשוב לכם
SIP הוא תקן פתוח: כל יצרן יכול לממש אותו, בלי רישיון מיוחד. בפועל זה אומר שטלפון של יצרן אחד עובד עם מרכזייה של ספק אחר, ואפליקציה במחשב מדברת עם אותה מרכזייה כמו טלפון שולחני.
- לא נתקעים עם ציוד. כשמחליפים ספק, הטלפונים ברוב המקרים ממשיכים לעבוד — רק מגדירים אותם מחדש.
- בחירה חופשית. אפשר לשלב טלפונים שולחניים, אלחוטיים, טלפוני ועידה, סופטפון ומתאמים לטלפונים ישנים באותה מערכת.
- חיבור לרשת. גם החיבור בין המרכזייה לרשת הטלפוניה — טרנק SIP — מדבר באותה שפה.
מרכזיות ישנות עבדו לרוב עם טלפונים "קנייניים" שמתאימים רק להן. זו אחת הסיבות שמעבר ממרכזייה כזו חייב להחליף גם את המכשירים.
כשמשהו לא עובד: שלוש תקלות מוכרות
- השלוחה לא רשומה. הטלפון לא מצליח להירשם — בגלל סיסמה שגויה, כבל מנותק או רשת שחוסמת. בלי רישום, השלוחה פשוט לא מצלצלת.
- שומעים רק בצד אחד. ההודעות של SIP עברו והשיחה נפתחה, אבל חבילות הקול לא מוצאות את הדרך חזרה. כמעט תמיד זו בעיית NAT או ראוטר שמתערב בתעבורת SIP.
- השיחה נופלת אחרי זמן קבוע. ניתוק אחרי חצי דקה או כמה דקות, שוב ושוב, מעיד בדרך כלל על ראוטר או חומת אש שסוגרים את החיבור באמצע.
אבטחה: חשבון SIP הוא מפתח
שם שלוחה וסיסמה הם כל מה שצריך כדי להתחבר למרכזייה ולחייג על חשבונכם. לכן סיסמה חלשה היא סיכון אמיתי: יש מי שסורקים את האינטרנט כל הזמן, מנחשים סיסמאות, ומשתמשים בשלוחה שנפרצה כדי לחייג ליעדים יקרים בחו"ל. זה נקרא הונאת חיוג.
- סיסמה ארוכה ואקראית לכל שלוחה — לא 1234 ולא מספר השלוחה.
- לא לשלוח פרטי התחברות בקבוצות וואטסאפ או במיילים פתוחים.
- לבדוק מדי פעם מאילו מכשירים השלוחות רשומות, ולמחוק שלוחות של עובדים שעזבו.
מה הטלפון והמרכזייה אומרים זה לזה: רישום
הודעות SIP הן טקסט, וקל לתרגם אותן לשפה של בני אדם. נתחיל מהרגע שבו טלפון חדש מתחבר לחשמל במשרד:
- הטלפון: "שלום, אני שלוחה 201, ואפשר להשיג אותי בכתובת הזאת ברשת. תרשמי אותי." (REGISTER)
- המרכזייה: "לא מכירה אותך עדיין. הנה מספר אקראי — תחתום עליו עם הסיסמה שלך." (401 Unauthorized)
- הטלפון: "הנה אותה בקשה, ואיתה חתימה שנוצרה מהמספר שלך ומהסיסמה שלי." (REGISTER עם תשובה מגובבת — הסיסמה עצמה לא נשלחת)
- המרכזייה: "החתימה נכונה. רשמתי אותך ל-201, לשעה הקרובה." (200 OK עם זמן תפוגה)
מכאן הטלפון חוזר על השיחה הזאת כל כמה דקות, לפני שהזמן פג. אם הוא לא מספיק — כי כבו אותו, כי הכבל נשלף, כי האינטרנט נפל — המרכזייה מוחקת את הרישום, ובלוח הבקרה השלוחה מופיעה כ"לא רשומה". זה בדיוק מה שרואים כשטלפון "לא מצלצל בלי סיבה": הוא פשוט לא הספיק להתייצב.
שלושה כשלים נפוצים בשלב הזה: המרכזייה עונה שוב ושוב "תחתום" (403 או 401 חוזר) — הסיסמה שגויה; הטלפון לא מקבל תשובה בכלל — הרשת חוסמת או הכתובת של המרכזייה שגויה; והרישום מצליח אבל השיחות מגיעות למכשיר אחר — כי מישהו נרשם לאותה שלוחה ממקום אחר, ולוח הבקרה מראה מאיזה מכשיר.
שיחה נכנסת מבחוץ: שתי שיחות SIP שהמרכזייה מדביקה
כשלקוח מחייג למספר של העסק, המרכזייה לא "מעבירה" את ההודעה שלו לטלפון של הנציג. היא עומדת באמצע ומנהלת שתי שיחות SIP נפרדות — אחת מול הרשת, אחת מול הטלפון — ומחברת ביניהן את הקול. כך זה נשמע:
- הרשת (דרך הטראנק): "יש שיחה למספר שלכם ממספר 05x. הנה הקודקים שאני יודעת, והנה לאן לשלוח לי קול." (INVITE)
- המרכזייה לרשת: "קיבלתי, מטפלת." (100 Trying) — ובינתיים היא מריצה את המסלול: מי מתקשר, מה השעה, איזה תפריט. אם יש תפריט, היא עונה לרשת "ענו" ומשמיעה אותו בעצמה; המתקשר מקיש, והספרה מגיעה כאירוע קטן בתוך ערוץ הקול.
- המרכזייה לטלפון 201: "שיחה בשבילך, מזוהה כ-05x, ומגיעה דרך הקו 'מכירות'. הנה הקודקים שלי." (INVITE חדש, עם זיהוי המתקשר בשדה From)
- הטלפון: "מצלצל." (180 Ringing) — והמרכזייה מתרגמת את זה למתקשר כצליל חיוג או למוזיקת התור.
- הטלפון: "עניתי. הנה הקודק שבחרתי ולאן לשלוח לי קול." (200 OK)
- המרכזייה: "אישרתי." (ACK) — ומרגע זה היא מעבירה חבילות קול בין שני הצדדים, או מורה להם לדבר ישירות.
ההבנה שהמרכזייה יושבת באמצע מסבירה הרבה: זו הסיבה שאפשר להקליט, להאזין, להעביר שיחה ולראות אותה במסך השיחות הפעילות — היא צד בשיחה, לא צינור. וזו גם הסיבה שהמתקשר לא רואה את הכתובת של הטלפון של הנציג, ולא צריך לדעת אם הוא במשרד או בבית.
אם 201 לא עונה בזמן שהוגדר, המרכזייה שולחת לו "ביטול" (CANCEL), הטלפון עונה שהשיחה בוטלה (487), והמרכזייה ממשיכה במסלול — לשלוחה הבאה, לתור או לתא הקולי. המתקשר לא שומע מזה דבר.
העברת שיחה: מי אומר מה
הנציג ב-201 מדבר עם הלקוח ורוצה להעביר אותו להנהלת חשבונות ב-204. יש שתי דרכים, ושתיהן הודעות SIP פשוטות.
העברה עם התייעצות (הנציג מדבר קודם עם 204):
- 201 למרכזייה: "תשימי את הלקוח בהמתנה." (re-INVITE שמבקש להשהות את הקול) — הלקוח שומע מוזיקה שהמרכזייה משמיעה.
- 201 למרכזייה: "תפתחי לי שיחה חדשה ל-204." (INVITE) — 204 עונה, והנציג אומר לה במי מדובר.
- 201 למרכזייה: "תחברי את השיחה שבהמתנה לשיחה הזאת, ותוציאי אותי." (REFER, עם הפניה לשיחה השנייה)
- המרכזייה ל-201: "מנסה... הצליח." (NOTIFY) — ואז "להתראות" (BYE) לשלוחה 201, שנעלמת מהשיחה.
העברה עיוורת (בלי לדבר עם 204 קודם): 201 שולח REFER ישר — "תעבירי את הלקוח ל-204" — ומתנתק. המרכזייה מחייגת ל-204, ואם שם לא עונים, היא מפעילה את מה שהוגדר לשלוחה 204 כשאין מענה. הלקוח לא חוזר ל-201, וזו הסיבה שהעברה עיוורת לשלוחה שלא בטוח עונה היא טעות נפוצה.
בשני המקרים הלקוח עצמו לא מקבל שום הודעת SIP חדשה: מבחינת הטלפון שלו זו אותה שיחה שנמשכת, רק שהקול שמגיע אליו מתחלף. שוב — כי המרכזייה יושבת באמצע ומחליפה את הצד השני בשקט. וביומן השיחות כל ההעברה מופיעה כשיחה אחת עם מסלול: הגיע ל-201, הועבר ל-204.
מילון קצר של תשובות SIP
כשמסתכלים ביומן של טלפון או בהודעת שגיאה, מופיעים מספרים. אלה השכיחים, ומה הם אומרים בעברית פשוטה:
- 100 Trying — "קיבלתי, מטפלת". לא קרה עדיין כלום.
- 180 Ringing — הצד השני מצלצל.
- 200 OK — הצליח: ענו, נרשמת, או שהבקשה התקבלה.
- 401 / 407 — "תזדהה": שלב רגיל ברישום, בעיה רק אם הוא חוזר שוב ושוב.
- 403 Forbidden — הזדהות נכשלה או שהפעולה אסורה לשלוחה הזאת, למשל חיוג ליעד חסום.
- 404 Not Found — אין שלוחה או מספר כזה.
- 486 Busy Here — תפוס.
- 487 Request Terminated — השיחה בוטלה לפני מענה (המתקשר ניתק, או שהצלצול הסתיים).
- 503 Service Unavailable — הצד השני לא זמין: הטראנק נפל, אין ערוץ פנוי, או שהמרכזייה עמוסה.
כלל אצבע: מספרים שמתחילים ב-1 הם "בדרך", ב-2 — הצלחה, ב-4 — בעיה בצד שביקש (סיסמה, יעד, הרשאה), ב-5 — בעיה בצד שעונה. זה חוסך הרבה ניחושים כשמדווחים על תקלה.
איך זה עובד אצלנו בקשר
כל שלוחה אצלנו היא חשבון SIP, עם שם וסיסמה חזקה שהמערכת מייצרת. לא צריך להמציא סיסמאות ולא לזכור אותן — הן נכנסות להגדרות המכשיר.
אנחנו מגדירים את הטלפונים מראש, והציוד מגיע מוכן לחיבור: טלפונים שולחניים, אלחוטיים, טלפוני ועידה ומתאמים לטלפונים ישנים. מי שעובד מאפליקציה או מתוכנה במחשב מקבל מאיתנו את פרטי ההתחברות.
בלוח הבקרה רואים לכל שלוחה אם היא רשומה עכשיו, ומאיזה מכשיר. כך מבינים מיד למה שלוחה לא מצלצלת — הטלפון כבוי, מנותק מהרשת, או שמישהו מתחבר ממכשיר שלא הכרתם.
ומי שלא רוצה להתעסק ב-SIP בכלל — שלוחת סים עובדת בנייד רגיל, בלי אפליקציה ובלי גלישה.
שאלות נפוצות
מה ההבדל בין SIP ל-VoIP?
VoIP הוא השם הכללי להעברת קול באינטרנט. SIP הוא הפרוטוקול שמנהל את השיחה בתוך VoIP: מי מחייג למי, צלצול, מענה, העברה וניתוק.
מה זה חשבון SIP?
שם משתמש וסיסמה שמאפשרים למכשיר להירשם למרכזייה כשלוחה. כל טלפון או אפליקציה שיודעים SIP יכולים להשתמש בו.
למה הטלפון מראה שהשלוחה לא רשומה?
בדרך כלל כי אין חיבור לאינטרנט, הסיסמה שגויה, או שהראוטר חוסם את התעבורה. כדאי לבדוק קודם את הכבל ואת הרשת, ואחר כך את פרטי ההתחברות.
איזה פורט SIP משתמש?
ברירת המחדל המקובלת היא 5060, ו-5061 לחיבור מוצפן. את הקול עצמו מעבירים פורטים אחרים, בטווח נפרד.
אפשר להשתמש בכל טלפון SIP עם כל מרכזייה?
ברוב המקרים כן, כי SIP הוא תקן פתוח. תכונות מתקדמות, כמו מקשי נוכחות, תלויות לפעמים בהגדרות של הדגם.
מה זה SIP ALG, ולמה ממליצים לכבות אותו?
תכונה בראוטרים ביתיים שמנסה "לעזור" ל-SIP לעבור NAT, ולעיתים קרובות משבשת את ההודעות בדרך: שיחות בצד אחד, רישום שנופל. ברוב המקרים המרכזייה מטפלת ב-NAT בעצמה, והתכונה הזאת רק מפריעה.
מה ההבדל בין SIP ל-RTP?
SIP מסכם על השיחה: מי, למי, באיזה קודק, ולאן לשלוח קול. RTP הוא הזרם של חבילות הקול עצמן. לכן ייתכן מצב שהשיחה "נפתחה" ב-SIP אבל לא שומעים — ה-RTP נחסם.