AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Завести Asterisk в среде Windows

Флейм 17 сообщений -
#1

Завести 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
#2

А зачем все это? Мне кажется проще запустить тогда уж в виртуалке, чем под виндой. Хотя FreeSwitch отлично работает в Windows и изначально поддерживается разработчиками.
_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
#3

1. Платформа Cygwin оффициально поддерживается, Почему бы не поддержать проект * сделав его работоспособным на этой платформе а не на бумаге. Я не предлагаю залезать в тонкости логики работы компонентво *, а хотя бы грубо поткруть что-бы ехало и не разваливалось по дороге.(нет, ну конечно если можно будет попутно исправить глюки проектирвоания, то тоже будет хорошо)
2. +1 одна работающая платформа - явный профит для проекта в целом.
3. Заодно и прокачиваются навыки понимания *. Баги потом легче ловиться будут. Фичи недостающие, вплоть до реализации не привлекая основных разработчиков.
4. Одна из корневых целей - удешевить стоимость конечного продукта, в которых входит Астериск, за счет -1 набор комп, ибо всё остальное ПО исключительно работает под виндой. Хорошая виртуалка стоит хороших денег. В часности умеющая полностью пробрасывать устройства на PCI шине. (Так как я так и не нашел внешнего E1 шлюза, то придется расчитывать на внутренний, а потому чем раньше * станет работать под виндой, тем сильнее можно будет пинать Digium с требованием писать дрова и под винду).


Если честно, мне лично абсолютно одинаково, на какой платформе начинать работать с *: под винду я программирую профессионально, и задействовать в каком-нибудь прыбыльном проекте опенсорс не проблема, под линух - программирую мало, но это не мешает мне его использовать на полную силу для профита. Я лично мало пострадаю от отсутвия виндовой версии, но большинству новачков легче стартануть под виндой(хотя бы потому что есть нормальный визуальный отладчик).

_________________
Slackware 13.37 - Asterisk 1.8
#4

FeyFre писал(а):
1. ..., а хотя бы грубо поткруть что-бы ехало и не разваливалось по дороге.(нет, ну конечно если можно будет попутно исправить глюки проектирвоания, то тоже будет хорошо)

сотрудник автоваза?!

FeyFre писал(а):

4. Одна из корневых целей - удешевить стоимость конечного продукта

ну да особено стоимость виндовс

FeyFre писал(а):

Так как я так и не нашел внешнего E1 шлюза


ой а я нашел странно Smile http://www.nateks-networks.ru/products/V ... Com_9.html
FeyFre писал(а):
..что есть нормальный визуальный отладчик.

а чем strace плох. gdb?

Added after 2 minutes:

не нужен вилосипед не нужен!! ИМХО Shocked

_________________
нанотехнолигии в области Asterisk
#5

прочел топик по диагонали (смысл понял с первых пары слов)
как по мне так это будет неразумная трата усилий (а это время умноженное на деньги), тут нужен или Спонсор с капиталом который хочет результат любой ценой и сможет позволить себе нанять не одного спеца а команду. тогда результат будет гарантирован. но не вижу смысла изобретать мопед когда уже выдуман мотоцикл. и имя ему 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: видимо больше некуда время свои и силы тратить... Wink
#6

Цитата:
сотрудник автоваза?!
,нет, слишком плохое зрение для ювелирной работы. хирург не можкт обработь алмаз точно так же, как ювелир вырезать аппендецид.
Цитата:
ну да особено стоимость виндовс
Это оффтоп: цена виндовс ==0, ибо его в любом случае покупают для остального софта в т.ч. дял рабочих мест. А отдельная машина для * обойдется в сумму >0
Цитата:
ой а я нашел странно http://www.nateks-networks.ru/products/V ... Com_9.html
1. А какой E1 оно поддерживает? Там не упоминается.
2. Где ж Вы были http://asteriskforum.ru/viewtopic.php?t=8393 ?
Цитата:
а чем strace плох. gdb?
Вопрос чисто холиварный: ну не удобны они, не удобны. До MSVS расти и расти. Месяц мучаюсь, не могу заставить останавливаться на бряках.
Цитата:
не нужен вилосипед не нужен!! ИМХО
вот это нужно было говорить Линусу Торвальдсу когда писал своё ядро.

