ANCA (Amazing NetCall Application)
Administra ´ torska ´ dokumentace
1 Instalace
V te´to cˇa´sti popı´sˇeme instalaci Anca.
1.1 Poz ˇadavky na instalaci Pro kompilaci zdrojovy´ch souboru˚ je potrˇeba: • Linux, • vy´vojove´ GNU na´stroje (ld, ar, make atd.), • prˇekladacˇ gcc, g++ verze maxima´lneˇ 3.3 (verze 3.4 nenı´ podporova´na), • zdrojove´ soubory OpenLDAP, • zdrojove´ soubory knihovny Qt3 (Qt/embedded).
1.2 Kompilace zdrojovy ´ ch souboru˚ Klienta zkompilujeme a nainstalujeme klasicky´m zpu˚sobem. Nejprve ale musı´me spra´vneˇ nastavit promeˇnne´ shellu: • PWLIBDIR=
• OPENH323DIR= Pote´ v korˇenove´m adresa´rˇi Anca zada´me: ./configure make make install Pozna´mka: pro make install musı´me mı´t pra´va superuzˇivatele na za´pis. Skript configure kromeˇ jine´ho testuje, zda je na´sˇ syste´m dostatecˇneˇ prˇipraven na kompilaci. Proto pokud configure skoncˇ´ı chybou, je nutno tuto chybu napravit a spustit configure znovu. Nejbeˇzˇneˇjsˇ´ı chybou je, zˇe v syste´mu chybı´ neˇktere´ potrˇebne´ knihovny. Klient vyzˇaduje knihovnu knihovnu Qt (jejı´ vı´cevla´knovou verzi, vcˇetneˇ hlavicˇkovy´ch souboru˚). Pokud ji configure nemu˚zˇe najı´t i prˇesto, zˇe je spra´vneˇ nainstalova´na, je mozˇne´ urcˇit jejı´ umı´steˇnı´ pomocı´ parametru --with-qt-dir (viz nı´zˇe). Da´le klient vyzˇaduje knihovnu OpenLDAP. Nejdu˚lezˇiteˇjsˇ´ı parametry configure: • --enable-debug[=full|yes|no|] Zapne podporu ladı´cı´ch symbolu˚ (debug symbols) – implicitneˇ no. • --enable-embedded Zapne prˇeklad klienta pro embedded zarˇ´ızenı´ – implicitneˇ no. • --enable-enterprise Zapne prˇeklad klienta pro enterprise verzi – implicitneˇ yes. 2
• --enable-terminal-video Zapne podporu videa – implicitneˇ yes. • --with-qt-dir=DIR Nastavı´ umı´steˇnı´ knihoven Qt. Enterprise verze klienta je standardneˇ vypnuta. Pokud je zapnuta, tak to znamena´, zˇe klient je zcela za´visly´ na LDAP serveru, ze ktere´ho stahuje informace o umı´steˇnı´ gatekeeperu, svy´ch aliasech a dalsˇ´ı informace. Da´le je zcela za´visly´ na prˇ´ıslusˇne´m gatekeeperu. Nastavenı´ umı´steˇnı´ LDAP serveru se prozatı´m konfiguruje rucˇneˇ v konfiguracˇnı´m souboru kazˇde´ho klienta, vı´ce viz . Jina´ varianta by mohla by´t, zˇe umı´steˇnı´ LDAP serveru by se zı´ska´valo automaticky (naprˇ. pomocı´ Service Location Protocol). Pak by byla konfigrace klienta zcela centra´lnı´.
3
2 Konfigurace
Datove´ soubory klient nacˇ´ıta´ z globa´lnı´ho adresa´rˇe ${prefix}/share/anca (tj. obvykle /usr/local/share/anca) a domovske´ho ˜/.anca. Zde jsou ulozˇeny moduly (adresa´rˇ plugin), obra´zky (pictures) a zvuky (sounds). Konfiguracˇnı´ soubor ma´ jme´no anca.ini. Prˇi spusˇteˇnı´ se jej pokusı´ nacˇ´ıst z globa´lnı´ho adresa´rˇe ${sysconfig}/anca (tj. obvykle /usr/local/etc), pote´ z domovske´ho adresa´rˇe ˜/.anca. Konfiguracˇnı´ polozˇky, ktere´ jsou v sekci admin, mohou by´t cˇteny pouze z globa´lnı´ho anca.ini.
2.1 Sekce default • ancaPicturesDir Urcˇuje adresa´rˇ (kromeˇ standardnı´ch), ktery´ obsahuje obra´zky aplikace Anca. • loadNewPlugins, typ: bool Urcˇuje, zda se budou prˇi startu nahra´vat nove´ (drˇ´ıve nepouzˇite´) za´suvne´ pluginy. • libraryPaths, typ: QStringList Urcˇuje adresa´rˇe, ktere´ se budou procha´zet prˇi hleda´nı´ za´suvny´ch modulu˚. • registerWithGk, typ: bool Urcˇuje, zda se klient bude pokousˇet prˇihla´sit se u gatekeeperu (ignorova´no v enterprise verzi). • gkAddr (ignorova´no v enterprise verzi) URL gatekeeperu. • gkId, typ: int (ignorova´no v enterprise verzi) ID gatekeeperu. • gkRegistrationMethod, typ: EndPoint::RegistrationMethod (ignorova´no v enterprise verzi) Mozˇne´ hodnoty: GkAuto GkAddr GkId GkBoth Urcˇuje, ke ktere´mu gatekeeperu se bude prˇihlasˇovat. Pokud se pouzˇije GkAddr, tak se bude prˇistupovat ke gatekeeperu s URL v konfiguracˇnı´ polozˇce gkAddr. Pokud se pouzˇije GkId, gatekeeper se vyhleda´ automaticky (pomocı´ automaticke´ho vyhleda´va´nı´) a pouzˇije se, jestlizˇe jeho identifika´tor je shodny´ s tı´m, ktery´ je v gkId. Prˇi Both se pouzˇije gatekeeper s URL gkAddr a identifika´torem gkId. Prˇi GkAuto se klient prˇihla´sı´ k prvnı´mu gatekeeperu, ktery´ automaticky nalezne. • userAliases, typ: seznam rˇeteˇzcu˚ (ignorova´no v enterprise verzi) Urcˇuje H.323 aliasy, pod ktery´mi bude klient zna´m u gatekeeperu. • port, typ: int Urcˇuje port, na ktere´m bude naslouchat na prˇ´ıchozı´ hovory. • sendVideo, typ: bool Urcˇuje, zda se bude prˇi hovoru posı´lat video. • receiveVideo, typ: bool Urcˇuje, zda se bude prˇi hovoru prˇijı´mat video. 4
• sendAudio, typ: bool Urcˇuje, zda se bude prˇi hovoru posı´lat audio. • receiveAudio, typ: bool Urcˇuje, zda se bude prˇi hovoru prˇijı´mat audio. • autoAnswer, typ: bool Urcˇuje, zda se bude prˇ´ıchozı´ hovor automaticky prˇijat. • forbiddenAliases, typ: seznam rˇeteˇzcu˚ Seznam aliasu˚, ktere´ nebudou prˇijı´ma´ny (nefunkcˇnı´). • doNotDisturb, typ: bool Urcˇuje, zda se budou prˇ´ıchozı´ hovory automaticky odmı´tat. • alwaysForward, typ: bool Urcˇuje, zda se budou hovory automaticky prˇesmeˇrova´vat vzˇdy, za´visı´ na forwardHost. • busyForward, typ: bool Urcˇuje, zda se budou prˇ´ıchozı´ hovory prˇesmeˇrova´vat v prˇ´ıpadeˇ, zˇe je klient zanepra´zdneˇny´ (tj. pra´vneˇ probı´ha´ hovor), za´visı´ na forwardHost. • noAnswerForward, typ: bool Urcˇuje, zda se budou prˇ´ıchozı´ hovory prˇesmeˇrova´vat v prˇ´ıpadeˇ, zˇe uzˇivatel neodpovı´da´, za´visı´ na answerTimeout, forwardHost. • useGkDiversion, typ: bool Urcˇuje, zda se budou pouzˇ´ıvat prˇesmeˇrova´nı´ na straneˇ serveru (gatekeeperu), za´visı´ na busyForward, noAnswerForward, alwaysForward, forwardHost. • answerTimeout, typ: int Urcˇuje dobu cˇeka´nı´ na odpoveˇd uzˇivatele prˇi prˇ´ıchozı´m hovoru. • forwardHost Urcˇuje H.323 adresu koncove´ho zarˇ´ızenı´, kam se bude hovor prˇesmeˇrova´vat (v prˇ´ıpadeˇ alwaysForward, busyForward, noAnswerForward). • fastStart, typ: bool Urcˇuje, zda se bude pouzˇ´ıvat fast start mo´d. • h245Tunneling, typ: bool Urcˇuje, zda se bude pouzˇ´ıvat H.245 tunneling mo´d. • h245InSetup, typ: bool Urcˇuje, zda se bude pouzˇ´ıvat H.245 tunneling mo´d. • ringFile Urcˇuje audio soubor (forma´t wav, 2 kana´ly, vzorkovacı´ frekvence 44100Hz, vzorek 16bit), ktery´ se bude prˇehra´vat prˇi prˇ´ıchozı´m hovoru. • maxDirectlyVisiblePlugins, typ: int Omezuje pocˇet tlacˇ´ıtek modulu˚, ktere´ se vytvorˇ´ı prˇ´ımo na tlacˇ´ıtkove´ lisˇteˇ hlavnı´ho okna. Ostatnı´ tlacˇ´ıtka se zacˇlenı´ do menu. • useButtonLabels, typ: bool Urcˇuje, zda tlacˇ´ıtka na tlacˇ´ıtkove´ lisˇteˇ hlavnı´ho okna budou mı´t textovy´ popisek. • labelPositionBellowIcon, typ: bool Urcˇuje pozici textove´ho popisu tlacˇ´ıtek na tlacˇ´ıtkove´ lisˇteˇ hlavnı´ho okna. • callOptionsButton, typ: Qt::ButtonState mozˇne´ hodnoty: LeftButton RightButton MidButton Urcˇuje tlacˇ´ıtko, ktere´ vyvola´ vyskakovacı´ (pop-up) menu s nabı´dkou mozˇny´ch akcı´.
5
2.2 Sekce admin • LDAPServer Urcˇuje internetovou adresu LDAP serveru. V prˇ´ıpadeˇ enterprise verze z neˇj klient bude zı´ska´vat informace o sobeˇ (viz instalace klienta). Jinak se z neˇj bude pokousˇet zı´ska´vat kontakty. • LDAPPort Urcˇuje port, na ktere´m LDAP server nasloucha´. Standardneˇ je 389. • LDAPPeopleSearchBase Urcˇuje dn (distinguished name) podstromu adresa´rˇe, ve ktere´m se budou vyhleda´vat kontakty. • LDAPH323SearchBase Urcˇuje dn (distinguished name) podstromu adresa´rˇe, ve ktere´m se budou vyhleda´vat informace pro beˇh klienta v enterprise verzi.
2.3 Sekce addressbook Platı´ pouze pro adresa´rˇ standardneˇ doda´vany´ s klientem. • contacts, typ: seznam rˇeteˇzcu˚ Kontakty adresa´rˇe. Kazˇdy´ rˇeteˇzec v seznamu odpovı´da´ jednomu kontaktu, rˇeteˇzce jsou oddeˇleny cˇa´rkami. Jednotlive´ polozˇky kontaktu jsou oddeˇleny svislı´tkem |. Kontakty mohou by´t dvou druhu˚, ulozˇene´ (bookmarked) a neulozˇene´ (unbookmarked, tento kontakt je v adresa´rˇi jen kvu˚li za´znamu historie). Polozˇky neulozˇeny´ch kontaktu˚: nula 0 H.323 adresa kontaktu Ulozˇene´ kontakty mohou by´t vlastnı´ nebo kontakty zı´skane´ z LDAP adresa´rˇe. V prˇ´ıpadeˇ LDAP kontaktu˚ identifika´tor urcˇuje uid v LDAP adresa´rˇi, URL je pak alias kontaktu, pod ktery´m je zna´my´ gatekeeperu. Jinak URL urcˇuje H.323 adresu kontaktu. Polozˇky ulozˇeny´ch kontaktu˚: jednicˇka 1 identifika´tor prˇezdı´vka vlastnı´ jme´no prˇ´ıjmenı´ e-mail mobilnı´ cˇ´ıslo ulice meˇsto PSCˇ sta´t organizace cˇ´ıslo zameˇstnance typ zamestnance cˇ´ıslo oddeˇlenı´
6
URL obra´zek (absolutnı´ cesta) • history, typ: seznam cˇ´ısel Historie vola´nı´. Prvnı´ cifra kazˇde´ho cˇ´ısla mu˚zˇe by´t bud’ 1 nebo 0. Urcˇuje, zda hovor byl prˇ´ıchozı´ (1) nebo odchozı´ (0). Zbytek cˇ´ısla uda´va´ index kontaktu v hlavnı´m adresa´rˇi urcˇene´m contacts.
2.4 Sekce audio Platı´ pouze pro audio plugin standardneˇ doda´vany´ s klientem. • audioPlayerDevice Urcˇuje na´zev zarˇ´ızenı´ pro prˇehra´va´nı´ zvuku (naprˇ. /dev/dsp0). • audioRecorderDevice Urcˇuje na´zev zarˇ´ızenı´ pro nahra´va´nı´ zvuku (naprˇ. /dev/dsp1). • disabledCapabilities, typ: seznam rˇeteˇzcu˚ Seznam urcˇuje capabilities (volneˇ prˇelozˇeno kodeky), ktere´ se nebudou pouzˇ´ıvat. • capabilitiesOrder, typ: seznam rˇeteˇzcu˚ Seznam urcˇuje porˇadı´ vsˇech capabilities (at’uzˇ se pouzˇ´ıvajı´ nebo ne, viz disabledCapabilities).
2.5 Sekce videoin Platı´ pouze pro video-in plugin standardneˇ doda´vany´ s klientem. • videoDevice Urcˇuje na´zev zarˇ´ızenı´ pro nahra´va´nı´ videa (naprˇ. /dev/video0). • videoChannel, typ: int Urcˇuje cˇ´ıslo kana´lu zarˇ´ızenı´ pro nahra´va´nı´. −1 znamena´, ze spra´vny´ kana´l bude nalezen automaticky. • videoFormat, typ: PVideoDevice::VideoFormat Mozˇne´ hodnoty: PAL NTSC SECAM Auto Urcˇuje forma´t video zarˇ´ızenı´. • videoFrameRate, typ: int Urcˇuje, jak rychle (kolik snı´mku˚ za sekundu) se bude cˇ´ıst ze zarˇ´ızenı´. • videoImage Urcˇuje obra´zek, ktery´ se bude vysı´lat v prˇ´ıpadeˇ, zˇe se video zarˇ´ızenı´ nepodarˇ´ı otevrˇ´ıt nebo inicializovat. • videoSize, typ: VideoGrabber::VideoSize Mozˇne´ hodnoty:
7
V_LARGE V_SMALL Urcˇuje rozmeˇry vysı´lany´ch obra´zku˚. V prˇ´ıpadeˇ V_LARGE to je 352x288, v prˇ´ıpadeˇ V_SMALL pak 176x144. • previewShowCallSize, typ: bool Urcˇuje rozlisˇenı´ na´hledu. Pokud bude previewShowCallSize 1, pak bude urcˇene´ videoImage, jinak bude mı´t maxima´lnı´ mozˇne´ rozlisˇenı´.
2.6 Sekce videoout Platı´ pouze pro video-out plugin standardneˇ doda´vany´ s klientem. • scaled, typ: bool Urcˇuje, zda bude se bude zobrazovany´ obraz prˇetransformova´vat na velikost okna („scalovat“). • clipped, typ: bool Urcˇuje, zda se bude bude zobrazovany´ obraz orˇeza´vat na velikost okna. Ma´ vy´znam pouze pokud scaled je 0.
8