Название: VoIP Отправлено: Nimbus от Октября 05, 2010, 13:56 Сопсна сабж. Имееются ли в библиотеке Qt 4.7 классы для работы с IP-телефонией? На сервере крутится Asterisk, интерфейс пока только через Free PBX флешовый кривой и с глюками. Необходимо сделать десктопное приложение - аналог флешового интерфейса. Что для этого требуется. Погуглив, нашёл это (http://doc.qt.nokia.com/qtextended4.4/syscust-voip.html). Только вот где скачать данный сабж? Как собрать библиотеки под венду на MinGW. Сайт http://qtextended.org/ очень "информативный", конечно же. Или это уже не требуется в 4.7 и есть аналог?
Название: Re: VoIP Отправлено: ecspertiza от Октября 05, 2010, 14:45 Почитав вот это http://www.voip-info.org/wiki/view/Asterisk+manager+API я писал свои классы для подключения, звонков и т.д. к сожалению поделится не могу проект коммерческий, но у меня отняло что то около дня на реализацию основного функционала, общаешься по TCP просто шлешь нужные заголовки и получаешь ответы я реализацию писал на boost::asio. Это на случай если на Qt ничего не найдешь :)
Название: Re: VoIP Отправлено: Nimbus от Октября 05, 2010, 17:56 Но ведь в ранних версиях Qt это было же реализовано. И классы эти в том мануале. Не могли же они просто так взять и убрать эту фичу?
Название: Re: VoIP Отправлено: ритт от Октября 05, 2010, 20:07 Qt Extended != Qt
ищите исходники и пользуйте ) Название: Re: VoIP Отправлено: Nimbus от Октября 06, 2010, 04:13 Ой, пардон, неправильно выразился. Qt Extended я и ищу, грубо говоря. Где его можно скачать?
http://qt.nokia.com/about/news/qt-software-discontinues-qt-extended/ Мды. Теперь в нынешнем 4.7 где это всё находится? Название: Re: VoIP Отправлено: crackedmind от Октября 11, 2010, 08:06 А помойму нигде щас не находится. Возможно в будущем появится в пакете Qt Mobility.
Название: Re: VoIP Отправлено: crossly от Октября 18, 2010, 12:57 Ой, пардон, неправильно выразился. Qt Extended я и ищу, грубо говоря. Где его можно скачать? http://qtmoko.org/ (http://qtmoko.org/)http://qt.nokia.com/about/news/qt-software-discontinues-qt-extended/ Мды. Теперь в нынешнем 4.7 где это всё находится? Название: Re: VoIP Отправлено: Nimbus от Октября 26, 2010, 06:51 Эмммм... Может, кто-нибудь уже делал парсер логов астериска? Просто их валится огромное количество даже от внутреннего звонка. Какие события надо парсить? Или лучше спросить - существуют ли открытые исходники парсеров логов астериска?
Название: Re: VoIP Отправлено: ecspertiza от Октября 26, 2010, 08:32 Я делал так, создавал два подключения, одно из них с "Events: off" и оно просто передает команды, а второе для чтения монитора(стало быть с Events: on), помимо этого создал два потока, один пишет данные в буффер из монитора, второй читает данные из буфера и удаляет, и реализовал два класса (странно как то всего по два ???) один класс читает из самого буфера данные блоками прочитал и удалил блок, блок данных это с начала текста и до "\n\r" у меня это один блок, потом передаю его второму классу который парсит сам блок и может возвращать из него значения, по имени. Исходниками не поделюсь ибо проект коммерческий, но так вроде все хорошо расписал, я реализовал за пол дня, думаю тоже справишься ;)
Название: Re: VoIP Отправлено: Nimbus от Октября 26, 2010, 09:56 Я делал так, создавал два подключения, одно из них с "Events: off" и оно просто передает команды, а второе для чтения монитора(стало быть с Events: on), помимо этого создал два потока, один пишет данные в буффер из монитора, второй читает данные из буфера и удаляет, и реализовал два класса (странно как то всего по два ???) один класс читает из самого буфера данные блоками прочитал и удалил блок, блок данных это с начала текста и до "\n\r" у меня это один блок, потом передаю его второму классу который парсит сам блок и может возвращать из него значения, по имени. Исходниками не поделюсь ибо проект коммерческий, но так вроде все хорошо расписал, я реализовал за пол дня, думаю тоже справишься ;) Спасибо за идею про два подключения - тоже надо бы так сделать. А другое всё как и у вас. Создал два класса, унаследованных от QThread - один читает из буфера данные и сигналит второму этими данными, который закидывает их в очередь обработки, затем в цикле обрабатывает, не забывая вызывать при каждом цикле qApp->processEvents(); и при каждом парсинге одного события (или респонза) генерит разные свои сигналы. Пока что, событий обрабатывается только три - Newchannel, NewCallerid и Dial. На них на каждое свой сигнал. И эти сигналы уже коннектятся основным потоком куда-либо.У меня вопрос в другом - какие события можно пропускать? Мне главное просто отрисовывать состояние всех телефонов чисто визуально в GUI. Вытаскиваю список всех телефонов из мускульной базы. Что дальше делать? Описывать полностью все сущности в отдельных классах, чтобы что-то делать с событиями типа VarSet и Newexten, которых просто несметное множество валится? Или можно как-то схитрить и отлавливать только некоторые события, держа в памяти временные списки некоторых небольших сущностей? Прошу годных советов по этому поводу. Название: Re: VoIP Отправлено: ecspertiza от Октября 26, 2010, 11:22 Мне главное просто отрисовывать состояние всех телефонов чисто визуально в GUI. Если честно то как отловить состояние телефона не знаю, у меня была немного другая задача. Или можно как-то схитрить и отлавливать только некоторые события, держа в памяти временные списки некоторых небольших сущностей? У меня еще был класс фильтра, в который я заносил имена событий которые нужно отлавливать, и стало быть проверялось если событие есть в фильтре читаем его настройки если нет просто удаляем из очереди. А что имеется ввиду под состоянием телефона? Просто подключен ли он к серверу, или нужно ловить куда он звонит и что вообще делает? Название: Re: VoIP Отправлено: Nimbus от Октября 26, 2010, 12:39 У меня еще был класс фильтра, в который я заносил имена событий которые нужно отлавливать, и стало быть проверялось если событие есть в фильтре читаем его настройки если нет просто удаляем из очереди. А что имеется ввиду под состоянием телефона? Просто подключен ли он к серверу, или нужно ловить куда он звонит и что вообще делает? Ну да, именно. Как в Free PBX есть Flash Operator Panel. Как в ней всё. |