Какие странные бывают люди.... Вроди зашел на форум по PHP, а не на форум, где поболтать о чем-нибудь, задал вопрос, повторил его 5 раз более подробно, даже нарисовал и расписал пункты, что к чему и зачем
http://drop.io/laccr8b Но нет, всем просто интересно, а чтож оно будет то на самом деле, а зачем ему это.....
Это было лирическое вступление))))
Теперь по существу, начнем с описания общей части:
1. Есть VoIP(программная АТС)-некий отдельный сервер. На этой АТС есть так называемый CLI - Command line interface. Этот CLI вызватся из консоли и служит для управления, конфигурации, а также вывода служебной информации в реальном р.времени(кто куда звонит, какой SIP абонент зарегистрировался и т.д.) Также для приложений, разработок, удаленного мониторинга предусмотрен менеджер(назовем его Server ATS), который на localhost постоянно слушает порт напр. 10000! Если подсоединился клиент и авторизировался, Server ATS(как и в случае CLI) начинает выплевывать клиенту(назовем его Client ATS), что происходит в данный момент на АТС, без буфферизации, в р.режиме времени, а также принимает команды для управления, например позвонить куда-то, вывести статус SIP абонента, показать зарегистрированных, отбить абонента и т.д. Забегая на перед скажу, что последовательное звено-что я хочу сделать нужно, чтоб анализировать, отсеять не нужные данные, сформировать массив состояний абонентов, процессов, а также отправлять и принимать упрощенные команды(например XML формат) от конечного клиента(Flash или Windows)
2. А вот описание собственно нашего демона:
Это процесс(процессы) состоящий из Client ATS и Server Client, где Client ATS - был рассмотрен выще(для общения с АТС), а Server Client - служит для возможности подключения конечного пользователя, то есть Flash или Windows. Таким образом мне нужно реализовать одновременно в одном демоне 2 процесса, это и клиент Client ATS и сервер Server Client....
Назначение демона я описал выше. Этот демон предполагается, что будет запущщен постоянно, следовательно он будет поддерживать постоянный конект с АТС, хотя это можно делать только когда подключен конечный клиент, так как буферизироватиь и логгировать ничего не нужно... Процесс Client ATS должен соединяться посредством сокета на localhost: 10000. Server Client - сокет сервер(пока для одного клиента, например Flash), слушающий порт 20000, принимающий команды для передачи Server Client и передающий XML конечному клиенту Flash
3. Описание конечного клиента (Flash)
Думаю тут и так должно быть многое понятно, но всеже:
Клиент Flash представляет собой некую консоль управления(напимер вызвать какого то абонента, отбить и т.д.) и отображения статуса абонентов АТС! Обновление данных предполагается почти без задержки, в р.режиме времени!
Клиент Flash устанавливает постоянное соединение с Server Client нашего демона и выполняет запросы и принимает статус, отображая это в графическом виде....
Не о какой статистике речь не идет, прошу прощения если где-то упомянул, то было в кач. примера)))
dimagolov
Начни с того, чтобы реализовать простое - получать данные от VoIP Server-а и писать их хотя бы в файл.
Я уже написал по отдельности Client ATS и Server Client!
Теперь думаю какже между ними(процессами) передавать переменные или значения.....
Ответа НЕТ....