ANCA (Amazing NetCall Application) Administrátorská dokumentace
1 Instalace V této části popíšeme instalaci Anca. 1.1 Požadavky na instalaci Pro kompilaci zdrojových souborů je potřeba: Linux, vývojové GNU nástroje (ld, ar, make atd.), překladač gcc, g++ verze maximálně 3.3 (verze 3.4 není podporována), zdrojové soubory OpenLDAP, zdrojové soubory knihovny Qt3 (Qt/embedded). 1.2 Kompilace zdrojových souborů Klienta zkompilujeme a nainstalujeme klasickým způsobem. Nejprve ale musíme správně nastavit proměnné shellu: PWLIBDIR=<cesta ke zdrojovým souborům PWlib> OPENH323DIR=<cesta ke zdrojovým souborům OpenH323> Poté v kořenovém adresáři Anca zadáme:./configure make make install Poznámka: pro make install musíme mít práva superuživatele na zápis. Skript configure kromě jiného testuje, zda je náš systém dostatečně připraven na kompilaci. Proto pokud configure skončí chybou, je nutno tuto chybu napravit a spustit configure znovu. Nejběžnější chybou je, že v systému chybí některé potřebné knihovny. Klient vyžaduje knihovnu knihovnu Qt (její vícevláknovou verzi, včetně hlavičkových souborů). Pokud ji configure nemůže najít i přesto, že je správně nainstalována, je možné určit její umístění pomocí parametru --with-qt-dir (viz níže). Dále klient vyžaduje knihovnu OpenLDAP. Nejdůležitější parametry configure: --enable-debug[=full yes no ] Zapne podporu ladících symbolů (debug symbols) implicitně no. --enable-embedded Zapne překlad klienta pro embedded zařízení implicitně no. --enable-enterprise Zapne překlad klienta pro enterprise verzi implicitně yes. 2
--enable-terminal-video Zapne podporu videa implicitně yes. --with-qt-dir=dir Nastaví umístění knihoven Qt. Enterprise verze klienta je standardně vypnuta. Pokud je zapnuta, tak to znamená, že klient je zcela závislý na LDAP serveru, ze kterého stahuje informace o umístění gatekeeperu, svých aliasech a další informace. Dále je zcela závislý na příslušném gatekeeperu. Nastavení umístění LDAP serveru se prozatím konfiguruje ručně v konfiguračním souboru každého klienta, více viz. Jiná varianta by mohla být, že umístění LDAP serveru by se získávalo automaticky (např. pomocí Service Location Protocol). Pak by byla konfigrace klienta zcela centrální. 3
2 Konfigurace Datové soubory klient načítá z globálního adresáře ${prefix}/share/anca (tj. obvykle /usr/local/share/anca) a domovského /.anca. Zde jsou uloženy moduly (adresář plugin), obrázky (pictures) a zvuky (sounds). Konfigurační soubor má jméno anca.ini. Při spuštění se jej pokusí načíst z globálního adresáře ${sysconfig}/anca (tj. obvykle /usr/local/etc), poté z domovského adresáře /.anca. Konfigurační položky, které jsou v sekci admin, mohou být čteny pouze z globálního anca.ini. 2.1 Sekce default ancapicturesdir Určuje adresář (kromě standardních), který obsahuje obrázky aplikace Anca. loadnewplugins, typ: bool Určuje, zda se budou při startu nahrávat nové (dříve nepoužité) zásuvné pluginy. librarypaths, typ: QStringList Určuje adresáře, které se budou procházet při hledání zásuvných modulů. registerwithgk, typ: bool Určuje, zda se klient bude pokoušet přihlásit se u gatekeeperu (ignorováno v enterprise verzi). gkaddr (ignorováno v enterprise verzi) URL gatekeeperu. gkid, typ: int (ignorováno v enterprise verzi) ID gatekeeperu. gkregistrationmethod, typ: EndPoint::RegistrationMethod (ignorováno v enterprise verzi) Možné hodnoty: GkAuto GkAddr GkId GkBoth Určuje, ke kterému gatekeeperu se bude přihlašovat. Pokud se použije GkAddr, tak se bude přistupovat ke gatekeeperu s URL v konfigurační položce gkaddr. Pokud se použije GkId, gatekeeper se vyhledá automaticky (pomocí automatického vyhledávání) a použije se, jestliže jeho identifikátor je shodný s tím, který je v gkid. Při Both se použije gatekeeper s URL gkaddr a identifikátorem gkid. Při GkAuto se klient přihlásí k prvnímu gatekeeperu, který automaticky nalezne. useraliases, typ: seznam řetězců (ignorováno v enterprise verzi) Určuje H.323 aliasy, pod kterými bude klient znám u gatekeeperu. port, typ: int Určuje port, na kterém bude naslouchat na příchozí hovory. sendvideo, typ: bool Určuje, zda se bude při hovoru posílat video. receivevideo, typ: bool Určuje, zda se bude při hovoru přijímat video. 4
sendaudio, typ: bool Určuje, zda se bude při hovoru posílat audio. receiveaudio, typ: bool Určuje, zda se bude při hovoru přijímat audio. autoanswer, typ: bool Určuje, zda se bude příchozí hovor automaticky přijat. forbiddenaliases, typ: seznam řetězců Seznam aliasů, které nebudou přijímány (nefunkční). donotdisturb, typ: bool Určuje, zda se budou příchozí hovory automaticky odmítat. alwaysforward, typ: bool Určuje, zda se budou hovory automaticky přesměrovávat vždy, závisí na forwardhost. busyforward, typ: bool Určuje, zda se budou příchozí hovory přesměrovávat v případě, že je klient zaneprázdněný (tj. právně probíhá hovor), závisí na forwardhost. noanswerforward, typ: bool Určuje, zda se budou příchozí hovory přesměrovávat v případě, že uživatel neodpovídá, závisí na answertimeout, forwardhost. usegkdiversion, typ: bool Určuje, zda se budou používat přesměrování na straně serveru (gatekeeperu), závisí na busyforward, noanswerforward, alwaysforward, forwardhost. answertimeout, typ: int Určuje dobu čekání na odpověd uživatele při příchozím hovoru. forwardhost Určuje H.323 adresu koncového zařízení, kam se bude hovor přesměrovávat (v případě alwaysforward, busyforward, noanswerforward). faststart, typ: bool Určuje, zda se bude používat fast start mód. h245tunneling, typ: bool Určuje, zda se bude používat H.245 tunneling mód. h245insetup, typ: bool Určuje, zda se bude používat H.245 tunneling mód. ringfile Určuje audio soubor (formát wav, 2 kanály, vzorkovací frekvence 44100Hz, vzorek 16bit), který se bude přehrávat při příchozím hovoru. maxdirectlyvisibleplugins, typ: int Omezuje počet tlačítek modulů, které se vytvoří přímo na tlačítkové liště hlavního okna. Ostatní tlačítka se začlení do menu. usebuttonlabels, typ: bool Určuje, zda tlačítka na tlačítkové liště hlavního okna budou mít textový popisek. labelpositionbellowicon, typ: bool Určuje pozici textového popisu tlačítek na tlačítkové liště hlavního okna. calloptionsbutton, typ: Qt::ButtonState možné hodnoty: LeftButton RightButton MidButton Určuje tlačítko, které vyvolá vyskakovací (pop-up) menu s nabídkou možných akcí. 5
2.2 Sekce admin LDAPServer Určuje internetovou adresu LDAP serveru. V případě enterprise verze z něj klient bude získávat informace o sobě (viz instalace klienta). Jinak se z něj bude pokoušet získávat kontakty. LDAPPort Určuje port, na kterém LDAP server naslouchá. Standardně je 389. LDAPPeopleSearchBase Určuje dn (distinguished name) podstromu adresáře, ve kterém se budou vyhledávat kontakty. LDAPH323SearchBase Určuje dn (distinguished name) podstromu adresáře, ve kterém se budou vyhledávat informace pro běh klienta v enterprise verzi. 2.3 Sekce addressbook Platí pouze pro adresář standardně dodávaný s klientem. contacts, typ: seznam řetězců Kontakty adresáře. Každý řetězec v seznamu odpovídá jednomu kontaktu, řetězce jsou odděleny čárkami. Jednotlivé položky kontaktu jsou odděleny svislítkem. Kontakty mohou být dvou druhů, uložené (bookmarked) a neuložené (unbookmarked, tento kontakt je v adresáři jen kvůli záznamu historie). Položky neuložených kontaktů: nula 0 H.323 adresa kontaktu Uložené kontakty mohou být vlastní nebo kontakty získané z LDAP adresáře. V případě LDAP kontaktů identifikátor určuje uid v LDAP adresáři, URL je pak alias kontaktu, pod kterým je známý gatekeeperu. Jinak URL určuje H.323 adresu kontaktu. Položky uložených kontaktů: jednička 1 identifikátor přezdívka vlastní jméno příjmení e-mail mobilní číslo ulice město PSČ stát organizace číslo zaměstnance typ zamestnance číslo oddělení 6
URL obrázek (absolutní cesta) history, typ: seznam čísel Historie volání. První cifra každého čísla může být bud 1 nebo 0. Určuje, zda hovor byl příchozí (1) nebo odchozí (0). Zbytek čísla udává index kontaktu v hlavním adresáři určeném contacts. 2.4 Sekce audio Platí pouze pro audio plugin standardně dodávaný s klientem. audioplayerdevice Určuje název zařízení pro přehrávání zvuku (např. /dev/dsp0). audiorecorderdevice Určuje název zařízení pro nahrávání zvuku (např. /dev/dsp1). disabledcapabilities, typ: seznam řetězců Seznam určuje capabilities (volně přeloženo kodeky), které se nebudou používat. capabilitiesorder, typ: seznam řetězců Seznam určuje pořadí všech capabilities (at už se používají nebo ne, viz disabledcapabilities). 2.5 Sekce videoin Platí pouze pro video-in plugin standardně dodávaný s klientem. videodevice Určuje název zařízení pro nahrávání videa (např. /dev/video0). videochannel, typ: int Určuje číslo kanálu zařízení pro nahrávání. 1 znamená, ze správný kanál bude nalezen automaticky. videoformat, typ: PVideoDevice::VideoFormat Možné hodnoty: PAL NTSC SECAM Auto Určuje formát video zařízení. videoframerate, typ: int Určuje, jak rychle (kolik snímků za sekundu) se bude číst ze zařízení. videoimage Určuje obrázek, který se bude vysílat v případě, že se video zařízení nepodaří otevřít nebo inicializovat. videosize, typ: VideoGrabber::VideoSize Možné hodnoty: 7
V_LARGE V_SMALL Určuje rozměry vysílaných obrázků. V případě V_LARGE to je 352x288, v případě V_SMALL pak 176x144. previewshowcallsize, typ: bool Určuje rozlišení náhledu. Pokud bude previewshowcallsize 1, pak bude určené videoimage, jinak bude mít maximální možné rozlišení. 2.6 Sekce videoout Platí pouze pro video-out plugin standardně dodávaný s klientem. scaled, typ: bool Určuje, zda bude se bude zobrazovaný obraz přetransformovávat na velikost okna ( scalovat ). clipped, typ: bool Určuje, zda se bude bude zobrazovaný obraz ořezávat na velikost okna. Má význam pouze pokud scaled je 0. 8