Завести Asterisk в среде Windows
Поставил себе задачу запустить и заставить работать Asterisk под виндами(пока только x32). Ищу заинтересованных товарищей, ибо самостоятельно эту ношу не потяну.
Что сделано:
Скачан и установлен Cygwin + среда сборки(gcc + остальной GNU toolchain и пр).
Скачаны, построены и установлены некоторые критические зависимости(типа libxml2 и minires, ещё может быть что-то, что сейчас с ходу не назову).
Скачаны, построены и установлены опциональные но желательные либы(libpri, libss7, ssl)
Ну и скачан и активно пробуется строится и запускаться Asterisk, в частности версии 1.8, 1.8.4.4 и 1.8.5-rc1
Парочка спокойных вечеров, километры вымотанных нервов, пара левых патчей на cygwin, столько же на asterisk и имеем такую картину:
Ядро Asterisk, и большинство популярных модулей, на которые нашлись зависимости(исключая chan_iax2) строятся вполне сносно. После некоторого шаманства asterisk.exe -cvvvvvvdddddd запускается, не особо матерится, в общем для начала пойдет.
Какие есть проблемы:
0. Очень нужен опыт в плане трасировки/отладки в cygwin и(или хотя бы) астериска в частности(трасировщики, отладчики, отладочные билды и пр.), ибо у меня такого опыта нету(95% опыта разработки в нативных приложений для винды - MSVC и пр., с mingw32 и философией gcc знаком и согласен мало(и что-то оно мне не лезет))
1. Не строятся кое-какие важные модули. Например тот же chan_iax2(я если честно, не знаю его популярность), и как не сложно догадаться *dahdi* а за ним и app_meetme(ИМХО более приоритетнее чем *dahdi*).
Если с chan_iax2 проблему скорее всего удастся спихнуть на разработчиков, то с app_meetme они нам не помогут(они сами мало заинтересованны в этой платформе(ибо спроса нету), но всё же не полностью забросили).
2. Совсем не(или не совсем) понятно как научить * пользоваться архитектурой файловой(и модульной) системы винды, натравливать на нужные конфигурационные файлы, пути с модулями, и ресурсами.
3. Этого я даже ещё не рассматривал: как поведет себя AGI
4. Самая критичная проблема(вылазит и п.2): asterisk то запускается, но любая попытка подгрузить модуль(любой) заканчивается тихим(очень тихим) падением. Потому ни один модуль пока не проверен.
Решение проблем: собственно пытаюсь хоть что-то сдвинуть с места, но этого мало. Да, в одном месте поправил, и оно начало компилироваться, в втором - начало линковаться, в третьем - запустилось. Но этого мало, а у меня опыта ещё меньше. Запостил 5 багов в багтрекер:
раз,два,три,четыре,пять
- реакция на них средняя: там ткнули носом в решение, тот закрыли а потом открыли(от Russell-а пинка получили, да и открыли), там попросили патч, в общем по разному.
Предлагаю всех заинтересованных(и не заинтересованных) присоединится. Обменяться опытом, поделиться наработками, инструментарием. Можно организовать какой-нибудь ресурс. Очень хочется что-бы заработало и под WIN32.
ЗЫ: составляю пока пост в asterisk-dev, тут уместнее. Но так как не знаю на сколько популярен этот раздел, то не буду против если перенесут тему в более открытое место.
_________________
Slackware 13.37 - Asterisk 1.8
_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
2. +1 одна работающая платформа - явный профит для проекта в целом.
3. Заодно и прокачиваются навыки понимания *. Баги потом легче ловиться будут. Фичи недостающие, вплоть до реализации не привлекая основных разработчиков.
4. Одна из корневых целей - удешевить стоимость конечного продукта, в которых входит Астериск, за счет -1 набор комп, ибо всё остальное ПО исключительно работает под виндой. Хорошая виртуалка стоит хороших денег. В часности умеющая полностью пробрасывать устройства на PCI шине. (Так как я так и не нашел внешнего E1 шлюза, то придется расчитывать на внутренний, а потому чем раньше * станет работать под виндой, тем сильнее можно будет пинать Digium с требованием писать дрова и под винду).
Если честно, мне лично абсолютно одинаково, на какой платформе начинать работать с *: под винду я программирую профессионально, и задействовать в каком-нибудь прыбыльном проекте опенсорс не проблема, под линух - программирую мало, но это не мешает мне его использовать на полную силу для профита. Я лично мало пострадаю от отсутвия виндовой версии, но большинству новачков легче стартануть под виндой(хотя бы потому что есть нормальный визуальный отладчик).
_________________
Slackware 13.37 - Asterisk 1.8
| FeyFre писал(а): |
| 1. ..., а хотя бы грубо поткруть что-бы ехало и не разваливалось по дороге.(нет, ну конечно если можно будет попутно исправить глюки проектирвоания, то тоже будет хорошо) |
сотрудник автоваза?!
| FeyFre писал(а): |
| 4. Одна из корневых целей - удешевить стоимость конечного продукта |
ну да особено стоимость виндовс
| FeyFre писал(а): |
| Так как я так и не нашел внешнего E1 шлюза |
ой а я нашел странно
| FeyFre писал(а): |
| ..что есть нормальный визуальный отладчик. |
а чем strace плох. gdb?
Added after 2 minutes:
не нужен вилосипед не нужен!! ИМХО
_________________
нанотехнолигии в области Asterisk
как по мне так это будет неразумная трата усилий (а это время умноженное на деньги), тут нужен или Спонсор с капиталом который хочет результат любой ценой и сможет позволить себе нанять не одного спеца а команду. тогда результат будет гарантирован. но не вижу смысла изобретать мопед когда уже выдуман мотоцикл. и имя ему 3CX.
Если вы фанат-спонсор то платите и всё будет, иначе проект умрет еще в зародыше однозначно. Никто не захочет ехать бригадой полоть грядки в африке за зарплату ниже (фактически меньше нуля) чем там получают местные жители за туже работу, в этом нет смысла.
Added after 3 minutes:
зы:
| FeyFre писал(а): |
| *dahdi* а за ним и app_meetme(ИМХО более приоритетнее чем *dahdi*). |
imho, у вас неправильные приориететы.
Added after 4 minutes:
| FeyFre писал(а): |
| Так как я так и не нашел внешнего E1 шлюза |
выглядит так как будто и не искали вовсе:
в гугле вбиваем "external E1" (пруфлинк)
первой же ссылкой(!!!) отдает http://parabel-labs.com/products/elf2-ae/
а если в запрос еще добавить слово voip то просто гора ссылок, пример.
ps: видимо больше некуда время свои и силы тратить...
| Цитата: |
| сотрудник автоваза?! |
| Цитата: |
| ну да особено стоимость виндовс |
| Цитата: |
| ой а я нашел странно http://www.nateks-networks.ru/products/V ... Com_9.html |
2. Где ж Вы были http://asteriskforum.ru/viewtopic.php?t=8393 ?
| Цитата: |
| а чем strace плох. gdb? |
| Цитата: |
| не нужен вилосипед не нужен!! ИМХО |
_________________
Slackware 13.37 - Asterisk 1.8
| FeyFre писал(а): | ||
|
гы. конечно это оффтоп! нужно выделять отдельную машину под АТС а не пытаться крутить её на любом боксе где будет рассадник вирусов у секретарши + всякие офисы и pdf-ы. а квакающий звук в каналах вы видимо в самий низший приориетет ставите. дальше даже коментировать не хочется..
скажу одно (про Линусов тоже) - хотите решение под винду - ПЛАТИТЕ ДЕНЬГИ. точка. и без вариантов. тему можно закрывать ибо не имеет смысла дальше чтото по ней обсуждать, и так уже всё ясно.
| Цитата: |
| imho, у вас неправильные приориететы. |
| Цитата: |
| и имя ему 3CX. |
| Цитата: |
| выглядит так как будто и не искали вовсе: |
PS: а тег [ off ] что не работает?
_________________
Slackware 13.37 - Asterisk 1.8
| FeyFre писал(а): | ||
| Цитата: |
| imho, у вас неправильные приориететы. |
вы про тайминги вообще слышали?
| FeyFre писал(а): | ||
| Цитата: |
| и имя ему 3CX. |
Я уже ответил - нужен функционал - ПЛАТИТЕ ДЕНЬГИ. вы ведь хотите решение под винду? так сильно её любите?? Тогда ПЛАТИТЕ. Это концепция виндовс в целом - платить за софт, почему же вы так упираетесь и не желаете поддержать своего кумира? (я так и не понял чем вас Линус обидел. наверное тем что дал вам альтернативу и не попросил за неё денег)
| FeyFre писал(а): | ||
| Цитата: |
| выглядит так как будто и не искали вовсе: |
А почему бы мне не приехать в день получки к вам в офис и не получить зарплату за вас?
| FeyFre писал(а): |
| PS: а тег [ off ] что не работает? |
В разделе Флейм он избыточен по умолчанию!
| Цитата: |
| вы про тайминги вообще слышали? |
| Цитата: |
| эта тема какойто trololo уже.. пора во Флейм переносить. Ибо вижу что вы не остановитесь уже пока своего не докажете |
Ваша позиция ясна. Если, как хозяин ресурса, считаете поднятую мною тему оффтопом на этом ресурсе - то прямо это укажите, в правилах где-нибудь, или в условии регистрации, или ещё где. Если просто ищите повод прикрыть не выгодную Вам дискуссию - "ну как бы к литературе это не имеет особого отношения" (с) Д.Громов
_________________
Slackware 13.37 - Asterisk 1.8
Сам тоже профессионально пишу под Windows, но к сожалению только на Delphi.
_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
| FeyFre писал(а): |
| отсутствие изкоробочного тайминга в линуксе - дело десятое, но я не видел винду, у которой не было бы тайминга из коробки, тем более на современных машинах. |
Ээээ. Таймеры в коробке линукс есть, во всех современных дистрибутивах. Да и их поддержка в * то же уже давно есть. Или для вас новость такие вещи как:
>> res_timer_timerfd.so
>> res_timer_pthread.so
Или вы о чем-то другом?
| Цитата: |
| Или вы о чем-то другом? |
| Цитата: |
| Готов стать тестером, если расскажите как собрать. Сам тоже профессионально пишу под Windows, но к сожалению только на Delphi. |
Delphi нам конечно не поможет, но не думаю что в этом будет проблема. Патч наложить сможете.
_________________
Slackware 13.37 - Asterisk 1.8
_________________
Slackware 13.37 - Asterisk 1.8
Вот как-то дошли руки до инструкции для желающих поучаствовать в экспериментах. В принципе, за это время вещей по исправлению было сделано мало(чуть ли не ноль), но тем не менее с момента последней занятости проектом в июле и до сейчас наблюдался прогресс: нынешняя актуальная версия 1.8.7.1 работает в отличии от той 1.8.5-rc1(не работала вообще). Возможно * поправили, возможно cygwin, не важно, но это повторно вдохновило что-то делать, а делать есть что.
Инструкция и патчи прилагаются.
Проверить функционала самостоятельно успелось мало(почти ничего):
создал конфигурацию для одно SIP-устройство, создал простой диалплан Answer - Echo - дозвонился софт-клиентом, функция работает. Хард-клиенты не пробовал(не имею в наличии), из софт клиентов пробовал только sjphone(который почнму-то не смог связаться), и Miranda(есть там плагин SIP протокола, который и заоаботал).
_________________
Slackware 13.37 - Asterisk 1.8