_________________
Slackware 13.37 - Asterisk 1.8
#7

FeyFre писал(а):
Цитата:
ну да особено стоимость виндовс
Это оффтоп: цена виндовс ==0, ибо его в любом случае покупают для остального софта в т.ч. дял рабочих мест. А отдельная машина для * обойдется в сумму >0

гы. конечно это оффтоп! нужно выделять отдельную машину под АТС а не пытаться крутить её на любом боксе где будет рассадник вирусов у секретарши + всякие офисы и pdf-ы. а квакающий звук в каналах вы видимо в самий низший приориетет ставите. дальше даже коментировать не хочется..

скажу одно (про Линусов тоже) - хотите решение под винду - ПЛАТИТЕ ДЕНЬГИ. точка. и без вариантов. тему можно закрывать ибо не имеет смысла дальше чтото по ней обсуждать, и так уже всё ясно.
#8

Цитата:
imho, у вас неправильные приориететы.
правильные приоритеты. мне сейчас к чертовой бабушке не нужен dahdi - не использую я ихней аппаратуры, но пришлось париться, ибо без него app_meetme не строиться, в котором я заинтересован.
Цитата:
и имя ему 3CX.
я его опробовал ещё до того как связался с * - не подходит. 3CX - узконаправленный, что мне нужно - нету(не говорю уже об лицензии, и слепой любви к postgre), * - конструктор.
Цитата:
выглядит так как будто и не искали вовсе:
ну почему бы это не запостить в теме в которой я спрашивал больше месяца назад? Знал бы прикуп жил бы в Сочи(знал бы ключевые слова по которым искать - не спрашивал бы.) и первой ссылкой меня посылает на, внезапно, циски которые 5 лет как вышли из продажи. ЧЯДНТ?

PS: а тег [ off ] что не работает?

_________________
Slackware 13.37 - Asterisk 1.8
#9

FeyFre писал(а):
Цитата:
imho, у вас неправильные приориететы.
правильные приоритеты. мне сейчас к чертовой бабушке не нужен dahdi - не использую я ихней аппаратуры, но пришлось париться, ибо без него app_meetme не строиться, в котором я заинтересован.
вы про тайминги вообще слышали? Wink эта тема какойто trololo уже.. пора во Флейм переносить. Ибо вижу что вы не остановитесь уже пока своего не докажете, хотя доказывать будете вещи которые другим слишком очевидны чтобы впустую спорить с вами. боюсь закончится все очередным баном (не хотелось бы).

FeyFre писал(а):
Цитата:
и имя ему 3CX.
я его опробовал ещё до того как связался с * - не подходит. 3CX - узконаправленный, что мне нужно - нету(не говорю уже об лицензии, и слепой любви к postgre), * - конструктор.
Я уже ответил - нужен функционал - ПЛАТИТЕ ДЕНЬГИ. вы ведь хотите решение под винду? так сильно её любите?? Тогда ПЛАТИТЕ. Это концепция виндовс в целом - платить за софт, почему же вы так упираетесь и не желаете поддержать своего кумира? (я так и не понял чем вас Линус обидел. наверное тем что дал вам альтернативу и не попросил за неё денег)

FeyFre писал(а):
Цитата:
выглядит так как будто и не искали вовсе:
ну почему бы это не запостить в теме в которой я спрашивал больше месяца назад? Знал бы прикуп жил бы в Сочи(знал бы ключевые слова по которым искать - не спрашивал бы.) и первой ссылкой меня посылает на, внезапно, циски которые 5 лет как вышли из продажи. ЧЯДНТ?
А почему бы мне не приехать в день получки к вам в офис и не получить зарплату за вас? Wink

FeyFre писал(а):
PS: а тег [ off ] что не работает?

В разделе Флейм он избыточен по умолчанию! Laughing
#10

