Russian Qt Forum
Ноябрь 23, 2024, 08:05
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
VoIP
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: VoIP (Прочитано 7657 раз)
Nimbus
Гость
VoIP
«
:
Октябрь 05, 2010, 13:56 »
Сопсна сабж. Имееются ли в библиотеке Qt 4.7 классы для работы с IP-телефонией? На сервере крутится Asterisk, интерфейс пока только через Free PBX флешовый кривой и с глюками. Необходимо сделать десктопное приложение - аналог флешового интерфейса. Что для этого требуется. Погуглив, нашёл
это
. Только вот где скачать данный сабж? Как собрать библиотеки под венду на MinGW. Сайт
http://qtextended.org/
очень "информативный", конечно же. Или это уже не требуется в 4.7 и есть аналог?
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: VoIP
«
Ответ #1 :
Октябрь 05, 2010, 14:45 »
Почитав вот это
http://www.voip-info.org/wiki/view/Asterisk+manager+API
я писал свои классы для подключения, звонков и т.д. к сожалению поделится не могу проект коммерческий, но у меня отняло что то около дня на реализацию основного функционала, общаешься по TCP просто шлешь нужные заголовки и получаешь ответы я реализацию писал на boost::asio. Это на случай если на Qt ничего не найдешь
Записан
Nimbus
Гость
Re: VoIP
«
Ответ #2 :
Октябрь 05, 2010, 17:56 »
Но ведь в ранних версиях Qt это было же реализовано. И классы эти в том мануале. Не могли же они просто так взять и убрать эту фичу?
Записан
ритт
Гость
Re: VoIP
«
Ответ #3 :
Октябрь 05, 2010, 20:07 »
Qt Extended != Qt
ищите исходники и пользуйте )
Записан
Nimbus
Гость
Re: VoIP
«
Ответ #4 :
Октябрь 06, 2010, 04:13 »
Ой, пардон, неправильно выразился. Qt Extended я и ищу, грубо говоря. Где его можно скачать?
http://qt.nokia.com/about/news/qt-software-discontinues-qt-extended/
Мды. Теперь в нынешнем 4.7 где это всё находится?
«
Последнее редактирование: Октябрь 06, 2010, 06:21 от JC
»
Записан
crackedmind
Гость
Re: VoIP
«
Ответ #5 :
Октябрь 11, 2010, 08:06 »
А помойму нигде щас не находится. Возможно в будущем появится в пакете Qt Mobility.
Записан
crossly
Гость
Re: VoIP
«
Ответ #6 :
Октябрь 18, 2010, 12:57 »
Цитата: JC от Октябрь 06, 2010, 04:13
Ой, пардон, неправильно выразился. Qt Extended я и ищу, грубо говоря. Где его можно скачать?
http://qt.nokia.com/about/news/qt-software-discontinues-qt-extended/
Мды. Теперь в нынешнем 4.7 где это всё находится?
http://qtmoko.org/
Записан
Nimbus
Гость
Re: VoIP
«
Ответ #7 :
Октябрь 26, 2010, 06:51 »
Эмммм... Может, кто-нибудь уже делал парсер логов астериска? Просто их валится огромное количество даже от внутреннего звонка. Какие события надо парсить? Или лучше спросить - существуют ли открытые исходники парсеров логов астериска?
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: VoIP
«
Ответ #8 :
Октябрь 26, 2010, 08:32 »
Я делал так, создавал два подключения, одно из них с "Events: off" и оно просто передает команды, а второе для чтения монитора(стало быть с Events: on), помимо этого создал два потока, один пишет данные в буффер из монитора, второй читает данные из буфера и удаляет, и реализовал два класса (странно как то всего по два
) один класс читает из самого буфера данные блоками прочитал и удалил блок, блок данных это с начала текста и до "\n\r" у меня это один блок, потом передаю его второму классу который парсит сам блок и может возвращать из него значения, по имени. Исходниками не поделюсь ибо проект коммерческий, но так вроде все хорошо расписал, я реализовал за пол дня, думаю тоже справишься
Записан
Nimbus
Гость
Re: VoIP
«
Ответ #9 :
Октябрь 26, 2010, 09:56 »
Цитата: ecspertiza от Октябрь 26, 2010, 08:32
Я делал так, создавал два подключения, одно из них с "Events: off" и оно просто передает команды, а второе для чтения монитора(стало быть с Events: on), помимо этого создал два потока, один пишет данные в буффер из монитора, второй читает данные из буфера и удаляет, и реализовал два класса (странно как то всего по два
) один класс читает из самого буфера данные блоками прочитал и удалил блок, блок данных это с начала текста и до "\n\r" у меня это один блок, потом передаю его второму классу который парсит сам блок и может возвращать из него значения, по имени. Исходниками не поделюсь ибо проект коммерческий, но так вроде все хорошо расписал, я реализовал за пол дня, думаю тоже справишься
Спасибо за идею про два подключения - тоже надо бы так сделать. А другое всё как и у вас. Создал два класса, унаследованных от QThread - один читает из буфера данные и сигналит второму этими данными, который закидывает их в очередь обработки, затем в цикле обрабатывает, не забывая вызывать при каждом цикле qApp->processEvents(); и при каждом парсинге одного события (или респонза) генерит разные свои сигналы. Пока что, событий обрабатывается только три - Newchannel, NewCallerid и Dial. На них на каждое свой сигнал. И эти сигналы уже коннектятся основным потоком куда-либо.
У меня вопрос в другом - какие события можно пропускать? Мне главное просто отрисовывать состояние всех телефонов чисто визуально в GUI. Вытаскиваю список всех телефонов из мускульной базы. Что дальше делать? Описывать полностью все сущности в отдельных классах, чтобы что-то делать с событиями типа VarSet и Newexten, которых просто несметное множество валится? Или можно как-то схитрить и отлавливать только некоторые события, держа в памяти временные списки некоторых небольших сущностей? Прошу годных советов по этому поводу.
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: VoIP
«
Ответ #10 :
Октябрь 26, 2010, 11:22 »
Цитата: JC от Октябрь 26, 2010, 09:56
Мне главное просто отрисовывать состояние всех телефонов чисто визуально в GUI.
Если честно то как отловить состояние телефона не знаю, у меня была немного другая задача.
Цитата: JC от Октябрь 26, 2010, 09:56
Или можно как-то схитрить и отлавливать только некоторые события, держа в памяти временные списки некоторых небольших сущностей?
У меня еще был класс фильтра, в который я заносил имена событий которые нужно отлавливать, и стало быть проверялось если событие есть в фильтре читаем его настройки если нет просто удаляем из очереди.
А что имеется ввиду под состоянием телефона? Просто подключен ли он к серверу, или нужно ловить куда он звонит и что вообще делает?
Записан
Nimbus
Гость
Re: VoIP
«
Ответ #11 :
Октябрь 26, 2010, 12:39 »
Цитата: ecspertiza от Октябрь 26, 2010, 11:22
У меня еще был класс фильтра, в который я заносил имена событий которые нужно отлавливать, и стало быть проверялось если событие есть в фильтре читаем его настройки если нет просто удаляем из очереди.
А что имеется ввиду под состоянием телефона? Просто подключен ли он к серверу, или нужно ловить куда он звонит и что вообще делает?
Я описал нужные события в XML-нике. При загрузке закинул их в QMap с ключём именем события.
Ну да, именно. Как в Free PBX есть Flash Operator Panel. Как в ней всё.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...