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ě:

  • 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

http://www.openser.org/debian

Vlastní instalace OpenSER (v příkazové řádce)

apt-get update
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
  • 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).


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