Plik serviceconfig.xml

Spis treści

Uwaga

W występujących w tym dokumencie odwołaniach do położeń plików i katalogów, <install-home> jest katalogiem, do którego został wyodrębniony pakiet komponentu Agent Controller. W plikach konfiguracyjnych występują też odwołania do tego katalogu jako %TPTP_AC_HOME%.

Wprowadzenie

Plik serviceconfig.xml jest odczytywany przez komponent Agent Controller w celu pobrania ustawień definiowanych przez użytkownika. Jest on wczytywany tylko raz, w chwili uruchomienia komponentu. Modyfikacje tego pliku są na ogół ograniczane do minimum, gdyż mają one wpływ na wszystkich użytkowników.

Plik serviceconfig.xml zawiera następujące segmenty:

Jeśli zdefiniowana jest zmienna środowiskowa TPTP_AC_HOME, komponent Agent Controller szuka pliku config/serviceconfig.xml w katalogu wskazanym przez wartość tej zmiennej, natomiast w przeciwnym razie szuka go we własnym katalogu instalacyjnym. Położeniem domyślnym pliku serviceconfig.xml jest katalog <install-home>/config/serviceconfig.xml.

Każda instancja komponentu Agent Controller uruchomiona w tym samym systemie wymaga własnej wersji pliku serviceconfig.xml, zawierającej różne konfiguracje warstwy transportowej. 

Uwaga

Plik serviceconfig.xml jest też odczytywany przez agenty w celu pobierania z segmentu Connection informacji pozwalających agentowi komunikować się z konkretnym komponentem Agent Controller.  

Agenty pobierają z wiersza komend informację o alternatywnym położeniu pliku serviceconfig.xml. Predefiniowaną nazwą opcji określającej położenie jest -serviceconfig; po opcji należy podać ścieżkę do pliku konfiguracyjnego. Jeśli ścieżka nie zostanie wskazana w wierszu komend, agent szuka pliku serviceconfig.xml w położeniach opisanych powyżej dla komponentu Agent Controller.

Konfiguracja komponentu Agent Controller

Poniżej przedstawiono hierarchię elementów pliku serviceconfig.xml. Kolejność elementów znajdujących się na tym samym poziomie hierarchii jest nieistotna. Każdy z elementów pierwszego poziomu (czyli AgentControllerEnvironment, Logging, Agent, Plugin, ProcessController, Connection, ApplicationAliases i PeerConnectionTransport) powinien występować tylko raz. Hiperłącza w obrębie hierarchii odsyłają do formalnych opisów poszczególnych elementów w sekcji Elementy i atrybuty.

AgentControllerConfiguration
    AgentControllerEnvironment
        Variable
    Logging
    Agent
    Plugin
    ProcessController
    Connection
        TransportLayer
            Configuration
                Port
                PipeName
                MemName
               
SecuredPort
               
FilePort
               
IsDataMultiplexed
                ProcessPolling
               
Jvm
                Version
                SecurityEnabled
                UserDefinition
                Keystore
                KeystorePassword
                Hosts
                   
Allow
                    Deny
    CommandExtractor
    ApplicationAliases
        Application
            Variable
            Parameter
     PeerConnectionTransport

Elementy i atrybuty


Element:
AgentControllerConfiguration
Jest to element główny konfiguracji komponentu Agent Controller. Określone w jego obrębie ustawienia są używane przez komponent Agent Controller w chwili uruchomienia. Każdy podelement może wystąpić tylko raz.

Podelementy:     AgentControllerEnvironment
                            Logging
                            Agent
                            Plugin
                            ProcessController
                            Connection
                            ApplicationAliases
                            PeerConnectionTransport

Element: AgentControllerEnvironment
Definiuje globalne ustawienia środowiska wszystkich aplikacji i agentów uruchamianych za pośrednictwem komponentu Agent Controller. Jeśli element zostanie pominięty, to przekazywane dalej środowisko będzie identyczne ze środowiskiem samego komponentu Agent Controller. Zmienne definiowane w obrębie tego elementu nie mają wpływu na ustawienia środowiska samego komponentu Agent Controller.

Używany przez: AgentControllerConfiguration

Podelementy: Variable

