Projekt OpenSER
(SIP) Session Initiation
Protocol, česky protokol pro inicializaci relací, je
internetový protokol určený pro přenos signalizace v
internetové telefonii. Normálně používá UDP
port 5060, ale může fungovat i nad TCP/5060. První verzi
protokolu popisoval dokument RFC 2543, současnou druhou verzi popisuje
RFC 3261. Protokol pro zajištění VoIP spojení
pracuje v součinnosti s dalšími protokoly. Vlastní
přenos hovoru se uskutečňuje pomocí protokolu RTP. Detaily o
vlastnostech zahajovaného přenosu popisuje protokol SDP,
který je přenášen v těle SIP paketů.
Starší standard pro signalizaci v internetové
telefonii H.323, byl vyvinut telekomunikační organizací
ITU-T a je oproti SIPu výrazně složitější.
Protokol SIP proto vzniknul jako reakce na tento standard, a
snaží se být co nejjednodušší a
založený na Internetem prověřených principech. Proto
vychází z osvědčeného protokolu HTTP a je mu velmi
podobný. Také využívá položek
podobných osvědčeným položkám SMTP protokolu při
posílání e-mailů.V doporučení IETF pro
protokol SIP jsou definovány čtyři základní prvky
sítě:
OpenSER je open source produkt napsaný v jazyce C. Funguje jako registračního redurect a proxy serveru pro komunikaci s protokolem SIP. Jelikož byl původně vyvýjen jako páteřní SIP směrovač, klade velký důraz na výkon. OpenSER vznikl při rozdělení rojektu SER na komerční SER-router a nekomerční OpenSER. Mezi jeho další vlastnosti patří:
Instalace
Stáhneme instalační balíček s programem OpenSER pro Linux/Debian
Vlastní instalace OpenSER (v příkazové řádce)
- Uživatelský agent (User Agent) - Uživatelská aplikace, umožňující koncovým účastníkům sítě obousměrnou komunikaci pomocí protokolu SIP. User Agent (UA) je dále rozdělen na dvě části:
- UA Client - klientská část uživatelského agenta sloužící k sestavování a řízení odchozích relací
- UA Server - serverová část uživatelského agenta sloužící k přijetí a řízení příchozích relací
- SIP Proxy Server - provádí funkce jako: hledání účastníka v koncové síti, směrování hovorů (spolupráce s Firewallem či NATem), zprostředkování styku s jinou sítí.
- SIP Redirect Server - směruje volání jiným serverům v síti.
- SIP Registrar - slouží k registraci koncových uživatelů
OpenSER je open source produkt napsaný v jazyce C. Funguje jako registračního redurect a proxy serveru pro komunikaci s protokolem SIP. Jelikož byl původně vyvýjen jako páteřní SIP směrovač, klade velký důraz na výkon. OpenSER vznikl při rozdělení rojektu SER na komerční SER-router a nekomerční OpenSER. Mezi jeho další vlastnosti patří:
- Bezestavové i transakčně stavové zpracování
- Řízen silným skriptovacím jazykem
- dobrá rozšířitelnost
- Možnost řízení přes FIFO nebo UNIX socket
- Podpora IPv4, IPv6UDP,TCP (TLS) transportu
- Podpora více uživatelských domén
- Podpora ENUMu
- Podpora NAT průchodu (nathelper, rtpproxy,mediaproxy)
- Autentizace a autorizace přes databázi (Mysql ,Postgress), Radius nebo Diameter
- Aliasy
- Externí skripty
- Různé úrovně logování
- Základní informace III
- DNS SRV
- Prezence a messaging
Instalace
Stáhneme instalační balíček s programem OpenSER pro Linux/Debian
Vlastní instalace OpenSER (v příkazové řádce)
apt-get update
apt-get install openser
apt-get install openser
Konfigurace
Zaregistrování a nastavení softwarového telefonu Ekiga
Účet „test“
- jako User a Account Name napíšeme „715“
- do Registrar napíšeme ip:158.196.142.9
- Password „test“
- po potvrzení OK vybereme Registred
Obrázek 1 - Účet 715
Zaregistrování a nastavení telefonu Siemens OptiPoint 400
1. Nastavení DHCP
1. Nastavení DHCP
- připojíme napájení a odpojíme ethernet
- v menu zvolíme Setup → 6 → 123456 → Network → DHCP Assigned On (menu opustíme přes End)
- připojíme ethernet a restartujeme telefon (+-*2)
2. Připojení se přes web management (běží na portu 8085)
- adresu zjistíme buď na displeji a nebo přes menu Network → Terminal IP Address
- zadáme do webového prohlížeče http://158.196.142.39:8085
- ověříme v General information, zda má poslední aplikační verzi 2.45.17
- ověříme v Administrator Settings, zda je QoS vypnuto
- nastavíme SNTP Administrator Settings → Time and Date → SNTP Server → 158.196.0.1
3. Nastavení SIP
- Administration settings → SIP environment → do Terminal number a Terminal name napíšeme „7151“ a potvrdíme Register by terminal name
- v SIP Routing vybereme Server a do Registrar a Server IP address napíšeme 158.196.146.9
- vybereme Outbound Proxy, jako SIP user ID nastavíme „7151“ a heslo „test“ do New SIP password a Confirm SIP password
Obrázek 2 - Nastavení Siemens OptiPoint 400
Průběh spojení
Telefonem Siemens OptiPoint 400 vytočíme SIP číslo 715 softwarového telefonu Ekiga (oba jsou zaregistrováni na stejném SIP serveru na 158.196.142.9) a následně přijmeme hovor (Accept).
Telefonem Siemens OptiPoint 400 vytočíme SIP číslo 715 softwarového telefonu Ekiga (oba jsou zaregistrováni na stejném SIP serveru na 158.196.142.9) a následně přijmeme hovor (Accept).
Obrázek 3 - Ekiga incoming call from 7151
Graf zachyceného spojení
Obrázek 4 - Graf zachyceného spojení mezi tel. Ekiga (sip:715) a Siemens OptiPoint 400 (sip:7151)
Soubory ke stažení
Konfigurační soubor pro OpenSER - openser.cfg
Zachycené spojení ve Wiresharku - sip 715.cap
Soubory ke stažení
Konfigurační soubor pro OpenSER - openser.cfg
Zachycené spojení ve Wiresharku - sip 715.cap