Hlavní navigace

Co nového přináší Asterisk 1.6?

Marek Červenka

Nová verze VoIP serveru Asterisk je na spadnutí. Co nového přesně přinese? Na tuto otázku neexistuje krátká objektivní odpověď. Důvodem je velká rozsáhlost celého projektu a především velké množství novinek, které si pro nás vývojáři připravili. Zkusíme tedy alespoň nastínit ty nejdůležitější vlastností.

Úvodem snad ještě pár informací pro ty tímto projektem nepoznamenané. Asterisk je pobočková ústředna běžící na Linuxu, která hravě nahradí současné klasické ústředny. Vývoj zastřešuje firma Digium Inc., která pro ústřednu vyrábí digitální a analogové karty, které ji umožňují napojit na stávající telekomunikační sítě. Nejčastěji se ovšem používá pro připojení k VoIP operátorům – ti známější jsou sdružení v AODT.

Aktuální verze ke dni psaní tohoto článku je 1.6.0-Beta4 a vlastnosti vychází z changelogu.

AMI – Asterisk Manager Interface (rozhraní pro externí ovládání ústředny)

Bylo zavedeno verzování kvůli zpětné kompatibilitě. Ve verzi 1.6 ústředny má AMI verzi 1.1. Dále bylo TLS pro AMI a vestavěný HTTP server. To znamená že komunikace mezi aplikací a ústřednou už může být šifrovaná. Přibyla odpora formátu JSON pro práci s konfigurací. Ta pomůže urychlit AJAX aplikace určené ke správě ústředny. Byla poopravena práva u příkazů, které pouze zobrazují informace, takže pro ně není potřeba právo „system“.

Funkce dialplánu (dialplán říká jak se má v ústředně směrovat hovor)

DEVICE_STATE() funkce umožňuje zjistit aktuální stav zařízení v dialplánu, např. že SIP telefon vyzvání. Rozšířena funkce CALLERID() o parametry „pres“ a „ton“. Přidána možnost zamykání – funkce LOCK(), TRYLOCK() a UNLOCK(). DIALPLAN_EXISTS() je možné použít ke zjištění, zda objekt v dialplánu existuje.

Příkazový řádek ústředny (CLI)

Přidán příkaz „core show settings“, který zobrazí globální nastavení, např. jaký je adresář, kde jsou konfigurační soubory. Nastavení „verbose“ a „debug“ per soubor (konečně je možné jemněji nastavovat logování). Nastavení „ulimit“ přímo z CLI (pro větší systémy – zvětšení počtu otevřených souborů).

SIP protokol (chan_sip)

TCP a TLS podpora pro SIP (podpora pro šifrování). Důležitá je podpora SIP Session Timers (RFC 4028). RFC definuje, jak ukončit SIP spojení, které nebylo korektně ukončeno kvůli síťovým problémům. Zlepšená podpora pro NAT a STUN. Nový parametr „match_auth_u­sername“ pro identifikaci příchozích SIP paketů.

Podpora protokolu T.140 v SIP/RTP pro realtime text (podpora pro neslyšící). Přibyly pomocné proměnné SIPREFERRINGCONTEXT a SIPREFERREDBYHDR, které jsou plněny při přepojování hovoru. Přidán globální a per-peer parametr qualifyfreq, který umožňuje nastavit frekvenci zasílání SIP OPTIONS paketu koncovým zařízením (podpora NATu, zjišťování stavu zařízení).

XMPP Google Talk/Jingle

V tomto kanále žádné nové funkce nebyly přidány, ale proběhly rozsáhlé opravy chyb.

Lokální kanál (chan_local)

Podpora JitterBufferu pro lokální aplikace např. konference, voicemail. Zlepšuje kvalitu zvuku na horších linkách.

Zaptel (support pro telco karty)

Podpora protokolu SS7 pomocí knihovny libss7 (propojení operátorů).

ENUM

Funkce ENUMQUERY a ENUMRESULT. Asterisk nyní kešuje dotazy a ENUMRESULT může použít tyto data bez dalších dotazů do DNS.

Fronty (podpora pro call centra)

Přidány vyzváněcí strategie „linear“ a „wrandom“. Vyzváněcí strategie definuje, jak je příchozí hovor distribuován, např. vyzvání všem přihlášeným agentům, nebo tomu, co nejdéle nepřijal žádný hovor, atp. Přidán parametr, který umožní zachovávat statistiku callcentra i po reloadu (interní statistika v paměti).

Doplňkové služby

Přidána podpora pro přepojování s konzultací (attended transfer), kdy se neúspěšně přepojený hovor vrátí zpět osobě, která přepojovala.

Ostatní

Přidáno ukládání CDR do oblíbené db SQLite 3.X. Přidán nový modul codec_resample, který pomáhá mezi převáděním 8 kHz a 16 kHz audiem. Tzv. Wideband audio je velkým tahákem VoIP služeb a zlepšuje kvalitu zvuku (kodek G.722). Nový algoritmus, který zrychlí práci s velkými dialplány (není aktivován automaticky). CHANNEL(trace) funkce pro debuggování dialplánu.

Síť

Podpora pro nastavování CoS (Class of Service). Prioritizace hlasu v rámci ethernetu.

Závěrem

Tak vypadá výběr toho nejzajímavějšího, na co se můžeme těšit. Zatím není k dispozici finální verze, takže se některé detaily mohou ještě lišit. Kromě technických změn přinese Asterisk 1.6 také změnu uvnitř projektu, která se projeví především na strategii vydávání nových verzí. Vývojáři se poučili z dřívějších problémů a nyní se řídí pevně danými směrnicemi, které zaručí hladký vývoj a pevně daná pravidla.

Našli jste v článku chybu?