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

Поки що ви працюєте з віртуальною АТС від вашого оператора - МСН Телеком, Манго і т.д. - Ця стаття вам не потрібна. Але при перенесенні номера в іншу АТС чи сервіс вона допоможе.

Про що мова?

Всі клієнти OnlinePBX використовують власні номери у нашій віртуальній АТС. Бо ми їх не продаємо та не рахуємо хвилини.

Хтось скаже, що це незручно – оплачувати два рахунки: оператору та нам. А наші клієнти отримують з цього вигоду: знаходять дешевого оператора або напрям дзвінків (по Москві, міжмісто, за кордон тощо), підключають до АТС та економлять.

Підключити можна майже будь-якого оператора, головне – отримати від нього СІП-налаштування. Це такі параметри, які потрібні для підключення. Оскільки СІП дуже схожий на електронну пошту, проведемо аналогію.

Що таке СІП-логін?

Наприклад візьмемо вигадану пошту на Яндексі: [email protected]з паролем ******. Насправді тут три параметри:

  1. Логін користувача: siplogin.
  2. Його пароль: ****** .
  3. Адреса сервера, щоб не переплутати з Мейл.ру чи Гуглом: yandex.ru.

Ті, хто хоч раз налаштовував поштовий клієнтвідразу зрозуміють про що мова: вас просять заповнити всі ці параметри. Іноді потрібно вказати порти та роздільні сервери для вхідних та вихідних листів.

З СІП все те ж саме, тільки погано з назвами. СІП-логін називають по-різному: SIP ID, SIP Login, логін, СІП-акаунт, SIP account, обліковий запис, користувач, співробітник, менеджер і так далі. Він складається з цифр та букв латинського алфавіту, три символи мінімум.

Навіщо він потрібний?

Якщо пошта потрібна для надсилання та отримання листів, то СІП-логін для прийому вхідних та здійснення вихідних дзвінків.

Є важливий момент: без зовнішнього номера (транку) ви не зможете зателефонувати на міські та мобільні, тільки такі жСІП-логіни.

Що таке транк в IP-телефонії?

Уявіть кабель, у якому багато дротів.

Кожен проводок - це вхідний чи вихідний канал зв'язку. Тому номери називаються багатоканальними.

Весь кабель цілком – це транк. Один "кінець" кабелю підключаєте до АТС, другий оператор підключає до свого обладнання. Також працюють електричні сіткиКабіна - є напруга.

Давайте проведемо аналогію з електронною поштою.

Ви пишете електронного листаі відправляєте його мамі. Але мати не має електронної пошти. Щоб доставити вашого листа потрібна окрема компанія. Вона отримає ваш електронний лист, роздрукує його на папері і запакує в конверт. Далі компанія знайде адресу мами, напише на конверті та віднесе на Пошту Росії від вашого імені. Якщо мама відповість, ця компанія отримає його та напише вам електронний лист.

Така компанія виконує функцію транку – пов'язує електронний світіз реальним.

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

Тобто транк вам потрібний для дзвінків на зовнішні номери – міські та мобільні. Телефонувати на СІП-логіни можна і без транку, ми про це.

Як отримати СІП-логін?

Ми дізналися, що для дзвінків вам потрібний зовнішній номер (транк). А для підключення в інших сервісах – спеціальна адреса – СІП-логін.

Отримати СІП-логін та інші параметри можна у оператора зв'язку. Деякі оператори дають СІП-логін безпосередньо для транка, це МСН Телеком, Телфін, Арентел. Інші - ні, це Манго, UISCOM та більшість інших операторів.

У другому випадку вам доведеться використовувати АТС оператора, тоді СІП-логін - це користувач/співробітник/додатковий. Створіть нового користувача, не прив'язаного до людини, задайте пароль. Запам'ятайте ці дані: логін, пароль та сервер.

Телефонія для бізнесу з інтеграцією у будь-яку CRM

У даному розділінаведено опис протоколу ініціювання сеансів зв'язку - 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користувач повідомляє своє місце розташування. У цьому повідомленні містяться такі поля:

  • Поле Томістить адресну інформацію, яку треба зберегти чи модифікувати на сервері;
  • Поле відмістить адресу ініціатора реєстрації. Зареєструвати користувача може він сам, або інша особа, наприклад, секретар може зареєструвати свого начальника;
  • Поле 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 IP4 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 bostcon0bell4 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 – вільний стандарт 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

Сподобалася стаття? Поділіться з друзями!