Цитата:
вы про тайминги вообще слышали?
отсутствие изкоробочного тайминга в линуксе - дело десятое, но я не видел винду, у которой не было бы тайминга из коробки, тем более на современных машинах.
Цитата:
эта тема какойто trololo уже.. пора во Флейм переносить. Ибо вижу что вы не остановитесь уже пока своего не докажете
я позиция прежняя и невинная - предлагаю сделать попытку запустить астериск под виндой. на добровольных началах. желающие welcome со мной в дискуссию, авось чего и получится, не желающие - их право. Вы не желающий - не осуждаю, так почему Вы меня осуждаете? За то что Ваша позиция "под виндой софт только платный" а моя "давайте под винду сделаем бесплатный *".
Ваша позиция ясна. Если, как хозяин ресурса, считаете поднятую мною тему оффтопом на этом ресурсе - то прямо это укажите, в правилах где-нибудь, или в условии регистрации, или ещё где. Если просто ищите повод прикрыть не выгодную Вам дискуссию - "ну как бы к литературе это не имеет особого отношения" (с) Д.Громов

_________________
Slackware 13.37 - Asterisk 1.8
#11

Готов стать тестером, если расскажите как собрать.
Сам тоже профессионально пишу под Windows, но к сожалению только на Delphi.

_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
#12

FeyFre писал(а):
отсутствие изкоробочного тайминга в линуксе - дело десятое, но я не видел винду, у которой не было бы тайминга из коробки, тем более на современных машинах.


Ээээ. Таймеры в коробке линукс есть, во всех современных дистрибутивах. Да и их поддержка в * то же уже давно есть. Или для вас новость такие вещи как:
>> res_timer_timerfd.so
>> res_timer_pthread.so

Или вы о чем-то другом?
#13

Цитата:
Или вы о чем-то другом?
Да, о /dev/dahdi/pseudo и о /dev/dahdi/timer который непонятно зачем вынесли в ядро, в то время когда есть res_timer_timerfd.so и res_timer_pthread.so

Цитата:
Готов стать тестером, если расскажите как собрать.
Сам тоже профессионально пишу под Windows, но к сожалению только на Delphi.
Сделаем инструкцию.
Delphi нам конечно не поможет, но не думаю что в этом будет проблема. Патч наложить сможете.

_________________
Slackware 13.37 - Asterisk 1.8
#14

ну если только как академический интерес.... либо заниматься этим в свободное от работы время или иначе говоря от любви к винде, или заниматься этим в рабочее время, но тут стоит подумать, а то время которое будет потрачено на сращивание ежа и ужа - не окупит-ли оно покупку мелкого сервера (12-15т.р.)?
#15

у меня такое чувство, что все это я где то уже видел... http://www.asteriskwin32.com/
#16

xelas, да, был такой проект, но как видите там версия 1.2.26.2(и оно умерло уже). Если кто-то заинтересован, то заинтересован, то заинтересован в более актуальных версиях, а с тех пор много воды утекло, потому делаю с версией 1.8. Потому оттуда материалов не черпаю.
_________________
Slackware 13.37 - Asterisk 1.8
#17

Никто не забыт, ничто не забыто (с)

Вот как-то дошли руки до инструкции для желающих поучаствовать в экспериментах. В принципе, за это время вещей по исправлению было сделано мало(чуть ли не ноль), но тем не менее с момента последней занятости проектом в июле и до сейчас наблюдался прогресс: нынешняя актуальная версия 1.8.7.1 работает в отличии от той 1.8.5-rc1(не работала вообще). Возможно * поправили, возможно cygwin, не важно, но это повторно вдохновило что-то делать, а делать есть что.

Инструкция и патчи прилагаются.
Проверить функционала самостоятельно успелось мало(почти ничего):
создал конфигурацию для одно SIP-устройство, создал простой диалплан Answer - Echo - дозвонился софт-клиентом, функция работает. Хард-клиенты не пробовал(не имею в наличии), из софт клиентов пробовал только sjphone(который почнму-то не смог связаться), и Miranda(есть там плагин SIP протокола, который и заоаботал).

_________________
Slackware 13.37 - Asterisk 1.8