Теперь другая проблема, факс передается с искажениями. Если условно страницу разбить на три части, то стыках частей имеется потеря информации около 1 см ))) у кого-то наблюдается такое ?
Added after 3 hours 44 minutes:
1,4,29,1 с патчем выдает
Error loading module 'gateway.so': /usr/lib/asterisk/modules/gateway.so: undefined symbol: t38_set
| Цитата: |
| ... [CC] aestab.c -> aestab.o [CC] alaw.c -> alaw.o [CC] app.c -> app.o [CC] ast_expr2.c -> ast_expr2.o [CC] ast_expr2f.c -> ast_expr2f.o [CC] asterisk.c -> asterisk.o [CC] astfd.c -> astfd.o [CC] astmm.c -> astmm.o [CC] astobj2.c -> astobj2.o make[1]: *** No rule to make target `attrlic.o', needed by `asterisk'. Stop. make[1]: Leaving directory `/usr/src/attrafax-1.4.29.1/src/asterisk/main' make: *** [main] Error 2 $ |
кто знает как бороться?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
а почему файликИ? какието еще кроме этого?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Added after 3 minutes:
2 daan_m
после наложения патча астериск нормально собрался и запустился ?
Added after 2 hours 6 minutes:
В общем после наложения патча на 1.4.29.1 нужно скопировать :
в asterisk-1.4.29.1/main/ файлик attrlic.c
в asterisk-1.4.29.1/include/ создать attractel и кинуть туда файлик attrlic.h
и спасибо! теперь всё собралось
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| Код: |
| Warning: pointer targets in passing argument 4 of 't30rx_init' differ in signedness |
после сборки модулей и попытки их загрузить в астериске выходить ошибка
| Код: |
| undefined symbol: vast_verbose |
после правки исходников (замена vast на ast) и новой компиляции выходит ошибка
| Код: |
| app_t30rxfax.c:139: warning: passing argument 2 of 't30rx_init' from incompatible pointer type app_t30rxfax.c:139: warning: pointer targets in passing argument 4 of 't30rx_init' differ in signedness |
но астериск загружает все модули, кроме gateway.so , на него он ругается
| Код: |
| undefined symbol: t38_set |
А для t38_set и иже с ними -
| Код: |
| diff -urN asterisk-1.4.29.1_orig/main/asterisk.exports asterisk-1.4.29.1/main/asterisk.exports --- asterisk-1.4.29.1_orig/main/asterisk.exports 2009-08-03 20:11:29.000000000 +0400 +++ asterisk-1.4.29.1/main/asterisk.exports 2010-03-16 15:30:24.000000000 +0300 @@ -40,6 +40,8 @@ getloadavg; strlcat; strlcpy; + vast_verbose; + t38_*; local: *; }; |
Патчим 1.4.29.1 , потом шлифуем патчем от bird_of_Luck , ничего править не нужно (я про vast -> ast) все собралось отлично , факсы ходят
| bird_of_Luck писал(а): |
| ...там еще и патчи канальных драйверов на тему детекта t.38 и большой кусок в chan_sip.c |
освети подробнее этот момент плыз
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Несколько раз уже пересобирал астериск, сначала со spandsp (так и не заработало), теперь вот с attrafax мучаюсь.
Вобщем вот:
Задача стоит принимать астериском факсы, приходящие с сип-транка, и для начала сохранять их в *tiff на этом же астериске.
Собрал астериск 1.4.29.1, с патчем от bird_of_Luck, установил libt30.so, из attrafax-0.9/src/modules/ тоже всё установилось.
extensions.conf:
| Код: |
| [default] exten => 2730,1,Goto(temp-fax,s,1) [temp-fax] exten => s,1,Set(FAXFILE=/home/tmpfax/${UNIQUEID}.tiff) exten => s,2,RXFAX_T38P(${FAXFILE},1) exten => s,n,Noop(Fax status is ${FAXSTATUS}, number of pages ${PAGENUM}) |
sip.conf:
| Код: |
| [testtrunk] type=friend context=default host=10.1.1.1 dtmfmode=rfc2833 nat=no allow=alaw t38pt_udptl=yes qualify=yes |
Но когда посылаю факс, а вернее даже просто звоню вот что происходит:
| Код: |
| -- Executing [2730@default:1] Goto("SIP/testtrunk-00000002", "temp-fax|s|1") in new stack -- Goto (temp-fax,s,1) -- Executing [s@temp-fax:1] Set("SIP/testtrunk-00000002", "FAXFILE=/home/tmpfax/1272898894.2.tiff") in new stack -- Executing [s@temp-fax:2] RXFAX_T38P("SIP/testtrunk-00000002", "/home/tmpfax/1272898894.2.tiff|1") in new stack [May 3 19:01:34] WARNING[12501]: channel.c:3459 ast_request: No channel type registered for 'zap' [May 3 19:01:34] WARNING[12501]: channel.c:3459 ast_request: No channel type registered for 'DAHDI' [May 3 19:01:34] WARNING[12501]: app_t38rxfaxp.c:140 rxfax_t38_exec: RXFAX_T38P: cannot create a zap/dahdi pseudochannel == Spawn extension (temp-fax, s, 2) exited non-zero on 'SIP/testtrunk-00000002' |
В трубке звонящего сразу занято. У меня кроме SIP на этом астериске больше ничего не будет. Кто-нибудь может помочь и объяснить, в чем дело?
Заранее спасибо.
UPD: При использовании приложения RXFAX_T38 вместо RXFAX_T38P, такая же ерунда.
Собрал Dahdi.
Теперь, когда использую RXFAX_T38P:
| Код: |
| -- Executing [2730@default:1] RXFAX_T38P("SIP/testtrunk-00000004", "/home/tmpfax/test.tiff|123456") in new stack [May 3 23:18:16] WARNING[17560]: channel.c:3459 ast_request: No channel type registered for 'zap' [May 3 23:18:16] WARNING[17560]: chan_dahdi.c:1231 dahdi_open: Unable to open '/dev/dahdi/pseudo': No such file or directory [May 3 23:18:16] ERROR[17560]: chan_dahdi.c:8237 chandup: Unable to dup channel: No such file or directory [May 3 23:18:16] WARNING[17560]: app_t38rxfaxp.c:140 rxfax_t38_exec: RXFAX_T38P: cannot create a zap/dahdi pseudochannel == Spawn extension (default, 2730, 1) exited non-zero on 'SIP/testtrunk-00000004' |
В трубке так же занято. Гуглить в сторону dahdi? Он обязательно нужен, если у меня нет аналоговых девайсов?
Когда использую RXFAX_T38, тут что-то поинтереснее:
| Код: |
| -- Executing [2730@default:1] RXFAX_T38("SIP/testtrunk-00000005", "/home/tmpfax/test.tiff|123456") in new stack t30rx/0x83f9b30/0: t30rx_init called... t30rx/0x83f9b30/0: t30rx_init done... RXFAX_T38: successfuly initialised RXFAX_T38: ast_read returned NULL RXFAX_T38: hangup on a channel == Spawn extension (default, 2730, 1) exited non-zero on 'SIP/testtrunk-00000005' |
В трубке - тишина. Кладу трубку - RXFAX_T38: ast_read returned NULL и дальше.
Еще раз прошу прощения. Заранее спасибо за помощь.
| e7e5 писал(а): |
| Гуглить в сторону dahdi? Он обязательно нужен, если у меня нет аналоговых девайсов? |
гуглить или нет - это уже вам решать - нужно ли вам это вообще.
если нет своего железа - кроме dahdi должен быть загружен еще и dahdi_dummy.
ps: вообщето это уже флейм и обсуждение этого вопроса совершенно к обсуждаемой теме в этом топике отношения не имеет.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| Код: |
| traff*CLI> module load app_t30rxfax.so [May 20 17:01:46] WARNING[3219]: loader.c:363 load_dynamic_module: Error loading module 'app_t30rxfax.so': /usr/lib/libt30.so: cannot restore segment prot after reloc: Permission denied [May 20 17:01:46] WARNING[3219]: loader.c:657 load_resource: Module 'app_t30rxfax.so' could not be loaded. traff*CLI> |
Из-за чего это может быть и что можно сделать?
Хотя версия конечно была ничего.
Астерикс не видит модули app_.....so attrafax
CLI> module show like app_faxdetect.so
Module Description Use Count
0 modules loaded
модули не подгружаються *CLI> module load app_t38txfax.so
что я не так делаю?
ну и - вывод ldd /path/to/app_t38txfax.so сюда
# ldd /usr/lib/asterisk/modules/app_t38txfax.so
linux-gate.so.1 => (0x00997000)
libt30.so => /usr/lib/libt30.so (0x0038f000)
libm.so.6 => /lib/libm.so.6 (0x004c1000)
libssl.so.6 => /lib/libssl.so.6 (0x00f1a000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00a45000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x004e8000)
libz.so.1 => /usr/lib/libz.so.1 (0x0034a000)
/lib/ld-linux.so.2 (0x007a0000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00281000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0063a000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00e6f000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x002f8000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00bb6000)
libdl.so.2 => /lib/libdl.so.2 (0x00251000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00255000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00475000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00cde000)
libsepol.so.1 => /lib/libsepol.so.1 (0x002af000)
Выложите полностью результат
core set debug 5
core set verbose 5
module load app_t38txfax.so
module show like t38
[May 24 21:15:43] WARNING[367] loader.c: Error loading module 'app_t38txfax.so': /usr/lib/libt30.so: undefined symbol: TIFFSetDirectory
[May 24 21:15:43] WARNING[367] loader.c: Module 'app_t38txfax.so' could not be loaded.
Наложил патч, правда руками каждый раз указывал путь до того, что нужно патчить (может кто подскажет как енто не делать?).
всё лежало в /usr/src .
Собрал asterisk-1.4.29.1, заинсталил, потом asterisk-addons-1.4.11 собрал, в аддонах везде * выбрать удалось. Старый Астер не удалял, накатывал всё по верху. attrafax-0.9 - скомпилил, а потом в src/module
make & make install, скопилелось всё Ок.
но модули не грузяться:
trixbox1*CLI> module load app_t30rxfax.so
[2010-07-29 00:19:48] WARNING[4621]: loader.c:433 load_dynamic_module: Error loading module 'app_t30rxfax.so': /usr/lib/libt30.so: undefined symbol: TIFFSetDirectory
[2010-07-29 00:19:48] WARNING[4621]: loader.c:761 load_resource: Module 'app_t30rxfax.so' could not be loaded.
Но как бы всего должно хватать
[trixbox1.localdomain modules]# rpm -qa | grep libtiff
libtiff-3.8.2-7.el5_5.5
libtiff-devel-3.8.2-7.el5_5.5
Что ещё не хватает? Куды глянуть?
[trixbox1.localdomain ~]# ldd /usr/lib/libt30.so
linux-gate.so.1 => (0x001d6000)
libm.so.6 => /lib/libm.so.6 (0x009cd000)
libz.so.1 => /usr/lib/libz.so.1 (0x002ef000)
libssl.so.6 => /lib/libssl.so.6 (0x0079f000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x00302000)
libc.so.6 => /lib/libc.so.6 (0x00435000)
/lib/ld-linux.so.2 (0x00d1b000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x006dd000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00110000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x005b7000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x006ac000)
libresolv.so.2 => /lib/libresolv.so.2 (0x001fb000)
libdl.so.2 => /lib/libdl.so.2 (0x00222000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x0060e000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00f19000)
libselinux.so.1 => /lib/libselinux.so.1 (0x001a3000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00880000)
trixbox1*CLI> module load app_t38txfaxp.so
== Registered application 'TXFAX_T38P'
Loaded app_t38txfaxp.so => (T.38 txfax/pseudo)
trixbox1*CLI> module show like fax
Module Description Use Count
app_t38txfax.so T.38 txfax 0
app_t38rxfax.so T.38 rxfax 0
app_t38txfaxp.so T.38 txfax/pseudo 0
app_t30txfax.so T.30 txfax 0
app_t30rxfax.so T.30 rxfax 0
app_t38rxfaxp.so T.38 rxfax/pseudo 0
app_faxdetect.so FaxDetect 0
7 modules loaded
От себя libt30.so стала вместо 600КБ, около 1,14 метра, к сожалению через ldd не видно, что она подгружает tiff библиотеки, наверное в себя чёт инклудит, короче почему не хавает либы если оно yum поставлено мне не известно...
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6Gb / 160Gb || Gentoo Linux || Asterisk 1.8.12
Решения телефонии на базе Asterisk || http://it-need.ru
я лично с 1.4 сразу на 1.8 пересяду и всем советую. 1.6 ветка для меня видится как WindowsME которая в своё время была "переходной" с ядра 95 на ядро NT. дык вот она была страшно глючная и бажная настолько что сам MS от нее отрёкся уже через год-полтора. Также и сам Digium отзывается о ветке 1.6, насколько я слышал, в подобном ключе. В 1.8 учли недостатки переходной версии (будем надеяться) и накопили бесценный опыт.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Я только одного не понял, вот я поставил ентот факсовый модуль, а что оно мне даёт? можно пару намёков, как народ её юзает. А то кроме как принять факс на емаил по Т.38 пользы и нет. Да ещё и хочу проверить, будет ли нормально работать оно, если в циске будет первым Т.38 а фолбеком 711alaw, если да то буду доволен как удав.
1.6 вполне стабильная версия, если у тебя не сотни одновременных, а фич и удобств там очень много, я уже не понимаю как можно было работать на 1.4
В 1.8 тоже много вкусного обещат, но уже не такое кординально неоюходимое как в 1.6 и неужели вы думаете, что 1.8 будет сразу стабильнее 1.6?
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6Gb / 160Gb || Gentoo Linux || Asterisk 1.8.12
Решения телефонии на базе Asterisk || http://it-need.ru
Сразу стабильнее вряд ли будет. Хотя тестирование первой беты должно пролить на это свет. Насчёт изменений по сравнению с 1.6 вы правы. Кардинальных я пока не обнаружил. Тут скорее эволюция, нежели революция. Пока размышляю над тем, стоит ли водружать её на свою стабильную 1.6.10.
| EXA писал(а): |
| Да ещё и хочу проверить, будет ли нормально работать оно, если в циске будет первым Т.38 а фолбеком 711alaw, если да то буду доволен как удав. |
Именно так оно и должно работать!
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
скачал с аттрафакса версию без астериска, скачал с астериск.орг версию 1.4.29
применил все патчи, пересобрал и оказалось что trixbox CE 2.6.2.3 (Stable) версия под заптел, а 1.4.29 исходники под дахди
и в астериске нет модулей заптеля
вот думаю собрать модули заптел или собрать все под дахди
скажите ПЖ - аттрафакс нормально работает с дахди ?
аттрафакс решит проблему отправки\приема факсов по маршруту digium AST SIP (t38)?
_________________
нанотехнолигии в области Asterisk
маленькая поправка, к этому патчу нужен патчик от Bird_of_luck
| g00dtlt писал(а): |
| ...к этому патчу нужен патчик от Bird_of_luck |
Это какой?
_________________
нанотехнолигии в области Asterisk
| Код: |
| diff -r -u main/asterisk.exports main/asterisk.exports --- main/asterisk.exports 2010-08-03 20:11:29.000000000 +0400 +++ main/asterisk.exports 2010-08-16 15:30:24.000000000 +0300 @@ -40,6 +40,8 @@ getloadavg; strlcat; strlcpy; + vast_verbose; + t38_*; local: *; }; |
Может есть смысл отправить в Attrafax чтоб обновили?
_________________
Успехов!
_________________
нанотехнолигии в области Asterisk
Последний раз редактировалось: Cache (Вт Авг 24, 2010 09:59)
попутный вопрос -как реализовать факс в почту на аттрафаксе ?
привычного приложения receivefax нет,
у меня собрано все на asterisknow + freepbx 2.8 с модулем для факсов (заточный под spandsp)
пока получилось сделать для т30, за счет того что RXFAX_T30(файл) умеет сохранять в tiff g3
в extensions_custom.conf
добавил новый контекст (немного переделанный ext-fax)
| Код: |
| [ext-fax-attafax] exten => s,1,Macro(user-callerid,) exten => s,n,Noop(Receiving Fax for: ${FAX_RX_EMAIL} , From: ${CALLERID(all)}) exten => s,n,StopPlaytones exten => s,n,Set(FAXFILE=${ASTSPOOLDIR}/fax/${UNIQUEID}.tif) exten => s,n,RXFAX_T30(${FAXFILE}) exten => s,n,ExecIf($["${FAXSTATUS}" = ""],Set,FAXSTATUS=${IF($["${FAXOPT(error)}" = ""]?"FAILED LICENSE EXCEEDED":"FAILED FAXOPT: error: ${FAXOPT(error)} status: ${FAXOPT(status)} statusstr: ${FAXOPT(statusstr)}")}) exten => h,1,GotoIf($["${FAXSTATUS:0:6}" = "FAILED"]?failed) exten => h,n(process),GotoIf($[${LEN(${FAX_RX_EMAIL})} = 0]?end) exten => h,n,system(/usr/local/bin/fax2tiff -2 ${FAXFILE}* -s -o ${FAXFILE}); exten => h,n,system(rm -f ${FAXFILE}*.g3); exten => h,n,System(${ASTVARLIBDIR}/bin/fax-process.pl --to "${FAX_RX_EMAIL}" --from "faxserver-tlt@sformat.ru" --dest "${FROM_DID}" --subject "New fax from ${URIENCODE(${CALLERID(name)})} ${URIENCODE()}" --attachment fax_${URIENCODE(${CALLERID(number)})}.pdf --type application/pdf --file ${FAXFILE}) exten => h,n(end),Macro(hangupcall,) exten => h,process+101(failed),Noop(FAX ${FAXSTATUS} for: ${FAX_RX_EMAIL} , From: ${CALLERID(all)}) exten => h,n,Macro(hangupcall,) |
_________________
Успехов!
пока сыро нужно потестить проверить может чем помочь
обязательно делать
/bootstrap.sh
./configure (./configure | grep -i t30 для проверки )
make menuselect
make
make install
а то мало ли че я забыл
для сборки нужны libtiff libjpeg libt30
_________________
нанотехнолигии в области Asterisk
звонки обрываются...
кто нибидь смог победить ?
| g00dtlt писал(а): |
| тоже проблема в возвратом из т38 обратно в голос .. |
а как это сказывается
у меня возращается в голос.
приложение факса не ложит канал после приема(передачи), если удаленная сторона тоже ожидает разговора , можно дальше диалплан писать и все работает
у меня после отправки(приема) стоит вызов очереди секретарей и отправка оповещения о состоянии факса на jabber им же.
_________________
нанотехнолигии в области Asterisk
хз -> mera sip -> sip провайдер -> dahdi -> fax проходит нормально и после отправки можно пообщаться, но он уходит голосом, а не в t38
прием\отправка по маршруту
fax -> dahdi -> sip провайдер -> mera sip -> хз
в режиме gateway, астериск переключает голос в т38 - по завершению отправки или приема факсу, в трубке тишина а через 15 секунд в трубке слышно звуки похожие на т38
Added after 50 minutes:
хотел при аттачить - но нету прав, как и на квотить - почему хз
поэтому выкладываю лог
| Цитата: |
| http://pastebin.com/raw.php?i=PHgN8H65 |
| ! | from anest: для логов есть pastebin.com, не нужно больше тут портянки свои развешивать плыз. насчет прав не знаю в чем дело, должно все работать... ps: лог перенес на pastebin |
Поначалу ковырял t38modem, но не осилил. Вспомнил про attrafax.
Скачал его по ссылке
http://www.zoiper.com/downloads/attrafax-0.9.tgz
затем все делал по редми, решил сначала попробовать собрать астериск 1.4.20, который в комплекте с attrafax уже патченый:
- распаковал
- ./compile.sh
- cd ./src/asterisk
- ./configue
- make
- cd ../../modules
- make
тут появилась ошибка, которую на второй странице показывали:
| Код: |
| debian:/share/attrafax-0.9/src/modules# make cc -I/usr/include -I../asterisk/include -I../../include -I/usr/local/include -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -O6 -fPIC -pthread -pipe -shared -D_GNU_SOURCE -DOLD_DSP_ROUTINES -L/usr/local/lib -lt30 -lm -lssl -lpthread -lssl -lcrypto -o app_t30rxfax.so app_t30rxfax.c \ -DAST_MODULE=\"app_t30rxfax\" app_t30rxfax.c: In function ‘rxfax_t30_exec’: app_t30rxfax.c:139: warning: pointer targets in passing argument 4 of ‘t30rx_init’ differ in signedness /usr/bin/ld: cannot find -lt30 collect2: ld returned 1 exit status make: *** [app_t30rxfax.so] Ошибка 1 |
дальше в форуме что-то говорится об удалении spandsp:
| Цитата: |
| написал же /usr/bin/ld: cannot find -lt30 1) (удаляем SpanDSP) потом ставим libt30, simply run compile.sh. (требуется libtiff) 2) Copy libt30.so in /usr/lib |
но я не понял как именно его удалять и вообще для чего.
| Код: |
| bash-3.1# locate spandsp /usr/lib/libspandsp.so.0 /usr/lib/libspandsp.so.0.0.2 /usr/share/spandsp /usr/share/doc/spandsp-0.0.4 /usr/share/doc/spandsp-0.0.4/AUTHORS /usr/share/doc/spandsp-0.0.4/COPYING /usr/share/doc/spandsp-0.0.4/ChangeLog /usr/share/doc/spandsp-0.0.4/DueDiligence /usr/share/doc/spandsp-0.0.4/INSTALL /usr/share/doc/spandsp-0.0.4/NEWS /usr/share/doc/spandsp-0.0.4/README /usr/share/spandsp/global-tones.xml /usr/share/spandsp/tones.dtd |
Кухня поднята на триксбоксе, libtiff, libjpeg установлены. Планируется пропатчить имеющийся 1.4.22, скомпилировать, залить поверх и оттестировать. На забугорных форумах ничего путного про attrafax и эту ошибку не нашел...
что делать дальше, первопроходцы?
скопируйте из директории bin attrafax'a файл libt30.so в /usr/local/lib/ или /usr/lib/ и сделайте ldconfig( ldconfig -v |grep -i libt30 для проверки)
_________________
нанотехнолигии в области Asterisk
Все собралось
Теперь буду пробовать патчить 1.4.22
Added after 1 hours 41 minutes:
пропатчил, запустилось:
1) скачал asterisk 1.4.22.2 (у меня trixbox 2.6, чтоб все работало использую родную версию)
2) скачал с http://attrafax.com/download/ пакет под asterisk 1.4.22
3) распаковал все и и скопировал asterisk 1.4.22.2 в ./src/asterisk (attrafax-0.9)
4) применил патч из пакета под asterisk 1.4.22
5) начал собирать астериск. после нескольких минут вываливается ошибка:
| Код: |
| asterisk.o: In function `main': /root/soft/attrafax/attrafax-0.9/src/asterisk/main/asterisk.c:2891: undefined reference to `ssetup' collect2: ld returned 1 exit status make[1]: *** [asterisk] Error 1 make[1]: Leaving directory `/root/soft/attrafax/attrafax-0.9/src/asterisk/main' make: *** [main] Error 2 |
функция ssetup, видимо, отвечает за проверку лицензий и ее в открытых исходниках нет.
я ее просто закомментировал и все заработало.
еще вопрос:
на сколько я понимаю, эта "система" позволяет принимать/отправлять факсы в режиме Т38 и т30, а также гейтвеить между sip и zap, т.е. принимать, к примеру, поток, отдавать sip_t38. в ветке есть упоминания, что можно сделать гейтвей sip sip_t38, но нужно патчить астериск, чтобы работал fax_detect на sip каналах. кто-нибудь может помочь?
Если это сложно, я готов оплатить в разумном размере (лучше безналом).
_________________
нанотехнолигии в области Asterisk
Аттра там не нужна.
PS Желательно что б был рабочий attended transfer
_________________
нанотехнолигии в области Asterisk
ps: ссылкой поделился IgorG
Просьба тестировать и отписываться.
1) Это аналог spandsp (libt30) + мелкий патч к астериску + модули к астериску
2) Оно для 1.4, причем патч небольшой, т.е. проблем с тасканием по ветке похоже не будет (+небольшие патчи для каналов, коробочное - Zap,Dahdi,SS7)
3) Гейтвеинг сделан в channel.c, как и хотелось в текущем допиливаемом коде в транке, то есть - включаем и не паримся, никаких FaxGateway() и callweaver
Ну и кроме того - там вполне себе приличный код. _Особенно_ по сравнению c 2.5M кода без комментариев с ассемблерными вставками в spandsp
В общем, сплошная сказка, если работает.
в установочном пакете есть астериск, но 1.4.20, так же есть патч для более свежих версий - без бубна не встает... колдуемс...
по SIP(Zoiper->asterisk->SIP внешнего провайдера) факсы уходят,
на прием (trunk от SIP внешнего провайдера-> asterisk->t38modem) блокирование на ре инвайт от t38modem .
Последний раз редактировалось: Vyacheslav (Пт Мар 12, 2010 05:06)
Поставил из attrafax-0.9.gz. По схеме факсовый аппарат PRI(Wildcard TE122)AsteriskSIP,g729+t38Planet 150S факсовый аппарат, факс из PSTN проходит, а в обратную сторону ни как не идет. Попробовал просто послать факс по т38 на астериск, как написано в доке
exten => 2001,1,RxFax_T38(/tmp/t38rx1,2001)
Тоже факс не идет. Кто может посмотреть в чем проблема и можно ли это как то поправить, посмотрите дамп такого звонка. Настройки выставлял как опсано в их доке.
а почему zaptel то? почему не dahdi?
zaptel ведь умер еще год назад как
attrafax на 1.4.30 нету?
_________________
Elastix 1.6, Asterisk 1.4.30
И сразу вопрос: я так понимаю что когда факс идет по 711 кодеку это тоже по сути т30, и значит аттрафакс может теоретически перегнать из сип (711+fax bypass mode) в (729 + т38)? Или я как то не правильно это понимаю и дальше не надо эксперементировать? Просто пока не получается
_________________
Elastix 1.6, Asterisk 1.4.30
_________________
Elastix 1.6, Asterisk 1.4.30
2 vip74, попробуйте взять патч http://www.zoiper.com/downloads/attrafax ... .patch.bz2 может подойдет под 1.4.30, хотя он и с 1.4.29 не протестен, но вдруг заработает
| v1t83 писал(а): |
| Видимо атрафакс не предназначен для конвертации 711 - в т38 по сип, а только из E1 в сип |
Там есть места, где завязываются на наименования каналов. Есть специальная функция на тему, умеет ли канал т.38 и кроме того, есть еще 1 момент где-то в радиусе faxdetect'а в канале где есть явные проверки на соответствие наименованию каналов "Zap" и "SIP"
Теоретически, не очень сложно попатчить
| Код: |
| debian:/share/attrafax-0.9/src/modules# make cc -I/usr/include -I../asterisk/include -I../../include -I/usr/local/include -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -O6 -fPIC -pthread -pipe -shared -D_GNU_SOURCE -DOLD_DSP_ROUTINES -L/usr/local/lib -lt30 -lm -lssl -lpthread -lssl -lcrypto -o app_t30rxfax.so app_t30rxfax.c \ -DAST_MODULE=\"app_t30rxfax\" app_t30rxfax.c: In function ‘rxfax_t30_exec’: app_t30rxfax.c:139: warning: pointer targets in passing argument 4 of ‘t30rx_init’ differ in signedness /usr/bin/ld: cannot find -lt30 collect2: ld returned 1 exit status make: *** [app_t30rxfax.so] Ошибка 1 |
Предварительно запускал compile.sh в корне attrafax-0.9
/usr/bin/ld: cannot find -lt30
1) (удаляем SpanDSP) потом ставим libt30, simply run compile.sh. (требуется libtiff)
2) Copy libt30.so in /usr/lib
| Код: |
| WARNING[3799]: loader.c:381 load_dynamic_module: Error loading module 'gateway.so': /usr/lib/asterisk/modules/gateway.so: undefined symbol: vast_verbose |
Заменил во всех си-шных файлах до сборки vast_verbose на ast_verbose , вроде собралось. Тестируем дальше
| Код: |
| entering T.38 gateway mode as RECEIVING gateway [Apr 19 17:53:41] WARNING[7599]: gateway.c:92 t38_gate_exec: Not enough memory for IFP or license limit exceeded; channel |
При отправке факса с SIP (T.38 ) в Zap вылазит это сообщение.
"Not enough memory for IFP" памяти думаю достаточно "Mem: 508164k total, 129340k used, 378824k free" , а вот с "license limit exceeded" не могу понять как лечить...
Собирал Asterisk 1.4.20.1 скачивал http://www.zoiper.com/downloads/attrafax-0.9.tgz
| Alex_asdf писал(а): |
| ..."license limit exceeded" не могу понять как лечить... Собирал Asterisk 1.4.20.1 скачивал http://www.zoiper.com/downloads/attrafax-0.9.tgz |
посмотри решение в файле context.с
потому готов заплатить, чтоб получить профессиональные услуги.
ведь всегда есть два варианта:
- потратить свое время и сделать самому
- оплатить знания и опыт специалистов.
по первому пути я могу пойти, но не знаю код астера, чтоб осилить задачу.
хотя, быть может, хороший повод изучить...
sip_t30 sip_t38 не работает (в zaptel пока не пробовал)
sip_t38 -> RXFAX_T38 работает
sip_t30 -> RXFAX_T30 не работает, принимает файл нормального размера, отправляющий факс не пишет никаких ошибок.
конвертирую вот так
fax2tiff -R 100 -o ./t30rx1_2D_page_0001.tiff ./t30rx1_2D_page_0001.g3
но, в отличии от преобразования файла от приема по Т38, вываливается куча ошибок (пробовал разные параметры преобразования):
| Code: |
| Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). Fax3Decode1D: ./t30rx1_2D_page_0001.g3: Bad code word at line 0 of strip 4294967295 (x 790). |
файл получается сжатым по вертикали, с помехами, будто бы оставили каждую пятую строку изображения.
Как нормально принять по t30?
tiff2pdf -f -p A4 $SOURCEFILE > $DESTFILE
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
но сначала же надо из .g3 формата переделать в .tiff, а из него уже можно и в .pdf и т.п.
вот как раз из .g3 и не получается нормальной картинки
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
я не понимаю связи между постскриптом и tiff в данном случае...
-- Executing [23@test:1] RXFAX_T38("SIP/1234-00000026", "/tmp/test|1234}") in new stack
t30rx/0x781710/0: t30rx_init called...
t30rx/0x781710/0: t30rx_init done...
RXFAX_T38: successfuly initialised
sip_read: bridge_flag=1, faxdetected=3
sip_read: pendinginvite
sip_read: bridge_flag=1, faxdetected=3
sip_read: pendinginvite
sip_read: bridge_flag=1, faxdetected=3
sip_read: pendinginvite
sip_read: bridge_flag=1, faxdetected=3
Sending reinvite on SIP (SIP/1234-00000026) for T.38 negotiation.
T38 state changed to 1 on channel SIP/1234-00000026
T38 changed state to 4 on channel SIP/1234-00000026
RXFAX_T38: switching to T.38 mode on channel
t38_iaf/0x750100/168: t38_modem: TX silence
t30rx/0x781710/6656: CED pause transmitted
t38_iaf/0x750100/6912: t38_modem: TX CED
t30rx/0x781710/6912: CSI command constructed
t30rx/0x781710/6912: DIS command constructed
t38_iaf/0x750100/7168: t38_modem: TX silence
t30rx/0x781710/7936: init_txpreamble
t30rx/0x781710/7936: DIS pause transmitted
t38_iaf/0x750100/8192: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/8448: t38_modem: TX V.21 flags
t38_iaf/0x750100/16120: process_frame: good FCS
data:
t38_iaf/0x750100/16120: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/16120: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/16120: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/18424: process_frame: good FCS
data:
t38_iaf/0x750100/18424: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/18424: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/18424: 0xf8
t38_iaf/0x750100/18680: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/18680: t38_modem: TX silence
t30rx/0x781710/18680: init_rxpreamble
t30rx/0x781710/18680: DIS command transmitted
t38_iaf/0x750100/18936: t38_modem: TX silence
t30rx/0x781710/115176: init_txpreamble
t30rx/0x781710/115176: DIS pause transmitted
t38_iaf/0x750100/115432: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/115688: t38_modem: TX V.21 flags
t38_iaf/0x750100/123368: process_frame: good FCS
data:
t38_iaf/0x750100/123368: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/123368: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/123368: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/125672: process_frame: good FCS
data:
t38_iaf/0x750100/125672: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/125672: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/125672: 0xf8
t38_iaf/0x750100/125928: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/125928: t38_modem: TX silence
t30rx/0x781710/125928: init_rxpreamble
t30rx/0x781710/125928: DIS command transmitted
t38_iaf/0x750100/126184: t38_modem: TX silence
t30rx/0x781710/222424: init_txpreamble
t30rx/0x781710/222424: DIS pause transmitted
t38_iaf/0x750100/222680: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/222936: t38_modem: TX V.21 flags
t38_iaf/0x750100/230616: process_frame: good FCS
data:
t38_iaf/0x750100/230616: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/230616: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/230616: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/232912: process_frame: good FCS
data:
t38_iaf/0x750100/232912: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/232912: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/232912: 0xf8
t38_iaf/0x750100/233168: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/233168: t38_modem: TX silence
t30rx/0x781710/233168: init_rxpreamble
t30rx/0x781710/233168: DIS command transmitted
t38_iaf/0x750100/233424: t38_modem: TX silence
t30rx/0x781710/329672: init_txpreamble
t30rx/0x781710/329672: DIS pause transmitted
t38_iaf/0x750100/329928: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/330184: t38_modem: TX V.21 flags
t38_iaf/0x750100/337856: process_frame: good FCS
data:
t38_iaf/0x750100/337856: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/337856: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/337856: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/340160: process_frame: good FCS
data:
t38_iaf/0x750100/340160: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/340160: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/340160: 0xf8
t38_iaf/0x750100/340416: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/340416: t38_modem: TX silence
t30rx/0x781710/340416: init_rxpreamble
t30rx/0x781710/340416: DIS command transmitted
t38_iaf/0x750100/340672: t38_modem: TX silence
t30rx/0x781710/436920: init_txpreamble
t30rx/0x781710/436920: DIS pause transmitted
t38_iaf/0x750100/437176: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/437432: t38_modem: TX V.21 flags
t38_iaf/0x750100/445104: process_frame: good FCS
data:
t38_iaf/0x750100/445104: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/445104: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/445104: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/447408: process_frame: good FCS
data:
t38_iaf/0x750100/447408: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/447408: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/447408: 0xf8
t38_iaf/0x750100/447664: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/447664: t38_modem: TX silence
t30rx/0x781710/447664: init_rxpreamble
t30rx/0x781710/447664: DIS command transmitted
t38_iaf/0x750100/447920: t38_modem: TX silence
t30rx/0x781710/487336: dcs_timer expired
t30rx/0x781710/0: t30rx_init called...
t30rx/0x781710/0: t30rx_init done...
RXFAX_T38: successfuly initialised
sip_read: bridge_flag=1, faxdetected=3
sip_read: pendinginvite
sip_read: bridge_flag=1, faxdetected=3
sip_read: pendinginvite
sip_read: bridge_flag=1, faxdetected=3
sip_read: pendinginvite
sip_read: bridge_flag=1, faxdetected=3
Sending reinvite on SIP (SIP/1234-00000026) for T.38 negotiation.
T38 state changed to 1 on channel SIP/1234-00000026
T38 changed state to 4 on channel SIP/1234-00000026
RXFAX_T38: switching to T.38 mode on channel
t38_iaf/0x750100/168: t38_modem: TX silence
t30rx/0x781710/6656: CED pause transmitted
t38_iaf/0x750100/6912: t38_modem: TX CED
t30rx/0x781710/6912: CSI command constructed
t30rx/0x781710/6912: DIS command constructed
t38_iaf/0x750100/7168: t38_modem: TX silence
t30rx/0x781710/7936: init_txpreamble
t30rx/0x781710/7936: DIS pause transmitted
t38_iaf/0x750100/8192: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/8448: t38_modem: TX V.21 flags
t38_iaf/0x750100/16120: process_frame: good FCS
data:
t38_iaf/0x750100/16120: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/16120: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/16120: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/18424: process_frame: good FCS
data:
t38_iaf/0x750100/18424: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/18424: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/18424: 0xf8
t38_iaf/0x750100/18680: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/18680: t38_modem: TX silence
t30rx/0x781710/18680: init_rxpreamble
t30rx/0x781710/18680: DIS command transmitted
t38_iaf/0x750100/18936: t38_modem: TX silence
t30rx/0x781710/115176: init_txpreamble
t30rx/0x781710/115176: DIS pause transmitted
t38_iaf/0x750100/115432: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/115688: t38_modem: TX V.21 flags
t38_iaf/0x750100/123368: process_frame: good FCS
data:
t38_iaf/0x750100/123368: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/123368: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/123368: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/125672: process_frame: good FCS
data:
t38_iaf/0x750100/125672: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/125672: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/125672: 0xf8
t38_iaf/0x750100/125928: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/125928: t38_modem: TX silence
t30rx/0x781710/125928: init_rxpreamble
t30rx/0x781710/125928: DIS command transmitted
t38_iaf/0x750100/126184: t38_modem: TX silence
t30rx/0x781710/222424: init_txpreamble
t30rx/0x781710/222424: DIS pause transmitted
t38_iaf/0x750100/222680: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/222936: t38_modem: TX V.21 flags
t38_iaf/0x750100/230616: process_frame: good FCS
data:
t38_iaf/0x750100/230616: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/230616: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/230616: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/232912: process_frame: good FCS
data:
t38_iaf/0x750100/232912: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/232912: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/232912: 0xf8
t38_iaf/0x750100/233168: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/233168: t38_modem: TX silence
t30rx/0x781710/233168: init_rxpreamble
t30rx/0x781710/233168: DIS command transmitted
t38_iaf/0x750100/233424: t38_modem: TX silence
t30rx/0x781710/329672: init_txpreamble
t30rx/0x781710/329672: DIS pause transmitted
t38_iaf/0x750100/329928: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/330184: t38_modem: TX V.21 flags
t38_iaf/0x750100/337856: process_frame: good FCS
data:
t38_iaf/0x750100/337856: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/337856: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/337856: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/340160: process_frame: good FCS
data:
t38_iaf/0x750100/340160: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/340160: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/340160: 0xf8
t38_iaf/0x750100/340416: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/340416: t38_modem: TX silence
t30rx/0x781710/340416: init_rxpreamble
t30rx/0x781710/340416: DIS command transmitted
t38_iaf/0x750100/340672: t38_modem: TX silence
t30rx/0x781710/436920: init_txpreamble
t30rx/0x781710/436920: DIS pause transmitted
t38_iaf/0x750100/437176: t38_modem: t38_modem_tx: HDLC data tx
t38_iaf/0x750100/437432: t38_modem: TX V.21 flags
t38_iaf/0x750100/445104: process_frame: good FCS
data:
t38_iaf/0x750100/445104: 0xff 0xc0 0x02 0xbe 0x2c 0xcc 0x4c 0x8c
t38_iaf/0x750100/445104: 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/445104: 0x04 0x04 0x04 0x04 0x04 0x04 0x04
t38_iaf/0x750100/447408: process_frame: good FCS
data:
t38_iaf/0x750100/447408: 0xff 0xc8 0x01 0x20 0x77 0x5f 0x01 0x01
t38_iaf/0x750100/447408: 0xf9 0x01 0x01 0x01 0x01 0x01 0x01 0x01
t38_iaf/0x750100/447408: 0xf8
t38_iaf/0x750100/447664: t38_modem: t38_modem_tx: HDLC done
t38_iaf/0x750100/447664: t38_modem: TX silence
t30rx/0x781710/447664: init_rxpreamble
t30rx/0x781710/447664: DIS command transmitted
t38_iaf/0x750100/447920: t38_modem: TX silence
t30rx/0x781710/487336: dcs_timer expired
Что я не так сделал не пойму ? или чего-то не доставил ?
http://batch-fax2jpeg.software.informer.com/download/#
она тоже коряво файлы преобразует.
какой-то видимо формат битый создает приложение приема факсов...
| aven wrote: |
| на 1.6 переводить кто-то пробовал? |
Пусть скоро и будет 1.8 , а на 1.6 кто нить пробовал патчики наложить и проверит факсы ?
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
и какой умник решил ограничивать расширение файлов
кое-как приложил
в оригинале было расширение *.g3
В дистрибутиве астериска, в ../app/Makefile, закомментировал строку
| Code: |
| MENUSELECT_OPTS_app_directory+=-L/usr/lib -lt30 -lm -lssl -lpthread -lcrypto |
После этого всё собралось.
Отдельно, по рекоммендациям Cache, собрал gateway.so. Скопирвал его в /usr/lib/asterisk/modules
Буду проверять. А то что-то много приложений RXFAX. Непонятно с чем и как работать.
я пользуюсь вот такое командой
| Code: |
| fax2tiff -3 -2 t30_2D_page_0001.g3 -o t30_2D_page_0001.tiff&convert t30_2D_page_0001.tiff -sample '1728x2162!' t30_2D_page_0001_back.tiff && mv t30_2D_page_0001_back.tiff t30_2D_page_0001.tiff |
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
asterisk 1.6.0 (app_fax) SendFax (t38) -> ast1435 (attrafax) RXFAX_T38 (t38)
Оператор Наука-связь (t38) -> ast1435 (attrafax) RXFAX_T38 (t38)
МГТС (t30) -> ast1435 (attrafax) RXFAX_T30 (t30)
Спасибо за прекрасное решение
Боюсь, скоро встанет вопрос с патчами для новых версий астериска в ветке 1.4
| Cache wrote: | ||
| to Switch002 проанализировал ваш файл.сложилось ощущение что факс не прошел точнее прошел но очень криво я пользуюсь вот такое командой |
| Code: |
| fax2tiff -3 -2 t30_2D_page_0001.g3 -o t30_2D_page_0001.tiff&convert t30_2D_page_0001.tiff -sample '1728x2162!' t30_2D_page_0001_back.tiff && mv t30_2D_page_0001_back.tiff t30_2D_page_0001.tiff |
можно проще (у меня так)
RXFAX_T30(НазваниеКотороеВыПередали) сохраняет факс с именем в формате НазваниеКотороеВыПередали.НомерСтраницы.g3
fax2tiff умеет склеивать несколько g3 файлов в 1 tiff на выходе
/usr/local/bin/fax2tiff -2 НазваниеКотороеВыПередали* -s -o НазваниеКотороеВыПередали
после чего стираем старые g3 файлы
rm -f НазваниеКотороеВыПередали*.g3
и конвертируем если нужно в pdf через fax-process.pl
Added after 8 minutes:
блин да как же победить этот t38 gate
с т30 на т38 переключается для отправки\приема факса - обратно - никак ;(
и приходится после каждого приема\отправки перезванивать
Added after 1 hours 48 minutes:
и еще звоню сам себе через sip линию провайдера c поддержкой t38 на dahdi fxo порт
перевожу на звонок на приложение RXFAX_T30 и не проходит
gateway не включается
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
проблем со звонками из sip на fxs порты нет включается 38_gate и наоборот, без проблем
проблем имено когда я из sip линии принимаю в RXFAX_T30
я так понимаю потому, что gateway проверяет только sip и zap\dahdi линию
либо как бы мне реализовать
есть мысль принимать не в RXFAX_T30, а на пример на хилафакс
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
linksys (g729, t38) -> asterisk -> E1 -> ... -> ТА - факс проходит
linksys (g729, t38) -> asterisk (g729,t38) -> asterisk -> RXFAX_T38 - факс проходит
linksys (g729, t38) -> asterisk (g729,t38) -> asterisk -> RXFAX_T30 - факс не проходит
linksys (g729, t38) -> asterisk (g729,t38) -> asterisk -> E1 -> ... -> ТА - факс не проходит
linksys (g729, t38) -> asterisk (g711) -> asterisk -> E1 -> ... -> ТА - факс не проходит
linksys (g711) -> asterisk (g711) -> asterisk -> E1 -> ... -> ТА - факс проходит
а) нет фоллбека на t30 по относительно понятным причинам
б) подразумевается, что sip-канал умеет t.38 весь и гейтвеить его не нужно.
Так что вполне ожидаемо
распаковал asterisk-1.4.35
применил attrafax_asterisk_1.4.35.patch
при make
| Code: |
| chan_sip.c:152:31: error: attractel/attrlic.h: Нет такого файла или каталога chan_sip.c: In function ‘sip_read’: chan_sip.c:4620: предупреждение: implicit declaration of function ‘T38_SUPPORTED_TECH’ make[1]: *** [chan_sip.o] Ошибка 1 make: *** [channels] Ошибка 2 |
пришлось копировать из attrafax-0.9 файлики attrlic.h attrlic.c
и заново
в процессе make увидел следующее
| Code: |
| [CC] attrlic.c -> attrlic.o In file included from attrlic.c:9: /usr/src/asterisk-1.4.35/include/attractel/attrlic.h:19: предупреждение: декларация ‘struct ast_frame’ внутри списка параметров /usr/src/asterisk-1.4.35/include/attractel/attrlic.h:19: предупреждение: область действия типа - только данная декларация или определение, что может не соответствовать вашим намерениям /usr/src/asterisk-1.4.35/include/attractel/attrlic.h:19: предупреждение: декларация ‘struct ast_channel’ внутри списка параметров |
а закончилось все этим
| Code: |
| [AR] hash/hash.o hash/hash_bigkey.o hash/hash_buf.o hash/hash_func.o hash/hash_log2.o hash/hash_page.o hash/ndbm.o btree/bt_close.o btree/bt_conv.o btree/bt_debug.o btree/bt_delete.o btree/bt_get.o btree/bt_open.o btree/bt_overflow.o btree/bt_page.o btree/bt_put.o btree/bt_search.o btree/bt_seq.o btree/bt_split.o btree/bt_utils.o db/db.o mpool/mpool.o recno/rec_close.o recno/rec_delete.o recno/rec_get.o recno/rec_open.o recno/rec_put.o recno/rec_search.o recno/rec_seq.o recno/rec_utils.o -> libdb1.a [LD] abstract_jb.o acl.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o attrlic.o audiohook.o autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o file.o fixedjitterbuf.o frame.o fskmodem.o global_datastores.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o poll.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o stdtime/localtime.o strcompat.o tdd.o term.o test.o threadstorage.o translate.o udptl.o ulaw.o utils.o editline/libedit.a db1-ast/libdb1.a -> asterisk /usr/bin/ld:asterisk.exports:45: syntax error in VERSION script collect2: выполнение ld завершилось с кодом возврата 1 make[1]: *** [asterisk] Ошибка 1 make: *** [main] Ошибка 2 |
Пробовал запустить и выложенный здесь дистрибутив ast1435.tar.bz2
в итоге
| Code: |
| ./configure | grep -i t30 checking for t30rx_init in -lt30... no |
при make
| Code: |
| [LD] app_directed_pickup.o -> app_directed_pickup.so @ gcc -o app_directed_pickup.so -pthread -shared -Wl,--version-script,/usr/src/ast1435/default.exports app_directed_pickup.o [CC] app_directory.c -> app_directory.o :1:1: error: macro names must be identifiers :1:1: error: macro names must be identifiers :1:1: error: macro names must be identifiers :1:1: error: macro names must be identifiers :1:1: error: macro names must be identifiers :1:1: error: macro names must be identifiers make[1]: *** [app_directory.o] Ошибка 1 make: *** [apps] Ошибка 2 |
| terminal wrote: |
| ... при make [CC] app_directory.c -> app_directory.o make[1]: *** [app_directory.o] Ошибка 1 make: *** [apps] Ошибка 2 .... |
по поводу этого писал c0rnoTa http://asteriskforum.ru/viewtopic.php?p=44761#44761
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
| Code: |
| ./configure | grep -i t30 checking for t30rx_init in -lt30... no |
а вот с этим что может быть не так?
| Alex_asdf wrote: |
| linksys (g729, t38) -> asterisk (g729,t38) -> asterisk -> RXFAX_T30 - факс не проходит linksys (g729, t38) -> asterisk (g711) -> asterisk -> E1 -> ... -> ТА - факс не проходит |
более менее понятно, тут уже писали об этом, видимо это связано с определением факса на канале, но тут
| Alex_asdf wrote: |
| linksys (g729, t38) -> asterisk (g729,t38) -> asterisk -> E1 -> ... -> ТА - факс не проходит |
что ему может не нравится ?
| Alex_asdf wrote: | ||
| |
| Alex_asdf wrote: |
| linksys (g729, t38) -> asterisk (g729,t38) -> asterisk -> E1 -> ... -> ТА - факс не проходит |
что ему может не нравится ?
смотреть связку asterisk (g729,t38) -> asterisk а конкретно 2 asterisk смотреть что на нем происходит
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
Я использую call файлы.
Более подробно мой топик тут - http://asteriskforum.ru/viewtopic.php?t=6952
| Alex_asdf wrote: |
| Проблема с пропуском факсов linksys (g729, t38) -> asterisk (g729,t38) -> asterisk -> RXFAX_T30 - факс не проходит |
| Code: |
| FaxDetect: Detects fax tones (CED, CNG) on the current channel |
Заранее спасибо за ответ.
Хотя я пробовал у меня отлично работали на этом сервере Hylafax+iaxmodem, app_fax + spandsp, Faxdigium - проблема что у всех них нету детекта факса при исходящем вызове, я так понимаю это CED тон.
У меня CentOS release 5.5 (Final), Asterisk 1.4.29 - скомпилировал и пропатчил как написано в этом топике.
Все модули скомпилировались и загружены:
| Code: |
| CLI> module show like fax Module Description Use Count app_faxdetect.so FaxDetect 0 app_t30rxfax.so T.30 rxfax 0 app_t38txfax.so T.38 txfax 0 app_t38rxfaxp.so T.38 rxfax/pseudo 0 app_t30txfax.so T.30 txfax 0 app_t38txfaxp.so T.38 txfax/pseudo 0 app_t38rxfax.so T.38 rxfax 0 7 modules loaded |
Прием факса:
| Code: |
| RXFAX_T38("SIP/xxxxxxxxx-00000001", "/tmp/777777777777.tiff|123456") in new stack t30rx/0x89e1c90/0: t30rx_init called... t30rx/0x89e1c90/0: t30rx_init done... RXFAX_T38: successfuly initialised sip_read: bridge_flag=1, faxdetected=3 Sending reinvite on SIP (SIP/xxxxxxxxx-00000001) for T.38 negotiation. T38 state changed to 1 on channel SIP/xxxxxxxxx--00000001 [Oct 19 18:27:04] WARNING[14279]: chan_sip.c:5622 process_sdp: Insufficient information in SDP (c=)... [Oct 19 18:27:04] ERROR[14279]: chan_sip.c:13151 handle_response_invite: Got error on T.38 re-invite. Bad configuration. Peer needs to have T.38 disabled. RXFAX_T38: Failed switching to T.38 mode on channel |
Попытка определения входящего факса exten => _X.,n,FaxDetect(10|j)
| Code: |
| -- Executing [xxxxxxxx@from-trunk:3] FaxDetect("SIP/xxxxxxxx-00000007", "10|j") in new stack -- Starting application FaxDetect -- Will use FaxDetect with following settings - timeout: 10, jumping: enabled -- Unable to detect Fax Tone |
Очень странно - ничего не работает
Может из-за того что на этой машине пока еще установлен и функционирует hylafax ?
Подправил патч под версию 1.4.36, также исправлена ошибка при компиляции "/usr/bin/ld:asterisk.exports:45: syntax error in VERSION script " в старой версии патча.
Работоспособность проверена.
http://services.tel.ru/voip/attrafax_asterisk_1.4.36.patch
_________________
Bogdanov Roman
Я сейчас ковыряю патч как раз на 1.4.36 для сделать SIP-SIP gw. Как чего-нибудь получится - выложу.
Работоспособность кстати в какой позе проверена?
Проверена в позе gw(модуль gateway.so аттрафакса). SIP -> E1 и E1 -> SIP. Всё проходит по t38 на ура.
SIP-SIP вроде как и без аттрафакса работает? Астер может прозрачно передавать udptl пакеты(t38_udptl=yes).
_________________
Bogdanov Roman
| Kadafi писал(а): |
| attrlic.c и attractel.h есть в исходниках аттрафакса, просто копируем нужные файлы в папку исходников астериска. |
Это лишнее действие, которое надо делать.
| Kadafi писал(а): |
| SIP-SIP вроде как и без аттрафакса работает? Астер может прозрачно передавать udptl пакеты(t38_udptl=yes). |
Есть T.38-enabled peers, а есть нет. Между ними надо тоже гейтвеить T.38. И next stage - iax
Факсы приходят битые. Если присмотреться кажется что полярность букв меняется периодически ввиду чего факс получается нечитаемым.
Проверял на различных факсах, в том числе с hylafax. Судя по всему косяк в модуле.
Отправляем:
Получаем:
Оригиналы файлов:
http://services.tel.ru/voip/resolution_sending.tif
http://services.tel.ru/voip/resolution_receiving.tif
Есть идеи?
_________________
Bogdanov Roman
| bird_of_Luck писал(а): |
| Я сейчас ковыряю патч как раз на 1.4.36 для сделать SIP-SIP gw. Как чего-нибудь получится - выложу. |
Имеются успехи ?