Element: Variable
Element Variable definiuje zmienną środowiskową i sposób jej połączenia z istniejącym środowiskiem w celu utworzenia środowiska dla wszystkich uruchamianych aplikacji i agentów. W elemencie AgentControllerEnvironment może występować zero lub więcej takich elementów.

Używany przez: AgentControllerEnvironment

Atrybuty:

name
Łańcuch określający nazwę zmiennej środowiskowej.
value
Łańcuch określający wartość zmiennej środowiskowej.
position
(opcjonalny) Łańcuch "append" (dopisz na końcu), "prepend" (dopisz na początku) lub "replace" (zastąp), określający pozycję zmiennej względem środowiska domyślnego.

Element: Logging
Określa poziom istotności, format i położenie docelowe informacji podlegających rejestrowaniu. Jeśli element ten zostanie pominięty, wszystkie ostrzeżenia o poziomie CRITICAL i SEVERE będą rejestrowane w formacie CBE w tym samym katalogu, w którym uruchomiony jest komponent Agent Controller. Co istotne, konfigurować można jedynie położenie pliku dziennika, nie zaś jego nazwę (tptpAgentCtrl.log).

Używany przez: AgentControllerConfiguration

Atrybuty:

level
(opcjonalny) Łańcuch określający poziom istotności komunikatów podlegających rejestrowaniu. Każdy kolejny poziom obejmuje zdarzenia na tym i wszystkich bardziej istotnych poziomach. Możliwe wartości poziomów to (w porządku rosnącej istotności):
  • DEBUG - obejmuje komunikaty dostarczające niskopoziomowe informacje dotyczące wewnętrznego przepływu wykonywania kodu komponentu Agent Controller i agentów.
  • INFORMATION - obejmuje zdarzenia związane z prawidłową pracą, ale potencjalnie interesujące dla użytkowników programu.
  • WARNING - obejmuje zdarzenia nieoczekiwane, ale na ogół niewpływające na funkcjonowanie programu.
  • CRITICAL - (wartość domyślna) obejmuje zdarzenia świadczące o zakłóceniu poprawnej pracy programu z powodu błędu.
  • SEVERE - obejmuje jedynie zdarzenia powodujące zakończenie pracy programu.
format
(opcjonalny) Łańcuch określający format zapisu komunikatów do pliku dziennika. Określ jedno z następujących ustawień:
  • CBE - (wartość domyślna) komunikaty będą zapisywane w formacie Common Base Event, obejmującym szczegółowe informacje dotyczące kontekstu i pochodzenia komunikatu i nadającym się do przetwarzania przez program narzędziowy do odczytywania dzienników CBE.
  • Simple - komunikaty będą zapisywane w postaci zwykłego tekstu.
directory

(opcjonalny) Łańcuch określający położenie, w którym zostanie utworzony plik dziennika. Domyślnie jest to katalog, z którego uruchamiany jest komponent Agent Controller.

Element: Agent
Element obowiązkowy określający katalog, w którym każdy z agentów znanych komponentowi Agent Controller umieści podkatalog o nazwie odpowiadającej temu agentowi i zawierający plik konfiguracyjny agent.xml opisujący ustawienia uruchamiania agenta i zarządzania nim.

Używany przez: AgentControllerConfiguration

Atrybuty:

path
Łańcuch określający pełną ścieżkę katalogu, w którym należy szukać danych konfiguracyjnych agentów.

Element: Plugin
Element określający katalog, w którym umieszczono rozszerzenia konfiguracji komponentu Agent Controller. Rozszerzenia są definiowane w plikach konfiguracyjnych pluginconfig.xml. Podkatalogi wskazanego katalogu mogą dodatkowo zawierać specyficzne dla rozszerzenia pliki wykonywalne.

Używany przez: AgentControllerConfiguration

Atrybuty:

