Сборка Asterisk под OpenWRT

Linux/*BSD и всё что с ними связано.

Модераторы: Admins, Модераторы

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 22 сен 2013, 12:46

Да тут, надо весьма много знать, уже прочитал статью про Makefile на хабре, осилил на Openwrt статью про их Makefile. И конечно остаётся вопрос, почему в конфигах написано это, а не по другому. Тут вообще тёмный лес получается для меня :(

Но вот тут наткнулся на такое

https://dev.openwrt.org/browser/package ... ?rev=35548


А в svn его нет....

svn co svn://svn.openwrt.org/openwrt/packages/ | grep aster
A packages/net/ntripcaster
A packages/net/ntripcaster/Makefile

Скопирую с веба ручками, лишнее по удаляю... Или я не по тому пути в этот SVN смотрю? Хотя уже всякие пути по перепробовал.

Аватара пользователя
anest
Модератор
Сообщения: 5700
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 23 сен 2013, 19:12


EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 27 сен 2013, 05:22

Угу, спасибо, тыкал, тыка, не натыкал я :), надо будет на 450G по развлекаться, потому что там есть консольник и завалить не страшно, только его сейчас на руках нет. Да же в транке есть 11 астериск :D

Я тут по другому начал развлекаться ещё на RB951G (600 Mhz, 128 RAM , 128 Flash) , т.к. делать makefile не смог сам для asterisk 11, по этому воспользовался вот этим

http://openwrt.wk.cz/trunk/mr-mips/packages/

Установил всё под MetaRouter, 12-15 звонков сквозных через Астериск (с основного Астериска на cisco, коллфайлами по 2 коннекта подряд нагружал) , нагрузка на линуксе 99%, на роутере 20% общая. Т.е. ещё и как роутер можно использовать.

Тестировал на 711alaw, без конвертаций, т.к. и не хотелось и нет кодека 729 в наличии собранного в том репозитарии, только формат.

Хм, теперь найти как сделать компиляцию под MetaRouter, на сайте микротика есть, есть какой-то минимальный makefile, но что и как я вообще ещё не в зуб ногой.

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 27 сен 2013, 12:51

Вот нашёл

Для версии 3.10.4 ядра в trunk 3.10.12, заменил тупо заменой, посмотрю соберётся ли
https://forum.openwrt.org/viewtopic.php?id=45613

Вот уже образ скомпиленый , но 3.3.4 версия.

http://www.kriskinc.com/mikrotik-metarouter

Added after 1 hours 6 minutes:

НЕ скомпилелось :(

[spoiler]

Код: Выделить всё

Applying patch platform/000-linux-metarouter.patch
patching file arch/mips/include/asm/fixmap.h
Hunk #1 FAILED at 68.
1 out of 1 hunk FAILED -- rejects in file arch/mips/include/asm/fixmap.h
patching file arch/mips/include/asm/io.h
Hunk #1 FAILED at 201.
Hunk #2 FAILED at 209.
2 out of 2 hunks FAILED -- rejects in file arch/mips/include/asm/io.h
patching file arch/mips/include/asm/mach-metarouter/kernel-entry-init.h
patching file arch/mips/include/asm/mach-metarouter/spaces.h
patching file arch/mips/include/asm/mach-metarouter/war.h
patching file arch/mips/include/asm/vm.h
patching file arch/mips/Kconfig
Hunk #1 succeeded at 713 with fuzz 2 (offset 1 line).
patching file arch/mips/metarouter/Platform
patching file arch/mips/Kbuild.platforms
patching file arch/mips/metarouter/irq.c
patching file arch/mips/metarouter/Makefile
patching file arch/mips/metarouter/prom.c
patching file arch/mips/metarouter/setup.c
patching file drivers/char/hvc_meta.c
patching file drivers/char/Kconfig
Hunk #1 succeeded at 157 with fuzz 2.
patching file drivers/char/Makefile
Hunk #1 FAILED at 7.
1 out of 1 hunk FAILED -- rejects in file drivers/char/Makefile
patching file drivers/net/Kconfig
Hunk #1 succeeded at 287 with fuzz 2.
patching file drivers/net/Makefile
patching file drivers/net/mtveth.c
patching file fs/Kconfig
patching file fs/Makefile
Hunk #1 FAILED at 72.
1 out of 1 hunk FAILED -- rejects in file fs/Makefile
patching file fs/metafs/inode.c
patching file fs/metafs/Kconfig
patching file fs/metafs/Makefile
Patch platform/000-linux-metarouter.patch does not apply (enforce with -f)
make[4]: *** [/home/openwrt/trunk/build_dir/target-mips_mips32_uClibc-0.9.33.2/linux-mr-mips/linux-3.10.12/.quilt_checked] Error 1
make[4]: Leaving directory `/home/openwrt/trunk/target/linux/mr-mips'
make[3]: *** [compile] Error 2
make[3]: Leaving directory `/home/openwrt/trunk/target/linux'
make[2]: *** [target/linux/compile] Error 2
make[2]: Leaving directory `/home/openwrt/trunk'
make[1]: *** [/home/openwrt/trunk/staging_dir/target-mips_mips32_uClibc-0.9.33.2/stamp/.target_compile] Error 2
make[1]: Leaving directory `/home/openwrt/trunk'
make: *** [world] Error 2
[/spoiler]

Added after 1 hours 7 minutes:

Попробовал проиграть файл голосовой кодек wav, нагрузка 100%, заикается.
Подсунул мелкий файла alaw коде, тоже самое заикается
:(

Аватара пользователя
anest
Модератор
Сообщения: 5700
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 28 сен 2013, 07:33

Заикается потому что нет таймингов. Пили дальше, все получится :) тоько перерывы на сон не забывай делать.

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 28 сен 2013, 09:46

А 99-100% загрузка проца это тоже от таймингов проблема?

Added after 20 minutes:

Да нагрузка на проц от этого :D :lol:

Не долго думаю\я поставил это

asterisk18-res-timing-pthread_1.8.10.0-1_mr-mips.ipk
asterisk18-res-timing-timerfd_1.8.10.0-1_mr-mips.ipk

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 01 окт 2013, 08:46

Немного откатился и залил пакеты от kamikadze и образ, т.к. там добрые люди тоже собрали asterisk 1.8. Накатил на это asterisk-gui_2.1.0-rc1_mips.ipk, зашёл там потыкался, практически всё понятно из основного.
Но тут затыка есть, нет модуля очередей, поставил все пакеты из репозитария который указывал сверху, но нет модуля очередей :(
Надо посмотреть, может собрать можно.

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 12 окт 2013, 05:21

Скачал старый транк 29684, содрал по этой статье пакеты с backfire
Из свежего транка, в каталог для микротика переносим
./scripts/feeds (позволит вытащить свежие пакеты, а не указанной ревизии, ну и там ещё по мелочи)
./feeds.conf.default
./include/autotools.mk (исправит ошибку — Unsupported libtool version)
./tools/libtool — каталог целиком
Для сборки пакетов, требующих glib2 придётся сделать ещё один финт ушами — скачать транк из ветки backfire
В общем выполнил ./scripts/feeds update -a и ./scripts/feeds install -a , приминил патч, от микротика v1.2, всё собралось нормально в астериске, то что не вошло в пакеты, такие модули как app_queue.so queues.conf res_monitor.so res_timing_pthread.so res_timing_timerfd.so, покопировал на микротик руками и их астериск скушал отлично :)

Теперь новая затыка, астериск не собирает модуль конференции, потому что нет dahdi, но есть zaptel 1.4, попробовал прикрутить по такому

https://forum.openwrt.org/viewtopic.php?id=32048

Код: Выделить всё

cat feeds/packages/libs/dahdi/Makefile
#
# Copyright (C) 2006-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=dahdi-linux-complete
PKG_VERSION:=2.3.0.1+2.3.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/
PKG_MD5SUM:=947cc668a8e6a24d6fb1fb1ee52049a8
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
define Package/dahdi
  SECTION:=libs
  CATEGORY:=Libraries
  TITLE:=DAHDI linux driver
  URL:=http://downloads.asterisk.org/pub/telephony/dahdi/
endef
define Package/dahdi/description
DAHDI module
endef
define Build/Configure
endef
TARGET_CFLAGS += $(FPIC)
define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                $(TARGET_CONFIGURE_OPTS) \
                HOSTCC="$(HOSTCC)" \
                CFLAGS="$(TARGET_CFLAGS) -I. \
                KSRC="$(LINUX_DIR)" \
                KVERS="$(LINUX_VERSION)" \
                DESTDIR="$(PKG_INSTALL_DIR)" \
endef
define Build/InstallDev
        ls -l $(INSTALL_DIR)
endef

define  Package/dahdi/install
        $(INSTALL_DIR) $(1)/usr/lib
#        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libtonezone.so.* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,dahdi))

При компиляции, получаю фигу

Код: Выделить всё

$ make V=99 package/dahdi/compile
make[1]: Entering directory `/home/openwrt/8.09/trunk'
make[1]: *** No rule to make target `package/dahdi/compile'.  Stop.
make[1]: Leaving directory `/home/openwrt/8.09/trunk'
make: *** [package/dahdi/compile] Error 2

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 12 окт 2013, 12:18

Забил на это, не видит и не видит make мой make file сборщик и в make menuconfig нет пакета, решил пойти по другому пути немного, нарыл вот такое

https://dev.openwrt.org/ticket/9491#no1
Скачал файлы
dahdilinux.tar​, dahditools.tar​

Распихал их содержимое dahdilinux.tar в ./package и dahditools.tar в ./feeds/packages/net

+100500 раз удалил их опять скопировал, сделал make clean в директории trunk, несколько раз, запустил по новой компиляцию.
И удалось начать выполнять такое

make package/dahdilinux/compile V=99

До бубна, просто говорило, что не определено вот такое package/dahdilinux/compile

Но dahdi не собирается :(

Код: Выделить всё

/home/openwrt/8.09/trunk/build_dir/linux-mr-mips/dahdi-linux-2.4.1.2/drivers/dahdi/voicebus/voicebus.c:1193:2: error: implicit declaration of function 'pci_clear_mwi'
/home/openwrt/8.09/trunk/build_dir/linux-mr-mips/dahdi-linux-2.4.1.2/drivers/dahdi/voicebus/voicebus.c: In function '__voicebus_init':
/home/openwrt/8.09/trunk/build_dir/linux-mr-mips/dahdi-linux-2.4.1.2/drivers/dahdi/voicebus/voicebus.c:1817:2: error: implicit declaration of function 'pci_set_mwi'
make[6]: *** [/home/openwrt/8.09/trunk/build_dir/linux-mr-mips/dahdi-linux-2.4.1.2/drivers/dahdi/voicebus/voicebus.o] Error 1


Added after 8 minutes:

В dahdilinux поменял на версию 2.5.1, и поменял md5sum, первый раз забыл, собралось. Дальше смотрим...

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 16 окт 2013, 08:30

Ну всё тупик :cry:
Удалось собрать и asterisk18 и dahdilinux, dahditools, там на правил в Makefile как надо, но пробовал на другую архитектуру brcm47xx (AR71xxx), но как только в конфигураторе выбираю архитектуру Microtik Metarouter Mips, всё в конфигураторе исчезают пункты по выбору создания пакеты kmod-dahdi-linux, dahdi-monitor, dahdi-cfg, dahdi-tools-libtonezone

Во что смотреть? Почему вообще такое может быть? Не понимаю, не знаю как понять.
Помогите в какое направление думать?

Added after 1 hours 1 minutes:

USB_SUPPORT - закоменчиваю в Makefile с dahdilinux.
MetaRouter не даёт доступ к USB, не знаю соберётся ли теперь...

Added after 6 minutes:

Но всё равно думаю это тупик, с чего прерывания будет кушать dahdi, хотя может в эмуляции есть эмуляция IRC или типа того. Блин плохо плохо знать :(

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 16 окт 2013, 12:53

Как подебажить asterisk-gui, говорит не видит он страничку мою

Код: Выделить всё

http://192.168.110.47:8088/static/config/index.html
Где написано в конфигах, что страничка лжит по такому пути там-то там, как типа в апаче.
Один раз пустило, сменило пароль и перестало пускать, переустановил пакет, предварительно удалил его, больше не спросило.

Порт открыт

Код: Выделить всё

tcp        0      0 0.0.0.0:8088            0.0.0.0:*               LISTEN      2044/asterisk
Собрался dahdi и на астериске модули очереди, модуль realtime, хотел бы узнать IVR в каком модуле сидит?

Added after 15 minutes:

Хм, легче не стало, что значит не понимаю.

Код: Выделить всё

[Oct 16 11:55:03] DEBUG[2124]: http.c:681 handle_uri: HTTP Request URI is /static/config/index.html 
[Oct 16 11:55:03] DEBUG[2124]: http.c:730 handle_uri: match request [static/config/index.html] with handler [httpstatus] len 0
[Oct 16 11:55:03] DEBUG[2124]: http.c:730 handle_uri: match request [static/config/index.html] with handler [amanager] len 10
[Oct 16 11:55:03] DEBUG[2124]: http.c:730 handle_uri: match request [static/config/index.html] with handler [arawman] len 8
[Oct 16 11:55:03] DEBUG[2124]: http.c:730 handle_uri: match request [static/config/index.html] with handler [manager] len 7
[Oct 16 11:55:03] DEBUG[2124]: http.c:730 handle_uri: match request [static/config/index.html] with handler [rawman] len 7
[Oct 16 11:55:03] DEBUG[2124]: http.c:730 handle_uri: match request [static/config/index.html] with handler [static] len 6

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 17 окт 2013, 04:03

Подскажите плиз, где задумано разработчиками положение http страниц для встроенного http сервера asterisk?

/usr/lib/asterisk/static-http
/usr/lib/asterisk/static
/usr/share/asterisk/static-http
/usr/share/asterisk/static
Или совсем по другому?

Added after 13 minutes:

Родил ответ

Код: Выделить всё

mkdir /var/lib
mkdir /var/lib/asterisk
ln -s /usr/lib/asterisk/static-http /var/lib/asterisk/static-http
Нашёл в исходниках астериска

Код: Выделить всё

astdatadir => /var/lib/asterisk
	

for x in static-http/*; do \
		$(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/static-http" ; \ 

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 17 окт 2013, 08:38

Вот может кому пригодиться готовое решение, взял с форума mikrotik http://www.nconx.com/~nathan/ast-owrt-m ... ips_b4.tgz

От туда взял себе папку static-http, ещё не знаю, что сделал, не проходил ping, не понял почему, не было tcpdump на моей openwrt, что бы заглянуть в ami, у меня пинг проходил, сам строчку в браузер втыкал
192.168.110.47:8088/rawman?action=login&username=admin&secret=admin123
А asterisk-gui, гонял пинг по кругу, бесконечно.

ещё файла одного не хватало у меня guipreferences.conf , нашёл конфиг первый попавшийся в инете, и воткнул его.

Пока что веб работает, астериск стартует. Не пробовал ни чего ещё. Блин хоть бы работало.

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 21 окт 2013, 09:59

Почему астериск отказывается проигрывать файлы формата wav

Код: Выделить всё

[Oct 21 08:57:54] WARNING[4790]: format_wav.c:171 check_header: Read failed (block header format)
[Oct 21 08:57:54] WARNING[4790]: file.c:376 fn_wrapper: Unable to open format wav
Модули есть

Код: Выделить всё

OpenWrt*CLI> module show like wav
Module                         Description                              Use Count 
format_wav_gsm.so              Microsoft WAV format (Proprietary GSM)   0         
format_wav.so                  Microsoft WAV/WAV16 format (8kHz/16kHz S -11    

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 21 окт 2013, 17:45

Нужен этот патч
https://issues.asterisk.org/jira/secure ... _wav.patch - немного поправить путь до файла format_wav.c, положить с в директорию патчей для пакета Астериска.
Играет теперь шкатулка-макатулка.

Аватара пользователя
anest
Модератор
Сообщения: 5700
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 21 окт 2013, 18:08

:P
и даже не заикается?

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 22 окт 2013, 13:02

99% не заикается проигрывание файла, 1% как бы стук мелкий, раз в 10-15 секунд, не шибко слышный. В общем вполне и вполне. Ну голос между человеками заикаться не будет, по определению :).
Из багов, не могу загрузить через веб свой голосовой файл, узнал от друзей, что JS грузит файлы submit скрытой формы, пока что не знаю, как мне это поможет.

Проверил очереди, IVR.
Факсы я так понял конвертить 1.8.8 не умеет, но модуль res_fax.so в системе загружен. Просто есть тема, что чудо коробку подключать к провайдеру у которого T.30, а восьмёрку на прова, где факс Т.38 ибо инет гумус и другой протокол фигня. Думаю будет насквозь работать в любом случае.

Ещё конференцию попробовать нужно, вдруг чаго там бажного тоже есть. И нет agi (не смотрел в мейк файле, зависимость, просто не доступно --), думаю надо там perl или php заинсталить.

В общем прикольно получается, офис в одной коробке и инет резать можно на микротике хоть по мегабайтно в месяц и скорости, и АТС получается и тунель можно создать, если злой опсос опять порубит SIP, как было в начале года.

Ещё из минусов, нельзя всё время быть в консоли микротика, на второй третий день, вешается виртуалка, и если там чаго вебка делала с конфигом, она не дописывает файлы и усё тормоши бекап.

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 23 окт 2013, 12:56

А ещё народ просто ребутнул и всё нема метароутера, как сдуло.
Сейчас попробую 6.5 версию Микротика.

Added after 3 hours 26 minutes:

Поставил прошивку 6.5, туда залил по новой всё, чуть другая прошивка по байтам почему-то получилась, не знаю почему.
100% не заикалось, потом через минутку начало чуть чуть подцоковать. Что можно крутить из таймингов и есть ли в этом смысл?

Единственное просто сам по себе микротик перезагрузился, в последняя время микротики чёт тупить начинают иногда. Связываю с тем что цена за год не поменялась на роутеры с завода, а инфляция как бы 7-10% глобальная.

Added after 5 minutes:

WireSharkom проиграл дамп звонка, звук идеален, таки и должно быть?

bg1
Сообщения: 238
Зарегистрирован: 11 ноя 2010, 21:11

Сообщение bg1 » 12 сен 2014, 12:22

ну вот, насчёт бубна оказался прав.

Всё ещё не понимаю, зачем этот откровенно говоря геморрой лепить.
2014 год, неужели с железом такой дефицит?
Для этого хлама же ни кодеков ничего не собрать, тестов полноценных не провести.

Я бы понял если бы массовое производство было, >10000 девайсов с предустановленным ПО.
Ради экземпляра зачем всё это? Время потраченное на сборку этого установку - оно дороже чем Atom без вентилятора.
Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/
Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI

Ответить