возможно ли установить chan_ss7 для asterisk 1.8 на freebsd?
А то астериск установлен на freebsd стоит давно и хорошо работает, тут приспичело взять у прова E1, пров поддерживает сигнализацию ОКС7(ss7), купили плату TE205P. Плата вроде встала, dahdi установил из портов, вроде все норм, но вот если в chan_dahdi.conf пишу строчка signaling=ss7 астериска ругается
ERROR[1553]: chan_dahdi.c:17298 process_dahdi: Unknown signalling method 'ss7' at line 1043.
-- Automatically generated pseudo channel
chan_ss7 скачаный с svn не собирается.
Можно ли вообще запустить это под freebsd или придется переезжать на linux?
Лучше переезжавть на Linux. Ибо усилия по поднятию SS7 на бсде будут неадекватны результату.
Пока карта не в продакшн - это легко. Скачать годный дистр, поднять пустую систему, и в тестовом режиме отладить стык ппо ОКС7. Потом перенести только sip.conf & extensions.conf
Лучше в пределах одной и той же ветки, которая на фре, и не идти вверх, ибо изменения в синтаксисе.
Asterisk собран из портов, dahdi тоже, в make config ни в одном ни в другом порту упоминания про ss7 нету.
при попытке мэйка что chan_ss7, что libss7 говорят примерно одно и тоже
chan_ss7:
ats# make
"Makefile", line 14: Missing dependency operator
"Makefile", line 16: Need an operator
"Makefile", line 30: Missing dependency operator
"Makefile", line 33: Need an operator
"Makefile", line 180: Could not find .depend
make: fatal errors encountered -- cannot continue
libss7:
ats# make
"Makefile", line 21: Missing dependency operator
"Makefile", line 23: Need an operator
"Makefile", line 25: Need an operator
"Makefile", line 82: Missing dependency operator
"Makefile", line 83: Need an operator
"Makefile", line 84: Need an operator
make: fatal errors encountered -- cannot continue
при использовании gmake более понятно
chan_ss7:
ats# gmake
cat: astversion.h: No such file or directory
Makefile:180: .depend: No such file or directory
gcc -I../source/telephony/dahdi/include -I../usr/local/include/include -g -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -DPIC -fpic -finline-functions -DCHAN_SS7_VERSION=\"2.1.0\" -o astversion astversion.c -lpthread
astversion.c:25:22: error: asterisk.h: No such file or directory
astversion.c:26:29: error: asterisk/config.h: No such file or directory
astversion.c:27:29: error: asterisk/module.h: No such file or directory
astversion.c:28:26: error: asterisk/cli.h: No such file or directory
astversion.c: In function 'main':
astversion.c:48: warning: implicit declaration of function 'printf'
astversion.c:48: warning: incompatible implicit declaration of built-in function 'printf'
gmake: *** [astversion] Error 1
libss7:
ats# gmake
gcc -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g -fPIC -MD -MT ss7.o -MF .ss7.o.d -MP -c -o ss7.o ss7.c
cc1: warnings being treated as errors
ss7.c: In function 'ss7_show_linkset':
ss7.c:694: warning: format '%li' expects type 'long int', but argument 3 has type 'time_t'
gmake: *** [ss7.o] Error 1
я впринципе понимаю что chan_ssl7 и libss7 не могут найти библиотеки астериска и зависимости, но не понимаю как это поправить в Makefile.
OMG!
На вопрос - что лучше? было получено два ответа:
- Лучше переезжавть на Linux.
- астериск собран без поддержки ss7, либо корректно make настраивайте
нет, порвало по сложному пути. Окаывается нужны шашечки.
grep -rwi ss7 /usr/ports/ не нашел упоминания ss7 в мэйкфайлах, так-что у мэйка параметра содержащего в себе ss7 быть не может, для чистоты эксперимента удалил все порты и сделал csup, потом прошелся по ним грепом.