path
Łańcuch określający pełną ścieżkę katalogu, w którym należy szukać rozszerzeń.
Element: ProcessController
Element ProcessController zawiera jedynie wartość określającą ścieżkę do pliku wykonywalnego, który komponent Agent Controller uruchomi i do którego będzie kierować żądania uruchamiania agentów i aplikacji. Domyślnie uruchamiany jest plik agenta tptpProcessController(.exe) znajdujący się w tym samym katalogu, co sam komponent Agent Controller. Wskazany plik wykonywalny musi być zarejestrowany w komponencie Agent Controller i musi być w stanie obsłużyć wszystkie komendy z zestawu zdefiniowanego dla danego interfejsu. Jedyną informacją niezbędną do uruchomienia tego agenta jest ścieżka podana w tym elemencie, stąd też agent ten nie musi (w przeciwieństwie do innych agentów) mieć własnego podkatalogu w katalogu agents i nie może przyjmować argumentów wiersza komend.

Używany przez: AgentControllerConfiguration

Element: Connection
Element obowiązkowy, zawierający co najmniej elementy TransportLayer dla następujących typów połączeń używanych przez komponent Agent Controller: gniazdo, potok nazwany i pamięć współużytkowana.

Używany przez: AgentControllerEnvironment

Podelementy: TransportLayer

Atrybuty:

name
Łańcuch określający nazwę konfiguracji połączenia.

Element: TransportLayer
Element definiujący komponent warstwy transportowej (TransportLayer), dołączany na zasadzie wtyczki do komponentu Agent Controller i odpowiedzialny za wysyłanie i odbieranie danych wymienianych przez komponenty w ramach mechanizmu komunikacji międzyprocesowej.

Używany przez: Connection

Podelementy:  Configuration
                         CommandExtractor

Atrybuty:

loadlib
Łańcuch określający nazwę biblioteki ładowanej w celu obsłużenia bieżącej warstwy transportowej, podaną bez rozszerzenia (czyli .dll lub .so). Podczas lokalizacji biblioteki używana jest standardowa ścieżka systemowa.
type
Łańcuch określający konkretny typ bieżącej warstwy transportowej. Możliwe wartości to: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL i TPTP_ACTL. Niestandardowe warstwy transportowe będą korzystać z innych identyfikatorów. Wartości TPTP_CCTL i TPTP_ACTL odpowiadają niestandardowym warstwom transportowym zapewniającym kompatybilność wstecz w przypadku klientów i agentów korzystających z oryginalnych interfejsów komponentu Agent Controller.

Element: Configuration
Element Configuration zawiera podelement określający mechanizm komunikacji międzyprocesowej dla bieżącego elementu TransportLayer. Obsługiwane mechanizmy komunikacji to: gniazdo, potok nazwany, pamięć współużytkowana i CCTL. Warstwa transportowa ACTL nie ma żadnych elementów konfiguracyjnych. Niestandardowe elementy TransportLayer mogą zawierać własne, specyficzne elementy Configuration.

Używany przez: TransportLayer

Podelementy:     Port (tylko socketTL i CCTL)
                            PipeName (tylko namedPipeTL)
                            MemName (tylko sharedMemTL)
                            SecuredPort (tylko CCTL)
                            FilePort (tylko CCTL)
                            IsDataMultiplexed (tylko CCTL)
                            ProcessPolling (tylko CCTL)
                            Jvm (tylko CCTL)
                            Version (tylko CCTL)
                            SecurityEnabled (tylko CCTL)
                            UserDefinition (tylko CCTL z włączonymi zabezpieczeniami)
                            Keystore (tylko CCTL z włączonymi zabezpieczeniami)
                            KeystorePassword (tylko CCTL z włączonymi zabezpieczeniami)
                            Hosts (tylko CCTL)

Element: Port
Element Port określa port używany do komunikacji z wykorzystaniem gniazd. Element Port może występować wyłącznie z warstwami transportowymi TPTP_SOCKET i TPTP_CCTL. Wartością elementu jest liczba całkowita określająca numer portu używanego do nawiązania połączenia wykorzystującego gniazda.

Używany przez: Configuration

Element: PipeName
Element PipeName sygnalizuje, że warstwa transportowa wykorzystuje komunikację za pośrednictwem potoków nazwanych. Element ten może występować wyłącznie wtedy, gdy wartością atrybutu loadlib jest namedPipeTL. Jego wartością jest łańcuch określający nazwę potoku używanego do nawiązywania połączenia.

Używany przez: Configuration

Element: MemName
Element MemName sygnalizuje, że warstwa transportowa wykorzystuje komunikację za pośrednictwem pamięci współużytkowanej. Element ten może występować wyłącznie wtedy, gdy wartością atrybutu loadlib jest sharedMemTL. Wartością elementu jest łańcuch określający nazwę zasobu pamięci współużytkowanej używanego do nawiązywania połączenia.

