./configure --prefix=/usr
make
make install
копируем app_rxfax.c app_txfax.c в /usr/src/asterisk-1.4.х/apps
в /usr/src/asterisk-1.4.х/ правим: (добавляем строчку только ту, что с +. Остальные строки написаны для того, чтобы было понятно где это!!!)
| Код: |
| build_tools/menuselect-deps.in RADIUS=@PBX_RADIUS@ +SPANDSP=@PBX_SPANDSP@ SPEEX=@PBX_SPEEX@ SQLITE=@PBX_SQLITE@ configure.ac AST_EXT_LIB_SETUP([RADIUS], [Radius Client], [radius]) +AST_EXT_LIB_SETUP([SPANDSP], [spandsp Library], [spandsp]) AST_EXT_LIB_SETUP([SPEEX], [Speex], [speex]) configure.ac AST_EXT_LIB_CHECK([RADIUS], [radiusclient-ng], [rc_read_config], [radiusclient-ng.h]) +AST_EXT_LIB_CHECK([SPANDSP], [spandsp], [fax_init], [spandsp.h], [-ltiff]) + AST_EXT_LIB_CHECK([SPEEX], [speex], [speex_encode], [speex/speex.h], [-lm]) AST_EXT_LIB_CHECK([SQLITE], [sqlite], [sqlite_exec], [sqlite.h]) makeopts.in RADIUS_INCLUDE=@RADIUS_INCLUDE@ RADIUS_LIB=@RADIUS_LIB@ +SPANDSP_INCLUDE=@SPANDSP_INCLUDE@ +SPANDSP_LIB=@SPANDSP_LIB@ + SPEEX_INCLUDE=@SPEEX_INCLUDE@ SPEEX_LIB=@SPEEX_LIB |
далее в исходниках астериска:
| Код: |
| ./bootstrap.sh ./configure make menuselect (select the rxfax and txfax apps), then save (use "x" to exit) make make install |
если при компиляции возникает подобная ерунда:
| Код: |
| [CC] app_rxfax.c -> app_rxfax.o In file included from /usr/src/asterisk-new/asterisk-1.4.2/include/asterisk/translate.h:35, from app_rxfax.c:38: /usr/src/asterisk-new/asterisk-1.4.2/include/asterisk/plc.h:127: error: conflicting types for ‘plc_state_t’ /usr/local/include/spandsp/plc.h:128: error: previous declaration of ‘plc_state_t’ was here /usr/src/asterisk-new/asterisk-1.4.2/include/asterisk/plc.h:140: error: conflicting types for ‘plc_rx’ /usr/local/include/spandsp/plc.h:142: error: previous declaration of ‘plc_rx’ was here /usr/src/asterisk-new/asterisk-1.4.2/include/asterisk/plc.h:148: error: conflicting types for ‘plc_fillin’ /usr/local/include/spandsp/plc.h:150: error: previous declaration of ‘plc_fillin’ was here /usr/src/asterisk-new/asterisk-1.4.2/include/asterisk/plc.h:154: error: conflicting types for ‘plc_init’ /usr/local/include/spandsp/plc.h:156: error: previous declaration of ‘plc_init’ was here make[1]: *** [app_rxfax.o] Error 1 make: *** [apps] Error 2 |
то мы делаем следующие телодвижения:
| Код: |
| cp -a /usr/local/include/spandsp/plc.h /usr/src/asterisk-1.4.x/include/asterisk/ |
и всё должно нормально откомпилиться
| Код: |
| CLI> core show application RxFax |
Не подскажете, что можно проверить или дописать чтобы сработало?
_________________
Ubuntu-Server 6.06 /Asterisk 1.4.12/app_fax /spandsp4pre9
Digium TDM400/NateksNetworks VC115-2/Polycom IP301 SP /Snom 360
Буду пробовать конфигурить.
| noize писал(а): |
| cache, расскажи, как делал. Я сегодня попробую на десятый прикрутить |
да все стандартно
а восче я здалал так
удалили весь spandsp3
cd spandsp3_src
make unintsall
ldconfig
потом скомпилил и поставил занового
cd spandsp3_src
./configure
make
make install
ldconfig
далше по товему рукаводству патчил астериск
и собрал и все
Added after 3 minutes:
| errno писал(а): |
Поправка на местности, оказалось что у меня оно в списке app_* не появилось, но тем не менее скомпилилось (внимательно следил за компиляцией) ) Буду пробовать конфигурить. |
у меня также было и астериск падал при вызове их
_________________
Ubuntu-Server 6.06 /Asterisk 1.4.12/app_fax /spandsp4pre9
Digium TDM400/NateksNetworks VC115-2/Polycom IP301 SP /Snom 360
Итак, хочу кое-что заметить.
1) Когда собираете spandsp, укажите директорию сборки /usr (--prefix=/usr). Это сделано для того, чтобы либы писались в /usr/include
у многих в ld config не прописан путь /usr/local, поэтому простая сборка типа "./configure" не даст результатов (т.е. configure скрипт не увидит spandsp библиотек)
2) Если вы собрали spandsp, поправили файлы в директории с сорцами asteriskа, а app_rxfax и app_txfax так и не появились, то делаем так:
| Код: |
| c0rn asterisk-1.4.10.1 # ./configure | grep spandsp checking for fax_init in -lspandsp... yes checking spandsp.h usability... no checking spandsp.h presence... no checking for spandsp.h... no |
из чего видно, что астериск не может найти spandsp.h
Я не знаю, почему в сборке spandsp-20070813 этот header не ставится, но я потом собрал spandsp-0.0.4pre4 и header появился!
| Код: |
| c0rn asterisk-1.4.10.1 # whereis spandsp spandsp: /usr/src/spandsp-0.0.4/spandsp.spec /usr/src/spandsp-0.0.4/spandsp /usr/include/spandsp [b]/usr/include/spandsp.h[/b] /usr/share/spandsp |
после чего повторный configure asteriska мне выдал:
| Код: |
| checking for fax_init in -lspandsp... yes checking spandsp.h usability... yes checking spandsp.h presence... yes checking for spandsp.h... yes |
И соответственно в menuselect появились app_rxfax и app_txfax
Я правда один раз сталкивался с проблемой, когда при приёме факса астериск вылетает (и было это на 1.2). К сожалению, я тогда не проверил на что ссылается app_rxfax и насколько удовлетворены его зависимости. Но в последнее время, всё ок.
Как видите, на 1.4.10.1 RxFax тоже собирается.
_________________
Успехов!
1. Собственно сам asterisk.
2. Эмуляция линукса для этапа выковыривания rpm из intel библиотеки l_ipp_ia32_itanium_p_ ....
и, наверно, она нужна для работы самого кодека (не проверял).
3. rpm из портов. (надеюсь как его поставить из портов объяснять не надо)
4. linux-base из портов, чтобы запустить install из _ipp_ia32_itanium_p_4_1_2.tar
Подготовка.
1. Создаем учетную запись asterisk со своей home директорией.
Создаем поддиректорию src, куда будем складывать исходники, для порядка...
Создаем поддиректорию tmp, в ней будут валяться всяческие промежуточные файлы.
Предполагаем, что у нас asterisk устанавливается в директорию /home/asterisk
Тогда его .h файлы, после его установки находятся в директории /home/asterisk/include
2. Меняем себя на пользователя root:
#su
и идем качать в src нужные нам исходники:
cd /home/asterisk/src
(предполагается, что мы уже собрали и установили сам asterisk)
3. Качаем:
wget ftp://download.intel.com/software/produc ... _4_1_2.tar
Распаковываем:
tar xvzf l_ipp_ia32_itanium_p_4_1_2.tar
После этого этот архив можно перенести в любое другое темное прохладное место, с глаз подальше.
4. Получаем .lic файл с интела и кладем его в ту директорию, которая у нас получалась после распаковки файла l_ipp_ia32_itanium_p_4_1_2.tar
5. Теперь нам нужен l_ipp-sample-speech-coding_p_4.1.008.tgz
intel зачем-то убрал его с ftp сайта, найти его можно у меня:
http://voip.rus.net/tiki-download_file.php?fileId=18
Стоит отметить, в новых версиях все поменялось и патчик на них не ляжет
6. Распаковываем файлик l_ipp-sample-speech-coding_p_4.1.008.tgz в директории /home/asterisk/src
7. В получившуюся поддиректорию ipp_sample кладем патч ipp_svn8.diff, который качаем отсюда:
http://www.readytechnology.co.uk/open/ip ... -svn8.diff
8. Идем в эту директорию и накладываем патч:
patch -p0
А мне так ни кто и не сказал работает ли теперь dahdi_dummy в FreeBSD из последнего rev транка или нет.
Все как в воду канули...
А то человеки из digiuma интересуются..
[/offtopic]
_________________
ys
http://voip.rus.net/
А мне так ни кто и не сказал работает ли теперь dahdi_dummy в FreeBSD из последнего rev транка или нет.
[/offtopic]
У меня заработала конференция на *-1.6-свн, об этом я сообщал на другом форуме, где обсуждался этот вопрос.
http://asterisk-support.ru/forum/topics/4128/?page=2
Теперь свн что-то не дружит с конфигурационными файлами, поставил с портов. Но еще не проверял. Проверю - сообщу.
PS. *-1.6 с портов конференция не работает.
WARNING[1264]: app_meetme.c:1964 conf_run: Unable to set flags: Inappropriate ioctl for device
)