Що таке сип-логін, для чого він потрібний і як його отримати. Налаштування програми Zoiper Для чого він потрібний

SIP – вільний стандарт IP-телефонії. Широко використовується як комерційними операторами VoIP, так і безкоштовними сервісамитипу Google Voice, Voxalot, Ekiga.net, Sipnet.ru ітд., підтримується безліччю софт/хард телефонів та адаптерів, підтримує відеотелефонію. На відміну від скайпу є затвердженим, загальновизнаним та відкритим сигнальним протоколом систем VoIP.

У SIP немає єдиного глобального вузла управління та реєстрації. Існує безліч різних послуг провайдерів - реєстраторів. Можна провести аналогію з email, або ще точніше, jabber серверами.
Крім того, будь-який користувач або організація може запустити власний сервер.

Будь-яка SIP адреса (sip uri) складається з логіна користувача та адреси сервера і має вигляд , наприклад " ". У принципі в логіні допускаються і літери, але я б радив обмежитися лише цифрами, щоб потім не виникло проблем із набором такого номера з телефонів без алфавітної клавіатури. Можна мати необмежену кількість SIP акаунтів на одному або різних серверах, для різних цілей.
Оскільки SIP - відкритий стандарт, існує безліч програмних або апаратних SIP клієнтів, вони сумісні один з одним і з будь-якими серверами. Для встановлення зв'язку клієнтам не обов'язково перебувати на тому самому сервері. При цьому під час розмови вони будуть автоматично з'єднані між собою безпосередньо.

Для приєднання до SIP-телефонії необхідно вибрати реєстратора та клієнт. Початківцям можна порекомендувати sipnet.ru чи comtube.ru. Користувачам WindowsСипнет пропонує свій софтфон із передустановками. Він може працювати лише з цим реєстратором, але його майже не треба налаштовувати. Ще один популярний софтфон для цієї ОС – X-lite.
Для *Nix систем непоганий варіант - Ekiga або SFLphone з тими самими реєстраторами. (Ekiga доступна також для Windows)

Не використовуйте реєстратор ekiga.net, що пропонується в Ekiga. Він був протестований і виявив проблеми із вхідними дзвінками. Відмовтеся від нього при першому запуску, потім у менеджері облікових записів виберіть "додати обліковий запис SIP".

Різні реєстратори можуть надавати різний набір послуг та зручностей. Деякі більше орієнтовані на дзвінки до телефонної мережі (PSTN termination), деякі - на різні онлайн сервіси. Виберіть те, що вам найбільше підходить або користуйтеся відразу декількома, в SIP це цілком нормальна практика. Географічне положення реєстратора великого значення не має, оскільки медіатрафік між клієнтами в більшості випадків все одно йтиме безпосередньо.
Реєстрація зазвичай безкоштовна, ні до чого не зобов'язує і проводиться прямо з сайту, після чого ви отримуєте номер, пароль, дані для підключення (або завантажуєте програму з передустановками) і можете відразу користуватися вашим SIP акаунтом. Дзвінки всередині мережі, в інші мережі та з них, із звичайної телефонної мережічерез шлюзи – безкоштовні. Вам не потрібно вказувати при реєстрації жодних платіжних коштів, якщо ви не маєте на увазі дзвонити на звичайні міські/стільникові номери, містити персональний прямий номер доступу або користуватися якимись іншими екзотичними послугами.

При ручне налаштуванняосновні параметри це ваш номер (логін), адреса сервера для підключення та пароль. Часто вказується ще сервер STUN. Не нехтуйте ним, у деяких випадках робота без нього неможлива.

Після успішного підключення захочеться протестувати роботу вашого клієнта. Майже всі реєстратори мають службові номери для перевірки, список яких є на сайті. В даному випадку найкориснішим є "ехотест" або автовідповідачі із записом та подальшим відтворенням. Часто такі номери працюють лише всередині мережі, але є й відкриті, доступні звідусіль, наприклад:

На завершення кілька слів про криптографію.
SIP-телефонія включає 2 протоколи - сигнальний sip (управління, набір номера та інформація про статус з'єднання) і транспортний rtp (безпосередньо аудіо/відео потоки). Якщо обидва клієнти мають підтримку шифрування потоку (SRTP/zRTP), розмову можна вести шифрованим каналом. Якщо сервер і клієнт підтримують TLS, то сигнальний трафік буде захищеним.

Найбільш актуальні SIP софтфони:

Ekiga (GPL, *nix/windows) http://ekiga.org/
Qutecom (GPL, *nix/windows/osx) http://www.qutecom.org/
SIP Communicator (LGPL, java) http://www.sip-communicator.org/
SFLphone (GPL, *nix) http://www.sflphone.org/
Linphone (GPL, *nix/windows/osx/android/iphone) http://www.linphone.org/
SipDroid (GPL, android) http://sipdroid.org/
X-Lite (proprietary, windows) http://www.counterpath.com/x-lite.html
fring (freeware, mobile devices) http://www.fring.com/

Приклад апаратного SIP рішення: шлюз, що дозволяє підключити 2 звичайних телефонудо 2-х незалежних SIP акаунтів та користуватися ними без зв'язку з ПК. Дуже зручна і багата на можливості річ. Підтримує CallerID. Дозволяє використовувати SipBroker незалежно від реєстратора (dial plan support).
http://voips.ru/Linksys-by-Cisco-PAP2T.html

З повним спектром обладнання, що випускається SIP-сумісного можна ознайомитися наприклад тут: http://www.sipnet.ru/orderandpay/hardware.php
(для звичайного користувача, ймовірно, найкориснішими будуть категорії "SIP телефони" та "VoIP шлюзи"). При виборі слід віддавати перевагу відомим маркам, що зарекомендували себе (Linksys, D-link, Cisco, Grandstream і т.п.)

Декілька відомих sip voip провайдерів:
http://www.sipnet.ru
http://www.comtube.ru
http://zadarma.com/ru
http://www.voxalot.com
http://www.ideasip.com
http://www.voipbuster.com

Порівняння цін на дзвінки до телефонної мережі за різними напрямками:
http://www.voipratetracker.com/compare_rates
http://www.voip-catalog.com/voip_routes.html

Можливі проблеми.
Якщо ваш клієнт зареєструвався на сервері нормально, але дзвінки в одну або обидві сторони не проходять або спостерігається одностороння чутність, джерелом проблем, швидше за все, є погано налаштований firewall або жорстко закритий NAT, який не підтримує "з коробки" прозору роботу з такими сервісами. Спочатку переконайтеся, що ви все гаразд з мікшером і мікрофоном, як було описано раніше. Спробуйте вимкнути Firewall. Перевірте, чи вказано STUN. Нижче наведено кілька посилань, у яких все це описано краще, ніж це можна зробити в даній статті.
Окремо можна виділити ситуацію, коли вхідні дзвінки працюють відразу після підключення, але перестають проходити після декількох хвилин простою. У цьому випадку рішення зводиться до підбору часу keepalive в клієнті і також добре описано в першому засланні.
Після кожного кроку не забувайте перепідключитися до сервера (якщо це софтфон просто перезапустіть його)
http://wiki.sipnet.ru/index.php/Підключення_через_маршрутизатор_з_NAT
http://wiki.sipnet.ru/index.php/Трансляція_мережевих_адрес_%28NAT%29_і_SIP

Перелік дій до початку використання обладнання VoIP
Для встановлення VoIP-телефонів або VoIP-шлюзів потрібно виконати ряд попередніх дій:

  1. Отримати пароль для кожного облікового запису SIP. Паролі необхідні для налаштування обладнання. Для отримання паролів виконайте такі дії:
  • Змінити пароль до облікового запису SIP та надрукувати налаштування при зміні пароля.
  • Надіслати собі поточні налаштування SIP електронній пошті.
  • Налаштувати обліковий запис SIP:
    • Прив'язати обліковий запис SIP до продукту;
    • Прив'язати обліковий запис SIP до IP-адреси.

    Отримання пароля до облікового запису SIP
    Перед початком використання VoIP-телефону або VoIP-шлюзу адміністратору слід отримати в електронному або друкованому вигляді пароль для облікового запису SIP. Пароль потрібен для подальшого налаштування обладнання.
    Отримання пароля можливо одним із наступних способів:

    1. Зміна пароля та виведення нового пароля на друк.
    2. Надсилання поточного пароля на вказані адреси електронної пошти.

    Зміна пароля до облікового запису SIP

    Для зміни пароля до облікового запису SIP та виведення пароля на друк потрібно виконати такі дії:

    Надсилання пароля електронною поштою

    Щоб надіслати поточний пароль до облікового запису SIP електронною поштою, виконайте такі дії:

    Прив'язка облікового запису SIP до продукту
    Щоб прив'язати обліковий запис SIP до продукту, виконайте такі дії:


    Прив'язка облікового запису SIP до IP-адреси

    Після того, як ви вибрали об'єкт, з яким буде пов'язаний обліковий запис SIP, необхідно також прив'язати обліковий запис до IP-адреси або підмережі. Прив'язка до IP-адреси настроюється в групі параметрів «Прив'язка»:

    Примітка
    Опції прив'язки облікового запису SIP до IP-адреси недоступні, якщо встановлено прапорець «Не змінювати».

    1. Виберіть тип прив'язки:
    • Ні - обліковий запис SIP не буде пов'язаний з жодною IP-адресою.
    • Увага!
      Вибір опції «Ні» може зашкодити безпеці, оскільки допускається можливість злому облікового запису SIP. Прив'язка до IP-адреси унеможливлює доступ до облікового запису з інших IP-адрес.

    • Авто - обліковий запис SIP прив'язується автоматично. Зазвичай це відбувається при першій реєстрації облікового запису
    • Так, якщо вибрано цю опцію, потрібно додати потрібну кількість IP-адрес або підсіти в полі введення IP-адреси. Поле стає доступним лише при виборі опції "Так". Введіть IP-адресу та натисніть «Додати». Потім введіть наступну IP-адресу або маску мережі виду 1.2.3.4/24 через / вказується маска мережі.
      Додайте таким чином усі потрібні IP-адреси.
  • Натисніть .
  • Групова прив'язка облікових записів SIP до продукту та IP-адреси

    Для вашої зручності в системі передбачена можливість виконати прив'язку одночасно кількох облікових записів до продукту або IP-адреси. Для групової прив'язки облікових записів виконайте такі дії:


    У даному розділі наведено опис протоколу ініціювання сеансів зв'язку - SIP, його принципи, адресація, архітектура, наведено порівняння з протоколом H323. За основу взято 7 розділ книги Б.С. Гольдштейн IP-телефонія.

    Повідомлення протоколу SIP

    У цій версії протоколу SIP визначено шість типів запитів. Кожен з них призначений для виконання досить широкого кола завдань, що є явною перевагою протоколу SIP, оскільки завдяки цьому кількість повідомлень, якими обмінюються термінали та сервери, зведено до мінімуму. За допомогою запитів клієнт повідомляє про поточне місцезнаходження, запрошує користувачів взяти участь у сеансах зв'язку, модифікує вже встановлені сеанси, завершує їх тощо. Сервер визначає тип прийнятого запиту за назвою, вказаною у стартовому рядку. У тому ж рядку в полі Request-URI зазначено SIP-адресу обладнання, якому цей запит адресовано. Зміст полів То і Request-URI може відрізнятися, наприклад, у полі То може бути вказана адреса абонента, що публікується, а в полі Request-URI - поточна адреса користувача.

    Запити SIP

    Запит INVITEзапрошує користувача взяти участь у сеансі зв'язку. Він зазвичай містить опис сеансу зв'язку, в якому вказується вид інформації та параметри (список можливих варіантів параметрів), необхідні для прийому інформації, а також може вказуватися вид інформації, яку викликаний користувач бажає передавати. У відповіді на запит типу INVITE вказується вид інформації, яка прийматиметься користувачем, і, крім того, може вказуватися вид інформації, яку користувач збирається передавати (можливі параметри передачі інформації).

    У цьому повідомленні можуть також бути дані, необхідні для аутентифікації абонента, і, отже, доступу клієнтів до SIP-серверу. При необхідності змінити характеристики вже організованих каналів, передається запит INVITE з новим описом сеансу зв'язку. Для запрошення нового учасника вже встановленому з'єднаннютакож використовується повідомлення INVITE.

    Запит АСКпідтверджує прийом відповіді запит INVITE. Слід зазначити, що запит АСК використовується разом із запитом INVITE, тобто. Цим повідомленням обладнання користувача, що викликає, показує, що воно одержало остаточну відповідь на свій запит INVITE. У повідомленні АСК може бути остаточний опис сеансу зв'язку, що передається викликаючим користувачем.

    Запит CANCELскасовує обробку раніше переданих запитів з тими самими, що у запиті CANCEL, значеннями полів Call-ID, To, From і CSeq, але впливає ті запити, обробка яких вже завершена. Наприклад, запит CANCEL застосовується тоді, коли проксі-сервер розмножує запити для пошуку користувача за декількома напрямками і в одному з них знаходить його. Обробку запитів, розісланих в інших напрямках, сервер скасовує за допомогою повідомлення CANCEL.

    Запитом BYEобладнання викликаного або зухвалого користувача завершує з'єднання. Сторона, яка отримала запит BYE, повинна припинити передачу мовної (мультимедійної) інформації та підтвердити її виконання відповіддю 200 ОК.

    За допомогою запиту типу REGISTERкористувач повідомляє своє місце розташування. У цьому повідомленні містяться такі поля:

    • Поле Томістить адресну інформацію, яку треба зберегти чи модифікувати на сервері;
    • Поле Fromмістить адресу ініціатора реєстрації. Зареєструвати користувача може він сам, або інша особа, наприклад, секретар може зареєструвати свого начальника;
    • Поле Contactмістить нову адресу користувача, за якою повинні надсилатися всі подальші запити INVITE. Якщо у запиті REGISTER поле Contact відсутнє, то реєстрація залишається незмінною. У разі скасування реєстрації тут міститься символ;
    • У полі Expiresвказується час у секундах, протягом якого реєстрація дійсна. Якщо це поле відсутнє, то за умовчанням призначається час - 1 годину, після чого реєстрація скасовується. Реєстрацію також можна скасувати, передавши повідомлення REGISTER з полем Expires, якому присвоєно значення О, та з відповідним полем Contact.
    Запитом OPTIONSвикликаний користувач запитує інформацію про функціональних можливостяхтермінального обладнання викликаного користувача. У відповідь на цей запит обладнання користувача, що викликається, повідомляє необхідну інформацію. Застосування запиту OPTIONS обмежено тими випадками, коли необхідно дізнатися про функціональні можливості обладнання до встановлення з'єднання. Для встановлення з'єднання запит цього типу не використовується.

    Після випробувань протоколу SIP реальних мережахвиявилося, що для вирішення низки задач вищевказаних шести типів запитів недостатньо. Тому можливо, що протокол буде введено нові повідомлення. Так, у поточній версії протоколу SIP не передбачено спосіб передачі інформації керування з'єднанням або іншою інформацією під час сеансу зв'язку. Для вирішення цього завдання було запропоновано новий тип запиту - INFO. Він може використовуватись у таких випадках:

    • Для перенесення сигнальних повідомлень ТФОП/ISDN/стільникових мереж між шлюзами протягом розмовної сесії;
    • Для перенесення сигналів DTMF протягом розмовної сесії;
    • Для перенесення білінгової інформації.
    Завершивши опис запитів протоколу SIР, розглянемо, як приклад, типовий запит типу INVITE (рис. 6). INVITE sip: [email protected] SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com Від: A. Bell To: T. Watson Call-ID: [email protected] Cseq: 1 INVITE Content-Type: application/sdp Content-Length: ... v=0 o=bell 53655765 2353687637 IN IР4 12&.3.4.5 C=IN IP4 kton.bell-tel.com m=audio 3456 RTP/ AVP 0345

    Рис. 6 Приклад запиту INVITE

    У цьому прикладі користувач Bell ( [email protected]) викликає користувача Watson ( [email protected]). Запит передається до проксі-сервера (boston.bell-tel.com). У полях То і From перед адресою стоїть запис, який користувач хоче вивести на дисплей викликаного користувача. У тілі повідомлення обладнання викликає користувача вказує у форматі протоколу SDP, що воно може приймати в порту 3456 мовну інформацію, упаковану в пакети RTP і закодовану по одному з наступних алгоритмів кодування: 0 - PCMU, 3 - GSM, 4 - G.723 та 5 - DVI4.

    При передачі повідомлень протоколу SIP, упакованих у сигнальні повідомлення протоколу UDP, існує ймовірність того, що розмір запиту або відповіді виявиться більшим за максимально допустимий для цієї мережі, і відбудеться фрагментація пакета. Щоб уникнути цього, використовується стислий формат імен основних заголовків, подібно до того, як це робиться в протоколі SDP, Нижче наведено список таких заголовків (Таблиця 3).

    Таблиця 3. Стислі імена заголовків SIP


    При написанні імен заголовків у стислому вигляді повідомлення INVITE, показане на малюнку 6, буде виглядати наступним чином (рис. 7): INVITE sip: [email protected] SIP/2.0 v: SIP/2.0/UDP kton.bell-tel.com f: A. Bell t: T. Watson i: [email protected] Cseq: 1 INVITE з: application/sdp l: ... v=0 o=bell 53655765 2353687637 IN IP4 128.3.4.5 C=IN IP4 kton.bell-tel.com m=audio 3456 RTP/AVP 0345

    Рис. 7 Приклад запиту INVITE зі скороченими заголовками

    Тип запитуОпис запиту
    INVITEЗапрошує користувача на сеанс зв'язку. Містить SDP-опис сеансу
    АСКПідтверджує прийом остаточної відповіді на запит INVITE
    BYEЗавершує сеанс зв'язку. Може бути переданий будь-якій із сторін, що беруть участь у сеансі
    CANCELСкасовує обробку запитів із тими самими заголовками Call-ID, То, From і CSeq, що у самому запиті CANCEL
    REGISTERПереносить адресну інформацію для реєстрації користувача на сервері позиціонування
    OPTIONЗапитує інформацію про функціональні можливості терміналу

    Відповіді на запити SIP

    Після прийому та інтерпретації запиту адресат (проксі-сервер) передає відповідь на цей запит. Зміст відповідей буває різним: підтвердження встановлення з'єднання, передача запитаної інформації, інформацію про несправності тощо. Структуру відповідей та його види протокол SIP успадкував від протоколу HTTP.

    Визначено шість типів відповідей, що несуть різне функціональне навантаження. Тип відповіді кодується тризначним числом. Найважливішою є перша цифра, яка визначає клас відповіді, решта двох цифр лише доповнює першу. У деяких випадках обладнання може навіть не знати всі коди відповідей, але воно обов'язково має інтерпретувати першу цифру відповіді.

    Усі відповіді поділяються на дві групи: інформаційні та фінальні. Інформаційні відповіді показують, що запит перебуває у стадії обробки. Вони кодуються тризначним числом, що починається з одиниці, - 1хх. Деякі інформаційні відповіді, наприклад, 100 Trying, призначені для встановлення на нуль таймерів, які запускаються в обладнанні, що надало запит. Якщо до моменту спрацьовування таймера відповідь на запит не отримано, то вважається, що цей запит втрачений і може (на розсуд виробника) бути переданий повторно. Одна з найпоширеніших відповідей - 180 Ringing; за призначенням він ідентичний сигналу в ТфОП і означає, що користувач отримує сигнал про вхідний виклик.

    Фінальні відповіді кодуються трицифровими числами, що починаються з цифр 2, 3, 4, 5 і 6. Вони означають завершення обробки запиту і містять, коли це потрібно, результат обробки запиту. Призначення фінальних відповідей кожного виду розглядається нижче.

    Відповіді 2ххозначають, що запит було успішно опрацьовано. В даний час із усіх відповідей типу 2хх визначено лише одну -200 ОК. Його значення залежить від того, на який запит він відповідає:

    • відповідь 200 OKна запит INVITE означає, що обладнання, що викликається відповідно до участі в сеансі зв'язку; у тілі відповіді зазначаються функціональні можливості цього обладнання;
    • відповідь 200 OKна запит BYE означає завершення сеансу зв'язку, в тілі відповіді жодної інформації не міститься;
    • відповідь 200 OKна запит CANCEL означає відміну пошуку, в тілі відповіді ніякої інформації не міститься;
    • відповідь 200 OKна запит REGISTER означає, що реєстрація пройшла успішно;
    • відповідь 200 OKна запит OPTION служить передачі даних про функціональні можливості устаткування, ці відомості містяться у тілі відповіді.
    Відповіді Зххінформують обладнання користувача, що викликає, про нове місцезнаходження викликаного користувача або переносять іншу інформацію, яка може бути використана для нового виклику:
    • у відповіді 300 Multiple Choicesвказується кілька SIP-адрес, за якими можна знайти викликаного користувача, і користувачеві, що викликає, пропонується вибрати один з них;
    • відповідь 301 Moved Permanentlyозначає, що користувач більше не знаходиться за адресою, вказаною в запиті, і надсилати запити потрібно на адресу, вказану в полі Contact;
    • відповідь 302 Moved Temporaryозначає, що користувач тимчасово (проміжок часу може бути вказаний у полі Expires) знаходиться за іншою адресою, яка вказується у полі Contact.
    Відповіді 4ххінформують про те, що у запиті виявлено помилку. Після отримання такої відповіді користувач не повинен передавати той самий запит без його модифікації:
    • відповідь 400 Bad Requestозначає, що запит не зрозумілий через наявність у ньому синтаксичних помилок;
    • відповідь 401 Unauthorizedозначає, що запит вимагає проведення процедури автентифікації користувача. Існують різні варіанти аутентифікації, і у відповіді може бути зазначено, який їх використовувати в даному випадку;
    • відповідь 403 Forbiddenозначає, що сервер зрозумів запит, але відмовився його обслуговувати. Повторний запит не слід надсилати. Причини можуть бути різними, наприклад, запити з цієї адреси не обслуговуються тощо;
    • відповідь 485 Ambiguousозначає, що адреса в запиті не визначає користувача, що викликається однозначно;
    • відповідь 486 Busy Hereозначає, що викликаний користувач теперішній моментне може прийняти вхідний викликза цією адресою. Відповідь не виключає можливості зв'язатися з користувачем за іншою адресою або, наприклад, залишити повідомлення у мовній поштовій скриньці.
    Відповіді 5ххінформують про те, що запит не може бути оброблений через відмову сервера:
    • відповідь 500 Server Internal Errorозначає, що сервер не може обслуговувати запит через внутрішню помилку. Клієнт може спробувати повторно надіслати запит через деякий час;
    • відповідь 501 Not Implementedозначає, що на сервері не реалізовані функції, необхідні обслуговування цього запроса. Відповідь передається, наприклад, якщо сервер не може розпізнати тип запиту;
    • відповідь 502 Bad Gatewayінформує про те, що сервер, що функціонує як шлюз або проксі-сервер, прийняв некоректну відповідь від сервера, до якого він направив запит;
    • відповідь 503 Service Unavailableговорить від того, що сервер не може в Наразіобслуговувати виклик внаслідок навантаження або проведення технічного обслуговування.
    Відповіді 6ххінформують про те, що з'єднання з користувачем встановити неможливо:
    • відповідь 600 Busy Everywhereповідомляє, що користувач зайнятий і не може прийняти виклик в даний момент по жодній з наявних у нього адрес. Відповідь може вказувати час, який підходить для виклику користувача;
    • відповідь 603 Decline означає, що користувач не може або не бажає прийняти вхідний виклик. У відповіді може бути вказано відповідний для виклику час;
    • відповідь 604 Does Not Exist Anywhereозначає, що користувача, що викликається, не існує.
    Запити та відповіді на них утворюють SIP-транзакцію. Вона здійснюється між клієнтом і сервером і включає всі повідомлення, починаючи з першого запиту і закінчуючи фінальним відповіддю. При використанні як транспорт протоколу TCPвсі запити та відповіді, що стосуються однієї транзакції, передаються по одному з'єднанню TCP.

    На малюнку 8 представлений приклад відповіді запит INVITE:

    SIP/2.0 200 OK Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell To: ; Call-ID: [email protected] Cseq: 1 INVITE Content-Type: application/sdp Content-Length: ... v=0 o=watson 4858949 4858949 IN IP4 192.1.2.3 t=3149329600 0 c=IN IP4 bostcon.bell-tel.com RTP/AVP 0 3 a=rtpmap:0 PCMU/8000 a=rtpmap:3 GSM/8000

    Рис. 8 Приклад SIP-відповіді 200 OK

    У цьому прикладі наведено відповідь користувача Watson на запрошення взяти участь у сеансі зв'язку, отримане від користувача Bell. Найімовірніший формат запрошення розглянутий нами раніше (рис. 7). Викликана сторона інформує про те, що вона може приймати в порту 5004 мовну інформацію, закодовану відповідно до алгоритмів кодування PCMU, GSM. Поля From, To, Via, Call-ID взяті із запиту, показаного малюнку 7. З прикладу видно, що це у відповідь запит INVITE з полем CSeq:1.

    Після того, як ми розглянули запити та відповіді на них, можна зазначити, що протокол SIP передбачає різні алгоритми встановлення з'єднання. При цьому варто звернути увагу, що ті самі відповіді можна інтерпретувати по-різному залежно від конкретної ситуації. У таблиці 5 зведено всі відповіді запити, визначені протоколом SIP.

    Таблиця 5. Відповіді на запити SIP

    Код відповідіПоясненняПризначення
    100 Trying Запит обробляється, наприклад, сервер звертається до баз даних, але розташування користувача, що викликається, в даний момент не визначено
    180 Ringing Розташування викликаного користувача визначено. Йому дається сигнал про вхідний виклик
    181 Call Is Being Forwarded Проксі-сервер переадресує виклик до іншого користувача
    182 Queued Користувач тимчасово не доступний, але вхідний виклик поставлений в чергу. Коли користувач стане доступним, він передасть фінальну відповідь
    200 OK Команда успішно виконана
    300 Multiple Choices Користувач, що викликається, доступний за декількома адресами. Викликаючий користувач може вибрати будь-який з них
    301 Moved Permanently Користувач змінив своє місцезнаходження, його нова адреса вказана у полі Contact
    302 Moved Temporarily Користувач тимчасово змінив своє місцезнаходження, його нова адреса вказана у полі Contact
    305 Use Proxy Викликана сторона може прийняти вхідний дзвінок лише в тому випадку, коли він проходить через проксі-сервер. Рекомендованій стороні рекомендується звернутися до проксі-сервера, адреса якого вказана в полі Contact. Відповідь передається лише термінальним обладнанням (UAS)
    380 Alternative Service Виклик не досяг адресата, але є альтернативний варіант обслуговування, який вказаний у тілі відповіді. Наприклад, виклик може бути переадресований до мовного поштовій скриньці
    400 Bad Bequest У запиті виявлена ​​синтаксична помилка
    401 Unauthorised Потрібне проведення процедури авторизації користувача
    402 Payment Required Потрібна попередня оплата послуг
    403 Forbidden Запит не обслуговуватиметься сервером і не повинен передаватися повторно
    404 Not Found Сервер не виявив викликаного користувача в домені, вказаному в полі Request-URI
    405 Method Not Allowed Не дозволяється надсилати запит цього типу на адресу, вказану в полі Request-URI. У полі Allow відповіді вказуються дозволені типи запитів
    406 Not Acceptable Відповіді, що генеруються стороною, що викликається, не будуть зрозумілі стороною, що викликає.
    407 Proxy Authentication Required Клієнт повинен підтвердити своє право доступу до проксі-сервера
    408 Request Timeout Сервер не може передати відповідь, наприклад, вказати місце розташування викликаного користувача протягом проміжку часу, специфікованого в полі Expires запиту. Користувач може повторно передати запит через деякий час
    409 Conflict Обробка запиту REGISTER не може бути завершена через конфлікт між дією, визначеною в параметрі action запиту, та поточним станом ресурсів
    410 Gone Сервер більше не має доступу до запитуваного ресурсу і не знає, куди переадресувати запит
    411 Length Required Потрібно вказати довжину тіла повідомлення у полі Content-Length
    413 Request Entity Too Large Розмір запиту занадто великий для обробки
    414 Request-URI Too Large Адреса, вказана в полі Request-URI, виявилася занадто великою, тому його інтерпретація неможлива
    415 Unsupported Media Type Запит містить формат тіла повідомлення, що не підтримується.
    420 Bad Extension Сервер не зрозумів розширення протоколу, специфікованого у полі Require
    480 Temporarily not available Викликаний користувач тимчасово недоступний
    481 Call Beg/Transaction Does Not Exist Надсилається у відповідь на отримання запиту ВYЕ, що не відноситься до поточних з'єднань, або CANCEL, що не відноситься до поточних запитів
    482 Loop Detected Сервер виявив, що прийнятий запит передається по замкнутому маршруту (у полі Via вже є адреса цього сервера)
    483 Too Many Hops Сервер виявив у полі Via, що прийнятий запит пройшов через більшу кількість проксі-сервером, ніж дозволено в полі Max-Forwards
    484 Address Incomplete Сервер прийняв запит із неповною адресою в полі То або Request-URI. Потрібна додаткова адресна інформація
    485 Ambiguous Адреса користувача, що викликається, неоднозначний. У заголовку Contact відповіді може бути список адрес, за якими цей запит можна передати
    486 Busy Here На даний момент користувач не бажає або не може прийняти виклик на цю адресу. Відповідь не виключає можливості зв'язатися з користувачем за іншою адресою
    500 Internal Server Error Внутрішня помилка сервера
    501 Not Implemented У сервері не реалізовані функції, необхідні обслуговування запиту. Відповідь передається в тому випадку, коли сервер не може розпізнати тип отриманого запиту
    502 Bad Gateway Сервер, що функціонує як шлюз або проксі-сервер, приймає некоректну відповідь від сервера, до якого він надіслав запит
    503 Service Unavailable Сервер не може в даний момент обслужити виклик через перевантаження або проведення технічного обслуговування
    504 Gateway Timeout Сервер, що функціонує як шлюз або проксі-сервер, протягом встановленого інтервалу часу не отримав відповіді від сервера (наприклад, від сервера місцезнаходження), до якого він звернувся для завершення обробки запиту
    505 SIP Version not supported Сервер не підтримує цю версію протоколу SIP
    600 Busy Everywhere Користувач зайнятий і не бажає приймати виклик в даний момент. Відповідь може вказувати відповідний для дзвінка час
    603 Decline Користувач не може або не бажає приймати вхідні дзвінки. У відповіді може бути вказано потрібний для виклику час
    604 Does not exist anywhere Викликаного користувача не існує
    606 Not Acceptable Викликаний користувач не може прийняти вхідний дзвінок через те, що вид інформації, зазначений в описі сеансу зв'язку у форматі SDP, смуга пропускання і т.д. неприйнятні

    SIP/2.0 100 Trying- Запит обробляється, наприклад, сервер звертається до баз даних, але розташування користувача, що викликається, в даний момент не визначено.

    SIP/2.0 180 Ringing- Розташування викликаного користувача визначено. Йому дається сигнал про вхідний дзвінок.

    SIP/2.0 181 Call Is Being Forwarded- Проксі-сервер переадресує виклик до іншого користувача.

    SIP/2.0 182 Queued- Користувач тимчасово не доступний, але вхідний виклик поставлений в чергу. Коли користувач стане доступним, він передасть фінальну відповідь.

    SIP/2.0 200 ОК- Команда успішно виконана. На запит INVITE означає, що обладнання, що викликається відповідно до участі в сеансі зв'язку; у тілі відповіді зазначаються функціональні можливості цього обладнання; На запит BYE означає завершення сеансу зв'язку, в тілі відповіді жодної інформації не міститься; На запит CANCEL означає скасування пошуку, у тілі відповіді жодної інформації не міститься; на запит REGISTER означає, що реєстрація пройшла успішно; На запит OPTION служить передачі даних про функціональні можливості обладнання, ці відомості містяться у тілі відповіді.

    SIP/2.0 300 Multiple Choices- Користувач, що викликається, доступний за декількома адресами. Виклик може вибрати будь-який з них. У відповіді вказується кілька SIP-адрес, за якими можна знайти викликаного користувача, і користувачеві, що викликає, пропонується вибрати один з них.

    SIP/2.0 301 Moved Permanently- Користувач змінив своє місцезнаходження, його нова адреса вказана у полі Contact.

    SIP/2.0 302 Moved Temporarily- Користувач тимчасово змінив своє місцезнаходження (проміжок часу може бути вказаний у полі Expires), його нова адреса вказана у полі Contact.

    SIP/2.0 305 Use Proxy- Сторона, що викликається, може прийняти вхідний виклик лише в тому випадку, коли він проходить через проксі-сервер. Рекомендованій стороні рекомендується звернутися до проксі-сервера, адреса якого вказана в полі Contact. Відповідь передається лише термінальним обладнанням (UAS).

    SIP/2.0 380 Alternative Service- Виклик не досяг адресата, але є альтернативний варіант обслуговування, який вказаний у тілі відповіді. Наприклад, виклик може бути переадресований до мовної поштової скриньки.

    SIP/2.0 400 Bad Bequest- Запит не зрозумілий через наявність у ньому синтаксичних помилок.

    SIP/2.0 401 Unauthorised- запит вимагає проведення процедури аутентифікації користувача. Існують різні варіанти аутентифікації, і у відповіді може бути зазначено, який їх використовувати в даному випадку.

    SIP/2.0 402 Payment Required- Потрібна попередня оплата послуг.

    SIP/2.0 403 Forbidden- Запит не обслуговуватиметься сервером і не повинен передаватися повторно.

    SIP/2.0 404 Not Found- Сервер не виявив користувача, що викликається в домені, зазначеному в полі Request-URI.

    SIP/2.0 405 Method Not Allowed- Не дозволяється надсилати запит цього типу на адресу, вказану в полі Request-URI. У полі Allow відповіді вказуються дозволені типи запитів

    SIP/2.0 406 Not Acceptable- Відповіді, що генеруються викликаною стороною, не будуть зрозумілі стороною, що викликає.

    SIP/2.0 407 Proxy Authentication Required- Клієнт повинен підтвердити своє право на доступ до проксі-сервера.

    SIP/2.0 408 Request Timeout- Сервер не може передати відповідь, наприклад, вказати місце розташування викликаного користувача протягом проміжку часу, специфікованого в полі Expires запиту. Виклик може повторно передати запит через деякий час.

    SIP/2.0 409 Conflict- Обробка запиту REGISTER не може бути завершена через конфлікт між дією, визначеною у параметрі action запиту, та поточним станом ресурсів.

    SIP/2.0 410 Gone- Сервер більше не має доступу до запитуваного ресурсу і не знає, куди переадресувати запит.

    SIP/2.0 411 Length Required- Потрібно вказати довжину тіла повідомлення у полі Content-Length.

    SIP/2.0 413 Request Entity Too Large- Розмір запиту дуже великий для обробки.

    SIP/2.0 414 Request-URI Too Large- Адреса, вказана в полі Request-URI, виявилася занадто великою, тому її інтерпретація неможлива.

    SIP/2.0 415 Unsupported Media Type- Запит містить формат тіла повідомлення, що не підтримується.

    SIP/2.0 420 Bad Extension- Сервер не зрозумів розширення протоколу, специфікованого у полі Require.

    SIP/2.0 480 Temporarily not available- Користувач, що викликається, тимчасово недоступний.

    SIP/2.0 481 Call Beg/Transaction Does Not Exist- Надсилається у відповідь на отримання запиту ВYЕ, що не відноситься до поточних з'єднань, або запиту CANCEL, що не відноситься до поточних запитів.

    SIP/2.0 482 Loop Detected- Сервер виявив, що прийнятий запит передається по замкнутому маршруту (у полі Via вже є адреса цього сервера).

    SIP/2.0 483 Too Many Hops- Сервер виявив у полі Via, що прийнятий ним запит пройшов через більше проксі-сервером, ніж дозволено в полі Max-Forwards.

    SIP/2.0 484 Address Incomplete- Сервер прийняв запит із неповною адресою в полі То або Request-URI. Потрібна додаткова адресна інформація.

    SIP/2.0 485 Ambiguous- Адреса користувача, що викликається, неоднозначний. У заголовку Contact відповіді може бути список адрес, за якими цей запит можна передати.

    SIP/2.0 486 Busy Here- Викликаний користувач зараз не може прийняти вхідний дзвінок за цією адресою. Відповідь не виключає можливості зв'язатися з користувачем за іншою адресою або, наприклад, залишити повідомлення у мовній поштовій скриньці.

    SIP/2.0 500 Internal Server Error- Сервер не може обслуговувати запит через внутрішній помилки. Клієнт може спробувати повторно надіслати запит через деякий час.

    SIP/2.0 501 Not Implemented- На сервері не реалізовані функції, необхідні для обслуговування цього запиту. Відповідь надсилається, наприклад, якщо сервер не може розпізнати тип запиту.

    SIP/2.0 502 Bad Gateway- Сервер, що функціонує як шлюз або проксі-сервер, приймає некоректну відповідь від сервера, до якого він надіслав запит.

    SIP/2.0 503 Service Unavailable- Сервер не може в даний момент обслуговувати виклик через перевантаження або проведення технічного обслуговування.

    SIP/2.0 504 Gateway Timeout- Сервер, що функціонує як шлюз або проксі-сервер, протягом встановленого інтервалу часу не отримав відповідь від сервера (наприклад, від сервера місцезнаходження), до якого він звернувся для завершення обробки запиту.

    SIP/2.0 505 SIP Version not supported- Сервер не підтримує цю версію протоколу SIP.

    SIP/2.0 600 Busy Everywhere- Користувач зайнятий і не бажає приймати виклик в даний момент. Відповідь може вказувати відповідний для дзвінка час

    SIP/2.0 603 Decline- Користувач не може або не бажає приймати вхідні дзвінки. У відповіді може бути вказано відповідний для дзвінка час.

    SIP/2.0 604 Does not exist anywhere- Користувача не існує.

    SIP/2.0 606 Not Acceptable- Викликаний користувач не може прийняти вхідний дзвінок через те, що вид інформації, зазначений в описі сеансу зв'язку у форматі SDP, смуга пропускання і т.д. неприйнятні.