Dokumentacja Thulium¶
Note
UWAGA: Opis może być nieaktualny, gdyż mechanizm od wielu lat nie był nigdzie używany. Z pewnością nie jest gotowy do wdrożenia. W razie potrzeby wymaga odszukania, odświeżenia, a być może w jakiejś części przepisania na nowo.
Thulium API
Wstępny opis¶
Wirtualna centrala telefoniczna Thulium pracuje w chmurze udostępnianej przez firmę Thulium. Użytkownik końcowy otrzymuje aplikacje Thulium Agent, która zawiadamia Thulium o tym, że dany user jest aktywny, ew. pozwala na zmiany statusów. W panelu administracyjnym należy skonfigurować wszystkie numeyr telefonów miejskich wraz z hasłami. Dalej należy dodać operatorów oraz nadać im numery wewnętrzne, przekierowania do kolejek ( danych numerów), oraz jeżeli mają mieć prawo do dzwonienia to do specjalnej akcji marketingowej. Dalszym elementem jest instalacja klienta VoIP -- 3CXPhone i jego konfiguracja z danym numerem wewnętrznym. Kolejnym elementem jest instalacja i konfiguracja aplikacji Thulium Agent. Tak przygotowane środowisko pozwala na rozdzwanianie się, wszystkich telefonów z kolejki, na dzwonienie na zewnątrz.
Teraz pozostała konfiguracja serwera Neos, żeby mógł integrować się z Thulium. Wiedzieć należy, że Thulium wystawia serwis REST. Każda komenda, czy żądanie do Thulium wiąże się, z wysłaniem zapytania REST. Większość komunikacji determinuje serwer Neos, jednak Thulium również potrafi nas deterministycznie informować o zdarzeniach -- np. operator odebrał połączenie. Podobnie jak w swoim przypadku Thulium wymaga, żeby byt który informuje miał wystawiony serwis REST. Neos potrafi to bezproblemowo robić, jednak pamietać należy o odpowiedniej konfiguracji infrastruktury sieciowej, żeby utworzony serwis REST przez Neos\'a był dostępny dla Thulium z Internetu. Neos udostępnia standardowe API do wysyłania żądań do Thulium, ale posiada także standardowe REST API, które pozwala na odbierania informacji od Thulium. Zarówno API można wykorzystać „po swojemu" zmieniając zachowanie pewnych funkcji na potrzeby swoje i klienta, ale również można przeciążyć metody REST API, żeby np. Neos reagował w inny sposób na odebranie telefonu niż to standardowo zostało zaprojektowane.
Poniższy schemat przedstawia powiązania między serwisem Thulium, Neosem, Klientem S4 oraz Bazą Danych.
Konfiguracja usługi Thulium¶
Należy skonfigurować agenta VoIP według pierwszego rozdziału instrukcji:
thulium-2.0.pdf. Sente posiada konto na serwerze Thulium oraz parę numerów telefonów. Głównym zarządcą tego jest Ada Kwiatkowska-Skórka, gdyż wykorzystywane są te numery do prowadzenia infolinii oraz kompani marketingowych. Każda próba testowania Thulium, czy zmiana konfiguracji powinna być uzgadniana z Adą, lub kimś kto aktualnie opiekuje się usługą Thulium. Do Ady czy innej osoby co się tym zajmuje należy kierować się po uzyskanie dostępu do panelu administratora który znajduje się pod adresem : https://sente.callcenter.pl/panel/index.php
Instalacja Thulium Agent¶
Aplikacje Agenta można ściągnać logując się do Panelu Administracyjnego, po czym w chodząc w ustawienia ( górny prawy róg -- koło zębate) można zobaczyć link do aplikacji. W ten sposób zawsze pobieramy Agenta kompatybilnego z aktualnie zainstalowaną wersją serwera Thulium.
Instalacja klienta VoIP¶
W przypadku naszej konfiguracji korzystamy z agenta 3CXPhone. Przetestowana wersja, znajduje się w lokalizacji \\apoc\firm\DRO\install\3CXPhone6.msi . Po instalacji należy go skonfigurować zgodnie z instrukcją z punktu 2
Testowanie środowiska Thulium¶
Obecnie jesteśmu na etapie, gdy konfiguracja Thulium jest funkcjonalnie kompletna. U wielu klientów na tym kończy się konfigurowanie systemu callcenter. W tej chwili można przetestować, czy możemy dzwonić na numery miejskie, czy numery miejskie mogą dzwonić na nasz numer miejski i czy zadzwoni w tym momencie nasz numer wewnętrzny. Dalej czy jeżeli nie odbierzemy przez dłuższy czas numeru wewnętrznego połączenie zostanie przekierowane do kolejki oczekujących, nasz agent zostanie zapauzowany, a klient dzwoniący usłyszy melodie oczekiwania w słuchawce. Jeżeli od początku z użyciem aplikacji Agent Thulium się zastopujemy to klient od razu powinien być kierowany do kolejki do momentu „wznowienia" aktywności Agenta Thulium. Jeżeli któyś z elementów nie działa, oznacza to błędną konfiguracja ekosystemy Thulium i powinno się znaleźć usterkę przed przystąpieniem do dalszej części instrukcji.
Konfiguracja Neosa¶
Podstawową konfiguracją Neosa jest uzupełnienie pliku smd o nową sekcje.
[ThuliumAPI]
RestAddress=<adres_serwisu_rest_thulium>
RestLogin=<login_rest>
RestPassword=<haslo>
Należy wgrać aktualny projekt Sente. Tak skonfigurowany serwer można odpalić. W logu/konsoli powinniśmy zobaczyć wpis rodzaju :
Note
2015-09-23 08:00:29:730[] ServerService: WebService Server thuliumServer waiting on addres http://localhost:9640/
Który informuje nas, że Neos postawił serwis REST i oczekuje na komunikaty Thulium. W tym momencie należy zapewnic, żeby adres lokalny i port były udostępnione na zewnątrz. Podczas tworzenia technologii, ekipa DragonFly przekierowywała nasze wewnętrzne IP pod odpowiednim portem na www.vpn.office.sente.pl/XXXX , gdzie XXXX to numer portu zewnętrznego. Po takiej operacji należy zalogować się do Panelu Administracyjnego Thulium i w menu po lewej stronie odnaleźć menu odpowiedzialne za rejestracje funkcji callback. Gdy tego dokonamy należy zarejestrować adres ( w tym przykładzie ) www.vpn.office.sente.pl/XXXX jako adres funkcji callbackowej. Gdy połączenie jest drożne Neos powinien odpowiedzieć na początkowe zapytanie GET i całość powinna zakończyć się sukcesem. W innym razie thulium o tym poinformuje. Jeżeli tak nie jest można wykorzystać WireShark do zbadania, czy funkcja GET przychodzi do naszego komputera. Jeżeli tak i nadal Neos nie odpowiada można po testować zapytania GET dla Neosa wtyczką do Chrome -- Postman. Możliwe, że serwis REST nie wstał poprawnie.
Gdy to wszystko zostało zakończone sukcesem, możemy przystąpić do konfiguracji operatora S4. W tym celu w edycji operatora w systemie S4, należy odnaleźć zakładkę VoIP. W tejże zakładce należy wpisać operatorowi login Thulium Agenta jaki został mu przypisany. W tej samej zakładce znajduje się okno do określania w jakich kolejkach znajduje się Agent. Informacje o tym w jakich kolejkach się znajduje oczytamy w Panelu Administracyjnym Thulium. Jeżeli lista kolejek będzie pusta lub niepełna, należy użyć przycisku do odświeżenia owej listy -- wtenczas Neos odpyta się serwisu Thulium o listę aktualnych kolejek.
Tak skonfigurowane środowisko można poddać testom.
Testowanie systemu integracji¶
W chwili obecnej można włączyć i zalogować się do 3CXPhone, Agenta Thulium, oraz odpalić Neosa oraz S4 i zalogować się na przygotowanego operatora który został prawidłowo skonfigurowany. W Neos Experscie należy odnaleźć obiekt CPHONES i odpalić jego formę BROWSE. Jeżeli wszystko zostało dobrze skonfigurowane i jest drożne to powinna ukazać się forma z możliwością sterowania statusem agenta, dzwonieniem na numer z ksiażki klientów, czy obserwować kolejkę i historię połączeń, a także oddzwaniać do klienta gdy nieodebrane.
Modyfikacje indywidualne¶
Można dostosowywać obiekty poprzez ich dziedziczenie i przeciążanie metod na dzwonienie czy zmianę statusu. Głównymi obiektami są CPHONES oraz VOIPAGENTPANEL, które wykorzystują do operacji statyczny obiekt VoipAPI.
Jeżeli chcemy w sposób specjalny reagować na odebranie połączenia, czy dzownienie telefonu agenta (obecnie zmieniają się statusy połączeń i uzupełnia historia) należy podziedziczyć serwis REST z obiektu THULIUMi przeciżążyć odpowiednio metody Get i Post, żeby inaczej przekazywać odpowiedź serwera czy metody obiektu VoipBussineLogic gdzie zaszyte są zachowania biznesowe, domyślnie zaimplementowane w serwerze Neosa, ale możliwe do przesłaniania. W chwili obecnej znany jest błąd z niemożnością dziedziczenia obiektó REST API, więc do czasu rozwiązania tego problemu należy stworzyć swój własny obiekt REST API na podstawie THULIUM.