Witam wszystkich speców od PHP i nie tylko. Może jak najprościej opisze swój temat. Otóż jest sobie centralka CTI już działająca i serwer nasłuchujący powiedzmy na porcie 5001 obsługujący wszelkie zapytanie do i z centralki. Chodzi o wykonanie klienta CTI sprzęgniętego np. z dowolnym systemem informatycznym wraz z logowaniem bilingu wykonanych połączeń do SQL. Wszystko było by prościej gdyby nie fakt, że serwer obsługuje tylko jedno połączenie na raz. Także dwie osoby chcące skorzystać w tej samej chwili z systemu byłyby skazane na porażkę. Tak więc trzeba zbudować serwer który będzie pośredniczył między klientem a serwer właściwym centralki i przekazywał w obie strony pełny ruch tzn. mój serwer łączy sie po TCP na porcie 5001 z serwerem CTI i stale go nasłuchuje przy czym odbiera polecenia z klientów i przekazuje do centralki po czym centralka zwraca odpowiedź do mojego serwera a on juz bezpośrednio do klientów. Próbowałem juz stworzyc prosty serwer, także socket_create , socket_bind i takie tam polecenia nie są mi obce ale na tworzeniu pośrednika się wyłożyłem. Nie wiecie więc czy może gdzieś nie ma jakiś małych gotowców (mogą być oczywiście pod zupełnie inne rozwiązania np. pośrednik WWW czy coś takiego) na których mozna by się wzorować?

?
Druga sprawa też związana z tym nazwijmy to call center, to dokumentacja specjalnego protokołu do centralki którą posiadam o nazwie PCTI. Otóż (co już sprawdzałem) cały proces wygląda następująco, klient podnosi mikrotelefon czyli słuchawkę, serwer zgłasza żądanie "C01 c@ 38" gdzie c@ to identyfikator połączenia a 38 nr wewnętrzny w centrali korporacyjnej, i następnie chcąc np. połączyc sie z nr. wew 17 klient wysyła żądanie C03 c@ 38 1 CR C03 c@ 38 7 CR. Chodzi o to że w czasie podniesienia słuchawki mogą przez serwer przetoczyć się jeszcze inne zupełnie żądania gdyż nasłuchuje on całą sieć,a my musimy wyłowić identyfikator połączenia czyli np. c@ bo ten zostaje przez centralkę przypisany do naszego numeru. Na pewno trzeba stworzyć tabelę w sql kojarzącą użytkownika systemu z numerem wewnętrznym, ale pytanie jak teraz z takiego gąszczu informacji z serwera wyłowić tylko to co potrzebne, preg_match tu chyba raczej nie wystarczy....

tak wygląda przykładowa zrzut informacji otrzymanych z socketu.
C01 wA 15
C15 wA 15
C15 wA 19
C03 r@ 35 f
C02 r@ 35
C02 wA
15
RW Koniec polaczenia&&19&
C03 wA 19 f
Bardzo proszę o help. Bo jak narazie idzie jak po grudzie. Będę naprawdę wdzięczny za każdą cenną wskazówkę.
Pozdrawiam