Używany przez: Configuration
 

Element: SecuredPort
Element SecuredPort określa port używany do bezpiecznej komunikacji z wykorzystaniem gniazd. Element SecuredPort może występować wyłącznie z warstwą transportową TPTP_CCTL. Wartością elementu jest liczba całkowita określająca numer portu używanego do nawiązania bezpiecznego połączenia wykorzystującego gniazda.

Używany przez: Configuration

Element: FilePort
Element FilePort określa warstwę transportową używaną przez usługę przesyłania plików do komunikacji z wykorzystaniem gniazd. Element FilePort może występować wyłącznie z warstwą transportową TPTP_CCTL. Wartością elementu jest liczba całkowita określająca numer portu używanego do nawiązania połączenia wykorzystującego gniazda.

Używany przez: Configuration

Element: IsDataMultiplexed
Element IsDataMultiplexed określa, czy dane profilowania i rejestrowania mają być przesyłane kanałem sterującym komponentu Agent Controller. Kanał sterowania może domyślnie używać dowolnego portu do transmisji danych, co wiąże się z możliwością zablokowania go przez firewall. Przesyłanie danych przez kanał sterowania pozwala przepuszczać przez firewall żądania połączeń przychodzące na porty z predefiniowanego zestawu. Zestaw ten obejmuje domyślny port 10002, zabezpieczony port 10003 i port serwera plików 10005. Element przyjmuje wartość boolowską, domyślnie równą "FALSE". Element IsDataMultiplexed może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: ProcessPolling
Element ProcessPolling określa, czy aktywne sprawdzanie statusu procesu jest włączone. Atrybut ten jest używany do zapewnienia wykrywania zakończenia procesu przez komponent Agent Controller. Element przyjmuje wartość boolowską, domyślnie równą "TRUE". Element ProcessPolling może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: Jvm
Element Jvm określa pełną ścieżkę do dynamicznej biblioteki wykonawczej wirtualnej maszyny języka Java (jvm.dll lub libjvm.so) używanej przez komponenty przesyłania plików i bezpiecznych połączeń. Element Jvm może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: Version
Element Version opisuje numer wersji komponentu Agent Controller zgłaszany innym komponentom. Element Version może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: SecurityEnabled
Element SecurityEnabled określa, czy klienty łączące się z bieżącą warstwą transportową muszą korzystać z bezpiecznego portu. Jeśli zabezpieczenia są włączone, a klient podejmie próbę nawiązania połączenia na porcie niezabezpieczonym, klientowi zostanie przekazany adres portu bezpiecznego i połączenie zostanie odrzucone. Element przyjmuje wartość boolowską, domyślnie równą "FALSE". Element SecurityEnabled może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: UserDefinition
Element UserDefinition określa użytkowników uprawnionych do łączenia się z bieżącą warstwą transportową. Jeśli wartością elementu jest "ANY", do połączenia są uprawnieni wszyscy użytkownicy uwierzytelnieni w systemie operacyjnym. Element jest wymagany w przypadku włączonych zabezpieczeń. Wartością elementu jest łańcuch zawierający nazwy użytkowników oddzielane przecinkami. Element UserDefinition może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: Keystore
Element Keystore określa położenie pliku kluczy używanego przy bezpiecznych połączeniach. Element jest wymagany w przypadku włączonych zabezpieczeń. Element Keystore może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: KeystorePassword
Element KeystorePassword określa hasło do pliku kluczy używanego do bezpiecznych połączeń. Element jest wymagany w przypadku włączonych zabezpieczeń. Element KeystorePassword może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: Hosts
Element Hosts określa hosty, które mogą się łączyć z wykorzystaniem danej warstwy transportowej. Element zawiera jeden lub więcej elementów Allow lub Deny. Element Hosts może występować wyłącznie z warstwą transportową TPTP_CCTL.

Używany przez: Configuration

Element: Allow
Element Allow opisuje hosta dopuszczonego do łączenia się z komponentem Agent Controller za pośrednictwem danej warstwy transportowej.

Używany przez: Hosts

Atrybuty:

host
Łańcuch zawierający nazwę lub adres IP hosta. Wartość "ALL" oznacza, że warstwa transportowa może przyjmować połączenia od dowolnych hostów. Wartość "LOCAL" oznacza, że powinny być akceptowane wyłącznie połączenia od procesów lokalnych.
net
Atrybut wskazujący podsieć, z które połączenia mają być akceptowane.
mask
Atrybut definiujący maskę podsieci używaną podczas akceptowania połączeń.

Element: Deny
Element Deny opisuje hosta niedopuszczonego do łączenia się z komponentem Agent Controller za pośrednictwem danej warstwy transportowej.

Używany przez: Hosts

Atrybuty:

host
Łańcuch zawierający nazwę lub adres IP odrzucanego hosta.
net
Atrybut wskazujący podsieć, z które połączenia mają być odrzucane.
mask
Atrybut definiujący maskę podsieci używaną podczas odrzucania połączeń.

Element: CommandExtractor
Element ten definiuje ekstraktor komend — dołączany na zasadzie wtyczki komponent warstwy transportowej odpowiedzialny za wyodrębnianie komend ze strumienia komunikacji międzyprocesowej. Wartością elementu jest łańcuch określający nazwę ładowanej biblioteki, podaną bez rozszerzenia (.dll lub .so) i ewentualnego przedrostka ("lib" w przypadku systemu Linux). Podczas lokalizacji biblioteki używana jest standardowa ścieżka systemowa.

Używany przez: TransportLayer
 

Element: ApplicationAliases
Element ApplicationAliases stanowi opcjonalną listę definicji aliasów aplikacji.

Używany przez: AgentControllerConfiguration

Podelementy: Application

Atrybuty:

launchAliasesOnly
(opcjonalny) Łańcuch "true" (prawda) lub "false" (fałsz — wartość domyślna). Wartość "true" oznacza, że będą uruchamiane wyłącznie aplikacje zdefiniowane w obrębie tego elementu. Wartość "false" lub brak tego atrybutu oznacza, że możliwe jest uruchomienie dowolnej aplikacji.

Element: Application
Element Application określa alias i informacje uruchomieniowe aplikacji.

Używany przez: ApplicationAliases

Podelementy: Variable
Parameter

Atrybuty:

executable
Łańcuch określający alias pliku wykonywalnego aplikacji wskazanego przez atrybut path.
location
(opcjonalny) Łańcuch określający katalog, z którego ma być uruchomiony plik wykonywalny, zwany też katalogiem roboczym wykonywanego programu.
path
Łańcuch określający pełną ścieżkę do uruchamianej aplikacji. Podczas wykonywania aplikacji ścieżka ta jest używana zamiast aliasu.

Element: Variable
Element Variable definiuje zmienną środowiskową i sposób jej połączenia z istniejącym środowiskiem podczas uruchamiania aplikacji. W każdym elemencie Application może występować zero lub więcej takich elementów.

Używany przez: Application

Atrybuty:

name
Łańcuch określający nazwę zmiennej środowiskowej.
value
Łańcuch określający wartość zmiennej środowiskowej.
position
(opcjonalny) Łańcuch >"append" (dopisz na końcu), "prepend" (dopisz na początku) lub "replace" (zastąp), określający pozycję zmiennej względem środowiska domyślnego.

Element: Parameter
Element Parameter określa argument wiersza komend przekazywany aplikacji w momencie jej uruchomienia. W każdym elemencie Application może występować zero lub więcej takich elementów.

Używany przez: Application

Atrybuty:

value
Łańcuch określający argument wiersza komend.
position
(opcjonalny) Łańcuch "append" (dopisz na końcu), "prepend" (dopisz na początku) lub "replace" (zastąp), określający pozycję zmiennej względem środowiska domyślnego.

Element: PeerConnectionTransport
Element wymagany wskazujący warstwę transportową używaną do nawiązywania połączeń między komponentem Agent Controller odczytującym bieżącą konfigurację i innymi instancjami komponentu Agent Controller. Wartość tego elementu musi odpowiadać konkretnemu typowi warstwy transportowej zdefiniowanemu w elemencie TransportLayer w sekcji Connection pliku konfiguracyjnego (np. TPTP_CCTL).

Używany przez: AgentControllerConfiguration


Przykładowy plik serviceconfig.xml

Oto zawartość przykładowego pliku konfiguracyjnego komponentu Agent Controller:

<?xml version="1.0" encoding="UTF-8"?>
<AgentControllerConfiguration>
    <AgentControllerEnvironment configuration="default">
        <Variable name="JAVA_PATH" value="C:\Program Files\Java\j2re1.4.2_08\bin\java.exe" position="replace"/>
        <Variable name="RASERVER_HOME" value="C:\Eclipse\Projects\AgentController" position="replace"/>
        <Variable name="TPTP_AC_HOME" value="%RASERVER_HOME%" position="replace"/>
        <Variable name="PLUGINS_HOME" value="%RASERVER_HOME%\plugins" position="replace"/>
        <Variable name="PATH" value="%RASERVER_HOME%\bin" position="prepend"/>
    </AgentControllerEnvironment>
    <ApplicationAliases>
        <Application configuration="default" executable="java.exe" path="%JAVA_PATH%" location="%SYS_TEMP_DIR%">
            <Variable name="CLASSPATH" value="%CLASSPATH_ORG_ECLIPSE_EQUINOX_COMMON%" position="append"/>
            <Variable name="PATH" value="%RASERVER_HOME%\bin" position="prepend"/>
        </Application>
    </ApplicationAliases>
    <Plugin path="%PLUGINS_HOME%"/>
    <Agent path="%TPTP_AC_HOME%\agents"/>
    <Logging level="INFORMATION" format="CBE" directory="%TPTP_AC_HOME%\config"/>
    <ProcessController>%TPTP_AC_HOME%\bin\tptpProcessController.exe</ProcessController>
    <Connection name="Dev">
        <TransportLayer loadlib="socketTL" type="TPTP_SOCKET">
            <Configuration>
                <Port>10006</Port>
            </Configuration>
            <CommandExtractor>tptpCmdExtr</CommandExtractor>
        </TransportLayer>
        <TransportLayer loadlib="namedPipeTL" type="TPTP_LOG">
            <Configuration>
                <PipeName>acmasterlog</PipeName>
            </Configuration>
            <CommandExtractor>tptpCmdExtr</CommandExtractor>
        </TransportLayer>
        <TransportLayer loadlib="namedPipeTL" type="TPTP_NAMEDPIPE">
            <Configuration>
                <PipeName>acmaster</PipeName>
            </Configuration>
            <CommandExtractor>tptpCmdExtr</CommandExtractor>
        </TransportLayer>
        <TransportLayer loadlib="sharedMemTL" type="TPTP_SHAREDMEM">
            <Configuration>
                <MemName>acbuffer</MemName>
            </Configuration>
            <CommandExtractor>tptpCmdExtr</CommandExtractor>
        </TransportLayer>
        <TransportLayer loadlib="tptpCCTL" type="TPTP_CCTL">
            <Configuration>
                <Port>10002</Port>
                <SecuredPort>10003</SecuredPort>
                <FilePort>10005</FilePort>
                <IsDataMultiplexed>false</IsDataMultiplexed>
                <ProcessPolling>true</ProcessPolling>
                <Jvm>C:\Program Files\Java\j2re1.4.2_08\bin\client\jvm.dll</Jvm>
                <Version>4.2.0</Version>
                <SecurityEnabled>true</SecurityEnabled>
                <UserDefinition>ANY</UserDefinition>
                <Keystore>C:\Eclipse\Projects\AgentController\security\tptpSampleKeystore</Keystore>
                <KeystorePassword>password</KeystorePassword>
                <Hosts configuration="default">
                    <Allow host="LOCAL"/>
                </Hosts>
            </Configuration>
            <CommandExtractor>tptpCmdExtr</CommandExtractor>
        </TransportLayer>
        <TransportLayer loadlib="tptpACTL" type="TPTP_ACTL">
            <Configuration/>
            <CommandExtractor>tptpCmdExtr</CommandExtractor>
        </TransportLayer>
    </Connection>
    <PeerConnectionTransport>TPTP_CCTL</PeerConnectionTransport>
</AgentControllerConfiguration>


Copyright (C) 2005, 2006 Intel Corporation.