| anest писал(а): |
| я телепат!" |
[oftopic]
Ты что, как я могу посягать на звание, которое на данном форуме носит Великий Неназываемый?
[/oftopic]
_________________
Trixbox 2.2.x (Asterisk 1.4.11) / FXO шлюзы (Dynamix, OvisLink, Planet, etc) / разные IP-телефоны (OvisLink, Grandstream, Dynamix, Nokia, Cisco ATA-186, etc)
Патч Уважаемого Cache (asterisk-1.4.18-t38-for-app_fax.patch) на 1.4.18 лёг и откомпилировался без проблем.
Но asterisk-addons-1.4.5-app_fax-t38.patch забыковал при ./configure:
configure: error: could not make ./config.status asterisk-addons
Вообщем прикладываю модификацию asterisk-addons-1.4.5-app_fax-t38.patch которая работает по крайней мере у меня с минимальным centos5.
или этот патч для Asterisk-Addons-1.4.6 ?
я не понимаю какой был смысл делать патч для 1.4.5 уже после выхода 1.4.6
Я например только *_мsql пользую, и то ради freepbx-a.
Как говорил один Уважаемый товарищ - "don't fix it if it isn't broken"
Added after 7 minutes:
щас по теме - ненавистный мп-104 факсы шлет как глухонемой, но 9600. На глаз видно что 14400 идёт, а в репорте 9600. В сип.с оставил в-0, + добавил 12к + 144к. Может в-0 убрать?
при схеме примерно такой GrandStreamT.38 -> * -> sip -> mc3810 t.38 /1751 t.38
чего должно быть в диал планах ?
| Цитата: |
| пастру (проход через *) по протоколу T38. |
passthrou = g711, а то что ты спрашиваешь называется транспарентный (прозрачный) бриджинг.
_________________
нанотехнолигии в области Asterisk
| Цитата: |
| asterisk-addons-1.4.6 # make menuselect/menuselect --check-deps menuselect.makeopts Generating embedded module rules ... make[1]: Nothing to be done for `all'. [CC] app_addon_sql_mysql.c -> app_addon_sql_mysql.o [LD] app_addon_sql_mysql.o -> app_addon_sql_mysql.so [CC] app_fax.c -> app_fax.o app_fax.c:112: error: field ‘t38state’ has incomplete type app_fax.c: In function ‘transmit_audio’: app_fax.c:328: error: storage size of ‘t38control’ isn’t known app_fax.c:368: error: ‘T38_UNAVAILABLE’ undeclared (first use in this function) app_fax.c:368: error: (Each undeclared identifier is reported only once app_fax.c:368: error: for each function it appears in.) app_fax.c:376: error: ‘DSP_FAXMODE_DETECT_CNG’ undeclared (first use in this function) app_fax.c:410: error: ‘AST_T38_REQUEST_NEGOTIATE’ undeclared (first use in this function) app_fax.c:411: error: ‘AST_CONTROL_T38’ undeclared (first use in this function) app_fax.c:437: error: invalid application of ‘sizeof’ to incomplete type ‘enum ast_control_t38’ app_fax.c:438: error: dereferencing pointer to incomplete type app_fax.c:439: error: ‘AST_T38_NEGOTIATED’ undeclared (first use in this function) app_fax.c: In function ‘transmit_t38’: app_fax.c:504: error: storage size of ‘t38control’ isn’t known app_fax.c:557: error: ‘AST_CONTROL_T38’ undeclared (first use in this function) app_fax.c:558: error: invalid application of ‘sizeof’ to incomplete type ‘enum ast_control_t38’ app_fax.c:560: error: dereferencing pointer to incomplete type app_fax.c:562: error: ‘AST_T38_TERMINATED’ undeclared (first use in this function) app_fax.c:562: error: ‘AST_T38_REFUSED’ undeclared (first use in this function) app_fax.c: In function ‘transmit’: app_fax.c:597: error: storage size of ‘t38state’ isn’t known app_fax.c:620: error: ‘T38_NEGOTIATED’ undeclared (first use in this function) make[1]: *** [app_fax.o] Error 1 make: *** [apps] Error 2 asterisk-addons-1.4.6 # |
наверняка я чтото упустил?
Уже при ./configure...
| Код: |
| checking curses.h usability... yes checking curses.h presence... yes checking for curses.h... yes checking for initscr in -lncurses... yes checking for curses.h... (cached) yes checking for fax_init in -lspandsp... yes checking spandsp.h usability... yes checking spandsp.h presence... yes checking for spandsp.h... yes checking for mysql_config... no checking for asterisk.h... yes configure: creating ./config.status configure: error: could not make ./config.status |
What's?
spandsp 0.0.4pre18
patch -p0 < asterisk-addons-1.4.6-app_fax-t38.patch
./bootstrap.sh
./configure
make menuselect
make
make install
Added after 2 minutes:
| anest писал(а): |
| к сожалению аддоны не захотели собираться. наверняка я чтото упустил? |
да походу не схватились новые заголовочные файлы
_________________
нанотехнолигии в области Asterisk
одностраничный и на несколько страниц.
_________________
нанотехнолигии в области Asterisk
патчи наложены, плагин собран, итд.
| Код: |
| [Apr 21 06:26:24] -- Goto (officefax,s,1) [Apr 21 06:26:24] -- Executing [s@officefax:1] Answer("SIP/9220002-08204f38", "") in new stack [Apr 21 06:26:24] -- Executing [s@officefax:2] Set("SIP/9220002-08204f38", "FAXFILE=/var/spool/asterisk/fax/9220002-1208744784.2.tif") in new stack [Apr 21 06:26:24] -- Executing [s@officefax:3] Set("SIP/9220002-08204f38", "FAXFILENOEXT=/var/spool/asterisk/fax/9220002-1208744784.2") in new stack [Apr 21 06:26:24] -- Executing [s@officefax:4] ReceiveFAX("SIP/9220002-08204f38", "/var/spool/asterisk/fax/9220002-1208744784.2.tif") in new stack [Apr 21 06:26:45] Really destroying SIP dialog 'NThkNDZiY2U0MDg5ZGFlNzVlNzg0MTI1OGEwNTc2ZDY.' Method: REGISTER [Apr 21 06:27:11] -- Executing [s@officefax:5] System("SIP/9220002-08204f38", "/usr/bin/fax2mail 9220002 "Admin" 110 support support@xxx.ru /var/spool/asterisk/fax/9220002-1208744784.2 p") in new stack [Apr 21 06:27:11] -- Executing [s@officefax:6] Hangup("SIP/9220002-08204f38", "") in new stack [Apr 21 06:27:11] == Spawn extension (officefax, s, 6) exited non-zero on 'SIP/9220002-08204f38' [Apr 21 06:27:11] -- Executing [h@officefax:1] System("SIP/9220002-08204f38", "/usr/bin/fax2mail 9220002 "Admin" 110 support support@xxx.ru /var/spool/asterisk/fax/9220002-1208744784.2 p") in new stack [Apr 21 06:27:11] -- Executing [h@officefax:2] Hangup("SIP/9220002-08204f38", "") in new stack [Apr 21 06:27:11] == Spawn extension (officefax, h, 2) exited non-zero on 'SIP/9220002-08204f38' [Apr 21 06:27:13] Really destroying SIP dialog 'ZWU3YTdjMzNhZTNmYWQyNzIyOWU1N2ViOGE1NzhjNDA.' Method: ACK [Apr 21 06:27:48] Really destroying SIP dialog 'NThkNDZiY2U0MDg5ZGFlNzVlNzg0MTI1OGEwNTc2ZDY.' Method: REGISTER |
| Код: |
| [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 T4 expired in phase T30_PHASE_B_RX, state 17 [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_B_RX to T30_PHASE_B_TX [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW FAX Set rx type 0 [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW FAX Set tx type 4 [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 DIS: [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 .... ...0= Store and forward Internet fax (T.37): Not set [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 .... .0..= Real-time Internet fax (T.38): Not set [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 .... 0...= 3G mobile network: Not set [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 ..0. ....= V.8 capabilities: Not set [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 .0.. ....= Preferred octets: 256 octets [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 .... ...0= Ready to transmit a fax document (polling): Not set [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 .... ..1.= Can receive fax: Set [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 ..00 11..= Supported data signalling rates: V.27 ter and V.29 [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 .1.. ....= R8x7.7lines/mm and/or 200x200pels/25.4mm: Set [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 1... ....= 2-D coding: Set [Apr 21 06:47:04] DEBUG[17117] app_fax.c: FLOW T.30 .... ..00= Recording width: 215mm +- 1% .................. [Apr 21 06:34:53] DEBUG[17082] channel.c: Internal timing is enabled (option_internal_timing=1048576 chan->timingfd=31) [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 2/64, len=320 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 5/0, len=0 [Apr 21 06:34:53] DEBUG[17082] channel.c: Internal timing is enabled (option_internal_timing=1048576 chan->timingfd=31) [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 2/64, len=320 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 5/0, len=0 [Apr 21 06:34:53] DEBUG[17082] channel.c: Internal timing is enabled (option_internal_timing=1048576 chan->timingfd=31) [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 2/64, len=320 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 5/0, len=0 [Apr 21 06:34:53] DEBUG[17082] channel.c: Internal timing is enabled (option_internal_timing=1048576 chan->timingfd=31) [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 2/64, len=320 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 5/0, len=0 [Apr 21 06:34:53] DEBUG[17082] channel.c: Internal timing is enabled (option_internal_timing=1048576 chan->timingfd=31) [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 2/64, len=320 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 5/0, len=0 [Apr 21 06:34:53] DEBUG[17082] channel.c: Internal timing is enabled (option_internal_timing=1048576 chan->timingfd=31) [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 2/64, len=320 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 5/0, len=0 [Apr 21 06:34:53] DEBUG[17082] channel.c: Internal timing is enabled (option_internal_timing=1048576 chan->timingfd=31) [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 2/64, len=320 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_E, state 2 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: Fax phase E handler. result=3 [Apr 21 06:34:53] WARNING[17082] app_fax.c: Error transmitting fax. result=3: Timed out waiting for the first message. [Apr 21 06:34:53] DEBUG[17082] app_fax.c: FLOW T.30 Changing from state 2 to 32 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_E to T30_PHASE_CALL_FINISHED [Apr 21 06:34:53] DEBUG[17082] app_fax.c: FLOW FAX Set rx type 13 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: FLOW FAX FAX exchange complete [Apr 21 06:34:53] DEBUG[17082] app_fax.c: FLOW FAX Set tx type 13 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: FLOW FAX FAX exchange complete [Apr 21 06:34:53] DEBUG[17082] app_fax.c: frame 5/0, len=0 [Apr 21 06:34:53] DEBUG[17082] app_fax.c: Loop finished, res=0 [Apr 21 06:34:53] DEBUG[17082] channel.c: Scheduling timer at 0 sample intervals [Apr 21 06:34:53] DEBUG[17082] channel.c: Set channel SIP/9220002-08206838 to write format alaw [Apr 21 06:34:53] DEBUG[17082] channel.c: Set channel SIP/9220002-08206838 to read format alaw [Apr 21 06:34:53] WARNING[17082] app_fax.c: Transmission failed [Apr 21 06:34:53] DEBUG[17082] pbx.c: Launching 'Hangup' |
Факса нет
Звонилка Zoiper пишет в статусе при первой отправке факса "bariercapability notavail", но если отправлять/повторять звонок из листа "История" - то пищит в одну строну ...
Последний раз редактировалось: den68 (Пн Апр 21, 2008 01:07)
| Код: |
| ./bootstrap.sh |
По поводу прикручивания к *, для отправки мылом факса есть подводные камни, пришлось поредактировать fax2mail и т.д.
в extensions.conf:
| Код: |
| [officefax] ; Recive Fax exten => s,1,Answer exten => s,n,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID}.tif) exten => s,n,Set(FAXFILENOEXT=/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID}) exten => s,n,ReceiveFAX(${FAXFILE}) exten => s,n,System('/usr/bin/fax2mail --cid-number "${CALLERID(num)}" --cid-name "${CALLERID(name)}" --dest-email "support@xxx.ru" -f "${FAXFILENOEXT}"') exten => s,n,Hangup exten => h,1,System('/usr/bin/fax2mail --cid-number "${CALLERID(num)}" --cid-name "${CALLERID(name)}" --dest-email "support@xxx.ru" -f "${FAXFILENOEXT}"') exten => h,2,Hangup |
До кучи, fax2mail требует сендмейла, кучу перловых модулей, благодаря варезу mime-construct, непонятно зачем такую кашу изобретать ? ну работает да и ладно ...
_________________
нанотехнолигии в области Asterisk
| den68 писал(а): |
| ...конфиг udptl.conf отредактированный обязателен... |
можно детальнее?
| Код: |
| [May 13 15:36:37] WARNING[2705]: app_fax.c:125 span_message: WARNING T.30 Non-ECM carrier not found [May 13 15:37:04] WARNING[2705]: app_fax.c:125 span_message: WARNING T.30 Non-ECM carrier not found [May 13 15:38:01] WARNING[2705]: app_fax.c:214 phase_e_handler: Error transmitting fax. result=40: Unexpected DCN while waiting for EOM, EOP or MPS. [May 13 15:38:01] WARNING[2705]: app_fax.c:640 transmit: Transmission failed [May 13 15:38:01] DEBUG[2705]: app_macro.c:337 _macro_exec: Executed application: ReceiveFAX |
Слал для теста факс из 10 страниц и на 7-й такое выкинуло.
| anest писал(а): | ||
| den68 писал(а): |
| ...конфиг udptl.conf отредактированный обязателен... |
можно детальнее?
Можно, если удалить данный конфиг, или закоментировать в нем все - то app_fax не работает, что видно из логов, но изначально не очень очевидно откуда ноги у проблемы.
к слову сказать во всех своих установках (в которых как раз и не работает ни черта факс) я менял диапазон портов с "дефолтных" 4000 на 14000 тоесть "сдвигал" этот диапазон в сторону разрешенного в файрволе для rtp 10000-20000.
http://asteriskforum.ru/viewtopic.php?p=15127
Теперь астериск вооще вылетает, когда звонишь на номер, на котором прописан rxfax.
версия астериска 1.4.13
spandsp-0.0.5
теперь вопрос такой, может подтолкнёте на мысль...
Когда я звоню на внутренний номер, где прописан rxfax слышу сигналы факса, все как обычно. Но, когда я звоню на наш городской номер, который заходит к нам по сипу через интернет, то вооще ничего не слышу. Обращался в супорт, они говорят, что все у них работает нормально, и что мне нужно подключить т.38, но у меня все включено.
ну почему всем по барабану что будет тут после них?
один вопрос на один топик! появился новый вопрос - открываете новый топик (убедившись что ответа еще нет на такой вопрос в этом форуме)!!
Мне казалось мой вопрос относится сюда...
| Alexandr писал(а): |
| версия астериска 1.4.13 spandsp-0.0.5 |
не пользуйте пока spandsp 0.0.5 b стрые rxtx fax а также app_fax
в spandsp поменялся вызов процедур и некоторые функции были перемесчены и названы по дргуому
из этого астер падает, сам наступил на эти грабли.
понял после изучения корки
_________________
нанотехнолигии в области Asterisk
spandsp-20080502.tar.gz
всё заработало!
Пасиб за помощь!
схема : fax -> cisco iad -> * -> fxo -> pstn
* собран с патчем из этой ветки, на циске конфиг:
| Код: |
| voice service pots supported-language ru fax protocol t38 ls-redundancy 2 hs-redundancy 2 fallback pass-through g711alaw ! voice service voip fax protocol t38 ls-redundancy 2 hs-redundancy 2 fallback pass-through g711alaw ! ! dial-peer voice 102 voip destination-pattern .T voice-class codec 10 session protocol sipv2 session target ipv4:9.2.4.44:5060 dtmf-relay rtp-nte req-qos guaranteed-delay playout-delay minimum low fax-relay ecm disable fax rate 4800 bytes 48 fax nsf 000000 fax protocol t38 ls-redundancy 2 hs-redundancy 2 fallback pass-through g711alaw no vad ! ! gateway timer receive-rtcp 7 ! sip-ua max-forwards 15 retry invite 10 retry response 5 retry cancel 5 timers trying 1000 timers connect 1000 timers disconnect 1000 sip-server ipv4:9.2.4.44:5060 ! |
но ведь счас же вроде как spandsp под GPL уже!? может всетки можно будет протолкнуть сей чудный патчик в транк теперь? до стабильности 1.6 еще ох как далеко... а каждый раз как изготавливать патч под новый релиз так и потом всем возиться с его накладыванием сложности. и ради чего всё это?
Насчёт GPL: в этом то и была проблема, Asterisk не может использовать GPL код и библиотеки. А так как spandsp теперь под LGPL, то его можно использовать в ядре астериска, правда сомневаюсь в повсеместном переходе в ближайшее время.
_________________
OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i
http://igorg.ru
| IgorG писал(а): |
| Asterisk не может использовать GPL код и библиотеки. |
вот это для меня новость! а разве сам астериск не под GPL??
_________________
OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i
http://igorg.ru
_________________
нанотехнолигии в области Asterisk
_________________
OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i
http://igorg.ru
show modules:
app_fax.so Simple FAX Application
Извините, а дальше что ?
В sip.conf: t38pt_udpl=yes и по прежнему
Got T.38 offer in SDP in dialog 34abd746-bafe-cfaa-805e-0002a40457ea@192.168.60.230
Got T.38 Re-invite without audio. Keeping RTP active during T.38 session. Callid 34abd746-bafe-cfaa-805e-0002a40457ea@192.168.60.230
Capabilities: us - 0xc (ulaw|alaw), peer - audio=0x0 (nothing)/video=0x0 (nothing), combined - 0x0 (nothing)
Нужны ли какие-нибудь дополнительные параметры в конфигах ?
ps: факс приходит по pri(так что проблемма не в кодеках) и даже когда с одного pri пришёл и через другое ушёл на железный факс, то всё работает, а на виртуальный нет
Added after 2 hours 22 minutes:
когда отправляешь с памяти то всё ок, значит я правильно предположил
Added after 3 minutes:
exten => _6[1-9]XX,n,ReceiveFAX(${Filename})
exten => _6[1-9]XX,n,ReceiveFAX(${Filename})
не помогло
Added after 10 minutes:
И чтобы два раза не вставать, объясняю тему с лицензией: Digium владеет всем кодом астериска как полноправный владелец он может делать с ним все что угодно в частности:
1. сделать снапшот кода доступный всему миру по лицензии GPL
2. сделать любое другое количество снапшотов с любыми модификациями и продавать их closed source - не показывая исходников никому.
То есть условно можно считать что существует некий базовый Asterisk-base, которым владеет Digium и на сорсах которого основан "open source Asterisk" и "Asterisk business edition (ABE)". Так вот "open source Asterisk" доступен по GPL но это ни коим образом не делает его основу (Asterisk-base) также GPL кодом и не требует открывать его сорсы. Ровно как и не обязует Digium открывать сорсы ABE. И не важно что виртуальный Asterisk-base ничем не отличается от open source Asterisk - суть в том что у Digium есть права делать с кодом все что угодно не открывая его.
Почему Digium не может взять другую GPL либу? Да потому что если он ее возьмет и прицепит к Asterisk-base это немедленно потребует публикации всех сорсов Asterisk-base также под GPL. И это пол беды, но это тут же потребует публикации сорсов и всех коммерческих разработок (того же ABE) т.к. он будет основан на GPL'ном Asterisk-base. А вот на это они не пойдут.
а так хотелось что бы всё было проще ...
| bbv писал(а): |
| ...и понял, что iaxmodem+hylafax намного лучше, вероятность прохождения факсов намного больше... |
у меня из пары сотен факсов прошли абсолютно ВСЕ. без единой потери и без единого искажения. слал как сипом напрямую так и через DID(fax аппарат на land-line=> звонок на DID ipkall => sip). все проходит идеально. с патчем от Cache. еще раз ему (и dimas'у) огромное спасибо за проделанную работу!
на факсовом аппарате крутил разные настройки - корекцию ошибок и включал и выключал - всё ходит безупречно всеравно. может у меня руки кривые?
но с app_fax столкнулся с проблеммой что он слишком быстро ложит трубку, в часности hp all in one 3055 и ещё 2-3 модели, название не помню не может отправить факс с податчика, когда сканируешь в память, а потом отправляешь - всё ок, с hylafax же таких проблемм нету ...
| anest писал(а): |
| .. может у меня руки кривые? |
| bbv писал(а): |
| t38 не использовал ... |
но в этом топике идет обсуждение app_fax именно версии Т.38
| anest писал(а): |
| .. может у меня руки кривые? |
всё может быть ...., так как если почитать тикеты на callweaver.org там не все факсы ходят по t.38, а там rx_fax писал Steve Underwood - автор этой библиотеки
так что то что у Вас всё работает это просто повезло
| Цитата: |
| так что то что у Вас всё работает это просто повезло |
я бы не был столь голословным.
а callweaver на сколько помню всегда был на уровень "сырее" астериска
| anest писал(а): |
| типа повезло мне (на 3х серверах и одном роутере) и еще десяткам (а то и сотням) других людей... какоето прямо таки мега-везение! а callweaver на сколько помню всегда был на уровень "сырее" астериска |
возможно был во всём кроме работы с факсами
ps: не нужно меня цитировать целиком, отвечая следом на мой же пост - в этом нет абсолютно никакой необходимости, а ресурсы сервера ест и трафик пользователей тоже. спасибо.
r119801 | russell | 2008-06-02 20:14:15 +0400 (пн, 02 июн 2008) | 4 lines
Add app_fax from asterisk-addons, with some additional changes to resolve compiler
warnings, as well as update to the APIs in spandsp 0.0.5. Spandsp 0.0.5 is being
distributed under the LGPL, so we can move this module into the main tree.
_________________
ys
http://voip.rus.net/
| ys писал(а): |
| В транк попали, и ста лет не прошло. |
я рад очень рад )))
_________________
нанотехнолигии в области Asterisk
использую asterisk 1.4.19.2-62.src.rpm и asterisk-addons-1.4.6-20.src.rpm (от ATrpms.net), app_fax выше указаным патчем
очень часто сыпятся такие вот варнинги
WARNING[31656] channel.c: Unable to handle indication 19 for 'SIP/22-0988c8a0'
WARNING[31656] app_fax.c: Error transmitting fax. result=13: Unexpected message received.
WARNING[31656] app_fax.c: Transmission failed
в какую сторону копать?
| Цитата: |
| [Jun 10 03:46:30] DEBUG[9606] channel.c: Internal timing is disabled (option_internal_timing=0 chan->timingfd=-1) [Jun 10 03:46:30] DEBUG[9606] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_E, state 2 [Jun 10 03:46:30] DEBUG[9606] app_fax.c: Fax phase E handler. result=48 [Jun 10 03:46:30] WARNING[9606] app_fax.c: Error transmitting fax. result=48: Disconnected after permitted retries. [Jun 10 03:46:30] DEBUG[9606] app_fax.c: FLOW T.30 Changing from state 2 to 32 [Jun 10 03:46:30] DEBUG[9606] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_E to T30_PHASE_CALL_FINISHED [Jun 10 03:46:30] DEBUG[9606] app_fax.c: FLOW FAX Set rx type 13 [Jun 10 03:46:30] DEBUG[9606] app_fax.c: FLOW FAX FAX exchange complete [Jun 10 03:46:30] DEBUG[9606] app_fax.c: FLOW FAX Set tx type 13 [Jun 10 03:46:30] DEBUG[9606] app_fax.c: FLOW FAX FAX exchange complete [Jun 10 03:46:30] DEBUG[9606] app_fax.c: Loop finished, res=0 [Jun 10 03:46:30] DEBUG[9606] channel.c: Set channel Zap/8-1 to write format alaw [Jun 10 03:46:30] DEBUG[9606] channel.c: Set channel Zap/8-1 to read format alaw [Jun 10 03:46:30] WARNING[9606] app_fax.c: Transmission failed [Jun 10 03:46:30] DEBUG[9606] app_macro.c: Executed application: ReceiveFAX |
| Цитата: |
| [Jun 11 01:06:45] DEBUG[24655] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_B_TX, state 17 [Jun 11 01:06:45] DEBUG[24655] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_B_TX, state 17 [Jun 11 01:06:45] DEBUG[24655] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_B_TX to T30_PHASE_B_RX [Jun 11 01:06:45] DEBUG[24655] app_fax.c: FLOW FAX Set rx type 4 [Jun 11 01:06:45] DEBUG[24655] app_fax.c: FLOW FAX Set tx type 0 [Jun 11 01:06:46] DEBUG[24655] app_fax.c: FLOW T.30 HDLC carrier down in state 17 [Jun 11 01:06:48] DEBUG[24655] app_fax.c: FLOW T.30 T4 expired in phase T30_PHASE_B_RX, state 17 [Jun 11 01:06:48] DEBUG[24655] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_B_RX to T30_PHASE_D_TX [Jun 11 01:06:48] DEBUG[24655] app_fax.c: FLOW FAX Set rx type 0 [Jun 11 01:06:48] DEBUG[24655] app_fax.c: FLOW FAX Set tx type 4 [Jun 11 01:06:48] DEBUG[24655] app_fax.c: FLOW T.30 Changing from state 17 to 3 [Jun 11 01:06:48] DEBUG[24655] app_fax.c: FLOW T.30 Tx: DCN with final frame tag [Jun 11 01:06:48] DEBUG[24655] app_fax.c: FLOW T.30 Tx: ff 13 fa [Jun 11 01:06:49] DEBUG[24655] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_D_TX, state 3 [Jun 11 01:06:49] DEBUG[24655] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_D_TX, state 3 [Jun 11 01:06:49] DEBUG[24655] app_fax.c: FLOW T.30 Disconnecting [Jun 11 01:06:49] DEBUG[24655] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_D_TX to T30_PHASE_E [Jun 11 01:06:49] DEBUG[24655] app_fax.c: FLOW FAX Set rx type 0 [Jun 11 01:06:49] DEBUG[24655] app_fax.c: FLOW FAX Set tx type 1 [Jun 11 01:06:49] DEBUG[24655] app_fax.c: FLOW T.30 Changing from state 3 to 2 [Jun 11 00:45:12] DEBUG[24553] channel.c: Internal timing is disabled (option_internal_timing=0 chan->timingfd=-1) [Jun 11 00:45:12] DEBUG[24553] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_E, state 2 [Jun 11 00:45:12] DEBUG[24553] app_fax.c: Fax phase E handler. result=48 [Jun 11 00:45:12] WARNING[24553] app_fax.c: Error transmitting fax. result=48: Disconnected after permitted retries. [Jun 11 00:45:12] DEBUG[24553] app_fax.c: FLOW T.30 Changing from state 2 to 32 [Jun 11 00:45:12] DEBUG[24553] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_E to T30_PHASE_CALL_FINISHED [Jun 11 00:45:12] DEBUG[24553] app_fax.c: FLOW FAX Set rx type 13 [Jun 11 00:45:12] DEBUG[24553] app_fax.c: FLOW FAX FAX exchange complete [Jun 11 00:45:12] DEBUG[24553] app_fax.c: FLOW FAX Set tx type 13 [Jun 11 00:45:12] DEBUG[24553] app_fax.c: FLOW FAX FAX exchange complete [Jun 11 00:45:12] DEBUG[24553] app_fax.c: Loop finished, res=0 [Jun 11 00:45:12] DEBUG[24553] channel.c: Set channel Zap/13-1 to write format alaw [Jun 11 00:45:12] DEBUG[24553] channel.c: Set channel Zap/13-1 to read format alaw [Jun 11 00:45:12] WARNING[24553] app_fax.c: Transmission failed [Jun 11 00:45:12] DEBUG[24553] app_macro.c: Executed application: ReceiveFAX |
| Код: |
| [Jun 11 00:45:12] WARNING[24553] app_fax.c: Error transmitting fax. result=48: Disconnected after permitted retries. |
на практике же это значит что факсы никак не могут нормально законнектится.
вопрос - железка на которой это не работает, она мощная? Просто мне показалось что все траблы с факсом которые были у меня, они тригегрятся тем что не немножко гуляет тайминг. т.е. если факс формирует и пишет 160 сэмпловый фрейм в Zap канал чуть-чуть позже чем требовалось, то "звук" который порождает астериск получается с разрывами. А задержки могут быть из-за слабого проца например.
| Цитата: |
| Умножая познания - умножаем скорбь. Экклезиаст |
Однако добавлю: со стороны SIP факсы приходят тик-так. Вот почему Zap кобенится?
Уныние.
Машина там мощная - два проца Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz
Мне simax на asterisk-support давал ссылку на свой факс, там совершенно другой принцип тайминга используется (аппаратный таймер от zaptel). Если проблема с app_fax стопроцентно повторимая, то стоит попробовать этот альтернативный факс. И если там все работает как часы, то можно думать об исправлении app_fax на использование такого же тайминга. Они в принципе вместе жить могут - разные applications в астериске.
http://simax1234.narod.ru/app_recvfax.c
Но вот сейчас там живет app_fax и старые rxfax + txfax. Если идет в макросе через ReceiveFAX, то ещё туда-сюда, а если пустить на rxfax - валится Астериск при приёме факса сразу.
Вот так вот, председательша!
При приёме уже на RecvFAX - бух! И свалился.
if (inf->frametype == AST_FRAME_VOICE) {
в цикле поменять на
if (inf->frametype == AST_FRAME_VOICE && inf->subclass == AST_FORMAT_SLINEAR) {
Дык вить
| Цитата: |
| При приёме уже на RecvFAX - бух! |
я думаю у тебя не все собралось как надо и не без ошибок. пересобери все еще раз и внимательно погляди будут ли ошибки какиенить.
у меня как то уже было чтото подобное. валилось тоже. ссылки на какието либы были битые, оно вроде компилялось но с ошибками. пересобрал всё заново и всё завелося.
./bootstrap.sh тоже не забудь после патча
у меня как то уже было чтото подобное. валилось тоже. ссылки на какието либы были битые, оно вроде компилялось но с ошибками. пересобрал всё заново и всё завелося.
./bootstrap.sh тоже не забудь после патча
Продолжаю:
и tiff не создаётся.
HDLC прыгает up-down
Продолжаю с ReceiveFAX, потому что с RecvFAX Астериск падает, не принимает гадские факсы.
| Код: |
| [Jun 11 20:35:05] VERBOSE[1750] logger.c: -- Goto (macro-faxreceive,s,6) [Jun 11 20:35:05] DEBUG[1750] app_macro.c: Executed application: Gotoif [Jun 11 20:35:05] VERBOSE[1750] logger.c: -- Executing [s@macro-faxreceive:6] ReceiveFAX("Zap/10-1", "/var/spool/asterisk/fax/1213202105.8.tif") in new stack [Jun 11 20:35:29] WARNING[1750] app_fax.c: Error transmitting fax. result=48: Disconnected after permitted retries. [Jun 11 20:35:29] WARNING[1750] app_fax.c: Transmission failed [Jun 11 20:35:29] DEBUG[1750] app_macro.c: Executed application: ReceiveFAX |
и tiff не создаётся.
HDLC прыгает up-down
| Код: |
| [Jun 11 20:45:58] DEBUG[1812] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_B_TX, state 17 [Jun 11 20:45:58] DEBUG[1812] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_B_TX to T30_PHASE_B_RX [Jun 11 20:45:58] DEBUG[1812] app_fax.c: FLOW FAX Set rx type 4 [Jun 11 20:45:58] DEBUG[1812] app_fax.c: FLOW FAX Set tx type 0 [Jun 11 20:45:58] DEBUG[1812] app_fax.c: FLOW T.30 HDLC carrier up in state 17 [Jun 11 20:45:58] DEBUG[1812] channel.c: Internal timing is disabled (option_internal_timing=0 chan->timingfd=-1) [Jun 11 20:45:58] DEBUG[1812] app_fax.c: FLOW T.30 HDLC carrier down in state 17 |
Продолжаю с ReceiveFAX, потому что с RecvFAX Астериск падает, не принимает гадские факсы.
| Код: |
| [Jun 11 20:46:01] DEBUG[1812] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_B_RX to T30_PHASE_B_TX [Jun 11 20:46:01] DEBUG[1812] app_fax.c: FLOW FAX Set rx type 0 [Jun 11 20:46:01] DEBUG[1812] app_fax.c: FLOW FAX Set tx type 4 [Jun 11 20:46:13] DEBUG[1812] app_fax.c: FLOW T.30 Send complete in phase T30_PHASE_E, state 2 [Jun 11 20:46:13] DEBUG[1812] app_fax.c: Fax phase E handler. result=48 [Jun 11 20:46:13] WARNING[1812] app_fax.c: Error transmitting fax. result=48: Disconnected after permitted retries. [Jun 11 20:46:13] DEBUG[1812] app_fax.c: FLOW T.30 Changing from state 2 to 32 [Jun 11 20:46:13] DEBUG[1812] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_E to T30_PHASE_CALL_FINISHED [Jun 11 20:46:13] DEBUG[1812] app_fax.c: FLOW FAX Set rx type 13 [Jun 11 20:46:13] DEBUG[1812] app_fax.c: FLOW FAX FAX exchange complete [Jun 11 20:46:13] DEBUG[1812] app_fax.c: FLOW FAX Set tx type 13 [Jun 11 20:46:13] DEBUG[1812] app_fax.c: FLOW FAX FAX exchange complete [Jun 11 20:46:13] DEBUG[1812] app_fax.c: Loop finished, res=0 [Jun 11 20:46:13] DEBUG[1812] channel.c: Set channel Zap/13-1 to write format alaw [Jun 11 20:46:13] DEBUG[1812] channel.c: Set channel Zap/13-1 to read format alaw [Jun 11 20:46:13] WARNING[1812] app_fax.c: Transmission failed [Jun 11 20:46:13] DEBUG[1812] app_macro.c: Executed application: ReceiveFAX |
ded,
Я к сожалению его сам не запускал, предлагаю собрать с DONT_OPTIMIZE, уронить, корку поднять gdb и показать bt
Я к сожалению его сам не запускал, предлагаю собрать с DONT_OPTIMIZE, уронить, корку поднять gdb и показать bt
Sorry for english. I've created faxserver (with hylafax, iaxmodem and asterisk). And now I'm looking for application, witch could send fax using T.38 . I've tested sendfax (app_fax) , but from traces I see, that it uses G711 . This is my scheme:
[asterisk]-->-->--[voip-gw]----
I've no problems sending fax using t.38 passthrou over asterisk.
So my question is: is it possible to send faxes with sendfax using t38 and how to do it ?
thanks
[asterisk]-->-->--[voip-gw]----
I've no problems sending fax using t.38 passthrou over asterisk.
So my question is: is it possible to send faxes with sendfax using t38 and how to do it ?
thanks
app_fax support T.38, for SIP preferred, not H.323, not IAX2 (AFAIK)/
Then, iaxmodem - with G711 passthru only.
Пиши по-русски.
Then, iaxmodem - with G711 passthru only.
Пиши по-русски.
Everyone can answer in russian. I understand russian, but I can't write
.
My question was, how to send a fax with sendfax using t.38. I send faxes with sendfax successfully, but I see, that it uses G711 not t.38 . Maybe my voip gateway must detect that the call is fax and send reinvite (change g711 -> t38) to sendfax application...
My question was, how to send a fax with sendfax using t.38. I send faxes with sendfax successfully, but I see, that it uses G711 not t.38 . Maybe my voip gateway must detect that the call is fax and send reinvite (change g711 -> t38) to sendfax application...
| voipas писал(а): |
| Everyone can answer in russian. I understand russian, but I can't write |
Then write to English speaking forums - asteriskguru.
Мой вопрос состоял в следующем: каким образом можно отослать факс при помощи sendfax, используя t.38 протокол. Дело в том, что в моём случае отправить факс удаётся, но я вижу что факс использует G711, а не t.38. Возможно мой voip шлюз должен определить, что звонок - факсовый и послать реинвайт (поменять g711 на t38) sendfax аппликации.
неужели никто досихпор так и не настроил нормально факсы? столько лет уже существует решение, а нормально не отладили
voipas: разумеется, на шлюзе провайдера, через который отсылается факс, должно быть понимание протокола Т.38.
Для циско шлюзов это строка в диал пире
что означает - слушать пир, и если факс - принимать/отправлять по Т.38, а если узел не поддерживает - то по G711 pass-through
а там может стоять сейчас что угодно, из набора
dimas: отловил через strace:
Для циско шлюзов это строка в диал пире
| Код: |
| fax protocol t38 fallback pass-through |
что означает - слушать пир, и если факс - принимать/отправлять по Т.38, а если узел не поддерживает - то по G711 pass-through
а там может стоять сейчас что угодно, из набора
| Код: |
| fax protocol none | system | cisco | pass-through |
dimas: отловил через strace:
| Цитата: |
| sigreturn(asterisk: symbol lookup error: /usr/lib/asterisk/modules/app_recvfax.so: undefined symbol: span_set_message_handler) = ? (mask now []) --- SIGURG (Urgent I/O condition) @ 0 (0) --- rt_sigaction(SIGURG, {0x8067960, [URG], SA_RESTART}, {0x8067960, [URG], SA_RESTART}, sigreturn(ptrace: umoven: No such process trace: ptrace(PTRACE_SYSCALL, ...): No such process |
| dimas писал(а): |
| предлагаю собрать с DONT_OPTIMIZE, уронить, корку поднять gdb и показать bt |
| Код: |
| # gdb --core core.2797 GNU gdb Red Hat Linux (6.5-25.el5_1.1rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu". (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". Core was generated by `asterisk -vvvvgc'. Program terminated with signal 11, Segmentation fault. #0 0x08109cdc in ?? () (gdb) bt #0 0x08109cdc in ?? () #1 0x09d04bb0 in ?? () #2 0x00000000 in ?? () |
Ded, а какой у тебя размер получается модуля app_fax.so? Есть проблема что addons собираются всегда с оптимизацией и не содержат отладочной информации. Я как-то баг открывал, но мне не поверили. Можно собрать без оптимизации вручную добавив флаги компилятору -g -O0
-rwxr-xr-x 1 asterisk asterisk 23265 Jun 10 02:00 app_fax.so
Но с ним то в корку не падает, с ним не принимает в .tiff - проблемы с синхронизацией! И не знаю как поправить.
Корку отбрасывает альтернативная app_recvfax производства человека из Нижнего Новгорода.
http://simax1234.narod.ru/app_recvfax.c
Но с ним то в корку не падает, с ним не принимает в .tiff - проблемы с синхронизацией! И не знаю как поправить.
Корку отбрасывает альтернативная app_recvfax производства человека из Нижнего Новгорода.
http://simax1234.narod.ru/app_recvfax.c
ded:
ну bt вообще ничего не показывает - поэтому IgorG и предположил что recvfax он без отладочной информации собран. Как именно он собирается? Может ему таки попробовать флаги при сборке дать которые IgorG предложил?
Я попробую сам собрать эту аппликуху и потестить, но не уверен насчет сроков. Постараюсь на этой неделе.
Added after 1 minutes:
1. Убедись что t38pt_udptl = yes в sip.conf
Ну и разумеется от принимающей факс стороны (в данном случае это шлюз) при обнаружении факс-тона должен приходить re-INVITE на T38. Приходит ли он легко проверить включив sip debug для данного пира.
ну bt вообще ничего не показывает - поэтому IgorG и предположил что recvfax он без отладочной информации собран. Как именно он собирается? Может ему таки попробовать флаги при сборке дать которые IgorG предложил?
Я попробую сам собрать эту аппликуху и потестить, но не уверен насчет сроков. Постараюсь на этой неделе.
Added after 1 minutes:
| voipas писал(а): |
| Мой вопрос состоял в следующем: каким образом можно отослать факс при помощи sendfax, используя t.38 протокол. Дело в том, что в моём случае отправить факс удаётся, но я вижу что факс использует G711, а не t.38. Возможно мой voip шлюз должен определить, что звонок - факсовый и послать реинвайт (поменять g711 на t38) sendfax аппликации. |
1. Убедись что t38pt_udptl = yes в sip.conf
Ну и разумеется от принимающей факс стороны (в данном случае это шлюз) при обнаружении факс-тона должен приходить re-INVITE на T38. Приходит ли он легко проверить включив sip debug для данного пира.
2 dimas & IgorG:
Собирал я без затей - добавил строчки в menuselect-tree и через make menuselect собрал.
Более детально вручную боюсь не смогу - не владею стилем дракона!
Последний раз редактировалось: Ded (Пн Июн 16, 2008 22:42)
Собирал я без затей - добавил строчки в menuselect-tree и через make menuselect собрал.
Более детально вручную боюсь не смогу - не владею стилем дракона!
Последний раз редактировалось: Ded (Пн Июн 16, 2008 22:42)
Вот, поправил, собрал и проверил на виртуалке - у меня работает.
Тестировал на 1.6 но должно работать и с 1.4
Требует SpanDSP 0.0.5
Тестировал на 1.6 но должно работать и с 1.4
Требует SpanDSP 0.0.5
| Код: |
| [CC] app_recvfax.c -> app_recvfax.o app_recvfax.c: In function ‘recvfax_exec’: app_recvfax.c:506: error: request for member ‘ptr’ in something not a structure or union app_recvfax.c:527: error: request for member ‘ptr’ in something not a structure or union app_recvfax.c:540: error: request for member ‘ptr’ in something not a structure or union app_recvfax.c:544: error: request for member ‘ptr’ in something not a structure or union app_recvfax.c:547: error: request for member ‘ptr’ in something not a structure or union app_recvfax.c: In function ‘load_module’: app_recvfax.c:601: error: request for member ‘ptr’ in something not a structure or union make[1]: *** [app_recvfax.o] Error 1 make: *** [apps] Error 2 |
Оригинальная версия app_recvfax собралась нормально со spandsp 0.0.5pre4
Но по прежнему валит Астериск на приёме факса.
Ааа... Значит я погорячился насчет "соберется и под 1.4".
Нужно в моем файле поменять все "data.ptr" обратно на "data" и тогда она тоже соберется...
А оригинальная версия ну никак не могла собраться нормально с spandsp 0.0.5pre4 потому как она сделана для 0.0.4 а в 0.0.5 пару функций таки переименовали. Так что возможно еще что если на машине две разных spandsp поставлены то они гадят друг другу - не оттуда либы/инклюдники цепляются при сборке.
Нужно в моем файле поменять все "data.ptr" обратно на "data" и тогда она тоже соберется...
А оригинальная версия ну никак не могла собраться нормально с spandsp 0.0.5pre4 потому как она сделана для 0.0.4 а в 0.0.5 пару функций таки переименовали. Так что возможно еще что если на машине две разных spandsp поставлены то они гадят друг другу - не оттуда либы/инклюдники цепляются при сборке.
to dimas:
а можно как-нибудь увеличить или задавать параметры ожидания посылки факса?
с mfu hp проблемма: при нажатии на start mfu сначала сканирует и только потом отправляет (сигнал отправки факса посылает после сканирования), а ReceiveFax не дожидается и ложит трубку. Проблемму первой страницы решил программой nv_backgrounddetect и nv_faxdetect из пакета agx-ast-addons, но с последующими страницами та же фигня, при этом hylafax+iaxmodem нормально принимают
а можно как-нибудь увеличить или задавать параметры ожидания посылки факса?
с mfu hp проблемма: при нажатии на start mfu сначала сканирует и только потом отправляет (сигнал отправки факса посылает после сканирования), а ReceiveFax не дожидается и ложит трубку. Проблемму первой страницы решил программой nv_backgrounddetect и nv_faxdetect из пакета agx-ast-addons, но с последующими страницами та же фигня, при этом hylafax+iaxmodem нормально принимают
| bbv писал(а): |
| to dimas: а можно как-нибудь увеличить или задавать параметры ожидания посылки факса? с mfu hp проблемма: при нажатии на start mfu сначала сканирует и только потом отправляет (сигнал отправки факса посылает после сканирования), а ReceiveFax не дожидается и ложит трубку. Проблемму первой страницы решил программой nv_backgrounddetect и nv_faxdetect из пакета agx-ast-addons, но с последующими страницами та же фигня, при этом hylafax+iaxmodem нормально принимают |
я сходу не вижу в spandsp никакого API управления таймаутами. Поэтому боюсь придется поправить сам SpanDSP.
Нужно найти в файле src/t30.c константы "#define DEFAULT_TIMER_..." и поправить ту которая больше нравится увеличив ее раза в два скажем. Я бы предположил что это DEFAULT_TIMER_T0. Хотя он целой минуте равен и должно хватать... Хотя может быть и DEFAULT_TIMER_T1...
В обшем нужно увеличить таймаут, и пересобрать spandsp. Результаты пожалуйста в студию.
увеличил все таумеры в 2 раза, не помогло, пишет ошибка отправки 
А сделайте пожалуйсто патчик для * 1.4.21 
| bbv писал(а): |
| увеличил все таумеры в 2 раза, не помогло, пишет ошибка отправки |
а через какое время пишет? можно как-то опытным путем понять какой у него таймаут?
| Oleg78 писал(а): |
| А сделайте пожалуйсто патчик для * 1.4.21 |
неужто не налазит существуюший? у меня налазил на 1.4.20.1 замечательно
| Код: |
| [Jun 18 00:57:08] NOTICE[6904] app_recvfax.c: RecvFax, spandsp version 20080616 140730 [Jun 18 00:57:08] WARNING[6904] app_recvfax.c: RecvFax, logfile - /var/log/recvfax.log |
/var/log/recvfax.log - пустой.
| Код: |
| read(0, -- Executing [s@macro-faxreceive:6] RecvFAX("Zap/19-1", "/var/spool/asterisk/fax/1213736358.0.tif|ecm") in new stack 0xbf85b6eb, 1) = ? ERESTARTSYS (To be restarted) --- SIGURG (Urgent I/O condition) @ 0 (0) --- rt_sigaction(SIGURG, {0x8067960, [URG], SA_RESTART}, {0x8067960, [URG], SA_RESTART}, 8) = 0 sigreturn() = ? (mask now []) read(0, asterisk: symbol lookup error: /usr/lib/asterisk/modules/app_recvfax.so: undefined symbol: span_set_message_handler |
Последний раз редактировалось: Ded (Вт Июн 17, 2008 22:04)
| dimas писал(а): |
| а через какое время пишет? можно как-то опытным путем понять какой у него таймаут? |
а как можно снять полныйдамп по pri? может записать это всё монитором и выложить тикет на callweaver.org
| anest писал(а): |
| Oleg78 писал(а): |
| А сделайте пожалуйсто патчик для * 1.4.21 |
неужто не налазит существуюший? у меня налазил на 1.4.20.1 замечательно
Не пробовал еще. Сегодня попробую. Но у меня Asterisk 1.4.21 вышедший несколько дней назад, а не 1.4.20.1.
Если налезет, то будет ли там все ОК если версии разные?
ded,
ну это почти наверняка она spandsp-шную .so-шку не нашло.
можно ldd app_recvfax.so посмотреть - он скажет какие лиибы цепляются, и готов поспорить что нужного спандсп там не будет.
у меня чтобы заработало я вносил /usr/local/lib (куда ставился spandsp) в /etc/ld.so.conf.d запускал ldconfig чтобы он перестроил кэш и после этого уже ./configure астериска и make.
ну это почти наверняка она spandsp-шную .so-шку не нашло.
можно ldd app_recvfax.so посмотреть - он скажет какие лиибы цепляются, и готов поспорить что нужного спандсп там не будет.
у меня чтобы заработало я вносил /usr/local/lib (куда ставился spandsp) в /etc/ld.so.conf.d запускал ldconfig чтобы он перестроил кэш и после этого уже ./configure астериска и make.
| Oleg78 писал(а): |
| А сделайте пожалуйсто патчик для * 1.4.21 |
Немного исправленный для 1.4.21, т.к. предыдущий не налазит
Ёлки, я, имея две директории /usr/src/spandsp-0.0.4 и /usr/src/spandsp-0.0.5 делаю в нужной директории make uninstall, Проверяю, что все либы libspandsp в
/usr/local/lib удалены, и потом в другой /usr/src/spandsp-0.0.Х делаю make install.
Опять проверяю /usr/local/lib - появились другие libspandsp.
/usr/local/lib удалены, и потом в другой /usr/src/spandsp-0.0.Х делаю make install.
Опять проверяю /usr/local/lib - появились другие libspandsp.
| bbv писал(а): |
| а как можно снять полныйдамп по pri? может записать это всё монитором и выложить тикет на callweaver.org |
да нет, можно просто измерить время
Вообще, хочется понять что же именно происходит в случае многостраничного факса - лучше просто описать своими словами но что меня интересует это:
1. после того как нажат "старт", HP начинает пищать сразу или сначала засасывает бумагу и только потом пищит?
2. что происходит когда у него заканчивается страница?
После нажатия на старт hp начинает сканировать и только после того как отсканировал начинает пищать и отправлять
у него есть возможность отправлять из памяти, в этом режиме всё проходит нормально, но так очень не удобно
на второй вопрос отвечу завтра, сегодня с дома работаю
у него есть возможность отправлять из памяти, в этом режиме всё проходит нормально, но так очень не удобно
на второй вопрос отвечу завтра, сегодня с дома работаю
| bbv писал(а): |
| После нажатия на старт hp начинает сканировать и только после того как отсканировал начинает пищать и отправлять |
тоесть если скажем, факс из 10 страниц - он сначала их все отсканирует и только потом начинает пищать? имхо - это както неправильно совсем - ни один нормлаьный факс на другой стороне не будет ждать так долго!!
может вы просто нестандартно както используете свой аппарат? например может ему нужно сначала подать документ и он будет звонить сам уже после того как отсканирует? документация есть на этот аппарат? что она говорит по этому поводу?
всмысле можно на старт ему нужно нажимать не когда вы уже дозвонились а еще до того как линия была им поднята? тогда по логике он должен сначала отсканить а потмо позвонить в линию. как то так.
я в общем согласен что факс странный.
У нас тоже HP какой-то так он при нажатии на СТАРТ начинает одновременно пищать и сканировать страницу. И пока связь устанавливается - страница уже засосалась и он ее шлет из памяти попутно сканируя уже следующую...
У нас тоже HP какой-то так он при нажатии на СТАРТ начинает одновременно пищать и сканировать страницу. И пока связь устанавливается - страница уже засосалась и он ее шлет из памяти попутно сканируя уже следующую...
А есть asterisk-addons-1.4.7.patch или я пропустил где-то?
Или 1.4.6 подходит?
Спасибо.
Или 1.4.6 подходит?
Спасибо.
попробовать - минутное дело 
| kbelov писал(а): |
| Oleg78 писал(а): |
| А сделайте пожалуйсто патчик для * 1.4.21 |
Немного исправленный для 1.4.21, т.к. предыдущий не налазит
Спасибо, постараюсь сёдни прикрутить и откомпилять...
| anest писал(а): |
| попробовать - минутное дело |
попробовал - подходит.
А ктонибудь ответит на вопрос, с данным патчем такая схема работать должна ?
настройки циски
| Код: |
| FAX SHARP -> cisco (настройки ниже) -> * с данным патчем -> FXO Diginum CARD -> PSTN |
настройки циски
| Код: |
| ! voice service pots supported-language ru fax protocol t38 ls-redundancy 3 hs-redundancy 2 fallback pass-through g711alaw ! voice service voip fax protocol t38 ls-redundancy 3 hs-redundancy 2 fallback pass-through g711alaw h323 call start slow sip ! |
Будет, если 1) диал пир воип будет использовать протокол SIP, 2) и в нём будет указано fax protocol system
| Ded писал(а): |
| Будет, если 1) диал пир воип будет использовать протокол SIP, 2) и в нём будет указано fax protocol system |
поставил fax protocol system, прото сип - факсы неходят, пищат но не коннектятся.
Помогите советом что я делаю ни так?
У меня никак не хочет делать ReInvite na T38 когда принимаю факс по СИП.
Схема:
Cirpack gw --- SIP --- Asterisk w Cache rxfax T38
Так ходит:
Cirpack gw --- SIP --- Asterisk --- Spa2102 ReInvite T38
Трайс и мой udptl.conf прикрепил. В sip.conf t38pt_udptl=yes стоит в глобал и на пиире.
У меня никак не хочет делать ReInvite na T38 когда принимаю факс по СИП.
Схема:
Cirpack gw --- SIP --- Asterisk w Cache rxfax T38
Так ходит:
Cirpack gw --- SIP --- Asterisk --- Spa2102 ReInvite T38
Трайс и мой udptl.conf прикрепил. В sip.conf t38pt_udptl=yes стоит в глобал и на пиире.
den68 - включай дебаг факсов на циске, и смотри.
Проблема решена
Привет ребята
Не могу скомпилировать addons-1.4.5 с патчем asterisk-addons-1.4.5m.zip который сделал Deniq
Описание системы
Centos x64 на процессоре AMD
Asterisk 1.2.18
шаги
wget http://downloads.digium.com/pub/asterisk ... 4.5.tar.gz
tar -zxvf asterisk-addons-1.4.5.tar.gz
cd asterisk-addons*
patch -p0 < asterisk-addons-1.4.5m.patch
./bootstrap.sh
Не могу скомпилировать addons-1.4.5 с патчем asterisk-addons-1.4.5m.zip который сделал Deniq
Описание системы
Centos x64 на процессоре AMD
Asterisk 1.2.18
шаги
wget http://downloads.digium.com/pub/asterisk ... 4.5.tar.gz
tar -zxvf asterisk-addons-1.4.5.tar.gz
cd asterisk-addons*
patch -p0 < asterisk-addons-1.4.5m.patch
./bootstrap.sh
Re: Проблема решена
| mikess писал(а): |
| Такая проблема уже была у anest но как он ее починил он не написал |
не правда, я написал. если вы не поняли что я написал то так и пишете - "он написал но я не понял".
кстати, а вы и вправду на астериск-1.2 натягиваете аддоны-1.4 или это опечатка?

Спасибо anest - это опечатка
Теперь пытаюсь протестировать это хоть как то
скачал Zoiper и пытаюсь отправить факс по SIP и возникает ошибка которую я никогда не видел
что то не понятно откуда c=IN IP4 8000 берется и что с ней сделать.......
Большая просьба откликнуться если кто знает что у меня не так.
Может у кого есть еще варианты как тестировать fax по SIP с T.38?
спасибо
Added after 2 hours 41 minutes:
если кому интерестно то похоже это проблема Zoiper'a
я использовал faxzero.com сервис и вроде соедение установилось и факс пришел
Если есть еще какие варианты как тестировать sip - g.711 - t.38 - fax ?
Теперь пытаюсь протестировать это хоть как то
скачал Zoiper и пытаюсь отправить факс по SIP и возникает ошибка которую я никогда не видел
| Цитата: |
| -- Executing [1@fax_in] Answer("SIP/tester55-ac008dd0", "") in new stack -- Executing [1@fax_in] Set("SIP/tester55-ac008dd0", "FAXFILE=/var/spool/asterisk/fax/tester55-1214704272.9.tif") in new stack -- Executing [1@fax_in] Set("SIP/tester55-ac008dd0", "FAXFILENOEXT=/var/spool/asterisk/fax/tester55-1214704272.9") in new stack -- Executing [1@fax_in] ReceiveFAX("SIP/tester55-ac008dd0", "/var/spool/asterisk/fax/tester55-1214704272.9.tif") in new stack [Jun 29 01] WARNING[23694]: chan_sip.c:5099 process_sdp: Unable to lookup host in c= line, 'IN IP4 8000' [Jun 29 01] WARNING[20598]: app_fax.c:637 transmit: Transmission error == Spawn extension (fax_in, 1, 4) exited non-zero on 'SIP/tester55-ac008dd0' -- Executing [h@fax_in] NoOp("SIP/tester55-ac008dd0", ""Hangup"") in new stack -- Executing [h@fax_in] Hangup("SIP/tester55-ac008dd0", "") in new stack == Spawn extension (fax_in, h, 2) exited non-zero on 'SIP/tester55-ac008dd0' |
| Цитата: |
| INVITE sip:1@x.x.x.x.x SIP/2.0 Via: SIP/2.0/UDP x.x.x.x.x:5060;branch=z9hG4bK-d8754z-0da01237efadc066-1---d8754z-;rport Max-Forwards: 70 Contact: To: ;transport=UDP;tag=as04587ddd From: "215545654";transport=UDP;tag=2d243e31 Call-ID: NzFlNjg2MDc0NWVjOGM3MGFmMjMyY2QYWY1NDg1ZmM. CSeq: 3 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO Content-Type: application/sdp Proxy-Authorization: Digest username="tester55",realm="asterisk",nonce="2a973465",uri="sip:1@x.x.x.x.x",response="4sb9e0489f4dd1664b88259ef7f967c5",algorithm=MD5 User-Agent: Zoiper for Windows rev.1076 Content-Length: 361 v=0 o=Zoiper_user 489447639 124484221 IN IP4 192.168.1.101 s=Zoiper_user c=IN IP4 8000 t=0 0 m=image 8000 udptl t38 a=T38FaxRateManagement:transferredTCF a=T38FaxVersion:0 a=T38FaxMaxBuffer:400 a=T38FaxTranscodingMMR:0 a=T38FaxUdpEC:t38UDPRedundancy a=T38FaxFillBitRemoval:0 a=T38MaxBitRate:14400 a=T38FaxMaxDatagram:400 a=T38FaxTranscodingJBIG:0 Sending to x.x.x.x.x : 5060 (NAT) [Jun 29 01] WARNING[23694]: chan_sip.c:5099 process_sdp: Unable to lookup host in c= line, 'IN IP4 8000' SIP/2.0 488 Not acceptable here |
что то не понятно откуда c=IN IP4 8000 берется и что с ней сделать.......
Большая просьба откликнуться если кто знает что у меня не так.
Может у кого есть еще варианты как тестировать fax по SIP с T.38?
спасибо
Added after 2 hours 41 minutes:
если кому интерестно то похоже это проблема Zoiper'a
я использовал faxzero.com сервис и вроде соедение установилось и факс пришел
Если есть еще какие варианты как тестировать sip - g.711 - t.38 - fax ?
Факс работает просто супер
Спасибо !!!!
При этом был один случай который я думаю достоен внимания
возникла ситуация при которой во время выполнения ReceiveFax он пискнул 2 раза а потов стало выводится
chan_iax2.c:3292 iax2_read: I should never be called!
chan_iax2.c:3292 iax2_read: I should never be called!
chan_iax2.c:3292 iax2_read: I should never be called!
chan_iax2.c:3292 iax2_read: I should never be called!
...
очень быстро вподрят пока не повесил трубку
я не уверен в чем проблема либо в app_fax либо в самом Астериксе
система
asterisk 1.4.18 + addons 1.4.5
Спасибо !!!!
При этом был один случай который я думаю достоен внимания
возникла ситуация при которой во время выполнения ReceiveFax он пискнул 2 раза а потов стало выводится
chan_iax2.c:3292 iax2_read: I should never be called!
chan_iax2.c:3292 iax2_read: I should never be called!
chan_iax2.c:3292 iax2_read: I should never be called!
chan_iax2.c:3292 iax2_read: I should never be called!
...
очень быстро вподрят пока не повесил трубку
я не уверен в чем проблема либо в app_fax либо в самом Астериксе
система
asterisk 1.4.18 + addons 1.4.5
Ничего достойного внимания. С факсом никак не связано. Это он много раз тыркнулся позвонить по chan_iax2., и много раз получил отлуп. И вот так сообщает, типа обидился, - "больше никогда не буду туда звонить, проверьте что там у вас с iax2 транком!"
Народ подскажите плз. по моей проблеме, ну никак он не хочет по T38 нринимать.
А научите меня зоипером ОТПРАВЛЯТЬ факс - тогда может даже посмотрю почему не работает да починю :=)
Как отправлять Zoiperом
Подготовка Астерикса и Zoiper
1) скачать http://www.zoiper.com/downloads/free/win ... taller.exe и установить
2) в SIP.CONF сделать тестового пользователя
[zoipertest]
type=friend
canreinvite=no
username=zoipertest
regexten=555550
secret=zoipertest
host=dynamic
insecure=very
disallow=all
allow=ulaw
context=from_zoipertest
nat=yes
t38pt_udptl=yes
3) создать в ZOIPERE соедение типа SIP на этого пользователя
4) в extention.conf добавить
[from_zoipertest]
exten=>_X.,1,NoOp(From Zoiper)
exten=>_X.,1,Answer
exten=>_X.,n,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID}.tif)
exten=>_X.,n,Set(FAXFILENOEXT=/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID})
exten=>_X.,n,ReceiveFAX(${FAXFILE})
exten=>_X.,n,Hangup
5) reload в CLI
сама отправка
1) В Zoipere зарегистрироваться под zoipertest (или какой там создан)
2) в строке телефона ввести например 1 и не нажимать на "звонить"
3) прямо под полем ввода телефона есть ряд кнопок и одна из них send fax и она становится enabled когда в строке телефона что то введено
4) нажать на send fax и откроется окно для выбора .TIFF файла для отправки и когда файл выбран пойдет отправка
P.S тескт набирал по памяти так что возможны мелкие ошибочки
Подготовка Астерикса и Zoiper
1) скачать http://www.zoiper.com/downloads/free/win ... taller.exe и установить
2) в SIP.CONF сделать тестового пользователя
[zoipertest]
type=friend
canreinvite=no
username=zoipertest
regexten=555550
secret=zoipertest
host=dynamic
insecure=very
disallow=all
allow=ulaw
context=from_zoipertest
nat=yes
t38pt_udptl=yes
3) создать в ZOIPERE соедение типа SIP на этого пользователя
4) в extention.conf добавить
[from_zoipertest]
exten=>_X.,1,NoOp(From Zoiper)
exten=>_X.,1,Answer
exten=>_X.,n,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID}.tif)
exten=>_X.,n,Set(FAXFILENOEXT=/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID})
exten=>_X.,n,ReceiveFAX(${FAXFILE})
exten=>_X.,n,Hangup
5) reload в CLI
сама отправка
1) В Zoipere зарегистрироваться под zoipertest (или какой там создан)
2) в строке телефона ввести например 1 и не нажимать на "звонить"
3) прямо под полем ввода телефона есть ряд кнопок и одна из них send fax и она становится enabled когда в строке телефона что то введено
4) нажать на send fax и откроется окно для выбора .TIFF файла для отправки и когда файл выбран пойдет отправка
P.S тескт набирал по памяти так что возможны мелкие ошибочки
собственно интересовал только сам процесс отправки - к своему стыду я эту кнопку проглядел совсем.
Спасибо, попробую посмотреть что происходит между астериском и зоипером.
Спасибо, попробую посмотреть что происходит между астериском и зоипером.
Добрый день! Собрал Астериск с SendFax и ReceiveFax не без помощи Вашего форума, даже разложил все по полочкам.
http://www.voipinfo.ru/forum/viewtopic.php?t=11180
В общем и целом все работает, но задался я следующим вопросом:
Как получать log-и debug-и про результаты прохождения факса?
Т.е. допустим положил я файл в var/spool/asterisk/outgoing, процесс пошел, факс себе отправляется, но я хочу знать чем дело закончилось. Понятно что если я принимаю факс на соседний AP200B на Ventafax то мне и так визуально все видно, а если удаленному абоненту через SIP-провайдера?
Т.е. хочу знать ответы на вопросы: а был ли факс? а начал ли он передаваться? а до конца ли прошел? а на какой скорости?
В файле app_fax.c читаем напр:
По сути намеки на искомое,
далее пытался ковыряться с конструкциями типа
Для callweaver (параллельно игрался и с ним) эти штуки по крайней мере в консоль выводят информацию (для tx_fax), для asteriska даже в консоль ничего не выходит(ни для tx_fax ни для sendfax), хотелось бы конечно в файл.
Разобрал также скрипт email2fax и понял что он также не доставляет отправителю информацию о факсовой досылке, в лучшем случае отправляется письмо типа "будем посылать, а уж что получится........", а надо бы "факс дослан/не дослан, скорость была 9600/7200" и т.п.
Никто ничего не посоветует? Или бесполезно?
http://www.voipinfo.ru/forum/viewtopic.php?t=11180
В общем и целом все работает, но задался я следующим вопросом:
Как получать log-и debug-и про результаты прохождения факса?
Т.е. допустим положил я файл в var/spool/asterisk/outgoing, процесс пошел, факс себе отправляется, но я хочу знать чем дело закончилось. Понятно что если я принимаю факс на соседний AP200B на Ventafax то мне и так визуально все видно, а если удаленному абоненту через SIP-провайдера?
Т.е. хочу знать ответы на вопросы: а был ли факс? а начал ли он передаваться? а до конца ли прошел? а на какой скорости?
В файле app_fax.c читаем напр:
| Код: |
| " SendFAX(filename[|options]):\n" "Send a given TIFF file to the channel as a FAX.\n" "The option string may contain zero or more of the following characters:\n" " 'a' -- makes the application behave as an answering machine\n" " The default behaviour is to behave as a calling machine.\n" "\n" "This application uses following variables:\n" " LOCALSTATIONID to identify itself to the remote end.\n" " LOCALHEADERINFO to generate a header line on each page.\n" "\n" "This application sets the following channel variables upon completion:\n" " FAXSTATUS - status of operation:\n" " SUCCESS | FAILED\n" " FAXERROR - Error when FAILED\n" " REMOTESTATIONID - CSID of the remote side.\n" " FAXPAGES - number of pages sent.\n" " FAXBITRATE - transmition rate.\n" " FAXRESOLUTION - resolution.\n" "\n" |
По сути намеки на искомое,
далее пытался ковыряться с конструкциями типа
| Код: |
| exten => 1,n,System(FAXFILE="${FAXFILE}" FAXPATH="${FAXPATH}" REMOTESTATIONID="${REMOTESTATIONID}" FAXPAGES="${OFAXPAGES}" FAXBITRATE="${FAXBITRATE}" FAXRESOLUTION="${FAXRESOLUTION}" ) exten => h,1,NoOp(TX: FAXBITRATE is ${FAXBITRATE}) exten => h,n,NoOp(TX: FAXRESOLUTION is ${FAXRESOLUTION})") |
Для callweaver (параллельно игрался и с ним) эти штуки по крайней мере в консоль выводят информацию (для tx_fax), для asteriska даже в консоль ничего не выходит(ни для tx_fax ни для sendfax), хотелось бы конечно в файл.
Разобрал также скрипт email2fax и понял что он также не доставляет отправителю информацию о факсовой досылке, в лучшем случае отправляется письмо типа "будем посылать, а уж что получится........", а надо бы "факс дослан/не дослан, скорость была 9600/7200" и т.п.
Никто ничего не посоветует? Или бесполезно?
tail -f /var/log/asterisk/full
Я что-то не совсем догоняю что вам нужно. По завершению SendFAX диалплан продолжает выполнение и вы можете все что хотите вывасти в консоль (NoOp'ами) или куда угодно еще (запустив скрипт через System и передав ему параметрами все). Хотите ловить и обломы тоже - ловите 'h' extension (hangup).
Кому интересно, вот как лично у меня реализовано это (это AEL, то есть extensions.ael а не extensions.conf но сути это не меняет):
Ну а /opt/asterisk-extras/bin/mailfax.pl - самодельный
Кому интересно, вот как лично у меня реализовано это (это AEL, то есть extensions.ael а не extensions.conf но сути это не меняет):
| Код: |
| context fax { receive => { FAXDIR = "/var/spool/asterisk/faxes"; Set(FAXNAME=${STRFTIME(${EPOCH},,"%Y%m%d-%H%M%S")}); FAXFILE="${FAXDIR}/${FAXNAME}.tiff"; ReceiveFAX(${FAXFILE},d); }; h => { NoOp(FAXSTATUS: ${FAXSTATUS}); System(/opt/asterisk-extras/bin/mailfax.pl --sender="support@XXXXXXX.com" --recipient="support@XXXXXXX.com" --fax-remote-sid="${REMOTESTATIONID}" --fax-error="${FAXERROR}" --cid-name="${CALLERID(name)}" --cid-num="${CALLERID(num)}" --fax-status="${FAXSTATUS}" --fax-file="${FAXFILE}"); }; }; |
Ну а /opt/asterisk-extras/bin/mailfax.pl - самодельный
| Код: |
| #!/usr/bin/perl -w use MIME::Lite; use Getopt::Long; my ($debug, $sender, $recipient, $cid_name, $cid_num, $fax_file, $fax_status, $fax_error, $fax_remote_sid, $fax_pages); # I do not want to handle undefined values everywhere $sender = $recipient = $cid_name = $cid_num = $fax_file = $fax_status = $fax_error = $fax_remote_sid = $fax_pages = ''; my $opts = GetOptions("sender=s" => \$sender, "recipient=s" => \$recipient, "cid-name:s" => \$cid_name, "cid-num:s" => \$cid_num, "fax-file=s" => \$fax_file, "fax-status:s" => \$fax_status, "fax-error:s" => \$fax_error, "fax-remote-sid:s" => \$fax_remote_sid, "fax-pages:s" => \$fax_pages, "debug" => \$debug); my ($body, $subject); my $callerid = ''; if ($cid_name ne '' && $cid_num ne '') { $callerid = "$cid_name "; } elsif ($cid_name ne '') { $callerid = "$cid_name"; } elsif ($cid_num ne '') { $callerid = ""; } if ($fax_status eq 'SUCCESS') { $subject = "Fax received"; $subject .= " ($fax_remote_sid)" if ($fax_remote_sid ne ''); $body = "Fax"; $body .= " from $callerid" if ($callerid ne ''); $body .= " received\n"; $body .= "\nRemote station: $fax_remote_sid" if ($fax_remote_sid ne ''); } else { $subject = "Failed to receive fax"; $subject .= " ($fax_remote_sid)" if ($fax_remote_sid ne ''); $body = "Failed to receive fax"; $body .= " from $callerid\n" if ($callerid ne ''); $body .= "\nRemote station: $fax_remote_sid" if ($fax_remote_sid ne ''); $body .= "\n\nThe error was: $fax_error" if ($fax_error ne ''); } $msg = MIME::Lite->new(From => $sender, To => $recipient, Subject => $subject, Type => 'multipart/mixed'); $msg->attach(Type => 'TEXT', Data => $body); if ($fax_file ne '' && -f $fax_file) { my $name = ($fax_file =~ m!/([^/]+)$!) ? $1 : $fax_file; $msg->attach(Type => 'image/tiff', Path => $fax_file, Filename => $name); } if ($debug) { $msg->print(); } else { $msg->send(); } |
Попытался сделать все более менее аккуратно:
Факс(2 страницы) был успешно принят на VentaFax с результатом OK На 14400 по T38,в консоли получили:
Во-первых пока неясно что за app_fax.c:637 transmit: Transmission error (регулярно наблюдаю), ибо факс прошел без ошибки, т.е. с подверждением приема крайней страницы, но вопрос не в этом:
NoOp не схватывает значения параметров,выводит пустые значения.
Есть соображение, что SendFax надо запускать с параметром SendFax(${FAXFILE|что-то}), но не знаю что, и сработает ли? Я еще обратил внимание в app_fax.c, что в нек. версиях (по google то лазил)существует параметр что-то=d или dd (debug), в тексте того app_fax кот. я использовал(из патча с этого сайта) этот параметр не описан.
Хочу написать полезную процедуру: программа кладет в /asterisk/fax файл-факс для отсылки, в asterisk/outgoing файл-задание послать этот факс по номеру такому-то, далее ожидает появления файла fax.log , кот. содержит всю информацию о результатах отсылки. Технически здесь возможны варианты, скажем с использованием e-mail, а в ответе по e-mail все содержится, но т.е. по сути это ваш скрипт, хотя я пока решил пойти более простым путем, отобразить все через NoOp -но вот пока неудача.
Что вы имели ввиду? tail я так понимаю должен считывать информацию из файла full , у меня такого файла нет и что-откуда в нем должно содержаться пока тоже не догоняю.
| Код: |
| [faxout] exten => s,1,Set(LOCALSTATIONID=Asterisk FAX) exten => s,n,Set(LOCALHEADERINFO=Asterisk fax termination) exten => s,n,Set(FAXFILE=/var/spool/asterisk/fax/test.tif) exten => s,n,Answer() exten => s,n,NoOp(NUMBER:${NUMBER}) exten => s,n,Dial(SIP/[EMAIL PROTECTED]) exten => s,n,NoOp(Fax Testing*****) exten => s,n,SendFax(${FAXFILE}) exten => s,n,Hangup() exten => h,1,NoOp(TX: REMOTESTATIONID is ${REMOTESTATIONID}) exten => h,n,NoOp(TX: FAXPAGES is ${FAXPAGES}) exten => h,n,NoOp(TX: FAXRESOLUTION is ${FAXRESOLUTION}) exten => h,n,NoOp(TX: FAXBITRATE is ${FAXBITRATE}) exten => h,n,NoOp(TX: PHASEESTATUS is ${PHASEESTATUS}) exten => h,n,NoOp(TX: PHASEESTRING is ${PHASEESTRING}) [office] ... exten => 801,1,Goto(faxout,s,1); ... |
Факс(2 страницы) был успешно принят на VentaFax с результатом OK На 14400 по T38,в консоли получили:
| Код: |
| -- Executing [s@faxout:7] NoOp("SIP/2001-08f300c8", "Fax Testing*****") in new stack -- Executing [s@faxout:8] SendFAX("SIP/2001-08f300c8", "/var/spool/asterisk/fax/test.tif") in new stack [Jul 2 15:38:19] WARNING[26516]: app_fax.c:637 transmit: Transmission error == Spawn extension (faxout, s, 8) exited non-zero on 'SIP/2001-08f300c8' -- Executing [h@faxout:1] NoOp("SIP/2001-08f300c8", "TX: REMOTESTATIONID is ") in new stack -- Executing [h@faxout:2] NoOp("SIP/2001-08f300c8", "TX: FAXPAGES is ") in new stack -- Executing [h@faxout:3] NoOp("SIP/2001-08f300c8", "TX: FAXRESOLUTION is ") in new stack -- Executing [h@faxout:4] NoOp("SIP/2001-08f300c8", "TX: FAXBITRATE is ") in new stack -- Executing [h@faxout:5] NoOp("SIP/2001-08f300c8", "TX: PHASEESTATUS is ") in new stack -- Executing [h@faxout:6] NoOp("SIP/2001-08f300c8", "TX: PHASEESTRING is ") in new stack |
Во-первых пока неясно что за app_fax.c:637 transmit: Transmission error (регулярно наблюдаю), ибо факс прошел без ошибки, т.е. с подверждением приема крайней страницы, но вопрос не в этом:
NoOp не схватывает значения параметров,выводит пустые значения.
Есть соображение, что SendFax надо запускать с параметром SendFax(${FAXFILE|что-то}), но не знаю что, и сработает ли? Я еще обратил внимание в app_fax.c, что в нек. версиях (по google то лазил)существует параметр что-то=d или dd (debug), в тексте того app_fax кот. я использовал(из патча с этого сайта) этот параметр не описан.
| dimas писал(а): |
| Я что-то не совсем догоняю что вам нужно. |
Хочу написать полезную процедуру: программа кладет в /asterisk/fax файл-факс для отсылки, в asterisk/outgoing файл-задание послать этот факс по номеру такому-то, далее ожидает появления файла fax.log , кот. содержит всю информацию о результатах отсылки. Технически здесь возможны варианты, скажем с использованием e-mail, а в ответе по e-mail все содержится, но т.е. по сути это ваш скрипт, хотя я пока решил пойти более простым путем, отобразить все через NoOp -но вот пока неудача.
| Ded писал(а): |
| tail -f /var/log/asterisk/full |
Что вы имели ввиду? tail я так понимаю должен считывать информацию из файла full , у меня такого файла нет и что-откуда в нем должно содержаться пока тоже не догоняю.
| Дима77 писал(а): |
| Ded писал(а): |
| tail -f /var/log/asterisk/full |
;full => notice,warning,error,debug,verbose
в файле `/etc/asterisk/logger.conf`, сделать `touch /var/log/asterisk/full; chown asterisk:asterisk /var/log/asterisk/full`, сделать Asterisk'у `reload` и посмотреть что появляется в файле /var/log/asterisk/full при попытке воспроизвести проблему.
Я раскомментировал
Действительно, все сыпется в этот файл, это надо взять на заметку как вариант извлечения информации, но...
те же пустые значения, т.е. на данный момент актуален вопрос как их получить хоть где, а не куда вывести.
| Код: |
| full => notice,warning,error,debug,verbose |
Действительно, все сыпется в этот файл, это надо взять на заметку как вариант извлечения информации, но...
те же пустые значения, т.е. на данный момент актуален вопрос как их получить хоть где, а не куда вывести.
Собственно почему все значения пустые понятно - потому что app_fax считает что была ошибка. В случае ошибки он переменные не не выставляет (кроме FAXSTATUS и FAXERROR).
Кстати FAXSTATUS выставляется ВСЕГДА поэтому NoOp'ы лучше начинать именно с него...
PS: что такое PHASESTRING я ни сном ни духом - app_fax такую переменную не выставляет :=)
Кстати FAXSTATUS выставляется ВСЕГДА поэтому NoOp'ы лучше начинать именно с него...
PS: что такое PHASESTRING я ни сном ни духом - app_fax такую переменную не выставляет :=)
Сделал вот так, убрав лишнее:
Только теперь неясно где искать Channel problems и Transmission error, факс то на ура проходит.Причем на ура с подтверждением, если бы при разъединении что-то было не так, то Venta написала бы "Ошибка разъединения", а она просто пишет "Сброс", что и означает OK. На это у меня чувствительность хорошо набита(могу даже в логи Vent-ы не лазить).
Может [EMAIL PROTECTED] на что-нибудь заменить-чувствую(да и вижу) что лишнее, но ощущение что подвох в чем-то другом.
P.S.
Ну как вам сказать, чтоб плохо не подумали. "исходники" взяты отсюда: http://www.callweaver.org/wiki/Faxing+With+CallWeaver Понятно, что и пакет другой, и приложение (tx_fax) вообще-то другое, + некая моя невнимательность.
Added after 23 minutes:
Эту строчку
я вообще убрал, она бессмысленна, но app_fax.c:637 transmit: Transmission error и FAXERROR is Channel problems -все осталось.
| Код: |
| exten => s,1,Set(LOCALSTATIONID=Asterisk FAX) exten => s,n,Set(LOCALHEADERINFO=Asterisk fax termination) exten => s,n,Set(FAXFILE=/var/spool/asterisk/fax/test.tif) exten => s,n,Answer() exten => s,n,NoOp(NUMBER:${NUMBER}) exten => s,n,Dial(SIP/[EMAIL PROTECTED]) exten => s,n,NoOp(Fax Testing*****) exten => s,n,SendFax(${FAXFILE}) exten => s,n,Hangup() exten => h,1,NoOp(TX: FAXSTATUS is ${FAXSTATUS}) exten => h,n,NoOp(TX: FAXERROR is ${FAXERROR}) exten => h,n,NoOp(TX: REMOTESTATIONID is ${REMOTESTATIONID}) exten => h,n,NoOp(TX: FAXPAGES is ${FAXPAGES}) exten => h,n,NoOp(TX: FAXBITRATE is ${FAXBITRATE}) exten => h,n,NoOp(TX: FAXRESOLUTION is ${FAXRESOLUTION}) *CLI> -- Executing [801@office:1] Goto("SIP/2001-09dbc358", "faxout|s|1") in new stack -- Goto (faxout,s,1) -- Executing [s@faxout:1] Set("SIP/2001-09dbc358", "LOCALSTATIONID=Asterisk FAX") in new stack -- Executing [s@faxout:2] Set("SIP/2001-09dbc358", "LOCALHEADERINFO=Asterisk fax termination") in new stack -- Executing [s@faxout:3] Set("SIP/2001-09dbc358", "FAXFILE=/var/spool/asterisk/fax/test.tif") in new stack -- Executing [s@faxout:4] Answer("SIP/2001-09dbc358", "") in new stack -- Executing [s@faxout:5] NoOp("SIP/2001-09dbc358", "NUMBER:") in new stack -- Executing [s@faxout:6] Dial("SIP/2001-09dbc358", "SIP/[EMAIL PROTECTED]") in new stack [Jul 2 19:26:47] WARNING[26808]: chan_sip.c:2985 create_addr: No such host: [EMAIL PROTECTED] [Jul 2 19:26:47] WARNING[26808]: app_dial.c:1183 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination) == Everyone is busy/congested at this time (1:0/0/1) -- Executing [s@faxout:7] NoOp("SIP/2001-09dbc358", "Fax Testing*****") in new stack -- Executing [s@faxout:8] SendFAX("SIP/2001-09dbc358", "/var/spool/asterisk/fax/test.tif") in new stack [Jul 2 19:28:14] WARNING[26808]: app_fax.c:637 transmit: Transmission error == Spawn extension (faxout, s, 8) exited non-zero on 'SIP/2001-09dbc358' -- Executing [h@faxout:1] NoOp("SIP/2001-09dbc358", "TX: FAXSTATUS is FAILED") in new stack -- Executing [h@faxout:2] NoOp("SIP/2001-09dbc358", "TX: FAXERROR is Channel problems") in new stack -- Executing [h@faxout:3] NoOp("SIP/2001-09dbc358", "TX: REMOTESTATIONID is ") in new stack -- Executing [h@faxout:4] NoOp("SIP/2001-09dbc358", "TX: FAXPAGES is ") in new stack -- Executing [h@faxout:5] NoOp("SIP/2001-09dbc358", "TX: FAXBITRATE is ") in new stack -- Executing [h@faxout:6] NoOp("SIP/2001-09dbc358", "TX: FAXRESOLUTION is ") in new stack |
Только теперь неясно где искать Channel problems и Transmission error, факс то на ура проходит.Причем на ура с подтверждением, если бы при разъединении что-то было не так, то Venta написала бы "Ошибка разъединения", а она просто пишет "Сброс", что и означает OK. На это у меня чувствительность хорошо набита(могу даже в логи Vent-ы не лазить).
Может [EMAIL PROTECTED] на что-нибудь заменить-чувствую(да и вижу) что лишнее, но ощущение что подвох в чем-то другом.
P.S.
| dimas писал(а): |
| PS: что такое PHASESTRING я ни сном ни духом - app_fax такую переменную не выставляет :=) |
Ну как вам сказать, чтоб плохо не подумали. "исходники" взяты отсюда: http://www.callweaver.org/wiki/Faxing+With+CallWeaver Понятно, что и пакет другой, и приложение (tx_fax) вообще-то другое, + некая моя невнимательность.
Added after 23 minutes:
Эту строчку
| Код: |
| exten => s,n,Dial(SIP/[EMAIL PROTECTED]) |
а снимите лог с core set debug 3 плиз...
я подозреваю что у вас remote side переключается с T38 обратно на голос в конце, а app_fax это не переваривает.... но интересно проверить.
Added after 3 minutes:
и один момент - я прогнал насчет того что переменные в случае ошибки не устанавливаются - устанавливаются они.
у вас суть в том что Phase E handler не вызывается (то есть SpanDSP думает что факс НЕ закончился). И я, если честно, подозревал бы что проблема с посылающей стороной.
типа канала - SIP или ZAP ?
я подозреваю что у вас remote side переключается с T38 обратно на голос в конце, а app_fax это не переваривает.... но интересно проверить.
Added after 3 minutes:
и один момент - я прогнал насчет того что переменные в случае ошибки не устанавливаются - устанавливаются они.
у вас суть в том что Phase E handler не вызывается (то есть SpanDSP думает что факс НЕ закончился). И я, если честно, подозревал бы что проблема с посылающей стороной.
типа канала - SIP или ZAP ?
| dimas писал(а): |
| а снимите лог с core set debug 3 плиз... |
Опишите если можно последовательность действий как снять лог.
| dimas писал(а): |
| я подозреваю что у вас remote side переключается с T38 обратно на голос в конце, а app_fax это не переваривает.... но интересно проверить. |
Я экспериментирую с AP200B. Не уверен что он умеет переключаться на голос. Когда факс идет трубка на аппарате воткнутом в модем уже положена.
| dimas писал(а): |
| типа канала - SIP или ZAP ? |
SIP-конечно.
В принципе, могу чуть подстроить AP на G711-bypass вместо T38 и посмотреть что будет, а также поэкспериментировать с другими "приборами" (Kapanga, ComISDN).
Added after 2 hours 14 minutes:
| dimas писал(а): |
| а снимите лог с core set debug 3 плиз... я подозреваю что у вас remote side переключается с T38 обратно на голос в конце, а app_fax это не переваривает.... но интересно проверить. |
Файл прилагается.
| Дима77 писал(а): |
| dimas писал(а): |
| а снимите лог с core set debug 3 плиз... |
Опишите если можно последовательность действий как снять лог.
CLI>core set debug 3
CLI>exit
tail -f /var/log/asterisk/full
Какая то каша там, что за сообщения No such command ..?
| Ded писал(а): |
| CLI>core set debug 3 CLI>exit tail -f /var/log/asterisk/full Какая то каша там, что за сообщения No such command ..? |
Added after 16 minutes:
Так,понял, в виндах надо вордом смотреть, а то в блокноте какие-то крякозябры.
WordPad'ом вполне можно смотреть.
ну что и требовалось доказать -
Я в общем так понимаю что завершение сеанса подразумевает каой-то обмен типа одна сторона говорит "я все", вторая говорит "ага, поняла, я тоже все тогда" и только тогда процесс считается законченым. В вашем же случае, дивайс говорит "я все" и бодро вырубает T38 совсем не дожидаясь ответа. А spanDSP еще не закончил - он хочет еще попрощаться....
Но т.к. T38 уже пропал - app_fax тут же и ругается:
Я не знаю что с этим делать. Пока идея одна - если T38 пропал но факс уже в статусе T30_PHASE_E, то подавить ошибку.
| Код: |
| [Jul 3 16:28:16] DEBUG[2299] app_fax.c: FLOW T.30 Changing from phase T30_PHASE_D_TX to T30_PHASE_E [Jul 3 16:28:16] DEBUG[2299] app_fax.c: FLOW T.38T Set rx type 0 [Jul 3 16:28:16] DEBUG[2299] app_fax.c: FLOW T.38T Set tx type 1 [Jul 3 16:28:16] DEBUG[2299] app_fax.c: FLOW T.30 Changing from state 3 to 2 [Jul 3 16:28:16] DEBUG[2273] chan_sip.c: T38 state changed to 0 on channel SIP/2001-08c8f9e0 |
Я в общем так понимаю что завершение сеанса подразумевает каой-то обмен типа одна сторона говорит "я все", вторая говорит "ага, поняла, я тоже все тогда" и только тогда процесс считается законченым. В вашем же случае, дивайс говорит "я все" и бодро вырубает T38 совсем не дожидаясь ответа. А spanDSP еще не закончил - он хочет еще попрощаться....
Но т.к. T38 уже пропал - app_fax тут же и ругается:
| Код: |
| [Jul 3 16:28:16] DEBUG[2299] app_fax.c: T38 down, terminating |
Я не знаю что с этим делать. Пока идея одна - если T38 пропал но факс уже в статусе T30_PHASE_E, то подавить ошибку.
Подавить это как?
Я кстати пробовал отправлять на Капангу (и принимать тоже)-ошибка такая же, так что device похоже ни при чем.При отправке с капанги ошибка иногда не возникает.
Также пробовал отправлять с ComISDN-там все OK, т.е. пишет и bitrate и resolution, обратно послать не получается, причем ошибка такая же как в full.txt.
Также опробовал X-CAPI-аналогично--ReceiveFAX - все OK, т.е. пишет и bitrate и resolution, обратно(SendFax) послать также не получается, ошибка такая же.
Я кстати пробовал отправлять на Капангу (и принимать тоже)-ошибка такая же, так что device похоже ни при чем.При отправке с капанги ошибка иногда не возникает.
Также пробовал отправлять с ComISDN-там все OK, т.е. пишет и bitrate и resolution, обратно послать не получается, причем ошибка такая же как в full.txt.
Также опробовал X-CAPI-аналогично--ReceiveFAX - все OK, т.е. пишет и bitrate и resolution, обратно(SendFax) послать также не получается, ошибка такая же.
Попробуй найти в app_fax.c строчки
в конце функции transmit_t38 (потому что есть такой же кусок в другом месте) и закомментировать строчку t30_set_phase_e_handler. После чего все пересобрать.
| Код: |
| /* Remove phase E handler because we do not want it to be executed only because we called t30_terminate */ t30_set_phase_e_handler(&t38.t30_state, NULL, NULL); |
в конце функции transmit_t38 (потому что есть такой же кусок в другом месте) и закомментировать строчку t30_set_phase_e_handler. После чего все пересобрать.
Собственно вот патч - попробуйте у кого завершение ненормальное.
Но всю обработку нужно по прежнему делать в экстеншене 'h' (hangup) потому как некоторые терминалы не просто T38 вырубают в конце, а совсем трубу кладут.
Но всю обработку нужно по прежнему делать в экстеншене 'h' (hangup) потому как некоторые терминалы не просто T38 вырубают в конце, а совсем трубу кладут.
Спасибо за заботу, только у меня пока линукс слетел, была FC9, сейчас установил FC6, наберусь терпения,соберу, взгляну. Вообще думаю,может "забыть как страшный сон", а то уже крыша едет потихоньку.
ну это дело хозяйское.
если есть чем заменить - то на здоровье.
А Kapanga я бы отладил конечно, но у меня Астериск 1.6 а в капанге баги которые этим Астериском не перевариваются - я им написал ( http://www.kapanga.net/ip/community/view ... 1469#p1469 ) но не думаю что скоро исправят. В общем увы и ах - в КАЖДОМ куске софта есть какая-то кривизна и когда эти софты друг с другом разговаривают, это все вылазит.
если есть чем заменить - то на здоровье.
А Kapanga я бы отладил конечно, но у меня Астериск 1.6 а в капанге баги которые этим Астериском не перевариваются - я им написал ( http://www.kapanga.net/ip/community/view ... 1469#p1469 ) но не думаю что скоро исправят. В общем увы и ах - в КАЖДОМ куске софта есть какая-то кривизна и когда эти софты друг с другом разговаривают, это все вылазит.
Я тоже пытался решить c Капангой свой вопрос: http://www.kapanga.net/IP/community/viewtopic.php?id=426
На самом деле рабочие решения у меня давно уже существуют под win причем в избытке, да в таком, что решение рабочих вопросов с факсами превратилось в некое хобби.
Любую программу умеющую посылать факс по ip(и не по ip) я оцениваю с т зр. 1)умения запустить факс "из командной строки", 2)умения считать результаты (ok,faxrate и т.п.). 3)Ну и для ip очень важна гибкость программы дослать факс на "слабой" линии, очень многие проги засыпаюся, не сумев договориться на 9600.
Рабочие (и реально используемые) решения есть такие:
1) VentaFax->FaxModem->AP200B->SIP (самое качественное!и t38,и g711)
2) Microsoft Fax ->TAPI->www.comisdn.com->SIP (для T38 с учетом моих прибамбасов, кот.считывают информацию через Microsoft Fax API эти 4 линии купленные у французов со скидкой не перестают меня периодически радовать вот уже 2 года)
---------------
3) CapiFax.ocx->XCAPI->SIP тоже рабочее решение, благодаря скачанной библиотеке CapiFax.ocx и написанным прибамбасам на VB отвечает моим требованиям, плюс XCAPI в умении посылать факсы по G711, чем не удивишь пользователей Asterisk, кот. всю жизнь в один голос хотят и кричат T38! но, согласитесь большая редкость для Win. Ее в работе использовать не очень люблю, т.к. факс идет с рекламой X-capi а покупать неохота и дорого.
--------------
Kapanga(T38) -к чести разработчиков они ее наконец довели до ума, год назад я плевался, однако с логами полная беда- не рабочий вариант, хотя и прикольный, и факсы шлет супер!
Далее для разруливания звонков использую Axon PBX -простая и понятная, нет проблем с транзитом T38.
Уже в виндах стало скушно, решил посмотреть что там в Asterisk с факсами, а заоодно что есть линукс. Чувствую что есть в нем много хорошего, даже неплохо продвинулся, но нек. вещи поражают своей бестолковостью. Т.е. получается, что постоянно не хватает каких-то пакетов, версий, не всегда ясно чего именно. Решать это все очень полезно для мозгов, но крыша начинает съезжать потихоньку. Пытался установить PCI-модем, драйвера от Dlink не работают, родных на connexant нет, установил с linnuxant -обрадовался, а мне говорят, это тестовая версия, а чтоб факсы работали -20баксов за драйвер(это при цене модема 7баксов и бесплатных драйверах для виндов), почитал в интернете инструкцию"для нечестных жуликов"-за полчаса получил полноценный драйвер, не переставая удивляться. Кончается обычно тем что после какой-нибудь установки накрываются иксы, и жизнь погружается во мрак, причем практически без возможности восстановления оных без переустановки системы. На днях установил Web-управление своим линуксом, прикольно-и убил его...с мобильного телефона: запустил обновление,блин.Наутро система еще шевелилась, но после перезагрузки ни x-сов, ни сети, ни yum -ничего нет...
В принципе я уже понимаю, что надо все что надо настроить на чистой системе и не трогать и будет работать как часы годами, но пока этого "того что надо" я для себя не узрел, поэтому устанавливаем-изучаем-ломаем.
FC6 пришлось кстати снести, ибо при установке Asterisk 1.4.21.1 возникли неизвестные глюки, установил опять Fedora Core 9, пока пишу астериск компилируется-устанавливается, в общем пока не сдался, но.. эмоции разные и противоречивые.
На самом деле рабочие решения у меня давно уже существуют под win причем в избытке, да в таком, что решение рабочих вопросов с факсами превратилось в некое хобби.
Любую программу умеющую посылать факс по ip(и не по ip) я оцениваю с т зр. 1)умения запустить факс "из командной строки", 2)умения считать результаты (ok,faxrate и т.п.). 3)Ну и для ip очень важна гибкость программы дослать факс на "слабой" линии, очень многие проги засыпаюся, не сумев договориться на 9600.
Рабочие (и реально используемые) решения есть такие:
1) VentaFax->FaxModem->AP200B->SIP (самое качественное!и t38,и g711)
2) Microsoft Fax ->TAPI->www.comisdn.com->SIP (для T38 с учетом моих прибамбасов, кот.считывают информацию через Microsoft Fax API эти 4 линии купленные у французов со скидкой не перестают меня периодически радовать вот уже 2 года)
---------------
3) CapiFax.ocx->XCAPI->SIP тоже рабочее решение, благодаря скачанной библиотеке CapiFax.ocx и написанным прибамбасам на VB отвечает моим требованиям, плюс XCAPI в умении посылать факсы по G711, чем не удивишь пользователей Asterisk, кот. всю жизнь в один голос хотят и кричат T38! но, согласитесь большая редкость для Win. Ее в работе использовать не очень люблю, т.к. факс идет с рекламой X-capi а покупать неохота и дорого.
--------------
Kapanga(T38) -к чести разработчиков они ее наконец довели до ума, год назад я плевался, однако с логами полная беда- не рабочий вариант, хотя и прикольный, и факсы шлет супер!
Далее для разруливания звонков использую Axon PBX -простая и понятная, нет проблем с транзитом T38.
Уже в виндах стало скушно, решил посмотреть что там в Asterisk с факсами, а заоодно что есть линукс. Чувствую что есть в нем много хорошего, даже неплохо продвинулся, но нек. вещи поражают своей бестолковостью. Т.е. получается, что постоянно не хватает каких-то пакетов, версий, не всегда ясно чего именно. Решать это все очень полезно для мозгов, но крыша начинает съезжать потихоньку. Пытался установить PCI-модем, драйвера от Dlink не работают, родных на connexant нет, установил с linnuxant -обрадовался, а мне говорят, это тестовая версия, а чтоб факсы работали -20баксов за драйвер(это при цене модема 7баксов и бесплатных драйверах для виндов), почитал в интернете инструкцию"для нечестных жуликов"-за полчаса получил полноценный драйвер, не переставая удивляться. Кончается обычно тем что после какой-нибудь установки накрываются иксы, и жизнь погружается во мрак, причем практически без возможности восстановления оных без переустановки системы. На днях установил Web-управление своим линуксом, прикольно-и убил его...с мобильного телефона: запустил обновление,блин.Наутро система еще шевелилась, но после перезагрузки ни x-сов, ни сети, ни yum -ничего нет...
В принципе я уже понимаю, что надо все что надо настроить на чистой системе и не трогать и будет работать как часы годами, но пока этого "того что надо" я для себя не узрел, поэтому устанавливаем-изучаем-ломаем.
FC6 пришлось кстати снести, ибо при установке Asterisk 1.4.21.1 возникли неизвестные глюки, установил опять Fedora Core 9, пока пишу астериск компилируется-устанавливается, в общем пока не сдался, но.. эмоции разные и противоречивые.
мой вам совет - бросайте вы этот редхат.. гавн&ще (пардон, другого слова просто нет) еще то!
(имхо - редхат был хорошим до версии 9, все что было потом - испорчено донельзя. я про федоры и тп. а девятый уже морально устарел)
линукс же не один - их десятки (и даже сотни) есть на свете! зачем замыкаться на том что сразу не пошло? альтернатива с линуксом есть всегда. чем и хорош.
не знаю что конкретно вам порекомендовать, лично на мой вкус все бинарные дистрибутивы - [skip]. пришел к генту. ничего не падает и работает как часы. не могу нарадоваться уже несколько лет. попробуйте разные - может с чемто у вас и срастется.
(имхо - редхат был хорошим до версии 9, все что было потом - испорчено донельзя. я про федоры и тп. а девятый уже морально устарел)
линукс же не один - их десятки (и даже сотни) есть на свете! зачем замыкаться на том что сразу не пошло? альтернатива с линуксом есть всегда. чем и хорош.
не знаю что конкретно вам порекомендовать, лично на мой вкус все бинарные дистрибутивы - [skip]. пришел к генту. ничего не падает и работает как часы. не могу нарадоваться уже несколько лет. попробуйте разные - может с чемто у вас и срастется.
| dimas писал(а): |
| Собственно вот патч - попробуйте... |
Увы...
| Код: |
| -- Executing [s@faxout:7] SendFAX("SIP/2001-09ba0f28", "/var/spool/asterisk/fax/test.tif") in new stack [Jul 9 01:53:29] WARNING[14915]: app_fax.c:214 phase_e_handler: Error transmitting fax. result=22: Invalid response after sending a page. [Jul 9 01:53:29] WARNING[14915]: app_fax.c:637 transmit: Transmission error == Spawn extension (faxout, s, 7) exited non-zero on 'SIP/2001-09ba0f28' -- Executing [h@faxout:1] NoOp("SIP/2001-09ba0f28", "TX: FAXSTATUS is FAILED") in new stack -- Executing [h@faxout:2] NoOp("SIP/2001-09ba0f28", "TX: FAXERROR is Invalid response after sending a page") in new stack -- Executing [h@faxout:3] NoOp("SIP/2001-09ba0f28", "TX: REMOTESTATIONID is ") in new stack ...дальше пусто |
А идут как всегда нормально...Да, ...в C++ писать не умею, пока разочарование,п.2(считывание результатов) не выполняется, п.3 на счет гибкости программы на "слабых внешних" линиях тоже что-то слабовато подтверждается, максимальную скорость факса тоже ограничить негде, хотя сейчас речь не об этом.
Пока отношусь как к Капанге, хотя... там при желании из логов можно информацию вытянуть-правда по моим оценкам только для одной линии, а их там 3, с 3-мя будет путаница.
| anest писал(а): |
| бросайте вы этот редхат... |
не буду спорить, когда в очередной раз убью x-ы (согласно статистике -через 2-4недели), подумаю.
P.S. А кнопку цитировать зря убрали...никогда не злоупотреблял,но неудобно без нее
хм... А с кем это проблема-то? Я на zoiper отладился, последняя версия - 2.15. У меня SendFAX без ошибок отрабатывает. ReceiveFAX тоже...
Скажите а c dlink app_fax по t.38 работает у кого-нибудь? У меня выдает при приеме ошибку: [Jul 9 12:09:38] WARNING[13950]: app_fax.c:214 phase_e_handler: Error transmitting fax. result=39: Unexpected DCN while waiting for image data. И не понятно куда копать 
RE(Dimas): хм... А с кем это проблема-то?
Проблема с AP200B, но как я уже писал с ComISDN, XCAPI, Kapanga ситуация ничуть (не на много) лучше.
Ошибка Error transmitting fax. result=22: Invalid response after sending a page скорее всего возникла в силу применения патча.
Да не дело это, у вас "на zoiper отладилось", а с другими ..-должна быть какая-то стабильность, иначе для работы неприменимо. Да,ходят факсы, игрушка интересная, но чтоб внедрять в рабочую среду, видимо пока еще рано об этом думать. Честно, пока не хочется копаться. Могу добавить что в случае использования callweaver в аналогичных условиях таких глюков с tx_fax rx_fax не возникало, т.е. по NoOp все результаты возвращались, но реализация все равно далека от совершенства (при использовании SIP),имею ввиду что на внешних линиях факс ведет себя достаточно тупо, думаю что можно сделать что-то хорошее, если использовать Asterisk в качестве офисной PBX с выходом на обычные городские линии, или с использованием гарантированного стабильно-T38-качественного SIP провайдера. Но у меня такой задачи не стоит...
Проблема с AP200B, но как я уже писал с ComISDN, XCAPI, Kapanga ситуация ничуть (не на много) лучше.
Ошибка Error transmitting fax. result=22: Invalid response after sending a page скорее всего возникла в силу применения патча.
Да не дело это, у вас "на zoiper отладилось", а с другими ..-должна быть какая-то стабильность, иначе для работы неприменимо. Да,ходят факсы, игрушка интересная, но чтоб внедрять в рабочую среду, видимо пока еще рано об этом думать. Честно, пока не хочется копаться. Могу добавить что в случае использования callweaver в аналогичных условиях таких глюков с tx_fax rx_fax не возникало, т.е. по NoOp все результаты возвращались, но реализация все равно далека от совершенства (при использовании SIP),имею ввиду что на внешних линиях факс ведет себя достаточно тупо, думаю что можно сделать что-то хорошее, если использовать Asterisk в качестве офисной PBX с выходом на обычные городские линии, или с использованием гарантированного стабильно-T38-качественного SIP провайдера. Но у меня такой задачи не стоит...
Я поигрался еще: что касается ReceiveFax, корректно работает везде (с Kapanga, ComISDN, Zoiper и даже AP200B)-это впрочем не особо интересно, ибо принятый факс итак видно, если он пришел, да и не использую я SIP для входящих факсов.
По поводу SendFax -на Капангу принимает, NoOp пишет корректно(правда консоль переходит в режим иероглифов), на AP по прежнему не хочет, а Zoiper почему-то не реагирует на входящий факс, т.е. позывные слышу, а стартовать не хочет, до логов дело соотв. не дошло, я бы проверил но нет там кнопки start(на прием).
Т.к. если я и буду посылать факсы через Asterisk, то вряд ли на свой AP, то решать вопрос именно относит.него смысла не имеет, т.е. если и отлаживать, то конкретную рабочую среду, но углов столько, что при наличии рабочих win-решений особого желания возиться пока нету.
По поводу SendFax -на Капангу принимает, NoOp пишет корректно(правда консоль переходит в режим иероглифов), на AP по прежнему не хочет, а Zoiper почему-то не реагирует на входящий факс, т.е. позывные слышу, а стартовать не хочет, до логов дело соотв. не дошло, я бы проверил но нет там кнопки start(на прием).
Т.к. если я и буду посылать факсы через Asterisk, то вряд ли на свой AP, то решать вопрос именно относит.него смысла не имеет, т.е. если и отлаживать, то конкретную рабочую среду, но углов столько, что при наличии рабочих win-решений особого желания возиться пока нету.
1. что зоипер не реагирует на начало факса - видел. Чисто для тестов у себя я правил app_fax чтобы он сам инициировал переход в T38. Но если верить спеке это должен делать таки приемник (т.е. zoiper). Тут есть три варианта:
* добавить опцию в SendFAX чтобы он насильно требовал T38. Спорный подход, но может быть кому-то полезно.
* написать на саппорт Zoiper с просьбой разъяснить ситуацию. (И починить) Пожалуй спрошу их.
2. Что касается AP - читать его мысли я не могу. Если хотите чтобы кто-то проблему изучал - core debug 3, udptl debug, sip debug и вперед - собирать лог.
Added after 30 minutes:
(ну кстати из доки по зоиперу очевидно почему он не ловит ничего. Он и не должен. Единственный режим когда он принимает факс это когда входящий звонок ИЗНАЧАЛЬНО идет с T38. То есть когда зоипер еще трубку не снял, а уже известно - это факс)
Я им написал спросил не хотят ли расширить.
* добавить опцию в SendFAX чтобы он насильно требовал T38. Спорный подход, но может быть кому-то полезно.
* написать на саппорт Zoiper с просьбой разъяснить ситуацию. (И починить) Пожалуй спрошу их.
2. Что касается AP - читать его мысли я не могу. Если хотите чтобы кто-то проблему изучал - core debug 3, udptl debug, sip debug и вперед - собирать лог.
Added after 30 minutes:
(ну кстати из доки по зоиперу очевидно почему он не ловит ничего. Он и не должен. Единственный режим когда он принимает факс это когда входящий звонок ИЗНАЧАЛЬНО идет с T38. То есть когда зоипер еще трубку не снял, а уже известно - это факс)
Я им написал спросил не хотят ли расширить.
На мой взгляд zoiper (честно через ж бы его написал) -это нечто типа недоделанной капанги 2-х летней давности. Абсолютно никаких настроек, да еще и куча недоделок -стандартный Microsoft-fax-tiff в Normal-resolution не умеет например корректно передать-преобразовывает к какой-то фигне.
Я достаточно давно изучаю вопрос с факсами, и пришел к выводу, что ничего лучше VentaFax не существует, причем как для гтс так и для sip по обоим протоколам.
Если не запускать оболочку, то из командной строки командой типа ventadrv [номер][файл] инициализируется досылка факса [файл], по номеру [номер], всю процедуру мы визуально наблюдаем, а по окончании получаем файл в log-директории,из кот.вся информация (а она там очень полная) вытягивается программно,перед следующей посылкой этот log программно убивается. Плюс сама программа очень гибкая, т.е. хорошо договаривается о скорости передачи факса, что для слабеньких sip-линий крайне немаловажно,куча правильных настроек. При желании этих драйверов делается столько сколько надо в одной системе и процедура пристыковывается к любым управляющим программам. Т.е. Venta для меня является нек.стандартом качества, и любое новое я оцениваю методом сравнения с ней.
Единственный минус венты-она умеет работать только с факс-модемом, tapi в ней заявлено, но с тем tapi, что в Microsoft Fax несовметимо, что не позволяет использовать ее с comisdn, CAPI также отсутствует.Т.е. единственный способ Venta->FaxModem-> FXS(Адаптер)->sip.
2 года периодически пытаюсь найти что нибудь, что с одной стороны являлось бы виртуальным факс-модемом (т.е чтобы Venta могла с ним работать, по сути интерфейс com-порта), а с другой стороны смотрело в SIP, или хотя бы в CAPI. Может кто знает,существуют ли такие решения в win или в linux? Некие намеки я видел в AVM FRiTZ virtual com-port -не пошло, вилимо ориентировано только на свои адаптеры, также пытался разобраться с Diva Server Soft IP, но что-то уж там очень запутано, не удалось настроить, хотя модем устанавливался.
Я пытался задавать этот вопрос разработчикам ComISDN, и X-CAPI из ответов ничего разумного не следовало, т.е. типа другая технология, используйте такой-то такой-то capi-совместимый (тупой естественно) факс-сервер, в лучшем случае: вот вам наша утилита, попробуйте и т.п.
Прочитал кстати про hylafax+iaxmodem, технически пока не углублялся, но хотелось бы сориентироваться, что за модем, можно ли его пристыковать к Asterisk,, будет ли посылать по sip, можно ли его пробросить в win-ды, обычные модемы я с одного pc на другой в windows успешно пробрасывал, вот описание: http://www.voipinfo.ru/forum/viewtopic.php?p=33431, еще слышал h323-t38-modem, с h.323 не знаком но так понимаю это другой виртуальный модем.
Вопрос как отправить Ventу в SIP без промежуточного железа для меня скорее уже не практический, а философский, если удастся решить, получу глубокое моральное удовлетворение.
Кстати вернемся к нашим баранам. Что-то мне не понравилось как SendFax ReseiveFax работают по G711 (без T38). rx_fax tx_fax все отлично,а здесь с трудом удалось дослать один факс на 4800 после манипуляций с ограничением максим. скорости на Vent-e. А rx-tx-fax все отлично на 9600ecm бегает. Т.е. если по G711 Send-Receive хуже что ли-так или не так?
Я достаточно давно изучаю вопрос с факсами, и пришел к выводу, что ничего лучше VentaFax не существует, причем как для гтс так и для sip по обоим протоколам.
Если не запускать оболочку, то из командной строки командой типа ventadrv [номер][файл] инициализируется досылка факса [файл], по номеру [номер], всю процедуру мы визуально наблюдаем, а по окончании получаем файл в log-директории,из кот.вся информация (а она там очень полная) вытягивается программно,перед следующей посылкой этот log программно убивается. Плюс сама программа очень гибкая, т.е. хорошо договаривается о скорости передачи факса, что для слабеньких sip-линий крайне немаловажно,куча правильных настроек. При желании этих драйверов делается столько сколько надо в одной системе и процедура пристыковывается к любым управляющим программам. Т.е. Venta для меня является нек.стандартом качества, и любое новое я оцениваю методом сравнения с ней.
Единственный минус венты-она умеет работать только с факс-модемом, tapi в ней заявлено, но с тем tapi, что в Microsoft Fax несовметимо, что не позволяет использовать ее с comisdn, CAPI также отсутствует.Т.е. единственный способ Venta->FaxModem-> FXS(Адаптер)->sip.
2 года периодически пытаюсь найти что нибудь, что с одной стороны являлось бы виртуальным факс-модемом (т.е чтобы Venta могла с ним работать, по сути интерфейс com-порта), а с другой стороны смотрело в SIP, или хотя бы в CAPI. Может кто знает,существуют ли такие решения в win или в linux? Некие намеки я видел в AVM FRiTZ virtual com-port -не пошло, вилимо ориентировано только на свои адаптеры, также пытался разобраться с Diva Server Soft IP, но что-то уж там очень запутано, не удалось настроить, хотя модем устанавливался.
Я пытался задавать этот вопрос разработчикам ComISDN, и X-CAPI из ответов ничего разумного не следовало, т.е. типа другая технология, используйте такой-то такой-то capi-совместимый (тупой естественно) факс-сервер, в лучшем случае: вот вам наша утилита, попробуйте и т.п.
Прочитал кстати про hylafax+iaxmodem, технически пока не углублялся, но хотелось бы сориентироваться, что за модем, можно ли его пристыковать к Asterisk,, будет ли посылать по sip, можно ли его пробросить в win-ды, обычные модемы я с одного pc на другой в windows успешно пробрасывал, вот описание: http://www.voipinfo.ru/forum/viewtopic.php?p=33431, еще слышал h323-t38-modem, с h.323 не знаком но так понимаю это другой виртуальный модем.
Вопрос как отправить Ventу в SIP без промежуточного железа для меня скорее уже не практический, а философский, если удастся решить, получу глубокое моральное удовлетворение.
Кстати вернемся к нашим баранам. Что-то мне не понравилось как SendFax ReseiveFax работают по G711 (без T38). rx_fax tx_fax все отлично,а здесь с трудом удалось дослать один факс на 4800 после манипуляций с ограничением максим. скорости на Vent-e. А rx-tx-fax все отлично на 9600ecm бегает. Т.е. если по G711 Send-Receive хуже что ли-так или не так?
А подскажите плз.
Вот у меня * 1.4.19.2, аддонсы - 1.4.6
патчи соответственно
asterisk-1.4.19-t38-for-app_fax.patch и asterisk-addons-1.4.6-app_fax-t38.patch
spandsp-0.0.4pre18
Как только диалплан доходит до ReseiveFAX -- * падает в корку. Дебаг и логи не показывают вообще ничего. Что это такое?
И еще хотел спросить. А что такое rxfax и txfax ? Где вы это берете? Или это сокращенное ReseiveFAX и SendFAX ?
Спасибо.
Вот у меня * 1.4.19.2, аддонсы - 1.4.6
патчи соответственно
asterisk-1.4.19-t38-for-app_fax.patch и asterisk-addons-1.4.6-app_fax-t38.patch
spandsp-0.0.4pre18
Как только диалплан доходит до ReseiveFAX -- * падает в корку. Дебаг и логи не показывают вообще ничего. Что это такое?
И еще хотел спросить. А что такое rxfax и txfax ? Где вы это берете? Или это сокращенное ReseiveFAX и SendFAX ?
Спасибо.
Находясь в поисках и переваривая информацию текущей темы, я сформулировал четкую инструкцию, как все
установить чтоб работало(SendFax и ReceiveFax), можете взглянуть:
http://www.voipinfo.ru/forum/viewtopic.php?t=11180
при отступлении от версий,там указанных, работоспособность не гарантируется. Однако:
1)можете ставить asterisk 1.4.21.1 вместо 1.4.21
2)ни в коем случае не ставить spandsp 0.0.5
tx_fax и rx_fax -классические приложения для факса в asterisk, инструкция по установке и сами файлы
здесь: http://asteriskforum.ru/viewtopic.php?p=7662
при установке самого asterisk надо класть app_txfax и app_rxfax в apps и вручную аккуратно исправить
несколько файлов как описано, установить asterisk и убедиться что эти приложения присутствуют.
SendFax и ReceiveFax -отдельные приложения, ориентированы на работу по T38, ставятся вместе с
addons-ами, у меня подозрение, что передача факса голосом по g711 там плохо реализована,
тогда как старые tx_fax и rx_fax на G711 работают отлично.
В принципе вы можете попробовать установить все 4 приложения, тогда на начальном шаге при установке
самого asterisk надо совместить T38-patch с установкой rx-tx-fax и ручной правкой файлов.
если будут глюки, попробуйте spandsp-0.0.4-15 вместо 0.0.4-18, плохо помню, но вроде должно работать,
для T38 будете использовать send-receive, а для G711 rx-tx, если конечно вы четко понимаете где когда
и как и какой факс-протокол используется в вашей системе.
установить чтоб работало(SendFax и ReceiveFax), можете взглянуть:
http://www.voipinfo.ru/forum/viewtopic.php?t=11180
при отступлении от версий,там указанных, работоспособность не гарантируется. Однако:
1)можете ставить asterisk 1.4.21.1 вместо 1.4.21
2)ни в коем случае не ставить spandsp 0.0.5
tx_fax и rx_fax -классические приложения для факса в asterisk, инструкция по установке и сами файлы
здесь: http://asteriskforum.ru/viewtopic.php?p=7662
при установке самого asterisk надо класть app_txfax и app_rxfax в apps и вручную аккуратно исправить
несколько файлов как описано, установить asterisk и убедиться что эти приложения присутствуют.
SendFax и ReceiveFax -отдельные приложения, ориентированы на работу по T38, ставятся вместе с
addons-ами, у меня подозрение, что передача факса голосом по g711 там плохо реализована,
тогда как старые tx_fax и rx_fax на G711 работают отлично.
В принципе вы можете попробовать установить все 4 приложения, тогда на начальном шаге при установке
самого asterisk надо совместить T38-patch с установкой rx-tx-fax и ручной правкой файлов.
если будут глюки, попробуйте spandsp-0.0.4-15 вместо 0.0.4-18, плохо помню, но вроде должно работать,
для T38 будете использовать send-receive, а для G711 rx-tx, если конечно вы четко понимаете где когда
и как и какой факс-протокол используется в вашей системе.
Появился патч для T.38 gateway:
http://bugs.digium.com/view.php?id=12931
http://bugs.digium.com/view.php?id=12931
ну он там отдельным приложением. Я, например не очень понимаю как такое юзать. По хорошему это должен быть неких "внутриканальный конвертер" то есть если в бридже канал поддерживающий T38 и его не поддерживающий и начинается факс - то стартует гейтвей между этих каналов. Без приложений.
Added after 1 hours 16 minutes:
JFYI, Zoiper ответил :=)
Типа все у них будет - и обнаружение CNG, и просто старт по кнопке. Второе видимо быстрее.
Added after 1 hours 16 minutes:
JFYI, Zoiper ответил :=)
| Код: |
| For now Zoiper always starts a normal call and then reinvites with t.38. The direct T.38 invite is not supported for now. So in this case if your gateway can actually do the CNG tone detection + T38 switchover this should be not a problem. We are working to make Zoiper detect the CNG tone and send the t.38 on its own. We work on even a direct t.30 but this will work only without any packet loss. > So the SIP call does not have T38 attributes in the initial INVITE but > somewhere in the middle of the call remote side starts sending CNG > tone (1100 Hz, ½ sec). The T38 capable terminals are supposed to > detect this signal and attempt T38 re-INVITE. If you do not want > implementing any tone detection, you may want to make FAX button in > the ZoIPer enabled mid-call and pressing it will start T38 re- > INVITE. This will work too.. This proposal looks reasonable and relatively easy to implement and we will consider this. |
Типа все у них будет - и обнаружение CNG, и просто старт по кнопке. Второе видимо быстрее.
Почему у меня вылазиет вот такое:
Или так должно быть? Факс слал через SPA-2102.
| Код: |
| v=0 o=- 180751994 180751994 IN IP4 192.168.0.1 s=- c=IN IP4 192.168.0.1 t=0 0 m=image 16466 udptl t38 a=T38FaxVersion:0 a=T38MaxBitRate:14400 a=T38FaxRateManagement:transferredTCF a=T38FaxMaxBuffer:200 a=T38FaxMaxDatagram:200 a=T38FaxUdpEC:t38UDPRedundancy --- (14 headers 12 lines) --- Sending to 194.44.33.105 : 5060 (NAT) Got T.38 offer in SDP in dialog c8505577-a0729017@192.168.0.1 Got T.38 Re-invite without audio. Keeping RTP active during T.38 session. Callid c8505577-a0729017@192.168.0.1 Capabilities: us - 0xc (ulaw|alaw), peer - audio=0x0 (nothing)/video=0x0 (nothing), combined - 0x0 (nothing) Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x0 (nothing), combined - 0x0 (nothing) |
Или так должно быть? Факс слал через SPA-2102.
Вопрос не понял.
Что-то конкретно смущает/не работает или что?
Что-то конкретно смущает/не работает или что?
Да не могу понять нормально ли что:
А потом идет такое:
Тоесть T38 в этом случае не работает?
| Код: |
| Got T.38 offer in SDP in dialog c8505577-a0729017@192.168.0.1 Got T.38 Re-invite without audio. Keeping RTP active during T.38 session. Callid c8505577-a0729017@192.168.0.1 |
А потом идет такое:
| Код: |
| [Jul 14 16:06:12] VERBOSE[26006] logger.c: --- (14 headers 9 lines) --- [Jul 14 16:06:12] VERBOSE[26006] logger.c: Sending to 192.168.0.1 : 5060 (NAT) [Jul 14 16:06:12] VERBOSE[26006] logger.c: Found RTP audio format 0 [Jul 14 16:06:12] DEBUG[26006] chan_sip.c: Peer doesn't provide T.38 UDPTL [Jul 14 16:06:12] VERBOSE[26006] logger.c: Peer audio RTP is at port 192.168.0.1:16452 [Jul 14 16:06:12] VERBOSE[26006] logger.c: Found audio description format PCMU for ID 0 [Jul 14 16:06:12] VERBOSE[26006] logger.c: Capabilities: us - 0xc (ulaw|alaw), peer - audio=0x4 (ulaw)/video=0x0 (nothing), combined - 0x4 (ulaw) [Jul 14 16:06:12] VERBOSE[26006] logger.c: Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x0 (nothing), combined - 0x0 (nothing) [Jul 14 16:06:12] VERBOSE[26006] logger.c: Peer audio RTP is at port 192.168.0.1:16452 |
Тоесть T38 в этом случае не работает?
вобщем вот может кому надо
asterisk-1.4.21.1 подержка t38 и app_fax
ставить со spandsp0.0.5pre4
asterisk-1.4.21.1 подержка t38 и app_fax
ставить со spandsp0.0.5pre4
клева! кстати spandsp обновился в gentoo как раз, не надо больше руками собирать 
Привет! До этого стояла связка из: Asterisk 1.4.21.1+патч 1.4.21, Asterisk-addons 1.4.7 + патч 1.4.6, spandsp 0.0.5pre3 и всё работало. Сегодня решил переставить * и его пропатчить новым патчем. Я так и не понял, нужно ли патчить аддоны (т.е делать всё как в http://www.voipinfo.ru/forum/viewtopic.php?t=11180). Установил новый spandsp 0.0.5pre4. Все собрал и поставил. Вот ошибка которая выскакивала при компиляции *:
Теперь при приёме факса с помощью ReceiveFax Астериск вываливается
Что это означает? Я так понимаю проблема возникает уже здесь, тем не менее приложение app_fax.so собирается...
| Код: |
| [CC] app_fax.c -> app_fax.o app_fax.c: In function ‘phase_e_handler’: app_fax.c:177: warning: implicit declaration of function ‘t30_get_tx_ident’ app_fax.c:177: warning: assignment makes pointer from integer without a cast app_fax.c:178: warning: implicit declaration of function ‘t30_get_rx_ident’ app_fax.c:178: warning: assignment makes pointer from integer without a cast app_fax.c: In function ‘set_local_info’: app_fax.c:236: warning: implicit declaration of function ‘t30_set_tx_ident’ app_fax.c:240: warning: implicit declaration of function ‘t30_set_tx_page_header_info’ [LD] app_fax.o -> app_fax.so |
Теперь при приёме факса с помощью ReceiveFax Астериск вываливается
Что это означает? Я так понимаю проблема возникает уже здесь, тем не менее приложение app_fax.so собирается...
это означает что по какимто причинам не схватились заголовки нового spandsp
Cache все процедуры начиная с накатывания патча, заканчивая выполнением make menuselect проходят без сучка и задоринки. Делаю: 1) патч на астериск 2)выполняю скрипт ./bootstrap.sh 3) выполняю скрипт ./configure --prefix=/usr Вот результат работы этого скрипта:
4) Далее делаю make menuselect, вот результат:
5) Затем я делаю make. Идёт сборка и в момент сборки app_fax выскакиват тот самый warning.
Разобрался!
Сделал последовательно в каталоге со spandsp: make clean, make install. Затем я заново пропатчил чистый 1.4.21.1 и он нормально собрался. Естественно что всё заработало! Спасибо за помощь!
| Код: |
| checking for span_set_message_handler in -lspandsp... yes checking spandsp.h usability... yes checking spandsp.h presence... yes checking for spandsp.h... yes |
4) Далее делаю make menuselect, вот результат:
| Код: |
| [*] 20. app_fax Simple FAX Application Depends on: spandsp(E) |
5) Затем я делаю make. Идёт сборка и в момент сборки app_fax выскакиват тот самый warning.
Разобрался!
Сделал последовательно в каталоге со spandsp: make clean, make install. Затем я заново пропатчил чистый 1.4.21.1 и он нормально собрался. Естественно что всё заработало! Спасибо за помощь!
ну выглядит это так как будто есть еще стрый spadsp где-то в системе и именно он и цепляется.
| Дима77 писал(а): |
| 2 года периодически пытаюсь найти [b]что нибудь, что с одной стороны являлось бы виртуальным факс-модемом (т.е чтобы Venta могла с ним работать, по сути интерфейс com-порта), а с другой стороны смотрело в SIP... Прочитал кстати про hylafax+iaxmodem, технически пока не углублялся, но хотелось бы сориентироваться, что за модем, можно ли его пристыковать к Asterisk,, будет ли посылать по sip, можно ли его пробросить в win-ды, обычные модемы я с одного pc на другой в windows успешно пробрасывал ...Вопрос как отправить Ventу в SIP без промежуточного железа для меня скорее уже не практический, а философский, если удастся решить, получу глубокое моральное удовлетворение. |
Победил!!!
| Цитата: |
| T38 здесь похоже неприменим в силу особенностей IAXmodem, но данная конструкция мне нравится больше чем rxfax-txfax. |
Если вместо IAXmodem в эту схему вставите T38modem то будет Вам Т38.
Он подключается к Астериску по Н.323, а в основном функционал такой же.
| Ded писал(а): |
| Если вместо IAXmodem в эту схему вставите T38modem то будет Вам Т38. Он подключается к Астериску по Н.323, а в основном функционал такой же. |
Думал я уже на тему T38modem -как только с IAX заработало, так сразу и подумал, еще до вашего сообщения, ваше сообщение укрепило меня в правильности этих мыслей. Надо разбираться! К сожалению с H.323 я вообще не знаком, хотя логически понятно:к астериску по h323,далее по sip.
Я тут уловил из поиска 2 мысли про T38modem.
1) что он якобы теперь под sip работает
2) что его можно откомпилировать под windows.
Подтверждение первой мысли (про sip) я пока не нашел, если она верна, во что я пока не верю, то я бы исключил из цепочки сам астериск.
Вторая мысль про windows мне понравилась, тогда можно исключить редирект com-порта , но поверхностное чтение документации навело на мысль, что даже в виндах что-то подобное таки понадобится.
Надо разбираться,короче!
Кстати, по поводу IAX-модема. Может глупость спрашиваю, но тем не менее.
Он все-таки "голосовой" или нет?
VentaFax почему-то определяет его как модем с системой голосовых команд "Conexant/Rocwell", причем при таких настройках он не работает, но это заставляет задуматься.
Конечно, для передачи факса это не имеет значения, но если модем голосовой, то во-первых мы имеем графическое отображение состояния линии (длинные/короткие гудки, ответ на звонок) в окне драйвера VentaFax, а во-вторых существует возможность проиграть фразу типа "примите факс" плюс более грамотный анализ линии программой. В железном решении Venta->FaxModem->AP200B->SIP этот момент как раз-таки реализован.
нихочу никого обидеть, но - предлагаю создать новую тему и я перенесу весь оффтоп туда. так как все посты в этой теме не по теме топика (а именно "Т.38 app_fax и астериск 1.4") и есть оффтоп и только захломляют ветку. имхо.
оттуда вы можете ссылаться на эту ветку сколько угодно.
оттуда вы можете ссылаться на эту ветку сколько угодно.
Cache,
я так понимаю, что пачтить *-addons уже не нужно ???
У меня после патча asterisk-1.4.21.1-app_fax-support-t38.patch.gz , кот. я наложил на *, появился app_fax.so.
Кстати rx-txfax тоже появились уже. Я просто скопировал перед этим app_rxfax.c app_txfax.c в исходники
я так понимаю, что пачтить *-addons уже не нужно ???
У меня после патча asterisk-1.4.21.1-app_fax-support-t38.patch.gz , кот. я наложил на *, появился app_fax.so.
Кстати rx-txfax тоже появились уже. Я просто скопировал перед этим app_rxfax.c app_txfax.c в исходники
Oleg78 я тоже об этом сразу подумал, после накладывания патча и выполнения menuselect. Я щас пользую на всю приложения Receive/Send fax. Вот заметил выскочило следущее в консоли при udptl debug:
В итоге факс принят.
| Код: |
| [2008-07-21 16:11:33] WARNING[10473] app_fax.c: Error transmitting fax. result=13: Unexpected message received. [2008-07-21 16:11:33] WARNING[10473] app_fax.c: Transmission failed |
В итоге факс принят.
я тоже не раз сталкивался с ситуацией, когда факс принимается, а FAXERROR="Channel Problems" или "No response after sending a page"
Первое реже. Патч от пока не успел опробовать.
Первое реже. Патч от пока не успел опробовать.
Сегодня с утра тестирую систему приёма факсов в офисе. Так вот. Были случаи не приёма факса. Точно понять не могу почему. В целом где-то 90% приём факсов идёт. Связка в офисе такая: (Asterisk 1.4.21.1 patched+ Addons 1.4.7) SIP Samsung OfficeServ500 PRI. Факсы ходят по Т.38, используется ReceiveFax. Не подскажите коллеги какие встречались типичные причины не приёма факсов, исключая влияние непосредственно приложения ReceiveFax. Речь идёт об отказе в офисе приёма факсов на обычные аппараты Панасоник, а приём их в Астериск, как уже 2-й день тестируется.
Возник также щекотливый вопрос. Насколько я понял после выполнения приложения ReceiveFax производится Hangup. Так вот. Каким же тогда образом уведомлять позвонивших людей о том, что их факс был получен??
Замечу, что в h екстеншене у меня производятся манипуляции непосредственно с файлом содержащим факсимильное сообщение. Т.е проверка на его наличие, копирование в нужное место, выводы ошибок и процесса работы в логи.
c0rnoTa не подскажете где ознакомиться с полным списком переменных связанных с работой этого приложения?? Ну например: FAXERROR, FAXPAGES, FAXRESOLUTION и т.д.
Возник также щекотливый вопрос. Насколько я понял после выполнения приложения ReceiveFax производится Hangup. Так вот. Каким же тогда образом уведомлять позвонивших людей о том, что их факс был получен??
Замечу, что в h екстеншене у меня производятся манипуляции непосредственно с файлом содержащим факсимильное сообщение. Т.е проверка на его наличие, копирование в нужное место, выводы ошибок и процесса работы в логи.
c0rnoTa не подскажете где ознакомиться с полным списком переменных связанных с работой этого приложения?? Ну например: FAXERROR, FAXPAGES, FAXRESOLUTION и т.д.
core show application ReceiveFax
или сам исходник посмотреть: app_fax.c
или сам исходник посмотреть: app_fax.c
я делаю просче (мне так кажеца)
ael
скрипт sendfax2mail
вызов макроса происходит так
да еще есть прикол (или ето фича
)
при использовании Attended transfer факсы по t38 не проходят так как задействуеца chan_local который даже и не хзанет что такое t38 ))
вот так
ael
| Код: |
| macro faxing (faxstat,who,txtinfo,txthead,srv_name,email) { Wait(1); Set(FAX_STAT=${faxstat}); Set(LOCALSTATIONID=${txtinfo}); Set(LOCALHEADERINFO=${txthead}); if ("${FAX_STAT}" = "Receive") { Set(FAXFILENOEXT="/opt/fax/incoming/${who}/FAX_${STRFTIME(${EPOCH},,%d_%m_%Y-%H_%M)}"); FAXFILE="${FAXFILENOEXT}.tif"; NoOp(Resive FAX); ReceiveFAX(${FAXFILE}); NoOp(reseive result ${FAXERROR}); [b] System(/opt/fax/sendfax2mail -s ${srv_name} -e ${email} -f ${FAXFILENOEXT} -p);[/b] } else if ("${FAX_STAT}" = "Send"){ NoOp(Send FAX to ${NUMBER_SEND}); SendFAX(${FAXFILE}); } else { NoOp(Nothing do); } Hangup(); } |
скрипт sendfax2mail
| Код: |
| #!/bin/bash DATETIME=$(date +"%A, %B %d %Y, %H:%M") while [ ${#} -gt 0 ]; do case "${1}" in "--srv-name" | "-s" ) SRV_NAME=${2} shift ;; "--to-email" | "-e" ) TO_EMAIL=${2} shift ;; "--file" | "-f" ) FILE=${2} shift ;; esac shift done if [ "$FILE" = "" ]; then echo "Error: A file is required" exit 1; fi if [ "$TO_EMAIL" = "" ]; then echo "Error: A destantion email is required" exit 1; fi if [ "$SRV_NAME" = "" ]; then echo "Error: A server name is required" exit 1; fi FORMAT="pdf" FORMATNAME="Adobe Acrobat" FROM_EMAIL=$TO_EMAIL SOURCEFILE=$FILE.tif DESTFILE=$FILE.$FORMAT INFOFILE=$FILE.txt if [ -e $SOURCEFILE ] then # Read data from TIFF file PAGES=$(tiffinfo $SOURCEFILE | grep "Page" | cut -d " " -f 1) DT=$(tiffinfo $SOURCEFILE | grep "Date") DTFAX=${DT#*:} FAX_PAGES=${PAGES#*-} if [ -z $FAX_PAGES ] then # If didn't find a page count, use the number of occurrences of "spandsp" FAX_PAGES=$(grep -c "spandsp" $SOURCEFILE) if [ -z $FAX_PAGES ] then FAX_PAGES="" fi fi BODY="Здравствуйте,\n Был получен факс на $FAX_PAGES листах в $DATETIME от $REMOTE_ID\n файл в формате $FORMATNAME($FORMAT) в приложении.\n \n\n\n С уваженем Ваш Факс ;-)\n " tiff2pdf -f -p A4 $SOURCEFILE > $DESTFILE #rm -f $SOURCEFILE sendEmail -f $FROM_EMAIL -t $TO_EMAIL -u "Факс от $DATETIME" -m $BODY -a $DESTFILE -s $SRV_NAME -o message-charset=UTF-8 -q else BODY="Здравствуйте,\n Факс в $DATETIME не получен!! Пожалуйста повторите звонок еще раз.\n\n\n \n\n\n С уваженем Ваш Факс ;-)\n " sendEmail -f $FROM_EMAIL -t $TO_EMAIL -u "Факс ОШИБКА: факс не получен" -m $BODY -s $SRV_NAME -o message-charset=UTF-8 -q fi |
вызов макроса происходит так
| Код: |
| 109 => { Set(faxstat="Recieve"); Set(who="supermegakontora"); Set(txtinfo="7123456789"); Set(txthead="SuperMega kontora"); Set(srv_name="mail.server.ru"); Set(email="fax@server.ru"); &faxing(${faxstat},${who},${txtinfo},${txthead},${srv_name},${email}); } |
да еще есть прикол (или ето фича
при использовании Attended transfer факсы по t38 не проходят так как задействуеца chan_local который даже и не хзанет что такое t38 ))
вот так
Ха. Про chan_local прикольно.
В принципе на первый взгляд не проблема починить - понятно куда копать. Только я сейчас в зарубеже и времени нема совсем.
Added after 7 minutes:
а траблы с приемом на Zap каналах или на SIP/T38 ?
В принципе на первый взгляд не проблема починить - понятно куда копать. Только я сейчас в зарубеже и времени нема совсем.
Added after 7 minutes:
| Obi Van писал(а): |
| Сегодня с утра тестирую систему приёма факсов в офисе. Так вот. Были случаи не приёма факса. |
а траблы с приемом на Zap каналах или на SIP/T38 ?
| Obi Van писал(а): |
| |
| Код: |
| [2008-07-21 16:11:33] WARNING[10473] app_fax.c: Error transmitting fax. result=13: Unexpected message received. [2008-07-21 16:11:33] WARNING[10473] app_fax.c: Transmission failed |
В итоге факс принят.
dimas, получается также но переодически. Не пойму почему, толи нету нормального хендапа, толи еще что
вобщем ни как не разберусь
Опять же - это T38 или Zap ?
t38
по Zap все замечательно
по Zap все замечательно
dimas
У меня вся работа идёт по SIP + Т.38
Сегодня просматривая лог, обнаружил случаи не приёма факсов. Попутно также при тестировании столкнулся с тем, что система по-моему рановато делает HANGUP. А именно. Приём факса осуществляется на обычный факс Panasonic (модель точно не помню) и вот... ждём'c... Проходит секунд 45, потом минута, и где-то на 1 мин 20 сек начинает осуществляться приём факса. Я уже знал то, что приложение ReceiveFax ждёт примерно 30сек (из экспериментов). Также раннее это в ветке обсуждали, но так ни к чему и не пришли.
Таким образом получается что система не может принять этот факс. И действительно, попытки передачи факса осуществлялись удалённой стороной около 3-х раз и всё безуспешно... Насколько становится понятно есть такое факсовое оборудование, которое при передаче факса затягивает этот процесс. Вот парни возник вопросик о том, можно ли как-то продлить это время?
Где и что (наверно в исходниках) мне поковырять??
Просто похоже именно это и является веской причиной того, что некоторые факсы не проходят.
А подстроиться (точнее подстроить систему) было бы желательно.
Cache спасибо за пример. Надо попробывать. Даже и не знаю, или в аел это кинуть, или в обычный конф переделать.
| Цитата: |
| Опять же - это T38 или Zap ? |
У меня вся работа идёт по SIP + Т.38
Сегодня просматривая лог, обнаружил случаи не приёма факсов. Попутно также при тестировании столкнулся с тем, что система по-моему рановато делает HANGUP. А именно. Приём факса осуществляется на обычный факс Panasonic (модель точно не помню) и вот... ждём'c... Проходит секунд 45, потом минута, и где-то на 1 мин 20 сек начинает осуществляться приём факса. Я уже знал то, что приложение ReceiveFax ждёт примерно 30сек (из экспериментов). Также раннее это в ветке обсуждали, но так ни к чему и не пришли.
Просто похоже именно это и является веской причиной того, что некоторые факсы не проходят.
Cache спасибо за пример. Надо попробывать. Даже и не знаю, или в аел это кинуть, или в обычный конф переделать.
мне кажеться можно было сделать какой нить конфиг файл для факсов где указывать сколько нужно раз поторять попытки приема(передачи) нужен ли ECM , ну и т.д. ??
уверен, что такой конфиг нужен! 

Может чуть не в тот топик... но все таки хочу спросить:
А как сделать так, чтоб сначала поговорить, а потом нажать кнопку "Старт" и принять факс, и, возможно, потом еще поговорить.
Причем все это на Т38. Нужна, я так понимаю, прога типа NVFaxdetect которая при обнаружении писка перебрасывает в другой екстеншн?
Но АЖХаддонсы ставятся только на spandsp 4 pre 15 ...
У меня стоит 1.4.21.1 (Patch) + spandsp-0.0.5pre4.
Что ж делать то???
А как сделать так, чтоб сначала поговорить, а потом нажать кнопку "Старт" и принять факс, и, возможно, потом еще поговорить.
Причем все это на Т38. Нужна, я так понимаю, прога типа NVFaxdetect которая при обнаружении писка перебрасывает в другой екстеншн?
Но АЖХаддонсы ставятся только на spandsp 4 pre 15 ...
У меня стоит 1.4.21.1 (Patch) + spandsp-0.0.5pre4.
Что ж делать то???
дык боюсь что никак.
В принципе в chan_sip есть код который детектит писк факса, но:
1. в силу особенностей кода, он мышей не ловит. Его можно поправить чтобы ловил, но
2. когда тон пойман все что делает chan_sip это T38 switchover ЕСЛИ КАНАЛ ЕЩЕ НЕ BRIDGED. А нужно чтобы он делал переход на факс экстеншен. Это в принципе тоже нетрудно поправить, но:
3. вот во время разговора канал какраз наоборот bridged, и если и эту проверку тоже менять то я не знаю чем все кончится :=)
В принципе в chan_sip есть код который детектит писк факса, но:
1. в силу особенностей кода, он мышей не ловит. Его можно поправить чтобы ловил, но
2. когда тон пойман все что делает chan_sip это T38 switchover ЕСЛИ КАНАЛ ЕЩЕ НЕ BRIDGED. А нужно чтобы он делал переход на факс экстеншен. Это в принципе тоже нетрудно поправить, но:
3. вот во время разговора канал какраз наоборот bridged, и если и эту проверку тоже менять то я не знаю чем все кончится :=)
А будет ли работать прием факса если сделать закрытый перевод вызова?
т.е. я говорю с кем то, далее перевожу на экстеншен где будет осуществляться прием факса.
такая схема пройдет?
т.е. я говорю с кем то, далее перевожу на экстеншен где будет осуществляться прием факса.
такая схема пройдет?
доброго времени суток.
Где-то я поймал граблю:
[CC] app_fax.c -> app_fax.o
app_fax.c:112: error: field Б─≤t38stateБ─≥ has incomplete type
app_fax.c: In function Б─≤transmit_audioБ─≥:
app_fax.c:368: error: Б─≤T38_UNAVAILABLEБ─≥ undeclared (first use in this function)
app_fax.c:368: error: (Each undeclared identifier is reported only once
app_fax.c:368: error: for each function it appears in.)
app_fax.c: In function Б─≤transmitБ─≥:
app_fax.c:597: error: storage size of Б─≤t38stateБ─≥ isnБ─≥t known
app_fax.c:620: error: Б─≤T38_NEGOTIATEDБ─≥ undeclared (first use in this function)
make[1]: *** [app_fax.o] Error 1
make: *** [apps] Error 2
И не собираются asterisk-addons-1.4.7...
Где-то я поймал граблю:
[CC] app_fax.c -> app_fax.o
app_fax.c:112: error: field Б─≤t38stateБ─≥ has incomplete type
app_fax.c: In function Б─≤transmit_audioБ─≥:
app_fax.c:368: error: Б─≤T38_UNAVAILABLEБ─≥ undeclared (first use in this function)
app_fax.c:368: error: (Each undeclared identifier is reported only once
app_fax.c:368: error: for each function it appears in.)
app_fax.c: In function Б─≤transmitБ─≥:
app_fax.c:597: error: storage size of Б─≤t38stateБ─≥ isnБ─≥t known
app_fax.c:620: error: Б─≤T38_NEGOTIATEDБ─≥ undeclared (first use in this function)
make[1]: *** [app_fax.o] Error 1
make: *** [apps] Error 2
И не собираются asterisk-addons-1.4.7...
receivefax не принимает факсы с панасоников почему-то по t38, хотя с brother всё ок
лог прилагается
ps: OS centos 5.1
asterisk 1.4.21.2
spandsp-0.0.5pre4.tgz
лог прилагается
ps: OS centos 5.1
asterisk 1.4.21.2
spandsp-0.0.5pre4.tgz
none, нет такого доброго времени в сутках. Равно как и злого времени нет. А у природы нет плохой погоды.
Могу рекомендовать самомочинилки -
Темного времени суток!
Светлого Вам времени суток!
Доброй полярной ночи! (вдруг в Антарктиде читают?)
Могу рекомендовать самомочинилки -
Темного времени суток!
Светлого Вам времени суток!
Доброй полярной ночи! (вдруг в Антарктиде читают?)
Доброго времени года!
(вдруг это читают зимой а я пишу летом)
но топик неправильный выбран для этого, ded, imho.
(вдруг это читают зимой а я пишу летом)
но топик неправильный выбран для этого, ded, imho.
Ded, у меня каждая секунда в сутках - добрая (-:
А насчёт погоды - это да (-: не бывает плохой погоды, бывает неподходящее настроение (-:
А насчёт погоды - это да (-: не бывает плохой погоды, бывает неподходящее настроение (-:
| ToxaP писал(а): |
| А будет ли работать прием факса если сделать закрытый перевод вызова? |
Проверять надо... Но если blind transfer работает так же как attended (то есть через chan_local) - то не будет.
У меня в принципе есть патч который attended transfer чинит, но он для 1.6/trunk и что гораздо хуже - уже после того как я его сделал я понял что он неправильный по сути и надо делать совсем по другому. И вот как только придумаю как это "по другому" - сделаю нормальный
Added after 3 minutes:
| bbv писал(а): |
| лог прилагается |
К сожалению из него ничего на понятно. Попробуй sec core debug 3 чтобы еще диагностика SpanDSP лезла.
И еще sip debug чтобы понять какая сторона звонок разрывает.
И идеально - если можно лог с ремоут стороны получить.
| none писал(а): |
| Ded, у меня каждая секунда в сутках - добрая (-: |
Прошу прощения у исконников за оффтопик! Суббота!
Видимо, blind transfer не использует chan_local - у меня перевод на факс так и реализован, работает корректно.
2 DWR: именно в T.38, так?
Added after 3 minutes:
И ты посылаешь на ReceiveFax?
Added after 3 minutes:
И ты посылаешь на ReceiveFax?
Ну учитывая что без лога узнать какой именно режим был использован для передачи, audio или T38 - неочевидно как он тебе ответит :=)
можно, кстати, сделать чтобы ReceiveFax переменную выставлял - FAXMODE - какой же именно режим был использован и тогда в конце ее можно будет посмотреть. Если кому надо, могу добавить.
можно, кстати, сделать чтобы ReceiveFax переменную выставлял - FAXMODE - какой же именно режим был использован и тогда в конце ее можно будет посмотреть. Если кому надо, могу добавить.
Я думаю это было бы очень удобно.
2ToxaP На RecieveFAX посылаю
Не думал, что есть разница
Не думал, что есть разница
А какой кодек у тебя используется в такой схеме?
Не ну вопрос, как я понимаю, был в том - это аудио факс (писком, модемом) или T38. Потому как аудио факс пойдет и через chan_local споойно то есть выдержит attended transfer, а вот T38 на этом сломается.
Но понять какой режим факса был можно только глядя на лог (то есть core set debug 1 по крайней мере) потому как ReceiveFAX никак иначе режим передачи не сообщает.
С тем патчем что я на мантисе повесил, можно после ReceiveFAX переменную ${FAXMODE} вывести, там будет audio или T38
Но понять какой режим факса был можно только глядя на лог (то есть core set debug 1 по крайней мере) потому как ReceiveFAX никак иначе режим передачи не сообщает.
С тем патчем что я на мантисе повесил, можно после ReceiveFAX переменную ${FAXMODE} вывести, там будет audio или T38
Спасибо за патч dimas.
Но если кодек 729, то голосом факс ходить не смог бы, по этому можно будет уверенно сказать, что факс был в Т.38.
Но если кодек 729, то голосом факс ходить не смог бы, по этому можно будет уверенно сказать, что факс был в Т.38.
Я панимайт.
просто если для пиров разрешено много кодеков сразу, то определить какой именно был использован - требует таких же телодвижений что и включение дебага
просто если для пиров разрешено много кодеков сразу, то определить какой именно был использован - требует таких же телодвижений что и включение дебага
Всем привет!
Хочу поделиться практическими наработками по системе приёма факсов через приложение ReceiveFax . Введение этой системы в своей организации я произвёл примерно месяц назад. Физически работа в офисе происходит следующим образом:
FAX =>E1 => Samsung OfficeServ500 => SIP + T.38 (LAN)=> Asterisk 1.4.21.1 => Fax.tif
Так вот. В момент моего присутствия я тщательно наблюдал за её работой. Выявилось следуещее. Приём факсов с факсимильных аппаратов размещённых на АЛ станции Samsung производится отлично. Судя по всему приближаясь к
99%. Это меня обрадовало. Далее. Приём факсов с софтфона (Zoiper 2.02 linux) подключённого к Астериск также производится отлично. Проблемы возникли при приёме внешних (для нашей станции, ну и соответственно Астериска) факсов. Тут вероятность приёма упала до 80%, что оказалось очень плохо. Поскольку каждый непринятый факс, автоматически вызывал головную боль, то руководство во время моего отсутствия в отпуске, приняло решение о приостановке работы этой системы. Факсы стали принимать по "старинке" на обычные факсовые аппараты Панасоник КХ... (различные модели).
Для организации приёма факсов я рзработал концепцию, согласно которой факсы вначале принимаются на сервер с Астериск, но затем производится копирование их на главный сервер компании (хранилище данных). При этом факсам присваиваются уникальное имя сформированное из даты, номера с которого факс передали на Атстериск и дату. Проверяется наличие полученного файла на обоих серверах, определяется размер и всё это выводится в два лога. По приезду из отпуска я продолжил доработки системы. Пропатчил приложение app_fax новым патчем предоставленным Димасом (dimas спасибо!). Также я добавил в лог файлы информацию из всех переменных имеющихся в этом приложении, что на сегодня позволяет мне видеть всё необходимое. Я вижу также и причину неприёма факса из переменной ${FAXERROR}, что оказалось очень важным для отслеживания проблем. Приведу кусок рингплана:
Хочу спросить у людей, тестировавших эту систему. Каковы наиболее часто встречающиеся причины неприёма факсов? Я знаю одну очень вескую из-за которой возможно и система пока отвергнута. Она связана с временем ожидания примерно в 30сек (о чём я раннее уже упоминал). Можно ли изменить это время в сторону его увеличения. Попытки ковыряния исходников не помогли, чтения РТФМов не открыли истины.
Хочу поделиться практическими наработками по системе приёма факсов через приложение ReceiveFax . Введение этой системы в своей организации я произвёл примерно месяц назад. Физически работа в офисе происходит следующим образом:
FAX =>E1 => Samsung OfficeServ500 => SIP + T.38 (LAN)=> Asterisk 1.4.21.1 => Fax.tif
Так вот. В момент моего присутствия я тщательно наблюдал за её работой. Выявилось следуещее. Приём факсов с факсимильных аппаратов размещённых на АЛ станции Samsung производится отлично. Судя по всему приближаясь к
99%. Это меня обрадовало. Далее. Приём факсов с софтфона (Zoiper 2.02 linux) подключённого к Астериск также производится отлично. Проблемы возникли при приёме внешних (для нашей станции, ну и соответственно Астериска) факсов. Тут вероятность приёма упала до 80%, что оказалось очень плохо. Поскольку каждый непринятый факс, автоматически вызывал головную боль, то руководство во время моего отсутствия в отпуске, приняло решение о приостановке работы этой системы. Факсы стали принимать по "старинке" на обычные факсовые аппараты Панасоник КХ... (различные модели).
Для организации приёма факсов я рзработал концепцию, согласно которой факсы вначале принимаются на сервер с Астериск, но затем производится копирование их на главный сервер компании (хранилище данных). При этом факсам присваиваются уникальное имя сформированное из даты, номера с которого факс передали на Атстериск и дату. Проверяется наличие полученного файла на обоих серверах, определяется размер и всё это выводится в два лога. По приезду из отпуска я продолжил доработки системы. Пропатчил приложение app_fax новым патчем предоставленным Димасом (dimas спасибо!). Также я добавил в лог файлы информацию из всех переменных имеющихся в этом приложении, что на сегодня позволяет мне видеть всё необходимое. Я вижу также и причину неприёма факса из переменной ${FAXERROR}, что оказалось очень важным для отслеживания проблем. Приведу кусок рингплана:
| Код: |
| [fax_office] ;Приём факса в общую папку exten => 1011600,1,Set(_FAX_CONTEXT=fax) exten => 1011600,n,NoOp(${FAX_CONTEXT}) exten => 1011600,n,Set(__Fax_dest=all) exten => 1011600,n,Set(From1=${CUT(SIPCHANINFO(FROM)|@|1)}) exten => 1011600,n,Set(__From=${CUT(From1|:|2)}) exten => 1011600,n,Set(CDR(userfield)=${From}) exten => 1011600,n,Set(__FAXFILE=/home/alexey/FAXES/${STRFTIME(,,%Y-%m)}/all/FAX_${STRFTIME(,,%Y-%m-%d)}_${STRFTIME(,,%H-%M-%S)}_${From}.tif) exten => 1011600,n,ReceiveFax(${FAXFILE}) exten => 1011600,n,Hangup() [macro-fax_receive] ;******************Макрос для проверки наличия файла с факсом и отправки его на сервер **************** exten => s,1,Set(Fax_exist=${STAT(s,${FAXFILE})}) ;проверка наличия файла с факсом с выяснением его размера exten => s,2,NoOp(${Fax_exist}) ;вывод переменной с размером файла находящегося на локальной системе exten => s,3,GotoIf($[${Fax_exist}>0]?4:14) ; проверка наличия файла с размером более 0 кб exten => s,4,System(/bin/echo "FAX ${FAXFILE} with size ${Fax_exist} and ${FAXPAGES} pages from ${From} was received on server Asterisk. Fax resolution is ${FAXRESOLUTION}. Fax bitrate is ${FAXBITRATE}. Fax status is ${FAXSTATUS}. Fax mode is ${FAXMODE}." >> /home/log/asterisk/fax_receive_ok.log) exten => s,5,System(/bin/cp ${FAXFILE} /var/spool/asterisk/fax/FAXES/${ARG1}/ 2>>/home/log/asterisk/fax_receive_err.log) ; копирование файла с факсом на сервер с выводом ошибки в лог exten => s,6,Set(FAXFILE_TS_1=${CUT(FAXFILE|/|7)}) exten => s,7,Set(FAXFILE_TS=/var/spool/asterisk/fax/FAXES/${ARG1}/${FAXFILE_TS_1}) exten => s,8,Set(Fax_exist_ts=${STAT(s,${FAXFILE_TS})});проверка наличия файла с факсом на TS с выяснением его размера exten => s,9,NoOp(${Fax_exist_ts}) ;вывод переменной с размером файла exten => s,10,GotoIf($[${Fax_exist}=${Fax_exist_ts}]?11:16) exten => s,11,System(/bin/echo "FAX ${FAXFILE_TS} with size ${Fax_exist} and ${FAXPAGES} pages from ${From} was received on server TS. Fax resolution is ${FAXRESOLUTION}. Fax bitrate is ${FAXBITRATE}. Fax status is ${FAXSTATUS}. Fax mode is ${FAXMODE}." >> /home/log/asterisk/fax_receive_ok.log) exten => s,12,System(/bin/echo " FAX ${FAXFILE_TS} с размером ${Fax_exist} и количеством ${FAXPAGES} страниц от ${From} был получен на сервер TS. Разрешение факса = ${FAXRESOLUTION}. Битрейт факса = ${FAXBITRATE}. Статус факса ${FAXSTATUS}. Режим приёма факса был ${FAXMODE}." >> /var/spool/asterisk/fax/FAXES/${ARG1}/fax_receive_ok.log) exten => s,13,Goto(s,17) exten => s,14,System(/bin/echo "File ${FAXFILE} dosn'n exist on server Asterisk because ${FAXERROR}! Fax status is ${FAXSTATUS}. Fax mode is ${FAXMODE}." >> /home/log/asterisk/fax_receive_err.log) exten => s,15,Goto(s,17) exten => s,16,System(/bin/echo "File ${FAXFILE_TS} dosn'n exist on server TS or diferent with ${FAXFILE}!" >> /home/log/asterisk/fax_receive_err.log) exten => s,17,Hangup() |
Хочу спросить у людей, тестировавших эту систему. Каковы наиболее часто встречающиеся причины неприёма факсов? Я знаю одну очень вескую из-за которой возможно и система пока отвергнута. Она связана с временем ожидания примерно в 30сек (о чём я раннее уже упоминал). Можно ли изменить это время в сторону его увеличения. Попытки ковыряния исходников не помогли, чтения РТФМов не открыли истины.
Obivan,
рано или поздно вы откроете для себя AEL и читать диалплан станет в разы легче
это, конечно, оффтопик.
В течение ближайших дней-недели посмотрю как в SpanDSP подкрутить таймаут. Речь идет о времени пока ReceiveFAX пищит дожидаясь _первого контакта_ с другой стороны, правильно?
рано или поздно вы откроете для себя AEL и читать диалплан станет в разы легче
это, конечно, оффтопик.
В течение ближайших дней-недели посмотрю как в SpanDSP подкрутить таймаут. Речь идет о времени пока ReceiveFAX пищит дожидаясь _первого контакта_ с другой стороны, правильно?
Да правильно!
Насчёт AEL думаю добить факсы и перекроить рингплан. Собсно тогда он станет больше похож на программный код. Так ведь?
По поводу таймаута всё таки кажется он нужен не меньше минуты уж точно...
А вообще же наверно будет неплохо дать возможность это время выбирать...
Насчёт AEL думаю добить факсы и перекроить рингплан. Собсно тогда он станет больше похож на программный код. Так ведь?
По поводу таймаута всё таки кажется он нужен не меньше минуты уж точно...
Собственно сидел на митинге, было скучно, поэтому;
в SpanDSP в src/t30.c
нужно найти DEFAULT_TIMER_T1 и увеличить скажем до 60000 (это миллисекунды)
в том же файле найти MAX_MESSAGE_TRIES и увеличить до скажем 10.
make install для SpanDSP. Астериск пересобирать не надо.
в SpanDSP в src/t30.c
нужно найти DEFAULT_TIMER_T1 и увеличить скажем до 60000 (это миллисекунды)
в том же файле найти MAX_MESSAGE_TRIES и увеличить до скажем 10.
make install для SpanDSP. Астериск пересобирать не надо.
dimas сделал всё как описано, но...."воз и ныне там"
Звоню просто с системного телефона. Набираю номер факса, система пищит, пищит как обычно, время подходит к заветным 23сек и..... разрыв с выводом обычного в этом случае сообщения:
Кстати тот таймер по умолчанию был 35000, число попыток было равно 3.
Тупик....
| Код: |
| [2008-08-14 19:24:22] WARNING[17864]: app_fax.c:174 phase_e_handler: Error transmitting fax. result=48: Disconnected after permitted retries. [2008-08-14 19:24:22] WARNING[17864]: app_fax.c:622 transmit: Transmission failed |
Кстати тот таймер по умолчанию был 35000, число попыток было равно 3.
Тупик....
"Disconnected after permitted retries. "
вот эта ошибка выдается при достижении MAX_MESSAGE_TRIES. там хотя бы на слух должно быть десять посылок (если сейчас в t30.c стоит 10).
Если константа увеличена с трех до 10 а число писков не выросло, я могу только предположить что что-то не пересобралось - может быть цепляется другой SpanDSP собраный в другой каталог. Альтернативно - можно попробовать пересобрать весь астериск. Но, повторюсь, у меня spanDSP цеплялся как shared library и пересборки астериска не требовалось - достаточно make & make install для SpanDSP.
Added after 48 seconds:
Ну и рестарт астериска разумеется...
вот эта ошибка выдается при достижении MAX_MESSAGE_TRIES. там хотя бы на слух должно быть десять посылок (если сейчас в t30.c стоит 10).
Если константа увеличена с трех до 10 а число писков не выросло, я могу только предположить что что-то не пересобралось - может быть цепляется другой SpanDSP собраный в другой каталог. Альтернативно - можно попробовать пересобрать весь астериск. Но, повторюсь, у меня spanDSP цеплялся как shared library и пересборки астериска не требовалось - достаточно make & make install для SpanDSP.
Added after 48 seconds:
Ну и рестарт астериска разумеется...
мне так же не помогли манипуляции с исходниками , что бы увеличить время
bbv аналогично!
Бился, бился и бесполезно.
Ну во первых я слышу (и слышал до внесения изменений в Т30.с) около 5 писков. Что делал:
1) Сделал в каталоге со Spandsp команду make clean, затем правил Т30.с, далее configure, make, make install.
2) Остановил Астериск. В каталоге с исходниками Астериска make clean, потом configure, make, make install.
3) Запуск Астериска. Проверил всё работает. Позвонил на факс и..."опять 25"! Те же 5 тонов и бросок трубки по таймауту.
Эх блин! Что надо еще сделать и кому помолиться чтобы заработало. Всё времени за бубном сходить нету....

Бился, бился и бесполезно.
1) Сделал в каталоге со Spandsp команду make clean, затем правил Т30.с, далее configure, make, make install.
2) Остановил Астериск. В каталоге с исходниками Астериска make clean, потом configure, make, make install.
3) Запуск Астериска. Проверил всё работает. Позвонил на факс и..."опять 25"! Те же 5 тонов и бросок трубки по таймауту.
Эх блин! Что надо еще сделать и кому помолиться чтобы заработало. Всё времени за бубном сходить нету....
Не, ну граждане, я в чудеса не верю.
Значит у вас где-то другая либа лежит спандсп и именно она цепляется.
Давайте кто-то один поставит эксперимент. Итак, SpanDSP 0.0.5pre4 src/t30.c, строка 2566"
сразу после комента но перед if'ом добавляем
Также строка 4438:
прямо перед if'ом добавляем:
make install + рестарт астериска.
Теперь на консоль астериска должны валится варнинги от SpanDSP каждый раз когда он ретраит. (то есть 10 раз). Если они не валятся - то извиняйте, то что вы компилируете, не используется ReceiveFAX.
PS: пять писков это нормально, с MAX_MESSAGE_TRIES = 3 их столько и будет.
PPS: а мы ведь правда про аудио-факс говорим? НЕ t38?
Значит у вас где-то другая либа лежит спандсп и именно она цепляется.
Давайте кто-то один поставит эксперимент. Итак, SpanDSP 0.0.5pre4 src/t30.c, строка 2566"
| Код: |
| case T30_DIS: /* It appears they didn't see what we sent - retry the TCF */ if (++s->retries > MAX_MESSAGE_TRIES) |
сразу после комента но перед if'ом добавляем
| Код: |
| span_log(&s->logging, SPAN_LOG_WARNING, "retry1... %d\n", s->retries); |
Также строка 4438:
| Код: |
| span_log(&s->logging, SPAN_LOG_FLOW, "T4 expired in phase %s, state %d\n", phase_names[s->phase], s->state); if (++s->retries > MAX_MESSAGE_TRIES) |
прямо перед if'ом добавляем:
| Код: |
| span_log(&s->logging, SPAN_LOG_WARNING, "retry2... %d\n", s->retries); |
make install + рестарт астериска.
Теперь на консоль астериска должны валится варнинги от SpanDSP каждый раз когда он ретраит. (то есть 10 раз). Если они не валятся - то извиняйте, то что вы компилируете, не используется ReceiveFAX.
PS: пять писков это нормально, с MAX_MESSAGE_TRIES = 3 их столько и будет.
PPS: а мы ведь правда про аудио-факс говорим? НЕ t38?
dimas у меня работа осуществляется по Т.38. Мне исправления в этом файле не помогают по этим причинам? 
ну наверняка жти настройки только к audio mode Относятся.
только какие вы писки слышите в T38 - ума не приложу....
только какие вы писки слышите в T38 - ума не приложу....
dimas
Я привёл кусок рингплана выше в ветке. При звонке на номер 1011600 и достижении команды
я слышу этот писк. Вначале длинный писк, затем серия "мурлыкающих" звуков в количестве 5. Т.е даются тоны CED для факса-отправителя. Так вот подача тонов производится в промежутке времени в 25сек не больше. Это время нужно изменить хотя бы до минуты. Причём при звонке на 1011688 и отработке приложения SendFax генерируются тоны CNG в течении ровно 1 мин.
| Цитата: |
| только какие вы писки слышите в T38 - ума не приложу.... |
Я привёл кусок рингплана выше в ветке. При звонке на номер 1011600 и достижении команды
| Код: |
| exten => 1011600,n,ReceiveFax(${FAXFILE}) |
я слышу этот писк. Вначале длинный писк, затем серия "мурлыкающих" звуков в количестве 5. Т.е даются тоны CED для факса-отправителя. Так вот подача тонов производится в промежутке времени в 25сек не больше. Это время нужно изменить хотя бы до минуты. Причём при звонке на 1011688 и отработке приложения SendFax генерируются тоны CNG в течении ровно 1 мин.
obivan,
раз вы звоните и слышите писк, это работа аудио-факса.
И изменения двух констант что я давал - какраз и позволяют увеличить таймаут.
Пробуйте пропатчить спандсп чтобы варнинги валились. (Я выше писал)
раз вы звоните и слышите писк, это работа аудио-факса.
И изменения двух констант что я давал - какраз и позволяют увеличить таймаут.
Пробуйте пропатчить спандсп чтобы варнинги валились. (Я выше писал)
по поводу того что в системе где-то установлена другая версия spandsp
whereis libspandsp.so
libspandsp: /usr/src/spandsp-0.0.5/libspandsp.vcproj /usr/local/lib/libspandsp.so /usr/local/lib/libspandsp.a /usr/local/lib/libspandsp.la
cat ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
если делаю make uninstall spandsp то app_fax не загружается,
make install и снова всё работает из чего могу предположить что в системе больше нету утсновленной spandsp
ps: пробовал так же проводить эти же манипуляции на Iaxmodem где делал ./build.sh static что бы быть уверенным что используется нужная библиотека(менял исходники шедшие в комлекте) и ни какого изменения длительности сигналов отправки факса.
pss: насчёт сигнала CNG в t38 мне кажется должен быть слыжен так же как и в ulaw, ведь по большому счёту t38 это тот же голосовой кодек только адаптированный под факы. Если телефон подключён к шлюзу поддерживающем t38 и шлюз обнуружил сигнал факса и перевёл в t38 то всё равно сигналы факса мне кажется должны быть слышны, ведь их же как-то должне улышать факс!
whereis libspandsp.so
libspandsp: /usr/src/spandsp-0.0.5/libspandsp.vcproj /usr/local/lib/libspandsp.so /usr/local/lib/libspandsp.a /usr/local/lib/libspandsp.la
cat ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
если делаю make uninstall spandsp то app_fax не загружается,
make install и снова всё работает из чего могу предположить что в системе больше нету утсновленной spandsp
ps: пробовал так же проводить эти же манипуляции на Iaxmodem где делал ./build.sh static что бы быть уверенным что используется нужная библиотека(менял исходники шедшие в комлекте) и ни какого изменения длительности сигналов отправки факса.
pss: насчёт сигнала CNG в t38 мне кажется должен быть слыжен так же как и в ulaw, ведь по большому счёту t38 это тот же голосовой кодек только адаптированный под факы. Если телефон подключён к шлюзу поддерживающем t38 и шлюз обнуружил сигнал факса и перевёл в t38 то всё равно сигналы факса мне кажется должны быть слышны, ведь их же как-то должне улышать факс!
bbv,
соглашусь что в вашем случае либа цепляется та что надо.
Но как насчет добавить логгинга и посмотреть какие WARNING'и на консоль астериска падают?
PS: Не, T38 это не голосовой кодек.
Если схема вида ....дальняя сторона......=>шлюз=>телефон
то когда шлюз "услышит" CNG и передоговорится на T38 с дальней стороной, то все, голоса больше нет. И то что в телефоне по прежнему будет слышен писк то это только потому что шлюз зная что ему с дальней стороны идет факс по T38 будет изображать из себя обычный (T30) факс чтобы телефон принял с него факс.
Собственно это и есть работа T38 gateway - переконвертировать протокол T38 в обычный факс. С тем же успехом вместо T38 мог быть например FTP - то есть шлюз получает TIFF по FTP а дальше пищит в сторону подключенного к нему телефону изображая из себе обычный факс-аппарат.
соглашусь что в вашем случае либа цепляется та что надо.
Но как насчет добавить логгинга и посмотреть какие WARNING'и на консоль астериска падают?
PS: Не, T38 это не голосовой кодек.
Если схема вида ....дальняя сторона......=>шлюз=>телефон
то когда шлюз "услышит" CNG и передоговорится на T38 с дальней стороной, то все, голоса больше нет. И то что в телефоне по прежнему будет слышен писк то это только потому что шлюз зная что ему с дальней стороны идет факс по T38 будет изображать из себя обычный (T30) факс чтобы телефон принял с него факс.
Собственно это и есть работа T38 gateway - переконвертировать протокол T38 в обычный факс. С тем же успехом вместо T38 мог быть например FTP - то есть шлюз получает TIFF по FTP а дальше пищит в сторону подключенного к нему телефону изображая из себе обычный факс-аппарат.
dimas
Ковырялся сегодня с утра и получил то что мне нужно. Ну во-первых я вычистил систему от ещё одного Spandsp. Различалось местонахождение как нужных заголовочных файлов, так и компонентов Spandsp. Поясню. Местонахождение файлов было таким:
1) При установке spandsp с ключом ./configure --prefix=/usr файлы были размещены в: /usr/lib и h файлы в /usr/include/spandsp
2) При установке spandsp без такового ключа установка производится в /usr/local/lib и в /usr/local/include/spandsp
Также замечу, что после установки spandsp включая изменение t30.c, была необходимость перекомпиливать Астериск. Причём он делал только манипуляции с файлом app_fax.c => app_fax.o. Налицо верная работа. Как я ожидал так и произошло. Т.е. последние изменения в файлике t30.c которые были на тот момент (DEFAULT_TIMER_T1 = 60000 и MAX_MESSAGE_TRIES = 10) дали время ожидания 1 мин и около 11 повторов. Я изменил время на 3 минуты, т.е DEFAULT_TIMER_T1 = 180000 и MAX_MESSAGE_TRIES = 40, в итоге получив ожидание в три минуты и количество повторов сигнала 35.
УРА!!!
Теперь продолжаю тестировать систему, убив одну из проблем.
Ковырялся сегодня с утра и получил то что мне нужно. Ну во-первых я вычистил систему от ещё одного Spandsp. Различалось местонахождение как нужных заголовочных файлов, так и компонентов Spandsp. Поясню. Местонахождение файлов было таким:
1) При установке spandsp с ключом ./configure --prefix=/usr файлы были размещены в: /usr/lib и h файлы в /usr/include/spandsp
2) При установке spandsp без такового ключа установка производится в /usr/local/lib и в /usr/local/include/spandsp
Также замечу, что после установки spandsp включая изменение t30.c, была необходимость перекомпиливать Астериск. Причём он делал только манипуляции с файлом app_fax.c => app_fax.o. Налицо верная работа. Как я ожидал так и произошло. Т.е. последние изменения в файлике t30.c которые были на тот момент (DEFAULT_TIMER_T1 = 60000 и MAX_MESSAGE_TRIES = 10) дали время ожидания 1 мин и около 11 повторов. Я изменил время на 3 минуты, т.е DEFAULT_TIMER_T1 = 180000 и MAX_MESSAGE_TRIES = 40, в итоге получив ожидание в три минуты и количество повторов сигнала 35.
| Код: |
| WARNING[6032]: app_fax.c:125 span_message: WARNING T.30 retry2... 34 |
УРА!!!
Теперь продолжаю тестировать систему, убив одну из проблем.
у меня тоже заработало ..., не думал что нужно пересобирать *(app_fax) , ведь библиотека подгружаемая и все константы хранятся в ней
У меня работало БЕЗ пересборки app_fax - проверял много раз подряд.
Может вы какой-нибудь static build делали?
ну да не важно, заработало и ура.
Может вы какой-нибудь static build делали?
ну да не важно, заработало и ура.
а кстати насчёт статической сборки, можно ли как-нить app_fax так собрать, ведь часто в системе несколько версий spandsp
например OSLEC, iaxmodem,recevefax и каждой проге нужна своя версия ....
например OSLEC, iaxmodem,recevefax и каждой проге нужна своя версия ....
Весь астериск можно статически собрать - там в make menuselect в Compiler flags есть STATIC_BUILD.
Единственно что нужно это чтобы правильный SpanDSP прилинковался. Но это уже вопрос правильные флажки для configure указать...
и иже с ними.
Единственно что нужно это чтобы правильный SpanDSP прилинковался. Но это уже вопрос правильные флажки для configure указать...
| Код: |
| --with-spandsp=PATH use SPANDSP files in PATH |
Доброго времени суток, братья!
Помогите, будьте любезны...
Ситуация следующая: есть CentOS 5.1, * 1.4.21-1+asterisk-1.4.21.1-app_fax-support-t38.patch.gz, asterisk-addons-1.4.7+patch 1.4.6, spandsp-0.0.5pre4, проделал все, описанное в данном топике, однако факсы по T38 не ходят
При старте RecieveFax, при включенном дебаге, первым делом вылезает - DEBUG[1948] app_fax.c: T38 is unavailable on SIP/00018429-087ae6c8
Уже и не знаю, где рыть, может кто даст добрый совет.
В любом случае спасибо всем!
Помогите, будьте любезны...
Ситуация следующая: есть CentOS 5.1, * 1.4.21-1+asterisk-1.4.21.1-app_fax-support-t38.patch.gz, asterisk-addons-1.4.7+patch 1.4.6, spandsp-0.0.5pre4, проделал все, описанное в данном топике, однако факсы по T38 не ходят
При старте RecieveFax, при включенном дебаге, первым делом вылезает - DEBUG[1948] app_fax.c: T38 is unavailable on SIP/00018429-087ae6c8
Уже и не знаю, где рыть, может кто даст добрый совет.
В любом случае спасибо всем!
Привет! Я замечу следующее. В имеющейся связке не требуется патчить аддоны астериска. Патч накладывается на сам астериск. Далее при установке в menuselect появится пункт app_fax. Таким образом при установке * это приложение будет установлено. Более того, раннее говорилось каковы условия (наличие spandsp0.0.5pre4), см. http://www.asteriskforum.ru/viewtopic.ph ... ;start=180
Откуда идёт факс?
Можно подробнее описать конфигурацию. Что и как подключено к компьютеру с астериском.
Откуда идёт факс?
spandsp-0.0.5pre4 в системе стоит.
Факсы приходят с telphin'а, у нас там номер.
Звоню на него с железного факса, и переключаюсь на системный факс через ivr.
В конфигурации *1.4.19+patch, asterisk-addons-1.4.6-2+patch схема работала нормально, а вот с 1.4.21 появляется сообщение дебага, описанное выше, и WARNING[1948] app_fax.c: Error transmitting fax. result=49: The call dropped prematurely. по окончании сеанса.
В sip.conf строка t38pt_udptl=yes по отношению к telphin присутствует.
Если нужны какие либо файлы настроек могу скинуть.
Спасибо.
Факсы приходят с telphin'а, у нас там номер.
Звоню на него с железного факса, и переключаюсь на системный факс через ivr.
В конфигурации *1.4.19+patch, asterisk-addons-1.4.6-2+patch схема работала нормально, а вот с 1.4.21 появляется сообщение дебага, описанное выше, и WARNING[1948] app_fax.c: Error transmitting fax. result=49: The call dropped prematurely. по окончании сеанса.
В sip.conf строка t38pt_udptl=yes по отношению к telphin присутствует.
Если нужны какие либо файлы настроек могу скинуть.
Спасибо.
Wind
Щас попробовал такой эксперимент. Через Телфин (подключён к астериску) позвонил с факса (он рядом со мной, подключён к АТС) на один из наших офисных городских номеров. Входящий звонок на этот номер я принял на внутренний офисный телефон рядом с собой. Далее я перевёл звонок с него на номер факса Астериска, услышал сигнал CED о готовности принять факс и нажал СТАРТ на факсе. Началась отправка факса и примерно на половине странички факс запнулся. При этом он распечатал маленький отчёт в котором указано "COMMUNICATION ERROR (43)". Затем на факсе сигнал Congestion. В консоли астериска я вижу "пробегающие" UDPTL пакеты, затем попытки повтора (retry) и снова пакеты. Затем в логе я увидел сообщение:
Такое же сообщение возникает когда я звоню с обычного телефона, дожидаюсь сигнала CED и бросаю трубку.
Насколько понятно ситуации у нас аналогичные. Но в нашей фирме принимать звонки извне через IP-телефонию нет необходимости. Все звонки поступают на АТС через поток E1, а далее по необходимости транслируются на Астериск через VOIP по SIP. Получается что прохождение факса через Телфин проблематично....
Попутно попробовал отправить факс аналогично, но через транк Сипнета. Факс был вообще не отправлен. Астериск выдал тоже сообщение. Факс сообщил о том что: "NO RESPONSE". При этом привёл список причин (перевод): "факс-получатель занят, у факса-получателя нет бумаги, сбой питания либо другое". Это я думаю связано с тем, что у приземляющего узла в нашем городе у Сипнет нет поддержки протокола Т.38.
Задумался.....
Щас попробовал такой эксперимент. Через Телфин (подключён к астериску) позвонил с факса (он рядом со мной, подключён к АТС) на один из наших офисных городских номеров. Входящий звонок на этот номер я принял на внутренний офисный телефон рядом с собой. Далее я перевёл звонок с него на номер факса Астериска, услышал сигнал CED о готовности принять факс и нажал СТАРТ на факсе. Началась отправка факса и примерно на половине странички факс запнулся. При этом он распечатал маленький отчёт в котором указано "COMMUNICATION ERROR (43)". Затем на факсе сигнал Congestion. В консоли астериска я вижу "пробегающие" UDPTL пакеты, затем попытки повтора (retry) и снова пакеты. Затем в логе я увидел сообщение:
| Код: |
| File /home/alexey/FAXES/2008-08/all/FAX_2008-08-19_14-53-55_297.tif dosnn exist on server Asterisk because The call dropped prematurely! Fax status is FAILED. Fax mode is audio. |
Такое же сообщение возникает когда я звоню с обычного телефона, дожидаюсь сигнала CED и бросаю трубку.
Насколько понятно ситуации у нас аналогичные. Но в нашей фирме принимать звонки извне через IP-телефонию нет необходимости. Все звонки поступают на АТС через поток E1, а далее по необходимости транслируются на Астериск через VOIP по SIP. Получается что прохождение факса через Телфин проблематично....
Попутно попробовал отправить факс аналогично, но через транк Сипнета. Факс был вообще не отправлен. Астериск выдал тоже сообщение. Факс сообщил о том что: "NO RESPONSE". При этом привёл список причин (перевод): "факс-получатель занят, у факса-получателя нет бумаги, сбой питания либо другое". Это я думаю связано с тем, что у приземляющего узла в нашем городе у Сипнет нет поддержки протокола Т.38.
Задумался.....

я бы предложил udptl включить глобально а не по отношению к телфину. Там вроде баг был что per-peer basis оно не конфигурится.
Ура!
Всем огромное спасибо! Проблема решилась предложенным dimas'ом решением.
Действительно перенос t38pt_udptl=yes в секцию [global] файла sip.conf кардинально исправил ситуацию.
Из запущенных только что 5-ти факсов не запнулся ни один, выборка, конечно, маленькая, но до этого не проходил не один
Еще раз спасибо всем!
Всем огромное спасибо! Проблема решилась предложенным dimas'ом решением.
Действительно перенос t38pt_udptl=yes в секцию [global] файла sip.conf кардинально исправил ситуацию.
Из запущенных только что 5-ти факсов не запнулся ни один, выборка, конечно, маленькая, но до этого не проходил не один
Еще раз спасибо всем!
Димас заметил ещё один момент. Ну во-первых у меня глобально стоит t38pt_udptl = true, а также t38pt_rtp = yes. При этих условиях идёт отправка примерно 30-40% странички, затем в консоли идёт retry. Где-то на 5 повторе на телефоне "congestion" и печать листика с сообщением "COMMUNICATION ERROR (43)". Я кладу трубку. При этом в Gastman я вижу активное соединение на номер факса ( тот где ReceiveFax) и продолжение повторов в консоли, пока я не сделаю Hangup ручками из контекстного меню в Gastman. Сообщение астериска при этом тоже самое. Во-вторых, если я комментирую строку t38pt_rtp = yes, то отправка факса вообще не осуществляется.
Хочу заметить что также 3 дня назад я проводил отправку факса через шлюз Grandstream 286, зарегестрированного на астериске. Работа была по Т.38. Все факсы ходили 100%. Возможно это является одной из причин неприёма факсов, если люди шлют их через VOIP операторов.
Какие будут комментарии?
Возможно то, что происходит обусловлено тем "извращенским" способом отправки, что я делаю:
Факс => АТС => Астериск => Телфин => АТС => Телефон => трансфер на факс Астериска (ReceiveFax)
Хочу заметить что также 3 дня назад я проводил отправку факса через шлюз Grandstream 286, зарегестрированного на астериске. Работа была по Т.38. Все факсы ходили 100%. Возможно это является одной из причин неприёма факсов, если люди шлют их через VOIP операторов.
Какие будут комментарии?
Возможно то, что происходит обусловлено тем "извращенским" способом отправки, что я делаю:
Факс => АТС => Астериск => Телфин => АТС => Телефон => трансфер на факс Астериска (ReceiveFax)
У меня при следующей схеме:
Факс => Шлюз Dlink DVG-5004S => Asterisk (RecieveFax)
проходимость тоже была крайне высокой и с указанием t38pt_udptl=yes только в секции транка, однако через телфин не ходило...
Загадочна мать природа...
Факс => Шлюз Dlink DVG-5004S => Asterisk (RecieveFax)
проходимость тоже была крайне высокой и с указанием t38pt_udptl=yes только в секции транка, однако через телфин не ходило...
Загадочна мать природа...
2 Obi Van: А ты какой трансфер используешь?
Wind
Иногда требовалось полностью выключать Т.38 на астериске глобально в связи с различными проблемами. И поэтому у многих он выключен, а также потому как по умолчанию этот параметр находится в False. В нашей ситуации включение этого параметра определяется насущной необходимостью.
Кстати говоря рекомендую патч который выложил Димас http://bugs.digium.com/view.php?id=13252
А также отредактировать файлик t30.c из исходников spandsp 5 как предложил опять же Димас http://www.asteriskforum.ru/viewtopic.ph ... ;start=225. Очень помогает при отлове багов. Я например благодаря этому уже вижу многое.
ToxaP
Я перевожу звонок средствами офисной АТС, к которой по SIP прицеплен Астериск. Т.е я просто кидаю звонок на номер 1600. Станция знает, что это номер Астериска.
Иногда требовалось полностью выключать Т.38 на астериске глобально в связи с различными проблемами. И поэтому у многих он выключен, а также потому как по умолчанию этот параметр находится в False. В нашей ситуации включение этого параметра определяется насущной необходимостью.
Кстати говоря рекомендую патч который выложил Димас http://bugs.digium.com/view.php?id=13252
ToxaP
Я перевожу звонок средствами офисной АТС, к которой по SIP прицеплен Астериск. Т.е я просто кидаю звонок на номер 1600. Станция знает, что это номер Астериска.
Obi Van,
я не понял сценарий при котором у вас не работает.
Офисная АТС выступает в виде шлюза? Или как? Что такое номер 1600? Как он заведен в Астериск?
Откуда идет факс при этом? Снаружи или с другого экстеншена офисной же станции....
я не понял сценарий при котором у вас не работает.
Офисная АТС выступает в виде шлюза? Или как? Что такое номер 1600? Как он заведен в Астериск?
Откуда идет факс при этом? Снаружи или с другого экстеншена офисной же станции....
dimas
Станция по SIP работает с Астериском. Все те номера, которые мы хотим отправлять например на телфин, офисная АТС кидает на астериск. Номер 1600 это номер астериска (см. мой пост ) http://asteriskforum.ru/viewtopic.php?t=1761&start=225. Для целей биллинга станция добавляет к номеру 101 и итоговый номер выглядит как 1011600.
Я с обычного факса панасоник набираю номер одной из линий соответсвующей VOIP карте в АТС. Далее я набираю номер нашего офиса, но донабираю 102 чтобы звонок попал на телфин (таков рингплан астериска). Этот телефон - обычная аналоговая линия заведённая на АТС. Также эта линия имеет режим DISA (непосредственный выход на внутренние номера АТС). Но поскольку номера астериска являются для АТС "чужими" или внешними, то по DISA выйти на них я не могу. Поэтому я и выбираю номер телефона, который находится рядом со мной (возле меня телефон и факс). Далее беру трубку на этом телефоне и средствами станции направляю звонок на тот самый номер 1011600, что в этом случае дозволительно.На телефоне слышу сигнал CED от ReceiveFax астериска. Кладу трубку и этот звонок попадает на тот самый факс с которого я и хочу отправить факс. Нажимаю отправку факса. В этом случае я получается дозвонился в офис через телфин.
Станция по SIP работает с Астериском. Все те номера, которые мы хотим отправлять например на телфин, офисная АТС кидает на астериск. Номер 1600 это номер астериска (см. мой пост ) http://asteriskforum.ru/viewtopic.php?t=1761&start=225. Для целей биллинга станция добавляет к номеру 101 и итоговый номер выглядит как 1011600.
Я с обычного факса панасоник набираю номер одной из линий соответсвующей VOIP карте в АТС. Далее я набираю номер нашего офиса, но донабираю 102 чтобы звонок попал на телфин (таков рингплан астериска). Этот телефон - обычная аналоговая линия заведённая на АТС. Также эта линия имеет режим DISA (непосредственный выход на внутренние номера АТС). Но поскольку номера астериска являются для АТС "чужими" или внешними, то по DISA выйти на них я не могу. Поэтому я и выбираю номер телефона, который находится рядом со мной (возле меня телефон и факс). Далее беру трубку на этом телефоне и средствами станции направляю звонок на тот самый номер 1011600, что в этом случае дозволительно.На телефоне слышу сигнал CED от ReceiveFax астериска. Кладу трубку и этот звонок попадает на тот самый факс с которого я и хочу отправить факс. Нажимаю отправку факса. В этом случае я получается дозвонился в офис через телфин.
| Obi Van писал(а): |
| Получается что прохождение факса через Телфин проблематично.... |
подтверждаю что действительно, у телфина очень плохое качество прохождения факсов и что это проблема именно у них. я в свое время около недели убил на них, потом плюнули и подключились через другого небольшого провайдера, где факсы пошли без единой потери. телфин откровенно сосёт с факсами, это факт!
anest
Так и передам своему начальнику. Более красивой фразы и не подобрать
Сегодня в свободное время всё таки помучаю ещё систему. Надо всё же узнать какова в % вероятность приёма. В офисе необходимо, чтобы цифра была под 95%.
| Цитата: |
| телфин откровенно сосёт с факсами, это факт! |
Так и передам своему начальнику. Более красивой фразы и не подобрать
Сегодня в свободное время всё таки помучаю ещё систему. Надо всё же узнать какова в % вероятность приёма. В офисе необходимо, чтобы цифра была под 95%.
На исход через телфин так же у меня не пошли, поставил бегать через сипнет.
А вход кажется работает стабильно, на двух проектах.
А вход кажется работает стабильно, на двух проектах.
Пардон, но относится к этому топику напрямую =)
http://asteriskforum.ru/viewtopic.php?p=18451#18451
http://asteriskforum.ru/viewtopic.php?p=18451#18451
| andrew писал(а): |
| С патчем всё ок, работает во всех позах... Начинаем мечтать о факсах Zap SIP T38 |
да-да, мечтаем, но это видимо уже фантастика )
кстати, а почему так плохо app_fax работает на Zap каналах ? rxfax на порядок лучше работает, а тут процент прохождения факсов ниже 30%
Добрый день.
Столкнулся со следующей ситуацией:
Имеется Asterisk-1.4.21.1,+ asterisk-addons-1.4.7 + spandsp-0.0.5pre4 + asterisk-1.4.21.1-app_fax-support-t38.patch.
SIP шлюз с поддержкой T38, аппаратный факс.
При использованиии SendFax все корректно обрабатывается и факс принимается на аппарате.
При использовании ReceiveFax происходит следующее:
опытным путем пришел к выводу что проблема кроется в spandsp
при сборке всего со spandsp-0.0.4pre18 все отправляется и принимается, но после падает астериск .
Может подскажет кто где и что подкрутить?
Столкнулся со следующей ситуацией:
Имеется Asterisk-1.4.21.1,+ asterisk-addons-1.4.7 + spandsp-0.0.5pre4 + asterisk-1.4.21.1-app_fax-support-t38.patch.
SIP шлюз с поддержкой T38, аппаратный факс.
При использованиии SendFax все корректно обрабатывается и факс принимается на аппарате.
При использовании ReceiveFax происходит следующее:
| Код: |
| -- Executing [99@testfax:1] Set("SIP/100-081e1620", "FAXFILE=/var/spool/asterisk/fax/1220942925.0.tif") in new stack -- Executing [99@testfax:2] ReceiveFAX("SIP/100-081e1620", "/var/spool/asterisk/fax/1220942925.0.tif") in new stack [Sep 9 10:48:49] WARNING[32043]: channel.c:2414 ast_indicate_data: Unable to handle indication 19 for 'SIP/100-081e1620' Really destroying SIP dialog 'BD21-1C59-46684815BC9C86DE7895-002@SipHost' Method: REGISTER Really destroying SIP dialog 'BD21-1C59-466848155134F690FAF6-001@SipHost' Method: REGISTER [Sep 9 10:49:14] WARNING[32043]: app_fax.c:170 phase_e_handler: Error transmitting fax. result=50: Disconnected after permitted retries. [Sep 9 10:49:14] WARNING[32043]: app_fax.c:615 transmit: Transmission failed -- Executing [99@testfax:3] Hangup("SIP/100-081e1620", "") in new stack == Spawn extension (testfax, 99, 3) exited non-zero on 'SIP/100-081e1620' Really destroying SIP dialog 'BD21-1C59-46750219724C304A11F3-009@SipHost' Method: ACK |
опытным путем пришел к выводу что проблема кроется в spandsp
при сборке всего со spandsp-0.0.4pre18 все отправляется и принимается, но после падает астериск .
Может подскажет кто где и что подкрутить?
Прикрути T38modem (или IAXmodem) и будет тебе счастье. 
что то не совсем понял что это может дать
Added after 6 minutes:
у остальных вроде и без T38modem и IAXmodem факсы ходят
Added after 6 minutes:
у остальных вроде и без T38modem и IAXmodem факсы ходят
Это есть качественные инструменты для приема и передачи факсов.
T38modem(T38) IAXmodem(G711)
Я тестировал и rx и tx и send и receive.
Вы скорее всего ставили все по моей "инструкции" http://www.voipinfo.ru/forum/viewtopic.php?t=11180, много чего на это намекает, но вы повелись на spandsp-0.0.5, почитайте там же дальше-вы не первый кто на этом попался, обратите внимание на слова ded-а. Также в том варианте надо ставить 2 патча -на астериск и на addons-ы. Вы поменяли spandsp на 0.0.4, но могло что-то остаться в системе (сначала надо make clean ; make uninstall, потом устанавливать новую), и потом вы изначально компилировали астериск и addons-ы с 5-й версией, ну и т.п.
Если вы будете следовать той инструкции буквально (ну можете взять 1.4.21.1
), то все получится.
Можете взять 1.4.21.2 + я видел патчи (1 патч на астериск без addons-ов) в этой ветке, но старайтесь не "ошибаться".
За эти 2-3 месяца чего-то поменялось, я не особо следил за этой веткой форума, т.к. начал искать решения с "модемами", мне все эти rx-tx и т.п. не очень нравятся. "Модемы" работают более четко и чисто, их не надо постоянно "патчить", есть четкое понимание какой протокол используется (T38 или голос).
А receivefax, я обратил внимание, иногда может пищать "голосом", когда от него требуется T38, и т.п.
C модемами у вас есть больше степеней свободы: на свой вкус вы можете либо настроить Hylafax(+mail и все прочее), либо пробросить модемы в WIN по TCP/IP.
Мне было нелегко это все ставить на ноги (важный вклад сделал кстати dimas -главный специалист по проблемам receive-send fax), но вы можете использовать готовые инструкции:
http://www.voipinfo.ru/forum/viewtopic.php?t=11767
http://www.voipinfo.ru/forum/viewtopic.php?t=11467
ходют то они ходют но взгляните на размер этого топика, на количество жалоб что "не ходют", и на количество патчей, я не навязываю ничего, я вам фактически дал ответ, что надо делать чтоб у вас заработали App_fax, просто обратите внимание на альтернативный вариант.
T38modem(T38) IAXmodem(G711)
Я тестировал и rx и tx и send и receive.
Вы скорее всего ставили все по моей "инструкции" http://www.voipinfo.ru/forum/viewtopic.php?t=11180, много чего на это намекает, но вы повелись на spandsp-0.0.5, почитайте там же дальше-вы не первый кто на этом попался, обратите внимание на слова ded-а. Также в том варианте надо ставить 2 патча -на астериск и на addons-ы. Вы поменяли spandsp на 0.0.4, но могло что-то остаться в системе (сначала надо make clean ; make uninstall, потом устанавливать новую), и потом вы изначально компилировали астериск и addons-ы с 5-й версией, ну и т.п.
Если вы будете следовать той инструкции буквально (ну можете взять 1.4.21.1
Можете взять 1.4.21.2 + я видел патчи (1 патч на астериск без addons-ов) в этой ветке, но старайтесь не "ошибаться".
За эти 2-3 месяца чего-то поменялось, я не особо следил за этой веткой форума, т.к. начал искать решения с "модемами", мне все эти rx-tx и т.п. не очень нравятся. "Модемы" работают более четко и чисто, их не надо постоянно "патчить", есть четкое понимание какой протокол используется (T38 или голос).
А receivefax, я обратил внимание, иногда может пищать "голосом", когда от него требуется T38, и т.п.
C модемами у вас есть больше степеней свободы: на свой вкус вы можете либо настроить Hylafax(+mail и все прочее), либо пробросить модемы в WIN по TCP/IP.
Мне было нелегко это все ставить на ноги (важный вклад сделал кстати dimas -главный специалист по проблемам receive-send fax), но вы можете использовать готовые инструкции:
http://www.voipinfo.ru/forum/viewtopic.php?t=11767
http://www.voipinfo.ru/forum/viewtopic.php?t=11467
| xibatus писал(а): |
| у остальных вроде и без T38modem и IAXmodem факсы ходят |
ходют то они ходют но взгляните на размер этого топика, на количество жалоб что "не ходют", и на количество патчей, я не навязываю ничего, я вам фактически дал ответ, что надо делать чтоб у вас заработали App_fax, просто обратите внимание на альтернативный вариант.
Да делал по Вашей инструкции с единственным различием что версия asterisk 1.4.21.1 , а к ней патч файл 1 и вроде как нужен spandsp-0.0.5.
Спасибо за советы. Буду пробовать.
Спасибо за советы. Буду пробовать.
xibatus
в приведённом логе я вижу сообщение:
.
Советую почитать сообщения в ветке сверху о внесении изменений в исходники spandsp 5. Думаю стоит увеличить время и количество попыток по приёму факса.
Удачи!
в приведённом логе я вижу сообщение:
| Код: |
| WARNING[32043]: app_fax.c:170 phase_e_handler: Error transmitting fax. result=50: Disconnected after permitted retries. |
Советую почитать сообщения в ветке сверху о внесении изменений в исходники spandsp 5. Думаю стоит увеличить время и количество попыток по приёму факса.
Удачи!
Все таки я не пойму как Вы все настраиваете факс-сервер, кот. принимает на ReceiveFax ?
У меня тоже вот задача сочинить факс-сервер. Допустим разговаривают 2 сипа. Как одному из них "Стартануть факс" на ReceiveFax ?
Тут была версия, чтоб трансфером. Но трансфер перекидывает на другой сип а не на екстеншн, в котором написана команда ReceiveFax.
Тем более у трансфера проблемы с Т38. АДЖИ-аддонсы (в них есть команда NvFaxDetect, которая при обнаружении писка факса бросает в другой екстеншн) ставятся только под старый СпанДСП.
Вобщем шо то я не вижу выхода. Подскажите плз.
У меня тоже вот задача сочинить факс-сервер. Допустим разговаривают 2 сипа. Как одному из них "Стартануть факс" на ReceiveFax ?
Тут была версия, чтоб трансфером. Но трансфер перекидывает на другой сип а не на екстеншн, в котором написана команда ReceiveFax.
Тем более у трансфера проблемы с Т38. АДЖИ-аддонсы (в них есть команда NvFaxDetect, которая при обнаружении писка факса бросает в другой екстеншн) ставятся только под старый СпанДСП.
Вобщем шо то я не вижу выхода. Подскажите плз.
скажу как реализовано у меня на app_fax
есть экстеншен для приема факса типа вот такой
ael
fax это если сбработал detectfax на Zap канале и 1001 сам факс приема
как заметили вызываеца макрос вот этот
вот там вызывается посл отправки вызываеться скрипт отсылки на мыло факса в пдф
ну а как релизована отправка
это вот здесь
http://asteriskforum.ru/viewtopic.php?t=1677
вот впринципе и все
работаю по g729 (t38) SIP каналы и t30 ZAP каналы
проходимость факсов по ZAP Каналам 96 из 100 по SIP 86 из 100
я доволен пользователи тоже
на факс переключают безусловным переводом

есть экстеншен для приема факса типа вот такой
ael
| Код: |
| fax => { FAX_STAT="Receive"; &faxing(); } 1001 => { FAX_STAT="Receive"; &faxing(); } |
fax это если сбработал detectfax на Zap канале и 1001 сам факс приема
как заметили вызываеца макрос вот этот
| Код: |
| macro faxing () { Wait(2); Set(LOCALSTATIONID="7(495) XXX-XX-XXX"); Set(LOCALHEADERINFO="Supermegacontora"); if ("${FAX_STAT}" = "Receive") { Set(FAXFILENOEXT="/var/spool/asterisk/fax/FAX_${STRFTIME(${EPOCH},,%d_%m_%Y-%H_%M)}"); FAXFILE="${FAXFILENOEXT}.tif"; NoOp(Resive FAX); ReceiveFAX(${FAXFILE}); NoOp(reseive result ${FAXERROR}); System(/opt/fax/s --fax-status ${FAXSTATUS} -f ${FAXFILENOEXT} -p); } else if ("${FAX_STAT}" = "Send"){ NoOp(Send FAX to ${NUMBER_SEND}); SendFAX(${FAXFILE}); } else { NoOp(Nothing do); } Hangup(); } |
вот там вызывается посл отправки вызываеться скрипт отсылки на мыло факса в пдф
| Код: |
| #!/bin/bash DATETIME=$(date +"%A, %B %d %Y, %H:%M") while [ ${#} -gt 0 ]; do case "${1}" in "--file" | "-f" ) FILE=${2} shift ;; esac shift done if [ "$FILE" = "" ]; then echo "Error: A file is required" exit 1; fi FORMAT="pdf" FORMATNAME="Adobe Acrobat" SOURCEFILE=$FILE.tif DESTFILE=$FILE.$FORMAT INFOFILE=$FILE.txt if [ -e $SOURCEFILE ] then # Read data from TIFF file PAGES=$(tiffinfo $SOURCEFILE | grep "Page" | cut -d " " -f 1) DT=$(tiffinfo $SOURCEFILE | grep "Date") DTFAX=${DT#*:} FAX_PAGES=${PAGES#*-} if [ -z $FAX_PAGES ] then # If didn't find a page count, use the number of occurrences of "spandsp" FAX_PAGES=$(grep -c "spandsp" $SOURCEFILE) if [ -z $FAX_PAGES ] then FAX_PAGES="" fi fi BODY="Здравствуйте,\n Был получен факс на $FAX_PAGES листах в $DATETIME от $REMOTE_ID\n файл в формате $FORMATNAME($FORMAT) в приложении.\n \n\n\n С уважением Ваш Факс ;-)\n " tiff2pdf -f -p A4 $SOURCEFILE > $DESTFILE #rm -f $SOURCEFILE sendEmail -f fax@domen.ru -t fax@domen.ru -u "Факс от $DATETIME" -m $BODY -a $DESTFILE -s mail.server.ru -o message-charset=UTF-8 -q else BODY="Здравствуйте,\n Факс в $DATETIME не получен!! Пожалуйста повторите звонок еще раз.\n\n\n \n\n\n С уважением Ваш Факс ;-)\n " sendEmail -f fax@domen.ru -t fax@domen.ru -u "Факс ОШИБКА: факс не получен" -m $BODY -s mail.server.ru-o message-charset=UTF-8 -q fi |
ну а как релизована отправка
это вот здесь
http://asteriskforum.ru/viewtopic.php?t=1677
вот впринципе и все
работаю по g729 (t38) SIP каналы и t30 ZAP каналы
проходимость факсов по ZAP Каналам 96 из 100 по SIP 86 из 100
я доволен пользователи тоже
на факс переключают безусловным переводом
Способ классный, супер! Я пробовал у себя Ваш скрипт все работает отлично. Но только работу факс сервера я вижу в том, чтоб кто-то из внешнего мира позвонил на внутренний сип (через Audio Codec Mediant2000. ZAP у меня нет) и сначала поговорил с этим сипом а потом уже начал посылку факса. Вот меня интересует переход между этими фазами. Разговор -- прием факса. Что должен сделать сип клиент чтоб начать прием: набрать какую-то комбинацию, положить трубку чтоб сработал екстеншн h, или еще что-то -- вот в чем вопрос.
это что значит? Может у меня на Аудиокодесе есть такой факсдетект?
а как переключить во время разговора?
Можно конечно сделать общий городской номер для приема факсов, где ИВР будет спрашивать тебя "введи № вн. абонента, которому хочешь отправить факс".
Но это уже крайний вариант, и он сложнее первого для простого юзера, звонящего с города.
Спасибо.
| Цитата: |
| fax это если сбработал detectfax на Zap канале |
это что значит? Может у меня на Аудиокодесе есть такой факсдетект?
| Цитата: |
| на факс переключают безусловным переводом |
а как переключить во время разговора?
Можно конечно сделать общий городской номер для приема факсов, где ИВР будет спрашивать тебя "введи № вн. абонента, которому хочешь отправить факс".
Но это уже крайний вариант, и он сложнее первого для простого юзера, звонящего с города.
Спасибо.
насколько я понял то Cache уже ответил на ваш вопрос. в его случае будет так: ответившая строна после разговора со звонящим, жмет у себя # (в трубке скажут "Трасфер") потом номер 1001 и звонящего перекинет на прием факса. ответивщий ложит трубку.
допустим такж можно отловить переменую ${BLINDTRANSFER} в которой храница номер ПЕРЕВОДИВШЕГО
и создать допустим что есть хорошо email с номерами внтр телефоноф или алисы (это как кому нравится)
соотвсено передалть чуть чуть скрипт и передовать ему емайли вида ${BLINDTRANSFER}@domen.ru
ну если все правильно настроено то пришедший (или нет) факс в пдф придет в письме исключительно на адрес переводившего
а трансфер настраивться в features.conf
и создать допустим что есть хорошо email с номерами внтр телефоноф или алисы (это как кому нравится)
соотвсено передалть чуть чуть скрипт и передовать ему емайли вида ${BLINDTRANSFER}@domen.ru
ну если все правильно настроено то пришедший (или нет) факс в пдф придет в письме исключительно на адрес переводившего
а трансфер настраивться в features.conf
Господа! А как быть с ZAP и app_fax? Провел первые испытания... Пока по пути E1->asterisk->app_fax в основном факсы проходят. Но возник вопрос с возможнотью получения многостраничного факса. Что требуется подкрутить в app_fax? Пока проходит только один лист и все.
Added after 15 minutes:
Уффф!!! Похоже все ещё сложненее... Tiff на выходе создается многослойный!!! Вместо многостраничного. Т.е. его разобрать можно только в GIMP/Photo Shop. А как бы его в человечном виде получить?
Added after 15 minutes:
Уффф!!! Похоже все ещё сложненее... Tiff на выходе создается многослойный!!! Вместо многостраничного. Т.е. его разобрать можно только в GIMP/Photo Shop. А как бы его в человечном виде получить?
В google ходили?
man tiff2pdf:
The program converts one TIFF file to one PDF file, including multiple page TIFF files,...
man tiff2pdf:
The program converts one TIFF file to one PDF file, including multiple page TIFF files,...
Хех, понял. Тогда буду уж искать tiff2jpg. Т.к. pdf не открыв, в предпросмотре проводника не видно.
JPG не будет многостраничным, в отличии от PDF или TIFF, там трудно задать понятие страницы.
Научил секретарей пользоваться стрелочками прокрутки в проводнике. Проблемы с многостраничными факсами больше нет.
ГОСПОДА!
У меня схема работы телефонии на данный момент такая: E1 OfficeServ500 Asterisk SPA2102
Факсы есть и на OfficeServ и на Asterisk. Между Asterisk и множеством SPA2102 есть маршрутизируемые каналы.
Как правильно посоветуете собирать Asterisk для моей ситуации?
1. Собираю драйвера для E1 (У меня Cronyx TAU-PCI/LIGHT)
2. Собираем zaptel-1.4.12.1
3. Правим код t30.c в SPANDSP 0.0.5pre4:
define DEFAULT_TIMER_T1 = 180000
define MAX_MESSAGE_TRIES = 40
4. Собираем SPANDSP
5. Собираем Libpri-1.4.7
6. Правим код chan_sip.c asterisk-1.4.21.2:
static int global_t38_capability = T38FAX_VERSION_1 | T38FAX_RATE_2400 | T38FAX_RATE_4800 | T38FAX_RATE_7200 | T38FAX_RATE_9600 | T38FAX_RATE_12000 | T38FAX_RATE_14400;
(Или все же надо оставить T38FAX_VERSION_0 ?)
7. Устанавливаем патч asterisk-1.4.21.1-app_fax-support-t38.parch
8. Собираем asterisk
9. Собираем asterisk-addons
10. Создаем dail план.
11. Запускаем систему в тестирование.
Я ни чего не упустил?
Тут видел предложение еще править chan_sip.c
} else if (p->udptl && ( (sscanf(m, "image %d udptl t38%n", &x, &len) == 1) ||
(sscanf(m, "image %d UDPTL t38%n", &x, &len) == 1) )) {
if (t38action != SDP_T38_INITIATE || (p->owner && p->lastinvite)) {
if (debug)
ast_verbose("Got T.38 offer in SDP in dialog %s\n", p->callid);
udptlportno = x;
numberofmediastreams++;
}
} else
На что это влияет, я не понял.
ГОСПОДА!
У меня схема работы телефонии на данный момент такая: E1 OfficeServ500 Asterisk SPA2102
Факсы есть и на OfficeServ и на Asterisk. Между Asterisk и множеством SPA2102 есть маршрутизируемые каналы.
Как правильно посоветуете собирать Asterisk для моей ситуации?
1. Собираю драйвера для E1 (У меня Cronyx TAU-PCI/LIGHT)
2. Собираем zaptel-1.4.12.1
3. Правим код t30.c в SPANDSP 0.0.5pre4:
define DEFAULT_TIMER_T1 = 180000
define MAX_MESSAGE_TRIES = 40
4. Собираем SPANDSP
5. Собираем Libpri-1.4.7
6. Правим код chan_sip.c asterisk-1.4.21.2:
static int global_t38_capability = T38FAX_VERSION_1 | T38FAX_RATE_2400 | T38FAX_RATE_4800 | T38FAX_RATE_7200 | T38FAX_RATE_9600 | T38FAX_RATE_12000 | T38FAX_RATE_14400;
(Или все же надо оставить T38FAX_VERSION_0 ?)
7. Устанавливаем патч asterisk-1.4.21.1-app_fax-support-t38.parch
8. Собираем asterisk
9. Собираем asterisk-addons
10. Создаем dail план.
11. Запускаем систему в тестирование.
Я ни чего не упустил?
Тут видел предложение еще править chan_sip.c
} else if (p->udptl && ( (sscanf(m, "image %d udptl t38%n", &x, &len) == 1) ||
(sscanf(m, "image %d UDPTL t38%n", &x, &len) == 1) )) {
if (t38action != SDP_T38_INITIATE || (p->owner && p->lastinvite)) {
if (debug)
ast_verbose("Got T.38 offer in SDP in dialog %s\n", p->callid);
udptlportno = x;
numberofmediastreams++;
}
} else
На что это влияет, я не понял.
| Venberg писал(а): |
| Тут видел предложение еще править chan_sip.c } else if (p->udptl && ( (sscanf(m, "image %d udptl t38%n", &x, &len) == 1) || (sscanf(m, "image %d UDPTL t38%n", &x, &len) == 1) )) { if (t38action != SDP_T38_INITIATE || (p->owner && p->lastinvite)) { if (debug) ast_verbose("Got T.38 offer in SDP in dialog %s\n", p->callid); udptlportno = x; numberofmediastreams++; } } else На что это влияет, я не понял. |
Ответ:
| dimas писал(а): |
| Фактически из-за этого исправления Астериск игнорирует T38 в изначальном INVITE (но поддерживает T38 в ре-INVITE). ...это значит что начальный T38 который сообщает T38modem игнорируется, но позже когда провайдер делает reinvite на T38, астериск его принимает и делает реинвайт на ноге t38modem.. |
Это не предложение, а конкретное,кривоватое по выражению dimas-a решение одной конкретной проблемы касаемой конкретно t38modem. Да и то, автор модема, Вячеслав Фролов, заверил, что это поведение модема будет устранено в ближайшее время. Не стоит применять все подряд! Если с этим кодом звонить не через сипнет в российскую глубинку, а на нормальный американский факс, кот. "сразу выдаст T38" (пробовал через pulver.com на 800-е номера),то этот код сыграет злую роль, и факс наоборот не пройдет.
Спасибо за разъяснение.
А с остальными правками все в силе?
И для меня остался пока не совсем понятен факт CAREINVITE. Если он не установлен в yes, то факсов на t38 я не увижу?
А с остальными правками все в силе?
И для меня остался пока не совсем понятен факт CAREINVITE. Если он не установлен в yes, то факсов на t38 я не увижу?
CAREINVITE -это что?? Если вы про canreinvite=yes, то нельзя таких утверждений глобальных делать. Все зависит от конкретной ситуации. В моем случае когда я посылал факс AP200B->*->sipnet то получалась ошибка "RTP reed too short", и пришлось ставить canreinvite=yes, а для T38modem->*->Sipnet для того же астериска напротив при canreinvite=yes T38modem виснул и пришлось ставить canreinvite=no, и ошибки RTP при этом не возникло. It depends...
Да нельзя столько правок делать в таком объеме, есть конкретные задачи, в процессе их решения возникают конкретные вопросы, вы сейчас намутите, а в итоге вообще ничего работать не будет. Поаккуратней с правками.
Даже вот это вот
не всегда надо добавлять, в нек. случаях факсы и без этого у вас на 14400 будут бегать.
Знаете сколько ошибок логических и грамматических было сделано в том куске кода, что вы привели(кот. отменяет первый инвайт)-я раз 10 астериск пересобирал, пока правильно не получилось, а вы хотите все сразу и в одну кучу...
Да нельзя столько правок делать в таком объеме, есть конкретные задачи, в процессе их решения возникают конкретные вопросы, вы сейчас намутите, а в итоге вообще ничего работать не будет. Поаккуратней с правками.
Даже вот это вот
| Код: |
| | T38FAX_RATE_12000 | T38FAX_RATE_14400 |
не всегда надо добавлять, в нек. случаях факсы и без этого у вас на 14400 будут бегать.
Знаете сколько ошибок логических и грамматических было сделано в том куске кода, что вы привели(кот. отменяет первый инвайт)-я раз 10 астериск пересобирал, пока правильно не получилось, а вы хотите все сразу и в одну кучу...
Мой вариант работы:
E1 OfficeServ500 Asterisk SPA2102
Факсы есть и на OfficeServ и на Asterisk.
T38modem пока не планировал ставить. В моем случае будет достаточно поставить патч на T38_fax, а про остальное можно забыть? Ну еще немного увеличить таймауты в t30.c для работы с комбайнами. Так?
Added after 12 minutes:
И еще вопрос. А текущий патчик можно ставить на asterisk-1.4.21.2? Или только на 1.4.21.1?
E1 OfficeServ500 Asterisk SPA2102
Факсы есть и на OfficeServ и на Asterisk.
T38modem пока не планировал ставить. В моем случае будет достаточно поставить патч на T38_fax, а про остальное можно забыть? Ну еще немного увеличить таймауты в t30.c для работы с комбайнами. Так?
Added after 12 minutes:
И еще вопрос. А текущий патчик можно ставить на asterisk-1.4.21.2? Или только на 1.4.21.1?
Venberg
У меня стоит на 1.4.21.2 и всё шуршит
Насчёт таймаутов совершенно правильное решение. Не думаю что повредит. Хотя я например свою систему для приёма факсов так в офисе и не пустил повторно.
Дело в том, что не знаю даст ли она хотя бы 98% приёма факсов. Пускать на тест особо никто не шевелится. Фактически же я понял что слабое звено в моей системе это связка по SIP станции и астериска, по которой посредством Т.38 и бегают факсы. Приём факсов в приложение ReceiveFax с офисных аппаратов у меня под 100%
Извне я понял, что увы нет....
| Цитата: |
| А текущий патчик можно ставить на asterisk-1.4.21.2? Или только на 1.4.21.1? |
У меня стоит на 1.4.21.2 и всё шуршит
Извне я понял, что увы нет....
| Дима77 писал(а): |
Спасибо за помощь. app_fax по E1 работает. И я не сказал бы, что плохо. Отправляю из города Ventafax -> Courier V.Everything V.90 X2. Линия довольно плохая для речевого разговора.
Передача идет на 9600. Передаю 3-4 страницы. Проходит на ура в режиме FINE. Пока правда ни 14400, ни ECM я ни разу не увидел. FAX CLASS 1,2,2.0 модемом поддерживаются.
И еще смотрел ваши интересные решения с IAXmodem, T38modem.
А не хотите ли попробовать использовать ser2net для трансляции COM портов? Ser2net есть и для Linux и для Windows. И все в свободные. С помощью него кассовое оборудование транслируют с терминальной станции на терминальный сервер с 1С.
| Venberg писал(а): |
| Отправляю из города Ventafax -> Courier V.Everything V.90 X2. Линия довольно плохая для речевого разговора. Передача идет на 9600. Передаю 3-4 страницы. Проходит на ура в режиме FINE. Пока правда ни 14400, ни ECM я ни разу не увидел. FAX CLASS 1,2,2.0 модемом поддерживаются.. |
1)проверьте в венте максимальные скорость и галочки есм для передачи/приема
2)у вас факс идет голосом или по T38? Если голосом, то receivefax больше 9600 не даст. Ищите где править, я не искал. Для голоса коррекция ошибок вообще говоря желательна. Для T38 коррекция иногда поддерживается (не для всех приборов), но вообще говоря вредна и бесполезна. и часто приводит к ошибкам.
3) да не используйте вы этот fine. Видимого выигрыша не особо, а по времени в 2 раза дольше идет, изучите вот материал:
| Дима77 писал(а): |
| bazil писал(а): |
| полученный tif выглядит неверно, растягивается(длинная сторона листа становится короткой и наооборот). Если этот же тиф отправить обратно на факс, то он принимается правильно т..е все пропорции возвращаются. Tif, сгереренный какой-то софтиной сканера на венде, отправить не удалось. Может кто в курсе какие тут тонкости? Какой именно формат этого тиф файла? |
WIN:
Правильная софтина называется Microsoft Shared Fax Driver. Вы должны установить службу Microsoft Fax, у вас в системе появится одноименный принтер Fax. Руками вам наверно придется вылавливать этот тиф из tmp-директории, т.к. опция печать в файл не сработает, я печатаю своей программой на VB из Kodak Imaging
| Код: |
| Form1.ImgEdit1.PrintImage 1, Form1.ImgEdit1.PageCount, OutputFormat, False, "Fax", , RezFile где RezFile -имя файла на выходе |
Установив и поковырявшись со свойствами этого принтера вы обнаружите, что он умеет делать картинки 2-х типов:
1)200х100 точек/дюйм Normal
2)200х200 точек/дюйм Fine
Вы посылаете Normal, поэтому в линуксе вы видите картинку сжатую по вертикали в 2 раза, если будете смотреть на этот файл в win, то отобразится корректно.Normal в большинстве случаев посылать правильно, т.к. разница на глаз не очень заметна, а выигрыш по времени в 2 раза.
Файлы сгенерированные Microsoft Fax пригодны для непосредственного использования в Asterisk.
LINUX:
Советую изучить скрипт email2fax
http://wpkg.org/email2fax/index.php/Main_Page, установив при этом все пакеты, которые требуются для корректной работы этого скрипта(что касается конвертаций файлов).
Обратите внимание на этот код, там содержатся команды, которые сделают вам нужного формата файл факса:
| Код: |
| fax_is_pdf() { # Extract PDF attachment ATTNAME=`munpack -C "$DATADIR" "$EMAILFILE" | cut -f1 -d " "` # Convert PDF attachment to TIFF in a right format # Send an explanation if conversion wasn't successful cat $DATADIR/$ATTNAME | gs -q -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x98 -dNOPAUSE -sOutputFile=$DATADIR/$ATTNAME.tif - >>$LOGFILE [ $? -ne 0 ] && send_msg 1 && exit 1 } fax_is_tiff() { # Extract TIFF attachment ATTNAME=`munpack -C "$DATADIR" "$EMAILFILE" | cut -f1 -d " "` # Convert TIFF attachment to PS, and then to TIFF in a right format # send an explanation if conversion wasn't successful tiff2ps -a $DATADIR/$ATTNAME -O $DATADIR/$ATTNAME.ps >>$LOGFILE [ $? -ne 0 ] && send_msg 1 && exit 1 cat $DATADIR/$ATTNAME.ps | gs -q -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x98 -dNOPAUSE -sOutputFile=$DATADIR/$ATTNAME.tif - >>$LOGFILE [ $? -ne 0 ] && send_msg 1 && exit 1 } |
tiffg3-это то что вам надо r204х98 -Normal, если напишите r204х196, то будет вам Fine
Дальше:
| Venberg писал(а): |
| И еще смотрел ваши интересные решения с IAXmodem, T38modem. А не хотите ли попробовать использовать ser2net для трансляции COM портов? Ser2net есть и для Linux и для Windows. И все в свободные. С помощью него кассовое оборудование транслируют с терминальной станции на терминальный сервер с 1С. |
Я конечно взгляну, но здесь есть свои тонкости, передача факса несколько сложнее, чем кассовый аппарат.
1)С IAXmodem нормально работает только ->Sredird->Dialout\ez->FAX, собственно Sredird писался при участии разработчиков Dialout.
Другой вариант IAX...->Sredird->com2tcp->com0com->FAX рабочий, но ужасно глючный, факс мажет и как правило вылетает с ошибкой.
2) Для T38modem я бы предложил 2 схемы:
1. Asterisk(LINUX)->T38modem(LINUX)->Sredird->Dialout\ez->FAX
2. Asterisk(LINUX)->T38modem(WINDOWS)->com0com->FAX
Причем в п.2 com0com работает на удивление хорошо, опять же неудивительно,т.к. это тоже разработка Вячеслава Фролова и конкретно для этого случая писалась. Я не пробовал схему T38modem(LINUX)->Sredird->com2tcp->com0com, 50/50 что будет хорошо или плохо.
Кроме Dialout\ez и com0com я опробовал много "пионерского" софта, в т.ч. и платного, в лучшем случае факсы "пытались договориться о скорости передачи", и вы знаете, что удивительно, им это даже не удавалось.
--------
я разобрался, ser2net это то же самое что sredird, причем я так понял он для линукс.
...а транслировать com-порты из win в линукс нам не надо...
(ну если на то пошло http://www.tacticalsoftware.com/products/tacserve.htm ) чем не устраивает?
и вообще если честно я наловчился использовать линукс как очень полезный service для WIN, да простят меня за эти слова
http://www.voipinfo.ru/forum/viewtopic.php?t=11219
Сутки автономного полета.
Автоматический прием факсов через E1 нареканий не вызывает. Многостраничные и международные факсы проходят.
Правда не знаю как посмотреть скорость соединения при передаче факсов. Скорость факса можно в лог кидать?
А с T38 пока все не удачно. Немогу настроить SPA2102 на работу по T38.
Найти бы хоть примеры для него.
Автоматический прием факсов через E1 нареканий не вызывает. Многостраничные и международные факсы проходят.
Правда не знаю как посмотреть скорость соединения при передаче факсов. Скорость факса можно в лог кидать?
А с T38 пока все не удачно. Немогу настроить SPA2102 на работу по T38.
Найти бы хоть примеры для него.
Может кто сталкивался с похожим траблом. Есть рабочий сервак, asterisk 1.4.21.2 который подключен к одному провайдеру по сипу. Звонки ходят нормально, но когда дозваниваюсь на факс вылазит вот такое:
WARNING[11237]: chan_sip.c:5154 process_sdp: Insufficient information for SDP (m = 'image 0 udptl t38', c = '')
не могу понять,чего ему не хватает и как исправть.
WARNING[11237]: chan_sip.c:5154 process_sdp: Insufficient information for SDP (m = 'image 0 udptl t38', c = '')
не могу понять,чего ему не хватает и как исправть.
У меня на филиалах стоят SPA2102 на данный момент они работают на G729a. Качество разговора вполне приличное. Иногда с московским филиалом появляется эхо и "булькание", но это из-за проблем канала интернет в Москве.
Все другие кодеки для SPA2102 отключены и на SPA2102 и на asterisk. Как запустить T38 для SPA2102 пока не совсем понимаю.
Надо включать G711a для passthru. И разрешать REINVITE. Тогда надо разрешать G711a и на стороне Asterisk.
Или я что-то недопонимаю.
Связь голосовая должна быть на G729a, а факс хотелось бы передавать по T38. Или это не возможно? И надо переходить на G711a
Все другие кодеки для SPA2102 отключены и на SPA2102 и на asterisk. Как запустить T38 для SPA2102 пока не совсем понимаю.
Надо включать G711a для passthru. И разрешать REINVITE. Тогда надо разрешать G711a и на стороне Asterisk.
Или я что-то недопонимаю.
Связь голосовая должна быть на G729a, а факс хотелось бы передавать по T38. Или это не возможно? И надо переходить на G711a
| Venberg писал(а): |
| Правда не знаю как посмотреть скорость соединения при передаче факсов. Скорость факса можно в лог кидать? |
Примерно так,мог допустить мелкие неточности, т.к. первоисточник на сайте callweaver, оттуда и переделано:
| Код: |
| [faxout] exten => s,1,Set(LOCALSTATIONID=Asterisk FAX) exten => s,n,Set(LOCALHEADERINFO=Asterisk FAX termination) exten => s,n,Set(FAXFILE=/var/spool/asterisk/fax/test-1.tif) exten => s,n,Answer() exten => s,n,NoOp(NUMBER:${NUMBER}) exten => s,n,NoOp(Fax Testing*****) ;exten => s,n,Dial(SIP/${NUMBER}) exten => s,n,SendFax(${FAXFILE}) exten => s,n,Hangup() exten => h,1,NoOp(TX: FAXSTATUS is ${FAXSTATUS}) exten => h,n,NoOp(TX: FAXERROR is ${FAXERROR}) exten => h,n,NoOp(TX: REMOTESTATIONID is ${REMOTESTATIONID}) exten => h,n,NoOp(TX: FAXPAGES is ${FAXPAGES}) exten => h,n,NoOp(TX: FAXBITRATE is ${FAXBITRATE}) exten => h,n,NoOp(TX: FAXRESOLUTION is ${FAXRESOLUTION}) [faxin] exten => s,1,Set(LOCALSTATIONID=Navynet.it FAX) exten => s,n,Set(LOCALHEADERINFO=Navynet SRL is a solution provider for business) exten => s,n,Set(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID}.tif) exten => s,n,ReceiveFax(${FAXFILE}) exten => s,n,Hangup() exten => h,1,NoOp(TX: FAXSTATUS is ${FAXSTATUS}) exten => h,n,NoOp(TX: FAXERROR is ${FAXERROR}) exten => h,n,NoOp(TX: REMOTESTATIONID is ${REMOTESTATIONID}) exten => h,n,NoOp(TX: FAXPAGES is ${FAXPAGES}) exten => h,n,NoOp(TX: FAXBITRATE is ${FAXBITRATE}) exten => h,n,NoOp(TX: FAXRESOLUTION is ${FAXRESOLUTION}) |
Насчет вывода в лог, я этот вопрос поднимал, отлистайте эту ветку на несколько страниц назад, люди давали грамотные советы.
| Venberg писал(а): |
| А с T38 пока все не удачно. |
Ну если голосом все работает и качественно, то зачем вам T38? Ради академического интереса?
...если канал позволяет, то g711 чем не устраивает?
| Alexandr писал(а): |
| WARNING[11237]: chan_sip.c:5154 process_sdp: Insufficient information for SDP (m = 'image 0 udptl t38', c = ''). |
Видел такое, знаю что плохо и факс кажется при этом не проходит. Почему не выяснял.
| Дима77 писал(а): |
| ... |
| Код: |
| [faxin] exten => s,1,Set(LOCALSTATIONID=Navynet.it FAX) exten => s,n,Set(LOCALHEADERINFO=Navynet SRL is a solution provider for business) exten => s,n,Set(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID}.tif) exten => s,n,ReceiveFax(${FAXFILE}) exten => s,n,Hangup() exten => h,1,NoOp(TX: FAXSTATUS is ${FAXSTATUS}) exten => h,n,NoOp(TX: FAXERROR is ${FAXERROR}) exten => h,n,NoOp(TX: REMOTESTATIONID is ${REMOTESTATIONID}) exten => h,n,NoOp(TX: FAXPAGES is ${FAXPAGES}) exten => h,n,NoOp(TX: FAXBITRATE is ${FAXBITRATE}) exten => h,n,NoOp(TX: FAXRESOLUTION is ${FAXRESOLUTION}) |
А разве после ReceiveFax не exten => h,1,.... начинает выполняться?
rx-fax точно так работал. Пришлось городить сложную обработку h,1 с флагами для распихивания факсов с разных линий по разным папкам отделов на файловом сервере.
| Дима77 писал(а): |
| Ну если голосом все работает и качественно, то зачем вам T38? Ради академического интереса? ...если канал позволяет, то g711 чем не устраивает? |
Ценой стоимости трафика через канал интернет. G729a дает приемлемый расход трафика, а c G711a уже перебор по цене.
У меня все филиалы повязаны по VPN с центральным офисом. Абонентская плата в каждом офисе включает 1Gb трафика. Большая часть уходит на терминальные соединения рабочих мест с центральным офисом. При G729a добавляется небольшой дополнительный расход трафика, зачастую сумарно вписывающийся в пред оплаченный 1Гб. А с G711a расход трафика почти удваивается.
| Venberg писал(а): |
| А разве после ReceiveFax не exten => h,1,.... начинает выполняться? rx-fax точно так работал. |
Я вам честно сказал что этот код содран с rxfax-callweaver, я его чуть переделал, на экран он по крайней мере какую-то информацию выдает.
Сильно вникать чего там писать в контексте и как это выводить в лог я не стал, т.к. та статистика, что выводилась на экран (особенно когда не OK), мне не понравилась. Меня правда больше интересовала исходящая статистика. И тесты, что я проводил с AP200B навели меня на мысль что выводимая статистика сильно глючная, т.е. напр. факс прошел OK, а эта хрень пишет какую-то глупую ошибку. Отлистайте эту ветку форума, поймете о чем я.А уж если факс прошел не до конца(но прошел с большой вероятностью), то вообще беда. Вы представьте ситуацию, что вы посылаете кому-то факс, он проходит, но без подтверждения(может целиком, может 3/4, может 1/2)а ваш тупой сервер просто считает что не прошел, а у него 10 попыток поставлено, и 10 раз подряд досылает эти 3/4 страницы. Реакцию на отмотанный рулон "туалетной бумаги" на той стороне представили? Эту ошибку корректно умеет отрабатывать только VentaFax (Er20:Ошибка разъединения)-а уж вам решать чего с этой ошибкой делать.
Если вас интересуют в основном входящие звонки и при этом T38, можете смело смотреть в сторону T38modem, ибо на входящих с ним вообще проблем нет, даже через астериск. Все проблемы, кот. надеюсь решатся в ближайшее время, связаны с исходящими звонками с модема, в силу нек. недоработанности астериск в плане T38, и в силу нек. особенностей самого модема, как-то t38 в первом инвайт + неумение работать с паролем, что в общем-то завязывает его на астериск, ибо только астериск умеет принимать звонки от клиента, кот. не умеет сообщить пароль,да еще и не умеет регистрироваться, и именно у астериска проблемы с исходящим T38 от модема.
А факс-статистику вы уже будете тогда вынимать не из астериска, а из своей обычной факс-программы(сервера). Я напр. из венты научился извлекать из логов все что мне нужно лет 8 тому назад, задолго до появления всего того о чем здесь говорится.
P.S. Единственно, я пока не разбирался, как модем относится к кодекам отличным от G711, но мне кажется вопрос решаемый, надо смотреть какие кодеки поддерживает OPAL, и как это взаимодействует с модемом и с астериском.
Мне надо по такой схеме факс отправить E1 -> asterisk -> G729a/T38 -> SPA2102 -> железный факс бухгалтера.
И с этим я пока не знаю как разобраться. Точнее у меня нет правильных настроек SPA2102 для работы G729a/T38
Added after 26 minutes:
Господа!
Может быть я туплю... Но моя схема вообще имеет право на жизнь?
FAX -> E1/G711 -> asterisk -> G729a/T38 -> SPA2102 -> FAX
Разве теперь asterisk умеет конвертировать факс G711 в T38?
Added after 47 minutes:
Нашел очень интересную ссылку по моим изысканиям.http://bugs.digium.com/view.php?id=12931
И с этим я пока не знаю как разобраться. Точнее у меня нет правильных настроек SPA2102 для работы G729a/T38
Added after 26 minutes:
Господа!
Может быть я туплю... Но моя схема вообще имеет право на жизнь?
FAX -> E1/G711 -> asterisk -> G729a/T38 -> SPA2102 -> FAX
Разве теперь asterisk умеет конвертировать факс G711 в T38?
Added after 47 minutes:
Нашел очень интересную ссылку по моим изысканиям.http://bugs.digium.com/view.php?id=12931
Venberg , посмотрите здесь по поводу настройки SPA2102
http://asteriskforum.ru/viewtopic.php?p=17214#17214
такая имеет право на жизнь только с APP FAXGATEWAY
http://asteriskforum.ru/viewtopic.php?p=17214#17214
| Цитата: |
| моя схема вообще имеет право на жизнь? FAX -> E1/G711 -> asterisk -> G729a/T38 -> SPA2102 -> FAX |
такая имеет право на жизнь только с APP FAXGATEWAY
А не в курсе что это вот такое?
Последним временем очень часто валиться в консоль. Проблем вроде не создает (по крайней мере никто пока не жаловался), но раньше такого небыло.
Сервер:
Ксеон 4 ядра
Федора 9 64бит
* 1.4.21.2
Spandsp 5 + патч для т38
| Код: |
| [Sep 25 15:31:11] WARNING[27268]: udptl.c:807 ast_udptl_new_with_bindaddr: No UDPTL ports remaining |
Последним временем очень часто валиться в консоль. Проблем вроде не создает (по крайней мере никто пока не жаловался), но раньше такого небыло.
Сервер:
Ксеон 4 ядра
Федора 9 64бит
* 1.4.21.2
Spandsp 5 + патч для т38
| c0rnoTa писал(а): |
| Venberg , посмотрите здесь по поводу настройки SPA2102 http://asteriskforum.ru/viewtopic.php?p=17214#17214 |
| Цитата: |
| моя схема вообще имеет право на жизнь? FAX -> E1/G711 -> asterisk -> G729a/T38 -> SPA2102 -> FAX |
такая имеет право на жизнь только с APP FAXGATEWAY
Ваша ссылка для G711. А я именно от G711 и хочу уйти. У нас цены на интернет в торговых центрах пока безбашенные.
APP FAXGATEWAY я пока не слышал и не видел. А существует ли?
Всем привет! Вышла новая версия * 1.6 у которой в стандартной поставке присутствует app_fax. В связи с чем возник вопрос: пробовал ли кто уже? Каковы впечатления?
Я в понедельник себе поставил на Debian lenny. Библиотеки использовал spandsp5 (с внесением изменений в t30.c, которые упоминались выше в ветке). Попробовал, вроде всё работает, факсы принимаются. Также производится вывод в консоль сообщений о количестве попыток приёма как раньше. Единственное, что хотелось бы в текущий момент (да собсно и раньше), это то, чтобы после приёма факса в файлик производился возврат к разговору. Ну например, чтобы реализовать оповещение человека, отправившего факс, о том, что факс принят и т.д. А так производится hangup.... Ну а далее известные всем конструкции с екстеншеном h и дальнейшей вознёй.
Я в понедельник себе поставил на Debian lenny. Библиотеки использовал spandsp5 (с внесением изменений в t30.c, которые упоминались выше в ветке). Попробовал, вроде всё работает, факсы принимаются. Также производится вывод в консоль сообщений о количестве попыток приёма как раньше. Единственное, что хотелось бы в текущий момент (да собсно и раньше), это то, чтобы после приёма факса в файлик производился возврат к разговору. Ну например, чтобы реализовать оповещение человека, отправившего факс, о том, что факс принят и т.д. А так производится hangup.... Ну а далее известные всем конструкции с екстеншеном h и дальнейшей вознёй.
ты пробовал факс по Т.38 ?
noize
Вот я передавал факс с Samsung OfficeServ500 на * и вот что появилось у меня в файлике лога:
Все значения в этом сообщении система берёт из переменных приложения app_fax. Вот кусок рингплана, который это делает:
Как видно в переменной ${FAXMODE} формируется Т38.
Такое же происходит, если слать факс из софтфона Zoiper. Если например я брошу трубку, задержу лист на факсе, то в переменной будет уже audio. Ну и факс принят не будет....

Вот я передавал факс с Samsung OfficeServ500 на * и вот что появилось у меня в файлике лога:
| Код: |
| FAX_2008-08-20_15-53-10_208.tif with size 19096 and 1 pages from 208 was received on server Asterisk. Fax resolution is 3850. Fax bitrate is 9600. Fax status is SUCCESS. Error is ! Fax mode is T38. |
Все значения в этом сообщении система берёт из переменных приложения app_fax. Вот кусок рингплана, который это делает:
| Код: |
| ... exten => s,4,System(/bin/echo "FAX ${FAXFILE} with size ${Fax_exist} and ${FAXPAGES} pages from ${From} was received on server Asterisk. Fax resolution is ${FAXRESOLUTION}. Fax bitrate is ${FAXBITRATE}. Fax status is ${FAXSTATUS}. Error is ${FAXERROR}! Fax mode is ${FAXMODE}." >> /home/log/asterisk/fax_receive_ok.log) ... |
Как видно в переменной ${FAXMODE} формируется Т38.
Такое же происходит, если слать факс из софтфона Zoiper. Если например я брошу трубку, задержу лист на факсе, то в переменной будет уже audio. Ну и факс принят не будет....
а самсунг как к астеру цепляется?
По SIP, через офисную сетку. У станции стоит VOIP MGI3 карта с 8 SIP линиями, у астериска две сетевые карточки. Одна смотрит во внутреннюю сеть, другая во внешний мир (для VOIP операторов). Вот и вся связь. 
Кто-нибудь пользовался T38 Gateway?
http://bugs.digium.com/view.php?id=13405
irroot говорит, что работает на портированном 1.4.22.
http://bugs.digium.com/view.php?id=13405
irroot говорит, что работает на портированном 1.4.22.
пробовал патч asterisk-1.4.21.1-app_fax-support-t38.patch на 1.4.22 -)
от количества HANK FAILED был в шоке. chan_sip поправить смог, а вот configure не осилил
от количества HANK FAILED был в шоке. chan_sip поправить смог, а вот configure не осилил

c0rnoTa
Тоже патчил 1.4.22, и ничего не вышло. Как раз в тот момент приняли решение перелезть на версию 1.6, благо там app_fax уже обитает в исходниках. Кстати и работает вроде нормально. Сильной нагрузки не давал, но 2-3 одновременных факса с офисных телефонов на станции Samsung OfficeServ500 проходили. Сейчас с одмином прикручиваем web-интерфейс, в котором будет вестись учёт принятых факсов. Получение факсов по мылу, как и конвертация в pdf не устроили руководство. Да сосбно в нашей ситуации работать с tiff гораздо удобнее. Так что будет что-то самописное, заточеное под нас. Готового что-то не находил в инете.
Сейчас выясняю особенности работы sip voip карты в общем и с астериском в частности. Есть большое желание сделать прохождение факсов наиболее вероятным и беспроблемным во внутренней сети, а насчёт внешки уже буду долбаться потом. Потому как увы всё не так хорошо...
Тоже патчил 1.4.22, и ничего не вышло. Как раз в тот момент приняли решение перелезть на версию 1.6, благо там app_fax уже обитает в исходниках. Кстати и работает вроде нормально. Сильной нагрузки не давал, но 2-3 одновременных факса с офисных телефонов на станции Samsung OfficeServ500 проходили. Сейчас с одмином прикручиваем web-интерфейс, в котором будет вестись учёт принятых факсов. Получение факсов по мылу, как и конвертация в pdf не устроили руководство. Да сосбно в нашей ситуации работать с tiff гораздо удобнее. Так что будет что-то самописное, заточеное под нас. Готового что-то не находил в инете.
Сейчас выясняю особенности работы sip voip карты в общем и с астериском в частности. Есть большое желание сделать прохождение факсов наиболее вероятным и беспроблемным во внутренней сети, а насчёт внешки уже буду долбаться потом. Потому как увы всё не так хорошо...
| Obi Van писал(а): |
| Есть большое желание сделать прохождение факсов наиболее вероятным и беспроблемным во внутренней сети, |
Кто поможес с пачем fax_app для 1.4.22 и для 1.6
Кто поможес с пачем fax_app для 1.4.22 и для 1.6
еще вопрос будут ли факсы ходить по G729 если есть решение дайте совет
еще вопрос будут ли факсы ходить по G729 если есть решение дайте совет
Зачем тебе факсы по 729 кодеку. Модулированный сигнал после кодирования раскодирования в G729 едва-ли хоть один факс поймет, он после этих манипуляций превращается в что-то похожее на белый шум, информационную составляющую разобрать невозможно. Если по SIP-у тока факсы шлешь, то чем не устраивает t38 pass-thru ?
alexpn
Для астериска 1.6 патч не нужен, т.к приложение app_fax присутствует в стандартной поставке. Непременным условием для сборки является присутствие в системе установленного spandsp. При выборе компонентов через make menuselect, приложение app_fax показывает свою зависимость от spandsp.
Кодеки со сжатием как например g729 не позволят передать факс. Увы. Годится либо g711, или как упомянул ZloMurz посредством Т38.
Для астериска 1.6 патч не нужен, т.к приложение app_fax присутствует в стандартной поставке. Непременным условием для сборки является присутствие в системе установленного spandsp. При выборе компонентов через make menuselect, приложение app_fax показывает свою зависимость от spandsp.
Кодеки со сжатием как например g729 не позволят передать факс. Увы. Годится либо g711, или как упомянул ZloMurz посредством Т38.
а у меня вот такой вопрос. По идее, если в make menuselect присутствует app_fax, то после сборки, в системе должен появиться app_faxrecieve или что то типа того. Но у меня он не появился 
В системе должен появится app_fax а не _faxreceive.
А приложения, которые предоставляет app_fax.so - это ReceiveFax и SendFax
А приложения, которые предоставляет app_fax.so - это ReceiveFax и SendFax
noize
ReceiveFax, как и SendFax это компоненты app_fax. Можно даже заглянуть в исходники app_fax.c чтобы в этом убедиться.
ReceiveFax, как и SendFax это компоненты app_fax. Можно даже заглянуть в исходники app_fax.c чтобы в этом убедиться.
core show applications показывает, что аппликейшена fax в системе нет, хотя при сборке он точно был.
Application называется RecivieFax/SendFax, а не fax
видимо, я какой то не тот патч наложил. Ничего подобного в системе нет. Хотя app.fax.* в исходниках астериска присутствует. Скажите, с какой версией spandsp нужно астериски собирать? У меня стоит spandsp-0.0.5pre4
разные версии надо собирать с разным spandsp.
Давай определимся - какой Астериск? Из того что нужно накладывать патч, я так понимаю что 1.4, правильно? И патч взять из этого топика. да?
И что говорит make menuselect если заглянуть в Applications - есть там app_fax? как он отмечен, звездочкой или XXX ?
Давай определимся - какой Астериск? Из того что нужно накладывать патч, я так понимаю что 1.4, правильно? И патч взять из этого топика. да?
И что говорит make menuselect если заглянуть в Applications - есть там app_fax? как он отмечен, звездочкой или XXX ?
asterisk-1.4.21.1
asterisk-1.4.21.1-app_fax-support-t38.patch
spandsp-0.0.5pre4.tgz
OS - Debian 4.0
app_fax звёздочкой
Added after 18 minutes:
сейчас попробовал на Centos-5.2, те же яйца
asterisk-1.4.21.1-app_fax-support-t38.patch
spandsp-0.0.5pre4.tgz
OS - Debian 4.0
app_fax звёздочкой
Added after 18 minutes:
сейчас попробовал на Centos-5.2, те же яйца
noize
Какая версия астериска ставится начни с этого? В версии 1.6 app_fax присутствует в исходниках и как говорил выше ничего патчить там не надо! Spandsp у меня стоит версии 0.0.5pre4. Последовательность установки такая:
1) Система + все библиотеки;
2) DAHDI (Zaptel);
3)spandsp
4)Asterisk;
4)Asterisk addons;
Какая версия астериска ставится начни с этого? В версии 1.6 app_fax присутствует в исходниках и как говорил выше ничего патчить там не надо! Spandsp у меня стоит версии 0.0.5pre4. Последовательность установки такая:
1) Система + все библиотеки;
2) DAHDI (Zaptel);
3)spandsp
4)Asterisk;
4)Asterisk addons;
Obi Van, выше написал. Ставил все библиотеки, что рекомендованы на voip-info.org, плюс пакеты для spandsp(libtiff, etc.)
Ставилось всё из репозиториев системы(кроме spandsp и всего сопутствующего астериску). Я просто подозреваю, что где то что то пропустил, может какой то пакет не доставил, или не той версии. Но вроде как всё, что было рекомендовано в этой теме, установлено.
Ставилось всё из репозиториев системы(кроме spandsp и всего сопутствующего астериску). Я просто подозреваю, что где то что то пропустил, может какой то пакет не доставил, или не той версии. Но вроде как всё, что было рекомендовано в этой теме, установлено.
1. надо проверить что app_fax.so присутствует в каталоге куда модули ставятся
2. рестартануть астериск и заглянуть в лог, поискать там app_fax
3. посмотреть на что ругается. С какой-то вероятностью на то что file not found - то есть оно не может зацепить либу spandsp. Тогда надо в ldconfig прописать путь к ней...
2. рестартануть астериск и заглянуть в лог, поискать там app_fax
3. посмотреть на что ругается. С какой-то вероятностью на то что file not found - то есть оно не может зацепить либу spandsp. Тогда надо в ldconfig прописать путь к ней...
черт возьми, действительно косяк мой. Проверил app_fax на зависимость библиотек, библиотеки spandsp не хватало в /lib . Спасибо за помощь
Добрый вечер. Прошу прощения, возможно мой вопрос покажется вам крайне глупым, но все же...
Имеем следующую ситуацию:
Факс Panasonic -> Dynamix ATA-S1 -> Asterisk -> sipnet -> pstn -> факс
Конфигурация Asterisk-сервера:
CentOS
Asterisk 1.4.21.1(с наложенным патчем взятым из этой темы)
Asterisk-addons 1.4.7
spandsp-0.0.5pre4
На voip-шлюзе в настройках установлена поддержка Т.38.
При попытке передачи факса, тот не хочет идти по Т.38.
при поиске в логах обнаружил такую строчку:
DEBUG[2757] chan_sip.c: Peer doesn't provide T.38 UDPTL
Не подскажите в чем может быть дело?
Имеем следующую ситуацию:
Факс Panasonic -> Dynamix ATA-S1 -> Asterisk -> sipnet -> pstn -> факс
Конфигурация Asterisk-сервера:
CentOS
Asterisk 1.4.21.1(с наложенным патчем взятым из этой темы)
Asterisk-addons 1.4.7
spandsp-0.0.5pre4
На voip-шлюзе в настройках установлена поддержка Т.38.
При попытке передачи факса, тот не хочет идти по Т.38.
при поиске в логах обнаружил такую строчку:
DEBUG[2757] chan_sip.c: Peer doesn't provide T.38 UDPTL
Не подскажите в чем может быть дело?
Ну ясное дело, что "Dynamix ATA-S1". И докозательство этому "Peer doesn't provide T.38 UDPTL".
И вобще, динамиксы далеко не хорошие железки.
И вобще, динамиксы далеко не хорошие железки.
спасибо большое за ответ. еще такой вопрос: насколько удачно у вас проходят факсы через сипнет на тфоп?
решил не заморачиваться, поставил астер 1.6 и у меня вообще ни один факс не прошел. в 1.4.21 хоть по 711 кодеку проходили(хотя и не все, поэтому и пытался настроить Т.3
.
решил не заморачиваться, поставил астер 1.6 и у меня вообще ни один факс не прошел. в 1.4.21 хоть по 711 кодеку проходили(хотя и не все, поэтому и пытался настроить Т.3
H323
Добрый день! К сожалению не успел прочитать всю тему. (да и поиск не очень работает)
меня интересует возможность передачи факса (естественно по T38) с канала h.323 на SIP или ZAP. Девайсы SIP могут реинвайтить на T38 за H323 стоит долбанная Avaya с более кривой реализацией h323 чем в астере....
П.С. Да забыл добавить пока версия 1.2 на ZAP свой драйвер под другую сигнализацию..
меня интересует возможность передачи факса (естественно по T38) с канала h.323 на SIP или ZAP. Девайсы SIP могут реинвайтить на T38 за H323 стоит долбанная Avaya с более кривой реализацией h323 чем в астере....
П.С. Да забыл добавить пока версия 1.2 на ZAP свой драйвер под другую сигнализацию..
В версии 1.2 можно вобще забыть про T.38.
| ToxaP писал(а): |
| В версии 1.2 можно вобще забыть про T.38. |
Хорошо пусть будет 1.4 или даже 1.6. Не думаю что h.323 там реализован лучше (похоже на него забили совсем). Забыл еще спросить в 1.4 есть аналог h323 T120 для модемов..
T.38 в астериске поддерживается и работоспособна только в SIP. И точка.
Всем привет . Aster 1.4.21.1, asterisk-1.4.21.1-app_fax-support-t38.patch, asterisk-addons-1.4.6+asterisk-addons-1.4.6-app_fax-t38.patch, звездочка напротив app_fax
Выдает ошибку
уже пересобирал всё несколько раз
Выдает ошибку
| Код: |
| [CC] app_fax.c -> app_fax.o app_fax.c:112: ошибка: поле 't38state' имеет неполный тип app_fax.c: В функции 'transmit_audio' app_fax.c:368: ошибка: 'T38_UNAVAILABLE' undeclared (first use in this function) app_fax.c:368: ошибка: (Each undeclared identifier is reported only once app_fax.c:368: ошибка: for each function it appears in.) app_fax.c: В функции 'transmit' app_fax.c:597: ошибка: storage size of 't38state' isn't known app_fax.c:620: ошибка: 'T38_NEGOTIATED' undeclared (first use in this function) make[1]: *** [app_fax.o] Ошибка 1 make: *** [apps] Ошибка 2 |
уже пересобирал всё несколько раз
А spandsp какой?
Нужен 0.0.5pre4
Нужен 0.0.5pre4
да, spandsp 0.0.5pre4
выглядит так будто астериск не пропатчен.
и наверняка его после патча make install заново надо...
и наверняка его после патча make install заново надо...
астериск пропатчен, при установке стоит * напротив app_fax, далее ставлю aster_addons_1.4.6, предварительно наложив патч t.38 (также * напротив app_fax), и вот тут появляется эта ошибка... без аддона пробовал звонить с консоли на 333:
WARNING[8974]: app_fax.c:170 phase_e_handler: Error transmitting fax. result=48: Disconnected after permitted retries.
WARNING[8974]: app_fax.c:615 transmit: Transmission failed
А если с телефона - то сигнала факса не слышно, тишина.
[defaults]
exten = 333,1,Goto(fax,1)
[fax]
exten = fax,1,Answer
exten = fax,2,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}.tiff)
exten = fax,3,ReceiveFAX(${FAXFILE})
exten = fax,4,Hangup
WARNING[8974]: app_fax.c:170 phase_e_handler: Error transmitting fax. result=48: Disconnected after permitted retries.
WARNING[8974]: app_fax.c:615 transmit: Transmission failed
А если с телефона - то сигнала факса не слышно, тишина.
[defaults]
exten = 333,1,Goto(fax,1)
[fax]
exten = fax,1,Answer
exten = fax,2,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}.tiff)
exten = fax,3,ReceiveFAX(${FAXFILE})
exten = fax,4,Hangup
я теряю нить.
Разве патч Cache не добавляет app_fax в сам астериск? Зачем аддонсы тогда?
Если позвонить на ReceiveFax обычным телефоном, должно пищать.
Вы небось SIP-фоном звоните? У вас internal timing включен или выключен?
Added after 5 minutes:
Для очистки совести поставьте перед ReceiveFax что-нибудь типа Playback и позвоните.
Слышно ли то что playback играет? что происходит потом когда receivefax стартует?
Разве патч Cache не добавляет app_fax в сам астериск? Зачем аддонсы тогда?
Если позвонить на ReceiveFax обычным телефоном, должно пищать.
Вы небось SIP-фоном звоните? У вас internal timing включен или выключен?
Added after 5 minutes:
Для очистки совести поставьте перед ReceiveFax что-нибудь типа Playback и позвоните.
Слышно ли то что playback играет? что происходит потом когда receivefax стартует?
а ни кто не может выложить патчик для faxgateway для текущих версий астериска, а то что-то не спешат его добавлять, а так не хватает этой чудной возможности!
2dimas: всё заработало, собрал всё с нуля, и аддонсы действительно не нужны, зациклился на них)
http://bugs.digium.com/view.php?id=13405#c96233
ктонить уже пробовал?
ктонить уже пробовал?
да пробывал пока сыровато
из 100 всего 20 прошло факсов
думаю допилять
из 100 всего 20 прошло факсов
думаю допилять
А есть у когонибудь патч для 1.4.22 версии ?
отцы, в другом разделе уже задавал вопрос, но оказалось, что тут прямое отношение к app_fax..
Ситуация: 1.4.21.2 + app_fax + spandsp-0.0.5pre4. Прием факсов с помощью ReceiveFAX.
В FXS-шлюзе 2 факс-аппарата: HPшное МФУ и Panasonic'овский kx-ft72. Факсы гоняю по 711му кодеку. с HP'шного прием факсов 100%, с панасоника не работает. Методом экспериментов стало ясно, что проблема во взаимодействии app_fax и панасоника. С панасоника на HP факсы ходят.
Астериск выдает такую ошибку:
[Dec 19 18:59:06] WARNING[22888]: channel.c:2414 ast_indicate_data: Unable to handle indication 19 for 'SIP/104-0824ba10'
На всякий случай дебаг app_fax'а при попытке принять факс с панасоника: http://paste.org.ru/?4bbqb0
Ситуация: 1.4.21.2 + app_fax + spandsp-0.0.5pre4. Прием факсов с помощью ReceiveFAX.
В FXS-шлюзе 2 факс-аппарата: HPшное МФУ и Panasonic'овский kx-ft72. Факсы гоняю по 711му кодеку. с HP'шного прием факсов 100%, с панасоника не работает. Методом экспериментов стало ясно, что проблема во взаимодействии app_fax и панасоника. С панасоника на HP факсы ходят.
Астериск выдает такую ошибку:
[Dec 19 18:59:06] WARNING[22888]: channel.c:2414 ast_indicate_data: Unable to handle indication 19 for 'SIP/104-0824ba10'
На всякий случай дебаг app_fax'а при попытке принять факс с панасоника: http://paste.org.ru/?4bbqb0
шлюз какой?
D-Link 5402SP
У меня похожая проблема как и у OrNix
при приеме факса пишет Unable to handle indication 19 for
indications взял самый последний который indications.conf. sample
проблема осталась
Может у кого есть какие мысли куда копать
при приеме факса пишет Unable to handle indication 19 for
indications взял самый последний который indications.conf. sample
проблема осталась
Может у кого есть какие мысли куда копать
ну Unable to handle indication это не проблема. Просто маленький баг в chan_sip.c
хотите убрать - отредактируйте chan_sip.c: найдите в районе строки 4058
код
и удалите res=-1 перед break.
Но хочу вас предупредить что это никак не поможет. Кроме как этот варнинг в лог этот res ничего не дает. Сам app_fax пезультат игнорирует.
хотите убрать - отредактируйте chan_sip.c: найдите в районе строки 4058
код
| Код: |
| default: /* Do nothing. Present here just to avoid compiler warnings about not handled enum values */ break; } } res = -1; break; |
и удалите res=-1 перед break.
Но хочу вас предупредить что это никак не поможет. Кроме как этот варнинг в лог этот res ничего не дает. Сам app_fax пезультат игнорирует.
други, на Asterisk-1.4.23-rc3 патч app_fax будет?
приветы. есть астер 1.4.21.1+asterisk-1.4.21.1-app_fax-support-t38.patch , есть 4fxo шлюз, который принимает звонки с города, на одной линии настроено так
- настройки шлюза:
T.38(FAX) support: Enabled
T.38(FAX) ECM: Enabled
FAX redundancy depth: 2
- sip.conf:
[1001]
context=from-pstn1
- extensions.conf:
[from-pstn1]
include=fax
exten=s,1,Answer()
exten=s,2,Goto(fax,1)
[fax]
exten = fax,1,Answer
exten = fax,2,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}.tiff)
exten = fax,3,ReceiveFAX(${FAXFILE})
exten = fax,4,System('mail -s ${FAXFILE} -c bla-bla-bla@bla.bla')
exten = fax,5,Hangup
Вот что валится в логи при попытке приёма:
[Jan 27 11:11:46] WARNING[11303] app_fax.c: Only generating 240 samples, where 320 requested
помогает только stop/start *, иначе эти сообщения валятся без конца
в чем может быть проблема?
- настройки шлюза:
T.38(FAX) support: Enabled
T.38(FAX) ECM: Enabled
FAX redundancy depth: 2
- sip.conf:
[1001]
context=from-pstn1
- extensions.conf:
[from-pstn1]
include=fax
exten=s,1,Answer()
exten=s,2,Goto(fax,1)
[fax]
exten = fax,1,Answer
exten = fax,2,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}.tiff)
exten = fax,3,ReceiveFAX(${FAXFILE})
exten = fax,4,System('mail -s ${FAXFILE} -c bla-bla-bla@bla.bla')
exten = fax,5,Hangup
Вот что валится в логи при попытке приёма:
[Jan 27 11:11:46] WARNING[11303] app_fax.c: Only generating 240 samples, where 320 requested
помогает только stop/start *, иначе эти сообщения валятся без конца
в чем может быть проблема?
Поделюсь своим опытом касательно саюжа под FreeBSD.
Путем многодневных мук и самобичеваний было найдено решение как заставить app_fax работать без косяков и падений астериска.
1. касательно spandsp - текущая версия порта 0.0.5p3, а потому пришлось немного поколдовать и сделать новый порт для spandsp-0.0.5p4 (см. прикрепленный файл):
2. патча для текущей версии порта астериска я не нашёл, поэтому взял порт от 7.0 релиза фряхи (asterisk-1.4.21.2).
3. на этот порт спокойно лег патч asterisk-1.4.21.1-app_fax-support-t38.patch (см. в предыдущих комментариях):
4. ну а дальше всё как обычно:
Путем многодневных мук и самобичеваний было найдено решение как заставить app_fax работать без косяков и падений астериска.
1. касательно spandsp - текущая версия порта 0.0.5p3, а потому пришлось немного поколдовать и сделать новый порт для spandsp-0.0.5p4 (см. прикрепленный файл):
| Код: |
| #cd / #tar -zxf .../spandsp-devel54.tgz #cd /usr/ports/comms/spandsp-devel54 #make install |
2. патча для текущей версии порта астериска я не нашёл, поэтому взял порт от 7.0 релиза фряхи (asterisk-1.4.21.2).
3. на этот порт спокойно лег патч asterisk-1.4.21.1-app_fax-support-t38.patch (см. в предыдущих комментариях):
| Код: |
| #cd /usr/ports/net/asterisk #make extract ... #cd work/asterisk-1.4.21.2/ #cp /tmp/asterisk-1.4.21.1-app_fax-support-t38.patch asterisk-1.4.21.1-app_fax-support-t38.patch #patch -p0 < asterisk-1.4.21.1-app_fax-support-t38.patch ... #make install |
4. ну а дальше всё как обычно:
| Код: |
| exten => _777, 1, GoTo(fax,s,1) [fax] exten => s, 1, Answer exten => s, n, Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID}.tif) exten => s, n, ReceiveFax(${FAXFILE}) exten => h, 1, System(/usr/bin/uuencode /var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID}.tif ${CALLERID(num)}-${UNIQUEID}.tif | /usr/bin/mail -s "Fax from ${CALLERID(num)}" -E mail@domain.com) exten => h, n, Hangup |
| dimas писал(а): |
| ну Unable to handle indication это не проблема. Просто маленький баг в chan_sip.c хотите убрать - отредактируйте chan_sip.c: найдите в районе строки 4058 |
Напиши пожалуйста название функции где этот код, и код пополнее (верхних строчек на 5 более) плз.
... а лутше сразу патч 
Кстати, про патч - а на asterisk-1.4.23.2 t.38.patch можно попросить ?

Здравствуйте!
Решил я тут факсы попринимать на мейл
Вобщем, я так понял на AsteriskNow это никак не реализовать?
Попробовал поставить Ubuntu 8.04 и обнаружил в репозитариях его Asterisk-1.4.17~dfsg-2ubuntu1, а еще там же оказался и app_fax (что меня сильно порадовало)!! Вобщем, поставил я всё это (*, app_fax, ну и естесна libtiff & spandsp).
В итоге, я хотел получить факсы на емейл, ну а в последствии и емейл на факс.
Принять факс у меня получается, но только rxfax вылетает с ошибкой (дальше контекст никак не хочет выполняться)... То есть Файл *.tif создается (читабельный и красивый), * вроде не падает, но вот отправить этот принятый факс не получается, т .к. rxfax вылетает из контекста с такими ошибками:
эта проблема решабельна? В интернете никакого решения не нашел...
П.С.: может можно как-нибудь продолжить выполнение контекста, после смерти RXFAX?
Решил я тут факсы попринимать на мейл
Вобщем, я так понял на AsteriskNow это никак не реализовать?
Попробовал поставить Ubuntu 8.04 и обнаружил в репозитариях его Asterisk-1.4.17~dfsg-2ubuntu1, а еще там же оказался и app_fax (что меня сильно порадовало)!! Вобщем, поставил я всё это (*, app_fax, ну и естесна libtiff & spandsp).
В итоге, я хотел получить факсы на емейл, ну а в последствии и емейл на факс.
Принять факс у меня получается, но только rxfax вылетает с ошибкой (дальше контекст никак не хочет выполняться)... То есть Файл *.tif создается (читабельный и красивый), * вроде не падает, но вот отправить этот принятый факс не получается, т .к. rxfax вылетает из контекста с такими ошибками:
| Код: |
| WARNING [5782]: channel.c: 3059 set_format: Unable to find a codec translation path from ulaw to unknown WARNING [5782]: app_rxfax.c: 340 rxfax_exec: Unable to restore read format on 'IAX2/XXXX' --Hungup 'IAX2/XXXX' |
эта проблема решабельна? В интернете никакого решения не нашел...
П.С.: может можно как-нибудь продолжить выполнение контекста, после смерти RXFAX?
1) После наложения патча на астериск (выше обсуждается в этой ветке) появляется возможность использовать приложения SendFax/ReceiveFax. Смысл использовать txfax/rxfax?
2) Есть вариант поробовать поставить версию астериска 1.6, где так сказать "все работает из коробки". Там, например, после исполнения приложение ReceiveFax не обрывает канал (Hangup) как это было ранее (в 1.4), а даёт возможность выполнять следующие команды в контексте.
3)Судя по всему Астериск не может переключиться из ulaw в другой формат (Т.38. Астериск патченый?)
4) Есть подозрения что в канале IAX2 работа этих приложений невозможна по Т.38, о чем говорил IgorG ранее:
Ветку эту надеюсь читали?
У меня например имеется такая связка: Asterisk 1.6.06 + spandsp 0.0.5pre4(с измениями в Т.30.с) + Dahdi 2.1.04 + Dahdi tools 2.1.0.2. Факсы принимаются в контекст где отрабатывает команда ReceiveFax, затем после сброса в макросе производятся остальные манипуляции. Планирую на днях прикрутить оповещение о удачном приёме факса (понравилась идея), потом преобразование в pdf (раньше не нужно было, сейчас сделаю), скорее всего отправку на мыло и в жабер. В общем идей полно
2) Есть вариант поробовать поставить версию астериска 1.6, где так сказать "все работает из коробки". Там, например, после исполнения приложение ReceiveFax не обрывает канал (Hangup) как это было ранее (в 1.4), а даёт возможность выполнять следующие команды в контексте.
3)Судя по всему Астериск не может переключиться из ulaw в другой формат (Т.38. Астериск патченый?)
4) Есть подозрения что в канале IAX2 работа этих приложений невозможна по Т.38, о чем говорил IgorG ранее:
| Цитата: |
| T.38 в астериске поддерживается и работоспособна только в SIP. И точка. |
Ветку эту надеюсь читали?
У меня например имеется такая связка: Asterisk 1.6.06 + spandsp 0.0.5pre4(с измениями в Т.30.с) + Dahdi 2.1.04 + Dahdi tools 2.1.0.2. Факсы принимаются в контекст где отрабатывает команда ReceiveFax, затем после сброса в макросе производятся остальные манипуляции. Планирую на днях прикрутить оповещение о удачном приёме факса (понравилась идея), потом преобразование в pdf (раньше не нужно было, сейчас сделаю), скорее всего отправку на мыло и в жабер. В общем идей полно
Не, другое имел в виду.
Я поставил Ubuntu и из репозитариев поставил убунтовский * и апп_факс. * - работает, RxFax принимает факсы, НО умирает после принятия с вышеописанными ошибками (причем не важно по какому каналу, будь то IAX2, будь то SIP). (файл факса - читабельный и юзабельный). Просто думал, может кто-нить этой фигней страдал с Убунту. В принципе мне пофиг на ошибку RxFax, мне нужно каким-то образом продолжить выполнение контекста, чтобы это файлик факса отправить по почте... (почта настроена и работает правильно, если что)
Так, про SendFax/ReceiveFax можно ссылочку на пост, а то тут туева хуча страниц в теме - долго искать
Так значед * 1.6 уже сразу работает с факсами (принимает/отсылает)? И ничего не надо патчить/хакать/править/ковырять/танцевать с бубном/приносить жертвы???
Так, про SendFax/ReceiveFax можно ссылочку на пост, а то тут туева хуча страниц в теме - долго искать
Так значед * 1.6 уже сразу работает с факсами (принимает/отсылает)? И ничего не надо патчить/хакать/править/ковырять/танцевать с бубном/приносить жертвы???
| contramundum писал(а): |
| тут туева хуча страниц в теме - долго искать |
А искать не надо. Нужно прочитать. Всю.
Ладно, я понял.
Вобщем, никто с такой проблемой не сталкивался и, соответственно, решения нет и не будет.
Вобщем, никто с такой проблемой не сталкивался и, соответственно, решения нет и не будет.
и снова здравствуйте!
Установил * 1.6.0.6 и пытаюсь получить факс
Когда выполняется: exten=s,n,receivefax(${FAXFILE}) по IAX2 каналу, то в логи сыпется много-много iax2_read: I should never be called!
причем, если звонить по IAX на другие номера - все нормально, если звонить по SIP на Receivefax, то тоже все нормально... что это такое? в гугле про решение этой проблемы ничего нет...
ПАМАГИТЕ!!
Последний раз редактировалось: contramundum (Пн Мар 23, 2009 11:26)
Установил * 1.6.0.6 и пытаюсь получить факс
Когда выполняется: exten=s,n,receivefax(${FAXFILE}) по IAX2 каналу, то в логи сыпется много-много iax2_read: I should never be called!
причем, если звонить по IAX на другие номера - все нормально, если звонить по SIP на Receivefax, то тоже все нормально... что это такое? в гугле про решение этой проблемы ничего нет...
ПАМАГИТЕ!!
Последний раз редактировалось: contramundum (Пн Мар 23, 2009 11:26)
На asterisk-1.4.24 патч не лезет, если вручную - несобирается:

| Код: |
| [CC] udptl.c -> udptl.o udptl.c: In function âudptl_build_packetâ: udptl.c:543: error: âoption_debugâ undeclared (first use in this function) udptl.c:543: error: (Each undeclared identifier is reported only once udptl.c:543: error: for each function it appears in.) udptl.c: In function â__ast_udptl_reloadâ: udptl.c:1226: warning: unused variable âconfig_flagsâ make[1]: *** [udptl.o] Error 1 |
| contramundum писал(а): |
| и снова здравствуйте! Установил * 1.6.0.6 и пытаюсь получить факс Когда выполняется: exten=s,n,receivefax(${FAXFILE}) по IAX2 каналу, то в логи сыпется много-много iax2_read: I should never be called! причем, если звонить по IAX на другие номера - все нормально, если звонить по SIP на Receivefax, то тоже все нормально... что это такое? в гугле про решение этой проблемы ничего нет... ПАМАГИТЕ!! |
Ну ясное дело, выше же написано, что в IAX нет поддержки Т.38, поэтому Вам в лог и сыпется: "... и больше сюда не звони!"
Используйте T.30 c ulaw/alaw, чтобы астериск даже и не подозревал про передачу факса
А, кстати, знатокам вопрос. Помниться, была софтинка еще к 1.2.х efax и с ней же T38modem, котоырй использовал IAXовый peer. Как это объяснить?
Еще из интересного, на #asterisk до сих пор многие спрашивают app_rx(tx)fax
Added after 6 minutes:
| Obi Van писал(а): |
| 2) Есть вариант поробовать поставить версию астериска 1.6, где так сказать "все работает из коробки". Там, например, после исполнения приложение ReceiveFax не обрывает канал (Hangup) как это было ранее (в 1.4), а даёт возможность выполнять следующие команды в контексте. |
Это если caller раньше трубку не положит
c0rnoTa
Если звонящий положит трубку, то продолжает выполняться цепочка команд в h экстеншене
У меня щас новый глюк появился непонятный. Произвожу приём факса, всё как обычно файлик складывается в папку с факсами. Но! При этом в переменных ${FAXPAGES}, ${FAXRESOLUTION}, ${FAXBITRATE} пустота, а в переменной ${FAXSTATUS} значится FAILED, а в ${FAXERROR} появляется "Unexpected message received".
Что за хренота случилась ума не приложу!
Из этих переменных у меня формируется выхлоп в log файл, и соответственно получается бред, при том что файл с факсом лежит на серваке. Что думаете? Куда копнуть?
Если звонящий положит трубку, то продолжает выполняться цепочка команд в h экстеншене
У меня щас новый глюк появился непонятный. Произвожу приём факса, всё как обычно файлик складывается в папку с факсами. Но! При этом в переменных ${FAXPAGES}, ${FAXRESOLUTION}, ${FAXBITRATE} пустота, а в переменной ${FAXSTATUS} значится FAILED, а в ${FAXERROR} появляется "Unexpected message received".
| c0rnoTa писал(а): |
| Obi Van писал(а): |
| 2) Есть вариант поробовать поставить версию астериска 1.6, где так сказать "все работает из коробки". Там, например, после исполнения приложение ReceiveFax не обрывает канал (Hangup) как это было ранее (в 1.4), а даёт возможность выполнять следующие команды в контексте. |
Это если caller раньше трубку не положит
точно. Если трубку положат до того как app_fax выйдет то диалплан не продолжится. Чтобы наверняка надо в 'h' весь пост-процессинг делать.
Obi Van,
у вас этот глюк теперь на каждый факс происходит или это только с одним абонентом такое?
посмотрите на патч для http://bugs.digium.com/view.php?id=13020
там немножко исправлялась ситуация когда факс приходит успешно но app_fax рипортит ошибку.
Хотя, если честно, я думаю что ваш конкретный случай этим патчем не лечится. Но все же...
dimas
Спасибо! Накатил патч, попробую что да как. Происходит это при передаче с двух факсов Панасоников, подключённых к АТС Samsung OfficeServ500. Раньше такого не наблюдал. На станции помню менял настройку только "G711 T38" из включено в выключено. Пробовал отправлять факсы где то с недельку назад и судя по логам всё было нормально. Вот теперь сижу и вспоминаю что же я там накрутить мог в своём (*)
Спасибо! Накатил патч, попробую что да как. Происходит это при передаче с двух факсов Панасоников, подключённых к АТС Samsung OfficeServ500. Раньше такого не наблюдал. На станции помню менял настройку только "G711 T38" из включено в выключено. Пробовал отправлять факсы где то с недельку назад и судя по логам всё было нормально. Вот теперь сижу и вспоминаю что же я там накрутить мог в своём (*)
Уважаемые не дайте погибнуть.
Пол дня размышляю, не могу найти источник следующей проблемы.
Полученное изображение искажено вертикальными линиями, что на стандартном размере шрифта делает его просто не читабельным.
Asterisk 1.6.0.6, spandsp6pre4, CentOS5.1. Тестовый стенд из * подключенной к ТФОП pri и модема с вентафаксом. Прием без проблем, если пересылать полученный астериском же tiff тоже никаких проблем.
Полученное изображение искажено вертикальными линиями, что на стандартном размере шрифта делает его просто не читабельным.
Asterisk 1.6.0.6, spandsp6pre4, CentOS5.1. Тестовый стенд из * подключенной к ТФОП pri и модема с вентафаксом. Прием без проблем, если пересылать полученный астериском же tiff тоже никаких проблем.
Вечером попробую
http://bugs.digium.com/view.php?id=14769
http://bugs.digium.com/view.php?id=14769
патчик для 1.4.24
app_fax.c - скопировать в /asterisk_source/apps
fax.patch - его наложить
заново собрать spandsp
./bootstrap.sh
./configure --with-spandsp
make menuconfig (должна появится поддержка app_fax)
make
make install
app_fax.c - скопировать в /asterisk_source/apps
fax.patch - его наложить
заново собрать spandsp
./bootstrap.sh
./configure --with-spandsp
make menuconfig (должна появится поддержка app_fax)
make
make install
С версией Asterisk-1.4.24.1, указанной в шапке сверху будет работать?
| ssh писал(а): |
| Asterisk 1.6.0.6, spandsp6pre4, CentOS5.1. Тестовый стенд из * подключенной к ТФОП pri и модема с вентафаксом. Прием без проблем, если пересылать полученный астериском же tiff тоже никаких проблем. |
Пересобрал сегодняшний бранч из svn с заменой spandsp6pre4 на spandsp6pre7, проблема исчезла.
| Tverdolik писал(а): |
| С версией Asterisk-1.4.24.1, указанной в шапке сверху будет работать? |
Да, будет работать.
| Viktor писал(а): |
| заново собрать spandsp l |
с какой версией???
а дижиумовский факс кто-то щупал уже?
| Cache писал(а): |
| Viktor писал(а): |
| заново собрать spandsp l |
с какой версией???
C шестой.
| Цитата: |
| C шестой. |
с 6pre10 ?
Проверить совсем не трудно.
у меня с 6pre8 собрался, до этого с 6pre2 вылетал при сборке с ошибками
| Viktor писал(а): |
| патчик для 1.4.24 app_fax.c - скопировать в /asterisk_source/apps fax.patch - его наложить заново собрать spandsp ./bootstrap.sh ./configure --with-spandsp make menuconfig (должна появится поддержка app_fax) make make install |
Всё прекрасно патчится, собирается, модуль подгружается, при звонке даже отвечает факсовым писком, но факсы в файлик к сожалению у меня не принимаются, в клишке пишет The call dropped prematurely...
Asterisk 1.4.24.1 spandsp пробовал и 0.0.5(все pre) и 0.0.6(все pre)
Подходит ли данный патч под Asterisk 1.4.24.1?
P.S. в таком варианте: Debian Asterisk 1.4.21.1 spandsp-0.0.5pre4 с патчиком от Cache, на другом сервачке, всё прекрасно работает.
у меня bootstrap.sh ругается на отсутствие разных варезов
не патчится соответственно ...
выложил бы кто проатченный ...
не патчится соответственно ...
выложил бы кто проатченный ...
это каких еще таких варезов?
вроде всё опенсорс..
может лог прикрепите таки?
может лог прикрепите таки?
| Код: |
| # ./bootstrap.sh Generating the configure script ... configure.ac:3: error: Autoconf version 2.60 or higher is required configure.ac:3: the top level autom4te: /usr/bin/m4 failed with exit status: 63 aclocal: autom4te failed with exit status: 63 configure.ac:3: error: Autoconf version 2.60 or higher is required configure.ac:3: the top level autom4te: /usr/bin/m4 failed with exit status: 63 configure.ac:3: error: Autoconf version 2.60 or higher is required configure.ac:3: the top level autom4te: /usr/bin/m4 failed with exit status: 63 autoheader: /usr/bin/autom4te failed with exit status: 63 Press any key to continue... |
wget ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.63b.tar.gz
./configure
make install
| Код: |
| # ./bootstrap.sh Generating the configure script ... configure.ac:126: warning: AC_CACHE_VAL(GNU_MAKE, ...): suspicious cache-id, must contain _cv_ to be cached autoconf/general.m4:2033: AC_CACHE_VAL is expanded from... autoconf/general.m4:2046: AC_CACHE_CHECK is expanded from... autoconf/ast_check_gnu_make.m4:20: AST_CHECK_GNU_MAKE is expanded from... configure.ac:126: the top level configure.ac:126: warning: AC_CACHE_VAL(GNU_MAKE, ...): suspicious cache-id, must contain _cv_ to be cached autoconf/general.m4:2033: AC_CACHE_VAL is expanded from... autoconf/general.m4:2046: AC_CACHE_CHECK is expanded from... autoconf/ast_check_gnu_make.m4:20: AST_CHECK_GNU_MAKE is expanded from... configure.ac:126: the top level configure.ac:126: warning: AC_CACHE_VAL(GNU_MAKE, ...): suspicious cache-id, must contain _cv_ to be cached autoconf/general.m4:2033: AC_CACHE_VAL is expanded from... autoconf/general.m4:2046: AC_CACHE_CHECK is expanded from... autoconf/ast_check_gnu_make.m4:20: AST_CHECK_GNU_MAKE is expanded from... configure.ac:126: the top level Press any key to continue... |
сиё совершенно к теме не относится! а посему - флейм.
Извините если что то упустил, искал ошибку которая всплывает у меня
Нашел здесь на первых страницах, но ответа не прозвучало, хотел спросить у бывалых, подскажите как бороться.
Ставил все с исходников:
spandsp-0.0.5pre4
libpri-1.4.7
asterisk-1.4.21.1 + asterisk-1.4.21.1-app_fax-support-t38.patch + app_rxfax.c + app_txfax.c (взял из agx-ast-addons под spandsp-0.0.5)
asterisk-addons-1.4.7
zaptel-1.4.12.1
Пока стоит один час, и
Пробовал мануал Димы, все делал с точность до версий, такая же ошибка и сервак валиться каждый час...
| Код: |
| WARNING[2762]: app_fax.c:121 span_message: WARNING T.30 Non-ECM carrier not found |
Нашел здесь на первых страницах, но ответа не прозвучало, хотел спросить у бывалых, подскажите как бороться.
Ставил все с исходников:
spandsp-0.0.5pre4
libpri-1.4.7
asterisk-1.4.21.1 + asterisk-1.4.21.1-app_fax-support-t38.patch + app_rxfax.c + app_txfax.c (взял из agx-ast-addons под spandsp-0.0.5)
asterisk-addons-1.4.7
zaptel-1.4.12.1
Пока стоит один час, и
Пробовал мануал Димы, все делал с точность до версий, такая же ошибка и сервак валиться каждый час...
| Код: |
| [May 13 11:05:36] WARNING[2291] chan_zap.c: Got restart ack on channel 0/4 span 1 with owner [May 13 11:08:38] WARNING[2753] app_dial.c: Unable to forward voice frame [May 13 11:12:32] WARNING[2758] app_dial.c: Unable to forward voice frame [May 13 11:13:04] WARNING[2760] app_dial.c: Unable to forward voice frame [May 13 11:13:44] WARNING[2291] channel.c: Channel allocation failed: Refusing due to active shutdown [May 13 11:13:44] WARNING[2291] chan_zap.c: Unable to start PBX on channel 0/1, span 1 [May 13 11:13:44] WARNING[2291] chan_zap.c: Call specified, but not found? [May 13 11:13:44] WARNING[2291] chan_zap.c: Hangup on bad channel 0/1 on span 1 [May 13 11:13:54] WARNING[2291] chan_zap.c: Call specified, but not found? [May 13 11:13:54] WARNING[2291] chan_zap.c: Hangup on bad channel 0/1 on span 1 [May 13 11:14:11] WARNING[2294] chan_zap.c: Detected alarm on channel 1: Red Alarm |
У тебя валится, а у меня машину вешает - загрузга проца 97-100% процесс астер.
логи:
asterisk-1.4.24.1
asterisk-addons-1.4.8
libpri-1.4.10
spandsp-0.0.6pre11
dahdi-linux-2.2.0-rc2
dahdi-tools-2.1.0.2
+ данный патч http://asteriskforum.ru/download.php?id=546 ...
куда смотреть .... ?
логи:
| Код: |
| [May 13 21:16:25] NOTICE[3669] chan_dahdi.c: Got event 18 (Ring Begin)... [May 13 21:16:25] WARNING[3669] chan_dahdi.c: Unable to enable echo cancellation on channel 1 (No such device) [May 13 21:16:39] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:16:39] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:16:39] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:16:39] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:07] WARNING[3669] app_fax.c: WARNING T.30 ECM signal did not end cleanly [May 13 21:17:11] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:11] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:12] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:12] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:43] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:43] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:43] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:43] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:55] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:55] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:56] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found [May 13 21:17:56] WARNING[3669] app_fax.c: WARNING T.30 ECM carrier not found |
asterisk-1.4.24.1
asterisk-addons-1.4.8
libpri-1.4.10
spandsp-0.0.6pre11
dahdi-linux-2.2.0-rc2
dahdi-tools-2.1.0.2
+ данный патч http://asteriskforum.ru/download.php?id=546 ...
куда смотреть .... ?
Рискну предположить, что проблемы из за spandsp. Нормальная проверенная версия это 4-ка. В частности 0.4.pre18 что касается астериска. Единственный "плюс" 6-ки то что она с пол-оборота компилируется под винды в vc2005, но на этом все... кроме кучи глюков я там ничего нового пока не нашел.
"Лучшее" враг хорошего.
Скажем так это надо делать на чистой системе (без остатков "новых" spandsp), и использовать 0.4.pre18 (шаг влево, шаг вправо -расстрел) и тогда все должно работать.
"Лучшее" враг хорошего.
| pearl писал(а): |
| Пробовал мануал Димы, все делал с точность до версий, такая же ошибка и сервак валиться каждый час... [code] |
Скажем так это надо делать на чистой системе (без остатков "новых" spandsp), и использовать 0.4.pre18 (шаг влево, шаг вправо -расстрел) и тогда все должно работать.
вчера выпустили spandsp-0.0.6pre12 .... вдруг )
На счет новой машины согласен, я уже переустанавливал много раз, и с разными версиями, жалко что нет возможности почистить. Но не смотря на эту ошибку астериск жив пол суток и не падал, даже факсы на почту отсылает =)
Та же проблема только использовал spandsp-0.0.4
Как можно попробовать решить данную проблему???
Как можно попробовать решить данную проблему???
Ставь все как я написал выше, только на чистую машину 
Кто нибудь попробовал t38 с астериском версии 1.4.25. Может есть у кого-нибудь патчик?
| antonio_fareldo писал(а): |
| Может есть у кого-нибудь патчик? |
а существующий не работает разве?
Вопрос к любителям 6-го Spandsp.
Полагаю много народу тут уже ставило или по крайней мере пытались компилировать с Астериском.
Астериск меня интересует меньше всего, я этого не скрываю, но тем не менее...
Нужна какая-нибудь статистика на 6-ку.
1. Работает ли вообще audio-fax? Нормально ли?
2. Нет ли проблем с передачей (исходящими факсами) по t38? Т.е. не замечено ли следующего эффекта: на 14400 пытаются договориться, но проходит только если искусственно ограничить скорость принимающего факса до скажем 4800.
Полагаю много народу тут уже ставило или по крайней мере пытались компилировать с Астериском.
Астериск меня интересует меньше всего, я этого не скрываю, но тем не менее...
Нужна какая-нибудь статистика на 6-ку.
1. Работает ли вообще audio-fax? Нормально ли?
2. Нет ли проблем с передачей (исходящими факсами) по t38? Т.е. не замечено ли следующего эффекта: на 14400 пытаются договориться, но проходит только если искусственно ограничить скорость принимающего факса до скажем 4800.
1 я так понимаю вопрос скорее про ReceiveFax, про него не скажу. Использую 0.0.6pre7 в app_faxgateway, на прием по t38 нареканий нет, на отправку - оно работает на 9600 (не допатчил согласование на 14400) вбольшинстве случаев, но то скорее проблема где-то в радиусе app_fax.
Asterisk 1.4.25 с данным патчем падает в начале приема факса.
Чтобы не быть голословным.
Я тестирую spandsp с Opal, делаю это под WIN.
После "внедрения" 6-й spandsp существуют две версии факса.
1) c прямым обращением к dll
http://opalvoip.svn.sourceforge.net/view ... pal/trunk/
http://opalvoip.svn.sourceforge.net/view ... lib/trunk/
2) с использованием независимого exe-шника факса, который работает с основной Opal-библиотекой через сокеты.
http://opalvoip.svn.sourceforge.net/view ... ches/v3_6/
http://opalvoip.svn.sourceforge.net/view ... ches/v2_6/
Обе текущие версии работают с 0.0.6pre(7-12) и дают одинаково хреновые результаты.
1. Прием по t38
Все как у вас -единственное что работает безупречно
2. Отправка по t38
Я провел тесты. Факс принимался на VentaFax, соответственно я регулировал максимальную скорость факса через венту.
Договариваться начинают, а итог вот он.
Т.е. проходит только на 4800, да и то "Ошибка разъединения" (Вентовская er.20, типа х.з. прошел он или не прошел)
Думаете проблема в вызывающем приложении, а не в самой spandsp? Уж очень подозрительно что все наступают на одни и те же грабли. Если поймете в чем дело, дайте знать..
3. прием и отправка по G711. Ну, покойный 98-й Windows в таких случаях радовал синим экраном, XP предпочитает серо-белые тона(я испытывал на XP), а Висты скромно пишут "Has stopped working", короче просто crashed.
Хотя разработчик и оговорился:
Т.е. сдается мне, что никакие "has fixed" здесь не помогают, а проблема в самой 0.0.6
Да и еще? Тона факса странными не кажутся? Не могу понять: то ли опал сейчас использует свои генераторы через dtmf-UserInput, то ли в спандсп опять что не так.
Я тестирую spandsp с Opal, делаю это под WIN.
После "внедрения" 6-й spandsp существуют две версии факса.
1) c прямым обращением к dll
http://opalvoip.svn.sourceforge.net/view ... pal/trunk/
http://opalvoip.svn.sourceforge.net/view ... lib/trunk/
2) с использованием независимого exe-шника факса, который работает с основной Opal-библиотекой через сокеты.
http://opalvoip.svn.sourceforge.net/view ... ches/v3_6/
http://opalvoip.svn.sourceforge.net/view ... ches/v2_6/
Обе текущие версии работают с 0.0.6pre(7-12) и дают одинаково хреновые результаты.
1. Прием по t38
| bird_of_Luck писал(а): |
| на прием по t38 нареканий нет |
Все как у вас -единственное что работает безупречно
2. Отправка по t38
| bird_of_Luck писал(а): |
| на отправку - оно работает на 9600 |
Я провел тесты. Факс принимался на VentaFax, соответственно я регулировал максимальную скорость факса через венту.
Договариваться начинают, а итог вот он.
| Код: |
| 14400 Phase E: Unexpected message received 9600 Phase E: Received no response to DCS or TCF 4800 Phase E: Invalid response after sending a page 2400 Phase E: Unexpected message received |
Т.е. проходит только на 4800, да и то "Ошибка разъединения" (Вентовская er.20, типа х.з. прошел он или не прошел)
| bird_of_Luck писал(а): |
| (не допатчил согласование на 14400) вбольшинстве случаев, но то скорее проблема где-то в радиусе app_fax. |
Думаете проблема в вызывающем приложении, а не в самой spandsp? Уж очень подозрительно что все наступают на одни и те же грабли. Если поймете в чем дело, дайте знать..
3. прием и отправка по G711. Ну, покойный 98-й Windows в таких случаях радовал синим экраном, XP предпочитает серо-белые тона(я испытывал на XP), а Висты скромно пишут "Has stopped working", короче просто crashed.
Хотя разработчик и оговорился:
| Robert Jongbloed писал(а): |
| As an aside, I am certain that the PCM mode doesn't work on the Win32 platform, as spandsp-0.0.6-pre10 (thru 12) PCM fax is broken. This applies to both the new plug in and the old spandsp_util.exe. |
Т.е. сдается мне, что никакие "has fixed" здесь не помогают, а проблема в самой 0.0.6
Да и еще? Тона факса странными не кажутся? Не могу понять: то ли опал сейчас использует свои генераторы через dtmf-UserInput, то ли в спандсп опять что не так.
Моя конфигурация:
E1 > * 1.4.21.2 < sip > c5350 < E1 > ... < E1 > * 1.4.212.2 < IAX > hylafax
Там, где sip стык - живет app_faxgateway
У меня таки работает отправка на 9600, причем именно 9600 imho из-за
global_t38_capability = T38FAX_VERSION_0 | T38FAX_RATE_2400 | T38FAX_RATE_4800 | T38FAX_RATE_7200 | T38FAX_RATE_9600;
Пока что правда исключительно в случаях старта отправляющей стороны после получения реинвайта от кошки + несколько секунд. Иначе - проблемы с согласованием.
В rtp была замечена странная генерация тонов спандспой, но как-то непостоянно и только в случаях, когда старт был до реинвайта
Логи: faxgw и hylafax
В понедельник буду разбираться дальше, если сведу проблему к spandsp - напишу
E1 > * 1.4.21.2 < sip > c5350 < E1 > ... < E1 > * 1.4.212.2 < IAX > hylafax
Там, где sip стык - живет app_faxgateway
У меня таки работает отправка на 9600, причем именно 9600 imho из-за
global_t38_capability = T38FAX_VERSION_0 | T38FAX_RATE_2400 | T38FAX_RATE_4800 | T38FAX_RATE_7200 | T38FAX_RATE_9600;
Пока что правда исключительно в случаях старта отправляющей стороны после получения реинвайта от кошки + несколько секунд. Иначе - проблемы с согласованием.
В rtp была замечена странная генерация тонов спандспой, но как-то непостоянно и только в случаях, когда старт был до реинвайта
Логи: faxgw и hylafax
В понедельник буду разбираться дальше, если сведу проблему к spandsp - напишу
| bird_of_Luck писал(а): |
| global_t38_capability = T38FAX_VERSION_0 | T38FAX_RATE_2400 | T38FAX_RATE_4800 | T38FAX_RATE_7200 | T38FAX_RATE_9600; |
А попробуйте обрезать на T38FAX_RATE_4800 . М.б. что изменится...
Кстати интересный момент, если на венте выставить max=7200, то переговоры в моем случае начнутся на 9600... там же и закончатся.
В принципе я недостаточно хорошо исследовал 3 режима "UserInput"(посылать факс-тон через dtmf,ждать ре-инвайт), "Timeout"(1-2сек и спандсп само переходит в t38 не дожидаясь re-invite), "Wait"(сидеть,молчать, ждать ре-инвайт), но похоже без разницы.
| bird_of_Luck писал(а): |
| В rtp была замечена странная генерация тонов спандспой, но как-то непостоянно и только в случаях, когда старт был до реинвайта |
Я больше привык доверять своим слуховым ощущениям, но...
При исходящем факсе (CNG-тон) слышу "бип-бип" ...и тишина
При входящем тон какой-то непродолжительный, и срезается резко через секунду.
Причем пихал также новый exe-шник в папку со старой отлаженной Opal. Странная вещь: сначала начинает пиликать как надо(м.б.внутренний генератор в опал), потом раз...аж слышно...перебивается этой фигней. В зависимости от режима "фиговое пиликанье" может повторяться через какое-то время, но при этом оно фиговое.
Последний раз редактировалось: Дима77 (Пн Июн 01, 2009 09:27)
| den68 писал(а): |
| у меня bootstrap.sh ругается на отсутствие разных варезов не патчится соответственно ... |
| Код: |
| configure.ac:3: error: Autoconf version 2.60 or higher is required |
Скажите, а
при желании отправляющего абонента продолжить разговор после прохождения факса (aka запрос голосовой связи) как ремонтируется? Факс отправляется до конца, и в самом конце вылетает с этой ошибкой, в итоге не принимается.
spandsp-0.0.4pre18
| Код: |
| app_fax.c:216 phase_e_handler: Error transmitting fax. result=13: Unexpected message received. |
| Код: |
| [Jun 5 01:34:21] WARNING[29750]: app_fax.c:164 span_message: WARNING T.30 Non-ECM carrier not found [Jun 5 01:34:50] WARNING[29750]: app_fax.c:216 phase_e_handler: Error transmitting fax. result=13: Unexpected message received. [Jun 5 01:34:50] WARNING[29750]: app_fax.c:714 transmit: Transmission failed |
spandsp-0.0.4pre18
Хотел спросить, стоит ли изменять битрейт с 9600 на 14400, и как это можно сделать
установлено все как и раньше
использую факсы для приема через Zaptel aka E1 PRI card (port 1) * PRI card (port 2) Panasonic KX-TD1232 далее flash и на ReceiveFax
установлено все как и раньше
| Код: |
| Ставил все с исходников: spandsp-0.0.5pre4 libpri-1.4.7 asterisk-1.4.21.1 + asterisk-1.4.21.1-app_fax-support-t38.patch + app_rxfax.c + app_txfax.c (взял из agx-ast-addons под spandsp-0.0.5) asterisk-addons-1.4.7 zaptel-1.4.12.1 |
использую факсы для приема через Zaptel aka E1 PRI card (port 1) * PRI card (port 2) Panasonic KX-TD1232 далее flash и на ReceiveFax
вопрос по теме, если позвонить на rxfax, rxfax начинает пищать - все ок, но если факс не отправлять, то через секунд 10 rxfax пищать прекращает, но трубку при этом не кладет...
Куда смотреть, что если факс не шлют, трубку ложить ?
Куда смотреть, что если факс не шлют, трубку ложить ?
Romik,
0.0.4 имхо реально староват.
Проблема, правда в том что нет никакой статистики какая версия работает стабильно а какая нет - Стив все время что-то ковыряет и даже два "соседних" билда могут совершенно по разному себя вести...
0.0.4 имхо реально староват.
Проблема, правда в том что нет никакой статистики какая версия работает стабильно а какая нет - Стив все время что-то ковыряет и даже два "соседних" билда могут совершенно по разному себя вести...
| Дима77 писал(а): |
| Т.е. сдается мне, что никакие "has fixed" здесь не помогают, а проблема в самой 0.0.6 |
В результе сделал E1 SIP шлюз средствами CW с 0.0.6pre7/pre12 - там все хорошо, факсы ходят без проблем, с 14400 правда не дошло дело - не оказало МФУшки под рукой, но на 9600 нормально все
Linux version 2.6.26-2-686 (Debian 2.6.26-15lenny2)
Установил libspandsp1 0.0.5~pre4-1
Распаковываю asterisk-1.4.25.1 , кидаю в корень asterisk-1.4.21-t.38.patch , далее
patch -p0 < asterisk-1.4.21-t.38.patch
при наложении патча на channels/chan_sip.c были FAILED (9 out of 39 hunks FAILED), про остальное жалоб не было, потом bootstrap.sh
Далее ./configure , потом make menuselect (никаких намеков на fax или t38), потом make и это ...
Я что-то забыл пропатчить или это из-за того, что патч лег с ошибками или он несовместим с * 1.4.25 ?
При использовании патча asterisk-1.4.21.1-app_fax-support-t38.patch вообще огромное кол-во FAILED для файла configure (459 out of 550 hunks FAILED) , для sip было также 9 из 39.
Нужна помощь
Установил libspandsp1 0.0.5~pre4-1
Распаковываю asterisk-1.4.25.1 , кидаю в корень asterisk-1.4.21-t.38.patch , далее
patch -p0 < asterisk-1.4.21-t.38.patch
при наложении патча на channels/chan_sip.c были FAILED (9 out of 39 hunks FAILED), про остальное жалоб не было, потом bootstrap.sh
Далее ./configure , потом make menuselect (никаких намеков на fax или t38), потом make и это ...
| Код: |
| [CC] chan_sip.c -> chan_sip.o chan_sip.c: In function 'sip_queryoption': chan_sip.c:2377: error: 'T38_LOCAL_DIRECT' undeclared (first use in this function) chan_sip.c:2377: error: (Each undeclared identifier is reported only once chan_sip.c:2377: error: for each function it appears in.) chan_sip.c: In function 'sip_write': chan_sip.c:3867: error: too few arguments to function 'transmit_reinvite_with_sdp' chan_sip.c:3908: warning: implicit declaration of function 'transmit_reinvite_with_t38_sdp' chan_sip.c: In function 'process_sdp': chan_sip.c:5684: error: 'T38_LOCAL_DIRECT' undeclared (first use in this function) chan_sip.c: At top level: chan_sip.c:7089: error: static declaration of 'transmit_reinvite_with_t38_sdp' follows non-static declaration chan_sip.c:3908: error: previous implicit declaration of 'transmit_reinvite_with_t38_sdp' was here chan_sip.c: In function 'check_pendings': chan_sip.c:12511: error: too few arguments to function 'transmit_reinvite_with_sdp' chan_sip.c: In function 'handle_request_invite': chan_sip.c:14686: error: too few arguments to function 'process_sdp' make[1]: *** [chan_sip.o] Error 1 make[1]: Leaving directory `/home/asterisk-1.4.25.1/channels' make: *** [channels] Error 2 |
Я что-то забыл пропатчить или это из-за того, что патч лег с ошибками или он несовместим с * 1.4.25 ?
При использовании патча asterisk-1.4.21.1-app_fax-support-t38.patch вообще огромное кол-во FAILED для файла configure (459 out of 550 hunks FAILED) , для sip было также 9 из 39.
Нужна помощь
можете попробовать поставить версию 1.6, там с Т.38 всё нормально
Для меня например подталкивающим фактором при переходе на 1.6 и являлась нормальная работа с t.38. Система нормально работает с spandsp 0.0.6 и приложением app_fax. Сейчас доделываем веб морду для факсов и пускаем систему. 
а что, разве на 1.4.25 никто не ставил патчи для факса ? ...
или быть может кто-то, из тех кто умеет патчи править, выделит время и напишет патч для * 1.4.25.1
вопрос снят, руки заточил, факс появился ... забыл dev поставить для spandsp ...
Установил libspandsp1, потом libspandsp-dev версия 0.0.5~pre4-1 из готовых пакетов
Распаковываю asterisk-1.4.25.1 , кидаю в корень asterisk-1.4.21.1-app_fax-support-t38.patch , далее
patch -p0 < asterisk-1.4.21-t.38.patch
bootstrap.sh
./configure
make menuselect
тут уже появляеется app_fax , но make завершается так же как и в предыдущем посте...
вопрос остается ...
или быть может кто-то, из тех кто умеет патчи править, выделит время и напишет патч для * 1.4.25.1
вопрос снят, руки заточил, факс появился ... забыл dev поставить для spandsp ...
Установил libspandsp1, потом libspandsp-dev версия 0.0.5~pre4-1 из готовых пакетов
Распаковываю asterisk-1.4.25.1 , кидаю в корень asterisk-1.4.21.1-app_fax-support-t38.patch , далее
patch -p0 < asterisk-1.4.21-t.38.patch
bootstrap.sh
./configure
make menuselect
тут уже появляеется app_fax , но make завершается так же как и в предыдущем посте...
вопрос остается ...
| Цитата: |
| Система нормально работает с spandsp 0.0.6 |
Obi Van, с которым? есть pre 7, 10, 11, 12 (типа current) и 1,2,3,4,5,6,8 (old) (http://www.soft-switch.org/downloads/spandsp/)
| Цитата: |
| Распаковываю asterisk-1.4.25.1 , кидаю в корень asterisk-1.4.21.1-app_fax-support-t38.patch , далее |
Alex_asdf, ты бы посмотрел в asterisk-1.4.21.1-app_fax-support-t38.patch (он маленький), потом в соответствующие исходники asterisk-1.4.25.1 и asterisk-1.4.21.1 и если кардинальных различий в патченых ф-ях нету, то сам бы и поправил патч под свой 4.25.1. сам я этого не сделаю, так как у меня 1.4.21.1, это же тебе нужно.
Блин, взялся за тестирование других версий spandsp и выяснил, что тестировать собственно нечего. с 0.0.6preX app_fax.c просто не собирается, а из ветки 0.0.5 в доступности pre2, 3, 4 и типа релиз, который хоть датирован 23-Apr-2009 против 16-Jun-2008 у pre4, но ничем от него не отличается.
У кого-то есть исходики ветки 0.0.5 кроме выложенных на www.soft-switch.org?
У кого-то есть исходики ветки 0.0.5 кроме выложенных на www.soft-switch.org?
2 dimagolov спс за совет, но это для меня слишком сложно, думаю проще на 1.6 перейти, установил 1.6.1.1 щас посмотрю что и как там
Насколько помню ставил pre 10 (дело было весной). С тех пор и стоит. Внёс кое какие изменения в t30.c, чтобы увеличить время ожидания при приёме факса. Обычное было менее 30 сек. Всё не сразу собралось. Точно уже и не помню. Прибивал старый 0.0.5, чистил систему. Сосбно говоря система достаточно стабильна, больше 2-х недел в аптайме. Стоит версия * 1.6.1.1.
Alex_asdf
Попробуйте. Только в ветке 1.6 есть несколько значительных изменений. Символ разделитель теперь ",". Поправьте конфиги.
Alex_asdf
Попробуйте. Только в ветке 1.6 есть несколько значительных изменений. Символ разделитель теперь ",". Поправьте конфиги.
hylafax 6.0.3 .... никак не могу понять, как сделать MaxDials не 12, а 3 .... и как это переплетается с jobcontrol
Прекрасно заработал TxFAX/RxFAX из agx-ast-addons(svn) + spandsp 0.0.6pre12 + asterisk-1.4.26.
Но не могу заставить работать по T.38. Проблема в том, что звонок идёт так:
Одна ногда на Dial(), вторая на chan_local, которым рулю через AGI.
Запуск TxFAX/RxFAX работает по G711, ибо chan_local не пропускает T.38.
Как можно _временно_ запустить на оригинальном SIP канале Tx/Rx и вернуть обратно на chan_local?
Или где найти патчик чтоб к chan_local passthru для T.38 ?
Но не могу заставить работать по T.38. Проблема в том, что звонок идёт так:
Одна ногда на Dial(), вторая на chan_local, которым рулю через AGI.
Запуск TxFAX/RxFAX работает по G711, ибо chan_local не пропускает T.38.
Как можно _временно_ запустить на оригинальном SIP канале Tx/Rx и вернуть обратно на chan_local?
Или где найти патчик чтоб к chan_local passthru для T.38 ?
Добрый день соберите пожалуйста patch_app_fax, если не трудно
для версии Астериск 1.4.26 и Addons 1.4.9
для версии Астериск 1.4.26 и Addons 1.4.9
Я попробовал посмотреть что там изменилось с 1.4.21.2 к 1.4.26
И похоже патч к chan_sip.с наложить весьма сложно, нужны знающие люди.
Например, убрали состояние T38_LOCAL_DIRECT и связанный с этим код, соответственно, нужно смотреть что добавили. Нужны знающие chan_sip.с люди...
И похоже патч к chan_sip.с наложить весьма сложно, нужны знающие люди.
Например, убрали состояние T38_LOCAL_DIRECT и связанный с этим код, соответственно, нужно смотреть что добавили. Нужны знающие chan_sip.с люди...
Мне кажется что пытаться натягивать патч на убегающий 1.4 это занятие бесперспективное.
попробуйте 1.6 хотя бы. Времени "на попробовать" меньше уйдет чем на попытки патч прикрутить...
попробуйте 1.6 хотя бы. Времени "на попробовать" меньше уйдет чем на попытки патч прикрутить...
Все таки хочется не 1.6, а 1.4.26 попробовать
Поправил патч, который был под 1.4.21.2, для 1.4.26
Не знаю, что попутно сломал, нужно тестировать. Протестировал пока прием по Т.38 с Zoiper'а подключенного к другому астериску (zoiper -Т38- asterisk -Т38- patched asterisk 1.4.26).
Собирается со spandsp-0.0.4.
Не знаю, что попутно сломал, нужно тестировать. Протестировал пока прием по Т.38 с Zoiper'а подключенного к другому астериску (zoiper -Т38- asterisk -Т38- patched asterisk 1.4.26).
Собирается со spandsp-0.0.4.
Спасибо в ближайшее время протестирую
Ставлю 1.4.26.1 и
26 версия работала с патчем... Самое интесное что переустановка на 26 обратно вызывает точно такуюже картинку...[/code]
| Код: |
| asterisk-test*CLI> load app_fax [Aug 19 12:08:22] WARNING[13302]: loader.c:409 load_dynamic_module: Error loading module 'app_fax': /usr/lib64/asterisk/modules/app_fax.so: undefined symbol: t30_set_tx_page_header_info [Aug 19 12:08:22] WARNING[13302]: loader.c:721 load_resource: Module 'app_fax' could not be loaded. |
26 версия работала с патчем... Самое интесное что переустановка на 26 обратно вызывает точно такуюже картинку...[/code]
Попробуйте этот патч. Не пробовал на 1.4.26 но на 1.4.24 точно работал со spandsp-0.0.5pre4
Завёлся даже на шестом стпане...
Правда вигачит ворнинги типа
app_fax.c:164 span_message: WARNING T.30 Non-ECM carrier not found
Правда вигачит ворнинги типа
app_fax.c:164 span_message: WARNING T.30 Non-ECM carrier not found
а факсы то бегают? 
Да, принимаю.
кто нибудь сталкивался с установкой app_fax или app_rxfax на 64-битное ядро ?
проблема в следующем - установлен AsteriskNOW 1.5 64-битная версия
все попытки пересобрать spandsp и * c пропатченым конфигом были не успешны
spandsp пересобирается (пробовал разные версии последняя 0.0.6)
а * останавливается на make - с ошибками...
проблема в следующем - установлен AsteriskNOW 1.5 64-битная версия
все попытки пересобрать spandsp и * c пропатченым конфигом были не успешны
spandsp пересобирается (пробовал разные версии последняя 0.0.6)
а * останавливается на make - с ошибками...
| Код: |
| XXX 50. app_rxfax XXX 66. app_txfax |
И ещё этот метод из библиотеки http://asteriskforum.ru/viewtopic.php?p=7662, подходит для 1.4.21, первый метод тоже на астериск 1.4.21 юзался, просто когда пробовал по второму методу из библиотеки, у меня было такое, а на первом такого не было и нету:
| Код: |
| checking for fax_init in -lspandsp... yes checking spandsp.h usability... yes checking spandsp.h presence... yes checking for spandsp.h... yes |
Там я руками правил файлы, как было указано, но опять же нельзя было поставить звёздочку, были XXX, файлы копировал (app_rxfax.c/app_txfax.c), патч не применял.
Можете пояснить мне, библиотечный метод уже не идёт для версий выше чем там описан.
| Viktor писал(а): |
| Завёлся даже на шестом стпане... Правда вигачит ворнинги типа app_fax.c:164 span_message: WARNING T.30 Non-ECM carrier not found |
да варнинги есть, но все бегает.
даже вроде как на 14400
-- Executing [2102@test:8] NoOp("DAHDI/4-1", "FAXSTATUS=SUCCESS") in new stack
-- Executing [2102@test:9] NoOp("DAHDI/4-1", "FAXBITRATE=14400") in new stack
-- Executing [2102@test:10] NoOp("DAHDI/4-1", "FAXRESOLUTION=7700") in new stack
Asterisk 1.4.25.1
spandsp-0.0.6pre12
с t38 не заморичивался, т.к. без нужды.
Заработала наконец 0.0.6 у меня под виндами на предмет аудио (G711) факсов.
Причем сразу на ура (14400 в обе стороны, хочешь с ecm хочешь без).
Раскрутил таки Robert Jongbloed -а на правильный совет, он дал ссылку на "правильную" spandsp-20090624.tar.gz.
http://www.soft-switch.org/downloads/sna ... 624.tar.gz
(крайний snapshot spandsp-20090714.tar.gz тоже годится, проверял).
Исходник информации здесь:
http://opalvoip.svn.sourceforge.net/view ... iew=markup
Воспользовался кстати советом Obi Van и выставил таймауты чтоб иметь минуту на ожидание при приеме факса:
| Код: |
| C:\opal\plugins\fax\fax_spandsp\spandsp_util\spandsp-0.0.6\src\t30.c /*! The maximum permitted number of retries of a single command allowed. */ #define MAX_COMMAND_TRIES 9 //3 //Time-out T1 defines the amount of time two terminals will continue to attempt to identify each other. #define DEFAULT_TIMER_T1 60000 //35000 |
Но наткнулся я на старые грабли.
А именно при успешной отравке факса(только без ecm и только при отправке) очень стабильно вылазит ошибка
tiff_to_fax: statistics:
Status=18 Invalid response after sending a page
в случае с моим AP200B постоянно, причем принимающяя VentaFax у себя в логе фиксирует OK.
т.е. spandsp почему-то не дожидается подтверждения.
Ситуация на этом форуме обсуждалась и решена не была.
http://www.asteriskforum.ru/viewtopic.ph ... ght=#16579
правда тогда это был Астериск под Линукс и кажется 0.0.5 или 0.0.4-18
но принимающая сторона та же.
Все бы конечно можно списать на AP или напр. на обслуживающую систему (Opal в моем случае)
но это было бы неправильно.
Потому что старая спандсп 0.0.4-pre7 с тем же OPAL и с тем же AP работает на ура и
говорит "OK" без всяких там 18-х ошибок.
Поясню, что в виндах голову где чего накомпилировано(ну, если накомпилировалось, естественно) и чего мешает ломать не надо.
Есть один exe-шник(0.0.4-pre7) и есть другой exe-шник(0.0.6), и есть папка с "системой".
Так вот если кинуть в папку 0.0.4-7, то OK, а если 0.0.6 то "ошибка подтверждения".
(примерно так, еще парочка dll-ов связанных со spandsp и tiff меняется)
На Линуксе проверить наверно уже никогда не смогу, забыл его "как страшный сон"
Но в принципе описал понятно, м.б. кто чего посоветует, с чем в самой spandsp поиграться можно.
-Патча для 1.4.26.2 не нашел
-Как все таки применить патч.Нахожусь в директории с исходниками 1.4.26.1 делаю "patch -p0 asterisk_1_4-app_fax.patch" ,результата нет.
Помогите люди добрые победить факсы.
Похоже вы просто ошиблись в написании команды. Вот смотрите:
| Код: |
| patch -p0 < asterisk..... |
| Дима77 писал(а): |
| Но наткнулся я на старые грабли. А именно при успешной отравке факса(только без ecm и только при отправке) очень стабильно вылазит ошибка tiff_to_fax: statistics: Status=18 Invalid response after sending a page |
Нашел однако:
| Код: |
| I found the place in spandsp(0.0.6), that gives error18: c:\opal\plugins\fax\fax_spandsp\spandsp_util\spandsp-0.0.6\src\t30.c case T30_PRI_EOP: tx_end_page(s); if (s->phase_d_handler) s->phase_d_handler(s, s->phase_d_user_data, T30_RTP); t4_tx_release(&(s->t4)); //s->current_status = T30_ERR_TX_INVALRSP; //need to comment see line ~3531 send_dcn(s); break; If to comment ~3531 line we have Status=0 OK Bit Rate=14400 as need and it will be correct. |
Steve вроде как одобрил:
It looks like line 3531 in t30.c is unreasonable, and should be removed.

_________________
«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
из портов net/asterisk делаем make extract && make patch && cd work/asterisk-1.4.26.2 копируем сюда патч, накладываем patch -p0 < asterisk_1_4-app_fax.patch далее cd ../../ && make
ну по крайней мере ругательство T30_ERR_TX_INVALRSP (Invalid response after sending a page) в данной "версии" выведено из оборота.
По поводу t38 (Sending) Steve утверждает что у него все хорошо. Не могу пока это подтвердить. Для сравнения ему были посланы 2 пары логов (без SIP сигнализации), сделанные в одинаковых условиях с применением Spandsp-4 и Spandsp-6. По его словам в "4" все хорошо, а в "6" ..."received IFP packet numbers look very odd... don't increment properly... being passed from your UDPTL decoder to my spandsp code, so it appears to be something wrong on your side." Пока вот так вот....надо дождаться какая на это будет реакция со стороны разработчика Opal.
Asterisk 1.4.18
в случае выше, в логах астериска
| Код: |
| entering T.38 gateway mode as EMITTING gateway |
схема при этом E1 - Asterisk - Клиент. Если понимать эти сообщения, как сообщения удаленно стороны, то понятно почему факс не прошел, т.к получается, что и я и удаленный факс пытались отправить факс.
В схеме E1 - CISCO - Asterisk - Клиент
| Код: |
| entering T.38 gateway mode as RECEIVING gateway |
т.е получается, что удаленная сторона готовится принять факс, факс проходит.
Кто виноват 1) Клиент 2) Связка E1 - Asterisk 3) другое ?
пара ханков есть но всё ставится без проблем.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
checking for a sed that does not truncate output... ./configure: line 6378: syntax error near unexpected token `SED,'
./configure: line 6378: ` _AC_PATH_PROG_FEATURE_CHECK(SED, sed gsed,'
Что не так?
Заранее спасибо.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
По поводу sed - версию астериска, uname -a, cat /etc/*release , config.log - в студию
ERROR[9400]: app_fax.c:700 transmit_t38: channel 'SIP/103-00000107' failed to disable T.38
1.6.1.11 ReceiveFAX принимает факс от аппарата, подключенного к SPA2102. Факс принимается, но ошибка напрягает.
_________________
Debian Lenny, Asterisk 1.8, chan_dongle, chan_ooh323
при желании отправляющего абонента продолжить разговор после прохождения факса (aka запрос голосовой связи) как ремонтируется? Факс отправляется до конца, и в самом конце вылетает с этой ошибкой, в итоге не принимается.
| Код: |
| [Jun 5 01:34:21] WARNING[29750]: app_fax.c:164 span_message: WARNING T.30 Non-ECM carrier not found [Jun 5 01:34:50] WARNING[29750]: app_fax.c:216 phase_e_handler: Error transmitting fax. result=13: Unexpected message received. [Jun 5 01:34:50] WARNING[29750]: app_fax.c:714 transmit: Transmission failed |
У меня примерно та же ситуация, 1.6.1.11, spandsp-0.0.6 (относительно свежий snapshot). Факс принимается, но ошибка раздражает.
_________________
Debian Lenny, Asterisk 1.8, chan_dongle, chan_ooh323
это касается всех кто пишет сюда с версией 1.6
1.6 версия - сырая версия. и там ошибок еще будет тонна в будущем, пока её не заморозят, так что не стоит сюда все это валить, откройте новый топик по ней или пишите в Asterisk-Dev - там самое место для отлавливания багов.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Просто положите его в папку с исходниками asterisk (а не снаружи как было раньше)
| Цитата: |
| router asterisk-1.4.29 # patch -p0 < asterisk_1_4-app_fax.patch patching file apps/app_fax.c patching file build_tools/menuselect-deps.in patching file configure.ac Hunk #1 succeeded at 210 with fuzz 1 (offset 5 lines). Hunk #2 succeeded at 1386 (offset 26 lines). patching file makeopts.in router asterisk-1.4.29 # |
| Код: |
| ./bootstrap.sh make clean ./configure make menuselect |
видим новый пункт в меню
[*] 23. app_fax
ну и как обычно make; make install
собирал на домашнем роутере к которому прикручен халявный входяший номер в штатах, факсы летают изумительно (и падают в мыло в pdf), из 100 факсов прошло 100. работает в паре с spandsp-0.0.6_pre12.
после перезапуска астериска по команде
router*CLI> core show applications
видим новые команды диалплана:
| Цитата: |
| ... ReceiveFAX: Receive a FAX SendFAX: Send a FAX ... |
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
На приеме в SIP сессия Т38 устанавливается успешно, но когда удаленный гейт посылает Т.38 медиа, * ничем не отвечает. Консоль говорит:
| Код: |
| WARNING[25206]: app_fax.c:216 phase_e_handler: Error transmitting fax. result=48: Disconnected after permitted retries. WARNING[25206]: app_fax.c:711 transmit: Transmission error |
FAX ERROR: Disconnected after permitted retries
Не понимаю, если честно, что он "retry"ит.
Уяснил что asterisk 1.4 T38 path through
И для работы с факсом необходимо использовать модуль app_fax который зарегистрирует приложен txfax и rxfax
agx-ast-addons без T.38
11614: [patch] T38 support for SendFax/ReceiveFax https://issues.asterisk.org/view.php?id=11614
Патчь включает файлы
v4-asterisk-t38.patch - добавляет поддержку T38 в SIP канал
v8-appfax.patch - добавляет поддержку T38 в app_fax версии 532
Модуль собирается из asterisk-addons
Для портирования нужно
1. define ast_debug in logger.h - see http://bugs.digium.com/file_download.php ... p;type=bug [^]
2. define ast_tvdiff_XXX functions - see http://bugs.digium.com/view.php?id=11270 [^]
3. Apply fix for T38 state - http://bugs.digium.com/view.php?id=11630 [^]
4. Apply fix for T38 flags - http://bugs.digium.com/view.php?id=11239 [^]
5. Patch DSP in trunk with http://bugs.digium.com/view.php?id=11796 [^] and then copy main/dsp.c and include/asterisk/dsp.h files over your 1.4 sources
6. Add T38 API as in http://bugs.digium.com/view.php?id=11873 [^]
7. Patch app_fax
Далее этот модуль переносит в основную ветку /[asterisk]/trunk/apps/app_fax.c из /[asterisk-addons]/trunk/apps/app_fax.c
14769: [patch] Improvements/fixes for app_fax https://issues.asterisk.org/view.php?id=14769
Тема начинается с того что уважаемы Cache портировал патч 11614 для текущих 1.4.17,
затем портировал патч 14769 из транка /[asterisk]/trunk/apps/app_fax.c для asterisk-1.4.21.1 app_fax-support-t38.patch
Мне не понятно как вы ставите patch для app_fax если последний нормальный patch для asterisk t38 был для версии 1.4.21 ?
_________________
Успехов!
app_fax.c взят тут Где говорится что он был спортирован для 1.4 с 1.6 и автор не проверял T38 код.
А вот который был для asterisk-1.4.21.1 отлично работает с Т38.
Так как в патч помимо app_fax.c сореджал патч chan_sip.c для включения поддержки t38. И так как я не нашел нигде информации о том что начиная с версии 1.4.24 поддержка T38 есть, то я полагаю что нужен asterisk-support-t38.patch.
Не понимаю зчем в теме "Т.38 app_fax и астериск 1.4" выкладывать патч который не работает с T38 и путать людей !
можете по шагам расписать какие именно патчи ставить и в каком порядке чтобы получить работающий t38?
_________________
Успехов!
_________________
Успехов!
Достаточно ли патча который выложен Вами на предыдущей страницы для T.38 поддержки в астериске 1.4.29?
или надо еще какие патчи искать?
_________________
Успехов!
спасибо за ответ, поставил патч на 1.4.29 без проблем
факс работает как на прием так и на отправку
Для информации:
t.38 не используется
кто знает как добавить поддержку T.38? старый патч не подходит так как сильно изменился код *
....
[CC] app_festival.c -> app_festival.o
[LD] app_festival.o -> app_festival.so
[CC] app_flash.c -> app_flash.o
[LD] app_flash.o -> app_flash.so
[CC] app_followme.c -> app_followme.o
[LD] app_followme.o -> app_followme.so
[CC] app_forkcdr.c -> app_forkcdr.o
[LD] app_forkcdr.o -> app_forkcdr.so
.....
1) если после принятия патча сразу ставить(./ bootstrap.sh, ./configure) - то выдается ошибка при make menuselect
gcc -o menuselect menuselect.o strcompat.o menuselect_curses.o mxml/libmxml.a mxml/libmxml.a -lncurses
make[2]: Leaving directory `/usr/src/asterisk-1.4.29/menuselect'
make[1]: Leaving directory `/usr/src/asterisk-1.4.29/menuselect'
Generating input for menuselect ...
menuselect/menuselect --check-deps menuselect.makeopts
***********************************************************
The existing menuselect.makeopts file did not specify
that 'app_fax' should not be included. However, either some
dependencies for this module were not found or a
conflict exists.
Either run 'make menuselect' or remove the existing
menuselect.makeopts file to resolve this issue.
***********************************************************
make: *** [menuselect.makeopts] Error 255
если же перед тем как запускать configure выполнить autoconf - то make menuselect отрабатывает корректно . и появляется в menuselect app_fax, но после сборки Астериска, приложение так и не появляется...
если же не выполнять команду autoconf, а просто удалить menuselect.makeopts - то в менюселекте app_fax появляется НО блокировано, пишит что зависит от spandsp, хотя последний установлен
OS Centos 5
asterisk 1.4.29
asterisk-addons-1.4.10
Положил патч в /usr/src
| Код: |
| [root@voip src]# patch -p0 < asterisk_1_4-app_fax.patch The next patch would create the file apps/app_fax.c, which already exists! Assume -R? [n] Apply anyway? [n] Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file apps/app_fax.c.rej can't find file to patch at input line 853 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -urN build_tools/menuselect-deps.in asterisk-1.4.28-rc1-patch/build_tools/menuselect-deps.in |--- build_tools/menuselect-deps.in 2009-01-30 02:54:29.000000000 +0400 |+++ asterisk-1.4.28-rc1-patch/build_tools/menuselect-deps.in 2009-08-19 21:57:21.000000000 +0500 -------------------------- File to patch: |
какой файл патчить?
| Код: |
| router asterisk-1.4.29 # patch -p0 < asterisk_1_4-app_fax.patch |
| Код: |
| [root@voip src]# patch -p0 < asterisk_1_4-app_fax.patch |
полагаю надо перейти все таки в каталог с исходниками астериска )
| anest писал(а): |
| Просто положите его в папку с исходниками asterisk (а не снаружи как было раньше) |
теперь должно быть понятнее.
_________________
Успехов!
После ./configure появляется /app_fax
но выбрать его нельзя, хотя spandsp установлен
centos 5.4
пытаюсь сконектить астер и алькател. для передачи факсов в res_fax.
факсы свистят друг на друга, но не понимают.
точнее факсаппарат-->алькател(сип модуль)-->астер(res_fax).
в сторону факсаппарат-->аудикодес-->астер(res_fax) пашет все отлично.
причем в 1.6 все работало. перенес в 1.8, все, не пашет.
#uname -a
Linux ars-aster3 2.6.18-194.26.1.el5 #1 SMP Tue Nov 9 12:54:20 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
#fax show version
FAX For Asterisk Components:
Applications: 1.8.3-rc1
Spandsp FAX Driver: 20100830 183516
#module show like fax
Module Description Use Count
res_fax.so Generic FAX Applications 1
res_fax_spandsp.so Spandsp G.711 and T.38 FAX Technologies 0
2 modules loaded
не подскажете ли что где почему?
если нужно лог я выложу.
уже два месяца бодаюсь.
спасиб!
[ 4042]: HylaFAX (tm) Version 6.0.4
[ 4042]: [5:ERROR]
[ 4042]: ANSWER: Ring detected without successful handshake
берет трубку и не пищит собака, весь инет перерыл не могу понять в чем дело.
На отправку замечательно работает...
iaxmodem при прочих равных пищал, но пров. переходил на т38 и факсы не ходили ни в одну сторону, параметра --sip-old-asn в этой версии модема нету.
| Roscou писал(а): |
| берет трубку и не пищит собака....но пров. переходил на т38 |
обычно T38modem "не пищит" именно тогда, когда SIP-сеть не поддерживает T.38 (т.е. не понимает t38-пакетов).
Одна из версий -не до конца "пров" "перешел".
Вы можете попробовать транк модема, транк умеет не только T38, но и "over G.711" (то же что и IAXmodem), или принимайте на IAX-модем, если вам так проще.
Вторая версия- "много глюков в разных версиях астериска", здесь я вам не советчик.
Могу сказать одно: в T38modem глюков в отличии от * можете считать что нет.
| Roscou писал(а): |
| параметра --sip-old-asn в этой версии модема нету. |
В любых поздних версиях модема по умолчанию всегда "sip-old-asn". Так называемый "new asn"(новая версия T38) просто нигде не прижился и все T.38 системы используют именно "old".
посоветуйте
какой аддон лучше использовать для астерика версии 1.4.28?
какой аддон лучше использовать для астерика версии 1.4.36?
какой spandsp лучше использовать для астерика версии 1.4.28?
какой spandsp лучше использовать для астерика версии 1.4.36?
У меня в 1.4.29, 1.4.35, 1.4.37 факсы отлично бегают, вот уже почти год.
Конкретно на астере создается файл с приаттачиванного письма, создается файл с расширением *.call. Идет дозвон до железного факса, факсы даже договариваются о скорости передачи, но вот потом вылазит ошибка передачи
[CC] app_fax.c -> app_fax.o
app_fax.c:112: error: field ‘t38state’ has incomplete type
app_fax.c: In function ‘transmit_audio’:
app_fax.c:368: error: ‘T38_UNAVAILABLE’ undeclared (first use in this function)
app_fax.c:368: error: (Each undeclared identifier is reported only once
app_fax.c:368: error: for each function it appears in.)
app_fax.c: In function ‘transmit’:
app_fax.c:597: error: storage size of ‘t38state’ isn’t known
app_fax.c:620: error: ‘T38_NEGOTIATED’ undeclared (first use in this function)
make[1]: *** [app_fax.o] Error 1
make: *** [apps] Error 2
Вопрос в том, что я не совсем знаю как поправить пути, чтобы при утсановке обращалось к нужной спадсп?
И всё таки я не понимаю смысла в использовании древних версий типа: asterisk 1.4 и spandsp 0.0.5?
А в чём там проблема? В транзите Т.38 через этот софтсвитч? Насколько я вижу, 100% факсы не ходят даже по потоку Е1, не то, что по Т.38 по непонятному инету.
В последней версии появилась куча настроек касательно факсов, чего ранее не было в 1.4. Да и сама технология была перепилена разработчиками. Об этом есть инфа. Для настройки факсов появилась возможность менять тип коррекции ошибок, включать и выключать её, менять размер дейтаграммы и прочее. Мне удалось подружить (в чём я сомневался) астериск ещё версии 1.6 с Телфином. Ну а дальше когда дело коснулось других операторов, то было уже проще, следовал по обкатанному пути. Конечно я не говорю, что всегда точно можно побороть конкретную проблему, но кое что сделать можно. Меня удивляет, сколько настроек в конфигах астериска сделано для госпожи циски.
| Obi Van писал(а): |
| А мне вот интересно чем не устраивает res_fax.so и res_fax_spandsp.so в Asterisk 1.8? |
Извиняюсь за свою неосведомленность относительно этих библиотек, но они решать проблему с передачей факса из sip( t.38 ) в тфоп, лень перелистывать все страницы? По версии астериска тоже все не так просто, вот 1.4.29.1 на 100% в моём случае стабилен, а вот с 1.4.37 случаются sigmentation fault в chan_sip, потому и экспериментировать с версиями тоже лень, да и не всегда возможно, а потому сижу с тем, что стабильно работает и не приносит проблем на мою голову. Это моё имхо.
вот кусок лога
-- Executing [~~s~~@faxing:16] NoOp("SIP/600-00000026", "reseive result FAILED,Disconnected after permitted retries,,,0,14400,0x0") in new stack
не подскажете ли куда копать?
Задача: сконвертировать произв. PDF -> TIFF
Понятно что от TIFF требуется:
Resolution=204x98(normal) или 204x196(fine)
Размер =1728х (A4 короче, по крайней мере ширина критична)
Spandsp конечно поддерживает много чего, но стандартная факс программа(да думаю и факс аппарат) на принимающем конце
факс вида 2386х810 пошлет куда подальше
Скачал:
GPL Ghostscript 9.01
gs901w32.exe, GPL Ghostscript 9.01 for 32-bit Windows (the common variety).
Экспериментируем:
| Код: |
| C:\111\bin\gswin32c -q -sDEVICE=tiffg32d -r204x98 -dBATCH -dPDFFitPage -dNOPAUSE -dFillOrder=2 -sOutputFile=C:\111\bin\out.tif %1 |
-sDEVICE=tiffg32d -делать тифф CCITT Group 4 (2d) Fax
-dFillOrder=2 -использовать Reversed Bit Order (обратный порядок бит)
%1 -имя pdf-файла с путем передаваемого на вход bat-файла (ну если по-простому кидаем мышкой любой pdf на батник).
Все бы ничего, если pdf-страницы изначально в А4, т.е. тогда будет 1728 по ширине.
Но накололся например на вот этом файле:
http://www.elmo.webege.com/temp/cisco_fax_ts.pdf
Указанная выше команда gs делает tiff с размером 2386х810 (альбомная ориентация?), что неприемлимо для дальнейшего использования в качестве факса.
Замечу, что при распечатке того же файла из Adobe Reader на принтер Ventafax(Microsoft Fax не суть) , принтер переворачивает картинку в "портрет" и делает 1728х как надо.
Я попробовал еще сделать так:
| Код: |
| C:\111\bin\gswin32c -q -sDEVICE=tiffg32d -r204x98 -dBATCH -dPDFFitPage -dNOPAUSE -dFillOrder=2 -sPAPERSIZE=a4 -sOutputFile=C:\111\bin\out.tif %1 |
т.е. добавил -sPAPERSIZE=a4 , но эффекта 0. Вообще кажется (из изучения примеров и документации) sPAPERSIZE=a4 применимо к tiff->pdf но не к pdf->tiff
В принципе я владею инструментарием GDI/GDI++ и могу программно подправить бракованный TIFF, преобразовав его к правильному виду (1728х + r204х9_8) за рамками Ghostscript. Но неужели этот монстр в 15МБ не умеет этого делать сам?
Т.е. возможно ли обеспечить 1728х независимо от размеров исходной pdf-картинки средствами Ghostscript?
Да, и еще. Считаю, что размер dll в 15МБ это очень круто.
Мне от Ghostscript нужно только PDF->TIFF.
Возможно ли при компиляции исключить из dll кучу ненужных опций и уменьшить размер dll? Нек. косвенные соображения
mupdf
дают основания предположить что можно уменьшиться до 5-6МБ
Как?
Но MyPDF не умеет делать tiff, а только PNG.
Я конечно могу воспользоваться MyPDF и склеить PNG в многостраничный TIFF через GDI/GDI+ нужного разрешения/размера, средствами виндов. Но это опять же нехилую прогу писать. Но насколько с этим знаком, это точно не 10 мегов исполняемого файла, а пара сотен кБ.
P.S. Да, anest, или кто тут модератор...Когда длинное сообщение пишешь, полоса прокрутки (Vertical ScrollBar) постоянно прыгает снизу вверх. Эт что, новый метод борьбы с длинными сообщениями?
Т.38 app_fax и астериск 1.4
Буду очень признателен если кто поделится app_fax c T.38 бакпортированной на 1.4.17 (или предыдущие).
Трaнк версия к сожалению специфична, И я не могу еe исползовать...
Трaнк версия к сожалению специфична, И я не могу еe исползовать...
там все специфично
для работы app_fax(t38) нужно править астериск
патчи могу предоставить
Added after 2 hours 25 minutes:
Вот
для работы app_fax(t38) нужно править астериск
патчи могу предоставить
Added after 2 hours 25 minutes:
Вот
Примного благодарен!
Я тут с nv_backg* вожусь, засунул в предыдущий app_fax, вроде так, работает...
А с транком никак, да и freepbx с ним тоже не дружит.
П.С. У меня с факсами тоже особые отношения сложились. Бился в оконном мире с Brooktrout картами,
даже драйвер для ms shared fax сделал под isa карточку да и универсальную голосовую почту под нее написал.
У меня sdk для ённой имеется, и под linux также. Вроде hylafax enterprise имеет драйвер под нее. Изначально думал написать что то вроде chan_brooktrout... Если sdk нужно то могу скинуть.
Я тут с nv_backg* вожусь, засунул в предыдущий app_fax, вроде так, работает...
А с транком никак, да и freepbx с ним тоже не дружит.
П.С. У меня с факсами тоже особые отношения сложились. Бился в оконном мире с Brooktrout картами,
даже драйвер для ms shared fax сделал под isa карточку да и универсальную голосовую почту под нее написал.
У меня sdk для ённой имеется, и под linux также. Вроде hylafax enterprise имеет драйвер под нее. Изначально думал написать что то вроде chan_brooktrout... Если sdk нужно то могу скинуть.
Deniq, если есть какие-то вопросы по разработке или по специфичным патчам их можно задавать в разделе 'Asterisk-Dev'
Понял, исправлюсь 
Как мне кажеццо, без бубна тут не обойтись...
Поставил патч на 1.4.17, работает прекрасно с linksys wrtp54g.
Пробую с audiocodes mp-118, не в какую, получаю 488 на reinvite.
Зато была замечена очень интересная вещь: когда debug включен, факсы даже под g711 не проходят, app_fax говорит что Т38 negotiated succesfully, хотя на шлюзе Т38 отключен. Выключаю debug и все нормально, g711 работает.
Игрался с internal_timing и transcode_via_sln, безрезультатно.
Подскажите пожалуйста что это может быть?
Поставил патч на 1.4.17, работает прекрасно с linksys wrtp54g.
Пробую с audiocodes mp-118, не в какую, получаю 488 на reinvite.
Зато была замечена очень интересная вещь: когда debug включен, факсы даже под g711 не проходят, app_fax говорит что Т38 negotiated succesfully, хотя на шлюзе Т38 отключен. Выключаю debug и все нормально, g711 работает.
Игрался с internal_timing и transcode_via_sln, безрезультатно.
Подскажите пожалуйста что это может быть?
Вроде разобрался ентой проблемой, может кому будет интересно:
Два компа, в принципе одинаковые на 845 чипсете, софт идентичный.
На одном стоит digium TDM400B, на другом нет. На том что с карточкой (Tdm400B не используется) Т38 работает прекрасно с audiocodes mp-118FXO + wrtp54g.
На том что без tdm, Т38 не пашет вообще а ulaw 50% и с перебоями.
Прогнал zttest и получил на первом 99.995...% а на втором 99.952...%. После гооглинга стало понятно что * ну оочень не любит RTC аккуратность меньше чем 99.97%. Вообщем проблема с таймером и ztdummy. Похоже избавиться от этого будет трудно, тк все прибамбасы в bios уже отключены...
Может кто порекомендует бубен, попробую пошаманить тк выхода нет, tdm поставить в book-pc невозможно...
Два компа, в принципе одинаковые на 845 чипсете, софт идентичный.
На одном стоит digium TDM400B, на другом нет. На том что с карточкой (Tdm400B не используется) Т38 работает прекрасно с audiocodes mp-118FXO + wrtp54g.
На том что без tdm, Т38 не пашет вообще а ulaw 50% и с перебоями.
Прогнал zttest и получил на первом 99.995...% а на втором 99.952...%. После гооглинга стало понятно что * ну оочень не любит RTC аккуратность меньше чем 99.97%. Вообщем проблема с таймером и ztdummy. Похоже избавиться от этого будет трудно, тк все прибамбасы в bios уже отключены...
Может кто порекомендует бубен, попробую пошаманить тк выхода нет, tdm поставить в book-pc невозможно...
Уважаемый Cache!
Если Вас не затруднит и будет время/желание, то могли бы Вы спортировать свой патч на 1.4.18?
А то уж больно привлекательно было бы иметь в одном флаконе вошедший в 1.4.18 вот этот патч
http://bugs.digium.com/view.php?id=11700
с одной стороны, а с другой поддержку Т.38 в приложении для приема факсов...
Если Вас не затруднит и будет время/желание, то могли бы Вы спортировать свой патч на 1.4.18?
А то уж больно привлекательно было бы иметь в одном флаконе вошедший в 1.4.18 вот этот патч
http://bugs.digium.com/view.php?id=11700
с одной стороны, а с другой поддержку Т.38 в приложении для приема факсов...
полностью поддерживаюSolarW писал(а):Уважаемый Cache!
Если Вас не затруднит и будет время/желание, то могли бы Вы спортировать свой патч на 1.4.18?
А то уж больно привлекательно было бы иметь в одном флаконе вошедший в 1.4.18 вот этот патч
http://bugs.digium.com/view.php?id=11700
с одной стороны, а с другой поддержку Т.38 в приложении для приема факсов...
не затруднит ))
ближе к 13 по москве подготовлю а то у меня бардак в файлах

ближе к 13 по москве подготовлю а то у меня бардак в файлах
предлагаю на данный патч создать линк в правом верхнем углу наравне с asterisk-* zaptel и libpri
noize, не серьёзно.
извинти что так позно работы полно было
обещеный патч
asterisk-1.4.18
asterisk-addons-1.4.5
пользуйтесь
обещеный патч
asterisk-1.4.18
asterisk-addons-1.4.5
пользуйтесь
Cache, Спасибо!
Спасибо.
Только есть проблема.
Астериск-то факсы принимает, но пасру SIP на SIP поломался
. Ставлю чистый 1.4.18 - всё идет. Накатываешь патч - не идет. С теми же конфигами.
В 1.6-beta4 куда вошли все изменения, связанные с app_fax тоже пасру не работает.
Сейчас возимся с кодом, но надо бы помощь Cache или dimas...
Астериск-то факсы принимает, но пасру SIP на SIP поломался
В 1.6-beta4 куда вошли все изменения, связанные с app_fax тоже пасру не работает.
Сейчас возимся с кодом, но надо бы помощь Cache или dimas...
вот решение поробуйте отпишитесь как и что
http://bugs.digium.com/view.php?id=12078
http://bugs.digium.com/view.php?id=12078
спасибо dimas за неустанный труд.
С патчем всё ок, работает во всех позах...
Начинаем мечтать о факсах Zap SIP T38
Начинаем мечтать о факсах Zap SIP T38
вот почтик дл я 1.4.18
накладывать на чистый астериск!!!
накладывать на чистый астериск!!!
У человека вопрос:
по патчу patch-app_fax-support-t38.tar.gz
в ветке Т.38 app_fax и астериск 1.4.17
в посте
Cache СообщениеДобавлено: Пн Фев 11, 2008 4:12 pm
написано, что он для
asterisk-1.4.18
asterisk-addons-1.4.5
но в addons-1.4.5 (по крайней мере в том варианте, что щас лежит у дигиум) нету app_fax.c - addons-1.4.6 аналогично - он есть токи в asterisk-addons-1.6.0-beta2.tar.gz и в транке...
по патчу patch-app_fax-support-t38.tar.gz
в ветке Т.38 app_fax и астериск 1.4.17
в посте
Cache СообщениеДобавлено: Пн Фев 11, 2008 4:12 pm
написано, что он для
asterisk-1.4.18
asterisk-addons-1.4.5
но в addons-1.4.5 (по крайней мере в том варианте, что щас лежит у дигиум) нету app_fax.c - addons-1.4.6 аналогично - он есть токи в asterisk-addons-1.6.0-beta2.tar.gz и в транке...
Правильнее конечно дождаться ответа автора...Ded писал(а):... нету app_fax.c - addons-1.4.6 аналогично - он есть токи в asterisk-addons-1.6.0-beta2.tar.gz и в транке...
Но выскажу свое подозрение - судя по содержимому файла с патчем (сплошные плюсики) app_fax.c похоже просто создается с нуля этим патчем...
Но это только подозрение, может я и не прав
да он создаеца и все для него тоже создаеца в аддонах
Я угадал 
в данном форуме нужно эту фразу произносить так "Я знал, я знал! я телепат!"SolarW писал(а):Я угадал
http://asteriskforum.ru/viewtopic.php?t=5943

_________________
Мои рекомендации: Asterisk-1.8 + G.722 кодек = лучший выбор!
Успехов!
| DPLaksyuk wrote: |
| Аналогично, пач встает без проблем, После ./configure появляется /app_fax но выбрать его нельзя, хотя spandsp установлен centos 5.4 |
Запусти ./bootstrap.sh
Возможно понадобится spandsp выше версии
и autoconf-2.63 или выше
_________________
Мои рекомендации: Asterisk-1.8 + G.722 кодек = лучший выбор!
Успехов!
# patch -p0 < asterisk-1.4.21-t.38.patch
# ./bootstrap.sh
Generating the configure script ...
configure.ac:124: warning: AC_CACHE_VAL(GNU_MAKE, ...): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:2018: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2039: AC_CACHE_CHECK is expanded from...
acinclude.m4:132: AST_CHECK_GNU_MAKE is expanded from...
configure.ac:124: the top level
configure.ac:124: warning: AC_CACHE_VAL(GNU_MAKE, ...): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:2018: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2039: AC_CACHE_CHECK is expanded from...
acinclude.m4:132: AST_CHECK_GNU_MAKE is expanded from...
configure.ac:124: the top level
# ./configure
checking for a sed that does not truncate output... ./configure: line 5912: syntax error near unexpected token `SED,'
./configure: line 5912: ` _AC_PATH_PROG_FEATURE_CHECK(SED, sed gsed,'
# uname -a
Linux ubuntu 2.6.31-14-server #48-Ubuntu SMP Fri Oct 16 15:07:34 UTC 2009 x86_64 GNU/Linux
# dpkg --list | grep sed
sed 4.2.1-1
# dpkg --list | grep autoconf
ii autoconf 2.64-1ubuntu1
ii autoconf2.59 2.59
Какой пакет не поставлен или еще что?
_________________
Мои рекомендации: Asterisk-1.8 + G.722 кодек = лучший выбор!
Успехов!
http://asteriskforum.ru/viewtopic.php?t=5943
_________________
Мои рекомендации: Asterisk-1.8 + G.722 кодек = лучший выбор!
Успехов!
| mihail wrote: |
| а с непоявлением приложения RecievFax есть идеи ? |
Предположу, что для запуска app_fax не хватает libspandsp.so.2 в /usr/lib.
Если он у тебя в /usr/local/lib, тогда поможет ln -s /usr/local/lib/libspandsp.so.2 /usr/lib/libspandsp.so.2.
Самое верное будет, заглянуть в логи астериска.
| Код: |
| [dimagolov@office asterisk-1.4.23]$ ./bootstrap.sh Generating the configure script ... configure.ac:3: error: Autoconf version 2.60 or higher is required configure.ac:3: the top level autom4te: /usr/bin/m4 failed with exit status: 63 aclocal: autom4te failed with exit status: 63 configure.ac:3: error: Autoconf version 2.60 or higher is required configure.ac:3: the top level autom4te: /usr/bin/m4 failed with exit status: 63 configure.ac:3: error: Autoconf version 2.60 or higher is required configure.ac:3: the top level autom4te: /usr/bin/m4 failed with exit status: 63 autoheader: /usr/bin/autom4te failed with exit status: 63 |
Если его опустить и дальше сделать make clean && ./configure && make menuselect, то app_fax в меню не активно.
Пока что еще не понял, могу ли обновиться до Autoconf version 2.60 or higher, так как живу на CentOS 4 и там в репозитарии версия 2.59.
Какой может быть выход в данной ситуации?
_________________
CentOS 4 2.6.9-67.0.22.ELsmp/Asterisk 1.4.36/app_fax(t38)/spandsp 0.0.6pre12/dahdi 2.3.0.1/wanpipe 3.5.15
Sangoma A200d/Polycom IP601,501
FreeBSD 7.2-RELEASE/asterisk16-1.6.0.9_3
Готовьтесь к тому, что у вас может отвалиться T38 на ReceiveFax, SendFax. Типа, сессия установится, а передачи данных со стороны сервера не будет. Т30 - всё окей... Готовьтесь...
Хотя, есть "совершенно новое решение для факсов"
Но может есть решение для Autoconf >= 2.60 на CentOS 4?
_________________
CentOS 4 2.6.9-67.0.22.ELsmp/Asterisk 1.4.36/app_fax(t38)/spandsp 0.0.6pre12/dahdi 2.3.0.1/wanpipe 3.5.15
Sangoma A200d/Polycom IP601,501
FreeBSD 7.2-RELEASE/asterisk16-1.6.0.9_3
_________________
CentOS 4 2.6.9-67.0.22.ELsmp/Asterisk 1.4.36/app_fax(t38)/spandsp 0.0.6pre12/dahdi 2.3.0.1/wanpipe 3.5.15
Sangoma A200d/Polycom IP601,501
FreeBSD 7.2-RELEASE/asterisk16-1.6.0.9_3
Просто собрал из исходников свежие autoconf и m4, нормально отработал bootstrap.sh и даже собрался app_fax.so, но почему-то при старте не нашел libspandsp.so.2
Более существенно, что начиная с 1.4.22 вместо zaptel используется dahdi, так что нужно собрать в начале dahdi, выправить конфиги под него, а только потом собирать asterisk. Продолжу завтра, а то без городских линий не жизнь, пришлось опять откатиться назад.
_________________
CentOS 4 2.6.9-67.0.22.ELsmp/Asterisk 1.4.36/app_fax(t38)/spandsp 0.0.6pre12/dahdi 2.3.0.1/wanpipe 3.5.15
Sangoma A200d/Polycom IP601,501
FreeBSD 7.2-RELEASE/asterisk16-1.6.0.9_3
Dahdi 2.3.0.1 а не 2.4.0 потому, что даже самый свежий wanpipe 3.5.15 от Sangoma понимал только Dahdi 2.3.0, а 2.4.0 не понимал. Благодаря опции dahdichanname = no в asterisk.conf переименновывать каналлы из zap в dahdi не пришлось.
из особенностей могу заметить, что dahdi в отличии от zaptel требует запущенным модуль res_smdi.so, без него не мог загрузиться с ошибкой "chan_dahdi.so: undefined symbol: ast_smdi_interface_find"
_________________
CentOS 4 2.6.9-67.0.22.ELsmp/Asterisk 1.4.36/app_fax(t38)/spandsp 0.0.6pre12/dahdi 2.3.0.1/wanpipe 3.5.15
Sangoma A200d/Polycom IP601,501
FreeBSD 7.2-RELEASE/asterisk16-1.6.0.9_3
Вот так (-r204x196 -g1728x2340 | -r204x98 -g1728x1171) обеспечиваются размеры.Дима77 писал(а):Т.е. возможно ли обеспечить 1728х независимо от размеров исходной pdf-картинки средствами Ghostscript?
Код: Выделить всё
C:\111\bin\gswin32c -q -sDEVICE=tiffg32d -r204x196 -g1728x2340 -dBATCH -dPDFFitPage -dNOPAUSE -dFillOrder=2 -sOutputFile=C:\111\bin\outfine.tif %1 C:\111\bin\gswin32c -q -sDEVICE=tiffg32d -r204x98 -g1728x1171 -dBATCH -dPDFFitPage -dNOPAUSE -dFillOrder=2 -sOutputFile=C:\111\bin\out.tif %11) понять альбомная она или портретная и перевернуть если альбомная (на такой сервис со стороны gs честно даже не рассчитываю)
2) поменять масштаб, чтоб вписалась в ширину 1728 (а на это хотелось бы рассчитывать). Но пока не нашел как.
-DAutoRotatePages=Yes
Должна помочь
или указать конкретно
-с 0 (portrait) OR 1 (seascape) OR 2 (upside down) OR 3 (landscape)
т.е. цифру
-c 0 например
Должна помочь
или указать конкретно
-с 0 (portrait) OR 1 (seascape) OR 2 (upside down) OR 3 (landscape)
т.е. цифру
-c 0 например
Cache,
это ничего не помогает
-DAutoRotatePages=Yes -не принимает, а true, false -без толку
-с 0 -тоже не то, какое-то окно выводит, закрывает, а tiff вообще не образуется
Пытался пробовать еще другие ключи-толку нет.
При этом нормальные вертикальные a4-pdf_страницы он даже без указания -r204x196 правильно делает 1728х fine
Пример командной строки не приведете?
Или может вы предполагаете преобразование в 2 шага? Тогда это уже не очень интересно, как я упомянул второй шаг мне и самому по зубам.
Задача pdf->tiff в принципе решается через Acrobat Reader + printto на тот же вентафакс
Но:
1) у printto и так проблемы с закрытием окна Reader , да еще и новая версия Акробата сейчас появилась -там вообще все плохо.
2) Reader на многих файлах печатает иероглифы вместо английского, а Ghostscript вроде справляется, хотя и может сьесть какие-то буквы иногда
3) принтер иногда не оч. надежен
В общем нужен надежный конвертер in.pdf->out.tif
Задача актуальна, т.к. люди помешаны на этих pdf-ах...
это ничего не помогает
-DAutoRotatePages=Yes -не принимает, а true, false -без толку
-с 0 -тоже не то, какое-то окно выводит, закрывает, а tiff вообще не образуется
Пытался пробовать еще другие ключи-толку нет.
При этом нормальные вертикальные a4-pdf_страницы он даже без указания -r204x196 правильно делает 1728х fine
Пример командной строки не приведете?
Или может вы предполагаете преобразование в 2 шага? Тогда это уже не очень интересно, как я упомянул второй шаг мне и самому по зубам.
Задача pdf->tiff в принципе решается через Acrobat Reader + printto на тот же вентафакс
Но:
1) у printto и так проблемы с закрытием окна Reader , да еще и новая версия Акробата сейчас появилась -там вообще все плохо.
2) Reader на многих файлах печатает иероглифы вместо английского, а Ghostscript вроде справляется, хотя и может сьесть какие-то буквы иногда
3) принтер иногда не оч. надежен
В общем нужен надежный конвертер in.pdf->out.tif
Задача актуальна, т.к. люди помешаны на этих pdf-ах...
Дас, линуксообразный здесь видимо не способен сделать до конца правильно. Судя по количеству вопросов на эту тему,
rotating an A3 pdf from landscape to portrait
Auto rotating pages
и по отсутствию вменяемых ответов, чувствую что "проверку+форматирование(если надо)" проще будет сделать через GDI, тем более мне это все равно надо будет для стандартных форматов BMP/JPEG/GIF/PNG/TIFF(произвольный).
rotating an A3 pdf from landscape to portrait
Auto rotating pages
и по отсутствию вменяемых ответов, чувствую что "проверку+форматирование(если надо)" проще будет сделать через GDI, тем более мне это все равно надо будет для стандартных форматов BMP/JPEG/GIF/PNG/TIFF(произвольный).
а можно этот чудо файл?? попробую сконвертить
Так я ж ссылку дал:Cache писал(а):а можно этот чудо файл??
Попробуйте. Чуда там нет, просто горизонтальная ориентация. С остальными подобными то же самое.Дима77 писал(а):Все бы ничего, если pdf-страницы изначально в А4, т.е. тогда будет 1728 по ширине.
Но накололся например на вот этом файле:
http://www.elmo.webege.com/temp/cisco_fax_ts.pdf
Указанная выше команда gs делает tiff с размером 2386х810 (альбомная ориентация?), что неприемлимо для дальнейшего использования в качестве факса.
Причем там кажется(не уверен) таки A4, хоть и перевернутый, а ведь может быть вообще не A4, а скажем узкая горизонт. полоска.
Скажем так, в идеале доформатирование произвольной!!! картинки таки нужно.
Алгоритм может быть такой:
1) если ширина>высота, то переворачиваем (естественно это не для случая tiff 204х98, где высоту надо умножать на 2)
2) полученный "портрет" надо масштабировать( вписать в рамку 1728х2340), т.е. один размер "от и до", а второй как получится(белые поля)
3) там где белые поля, хорошо бы чтоб картинка была по центру (ось картинки совпадает с осью рамки)
4) анализ работы принтеров типа Ventafax показывает, что "рамку" желательно делать чуть меньше "листа", т.е. они справа "резервируют" белое вертик. поле (нек. ощутимой ширины). Опыт с реальными факсами также подтверждает что эта белая полоса справа нужна, иначе принимающмй факс может обрезать картинку.
5) ну потом разрешение выставить 204х196 или на 204х98 как заказано (предполагается что оно изначально м.б. любым, т.е. напр.96х96). При этом во втором варианте сжать по вертикали вдвое.
6) ну и палитру понятно убрать, если рисунок напр. цветной.
Вообще говоря, такую ф-цию я написать себе хочу для преобразования произв. графики к странице(цам) a факса. Но, если уж я вяжусь с PDF и с GHostscript, который все это якобы должен уметь (и половину из описанного делает т.е. разрешение, палитра и в большинстве случаев размер(но не всегда!!!!!!!!! в чем и вопрос) ), это будет двойная работа + время + процессор, а GS его и так не хило грузит.
Cache, тупик?Cache писал(а):попробую сконвертить
Я пока тоже времени даром не теряю.
Вписать "горизонтальную" картинку в 1728х2340, черные поля, а надо чтоб были белые!
Белый лист заготовили, в размер вписывать научился,
пока застрял на разворотах...
Ну, скажем так, при следующей минимальной конфигурации:Дима77 писал(а):Да, и еще. Считаю, что размер dll в 15МБ это очень круто.
Мне от Ghostscript нужно только PDF->TIFF.
Возможно ли при компиляции исключить из dll кучу ненужных опций и уменьшить размер dll? Нек. косвенные соображения
mupdf
дают основания предположить что можно уменьшиться до 5-6МБ
Как?
C:\ghostscript-9.01\psi\msvc.mac
удалось уменьшиться до 9,98МБ , меньше не получилось
Код: Выделить всё
FEATURE_DEVS=$(PSD)pdf.dev $(PSD)mspoll.dev ... DEVICE_DEVS=$(DD)mswindll.dev DEVICE_DEVS2= DEVICE_DEVS3= DEVICE_DEVS4= DEVICE_DEVS5= DEVICE_DEVS6= DEVICE_DEVS7= DEVICE_DEVS8= DEVICE_DEVS9= DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev DEVICE_DEVS11= DEVICE_DEVS12= DEVICE_DEVS13= DEVICE_DEVS14= DEVICE_DEVS15= DEVICE_DEVS16= # Overflow for DEVS3,4,5,6,9 DEVICE_DEVS17= DEVICE_DEVS18= DEVICE_DEVS19= DEVICE_DEVS20= DEVICE_DEVS21=Обертку из GDI/GDI+ написал, она вопрос с Autorotate решает.
Ну, не умеет GS это, и ладно.
Вопросом таким задался:
pdf->tiff (to bmp,pcx,png,jpg) GS делает успешно.
А умеет ли GS делать (bmp,pcx,png,jpg,tiff/м.б. цветной/) ->tiff ?
По идее должен, ибо знает все эти форматы.
Как?
Собственно моя GDI обертка все это делает для обычных картинок.
Но есть одно но:
При конвертации цветной картинки в ч/б факс, чтобы ч/б не выглядело убого, применяется HALFTONE (в полутонах).
Конвертация картинки Цветная >> 2 цвета(ч/б) с сохранением тонов
По идеи винды этот вопрос решают с применением
Код: Выделить всё
SetStretchBltMode hdcDst, HALFTONE1)размер файла в CCITT3/CCITT4 будет грубо 1МБ
2) время передачи такого факса 10минут/страница
На Microsoft есть описание этого:
http://msdn.microsoft.com/en-us/library ... S.85).aspx
Параметр отвечающий за качество (нам не надо очень хорошее) суть
ulHTPatternSize (HT_PATSIZE_2x2 ,HT_PATSIZE_4x4 и т.д.)
Т.к. у меня не принтер (не драйвер), а просто конвертирование, то влесть в "GDIINFO structure" чтобы поменять Pattern Size я не могу
(ну или не знаю как).
О чем это я. GS умеет делать HALFTONE c приемлемыми параметрами.
Посему процедура GS-конвертации (bmp,pcx,png,jpg,tiff/м.б. цветной/) ->tiff
представляет интерес.
Ну, и скажем так, виндовский encoder
1) не знает что такое msb2lsb и lsb2msb (should be dFillOrder=2) -по идее для Spandsp это не важно, но все же
2) для CCITT3 не различает tiffg3 (T.4 1D) и tiff32d (T.4 2D)
Вообще GS - это PS и PDF интерпретатор (спасибо man gs), поэтому когда у меня возникла такая же идея, при помощи gs делать конверт из JPEG в TIFF, я быстро от неё отказался. Пользуюсь ImageMagickом:А умеет ли GS делать (bmp,pcx,png,jpg,tiff/м.б. цветной/) ->tiff ?
По идее должен, ибо знает все эти форматы.
Как?
Код: Выделить всё
convert test.jpeg -density 204x196 -resize 1728x -monochrome -compress Fax test0_fax.tiff Полазив по форумам, посмотрев документацию, понял что наверно да: на выходе - чего хочешь, но на входе - только pdf/ps.c0rnoTa писал(а):Вообще GS - это PS и PDF интерпретатор
...Пользуюсь ImageMagickом:
Но всё же интересно, может быть на самом деле GS способен выполнить эту операцию сам?
Обидно. На самом деле с картинками то все просто. Упрощенно так:
1) TIFF,BMP,PNG,GIF,JPG - грузим в битмап
2) Над Битмап делаем: изменение размера, разрешения, Rotate если надо, и изменение цветности.
3) Сохраняем bitmap назад в TIFF,BMP,PNG,GIF,JPG
В виндах как бы не называлась прога, она по любому делает это через GDI, и делает это замечательно.
Единственный вопрос, что у меня не получается нормально сделать (получаается, но не могу залезть в параметры) это HALFTONE он же ditering.
А у GS это получается(цветные PDF в ч/б tiff здорово перерабатывает). Я конечно могу сделать (Цветная картинка)->GDI->(Цветной TIFF)->LIBTIFF->(Цветной PDF)->(GS+ditering)->(ч/б TIFF), но это извращение полное будет. Очень жаль что GS не умеет.
Нужна по сути одна ф-ция bitmap2(ч/б)=(bitmap1(24bit), HALFTONE, параметры).
Это есть в GDI через написание драйвера принтера(так думаю) и где-то в OpenSorce (интересно, где, вызвать бы ее через API, заразу). Т.е. успех зависит от схемы диттеринга и от Pattern Size. Полагаю что OpenSorsы используют какой-то свой device-independent алгоритм. Там кстати еще менять размеры картинки нельзя после применения полутонов, иначе вся красота смажется.
> -monochrome -compress Fax
Я сильно сомневаюсь что ваш Magic сильно разборчив в разновидностях и деталях FAX/Tiff компрессий. Посмотрите для интереса, что там в Tag-ах стоит, если просто Compression=3 или 4, при этом опция T4Option (0 либо 4 для Compression=3 (1d), 1 либо 5 для Compression=3(2d)),опция T6Option=0 (для Compression=4) отсутствуют, и при этом поле BitOrder (=2) не задано, то это виндовский CCITT3 или CCITT4, а если заданы, то это libtiff/gs. Ну по любому Magic мне интереса не представляет, GS того стоит только из-за PDF.
Ой, а я и не знаю, какие там теги T4 и T6, вот информация от tiffinfo.Дима77 писал(а): > -monochrome -compress Fax
Я сильно сомневаюсь что ваш Magic сильно разборчив в разновидностях и деталях FAX/Tiff компрессий. Посмотрите для интереса, что там в Tag-ах стоит, если просто Compression=3 или 4, при этом опция T4Option (0 либо 4 для Compression=3 (1d), 1 либо 5 для Compression=3(2d)),опция T6Option=0 (для Compression=4) отсутствуют, и при этом поле BitOrder (=2) не задано, то это виндовский CCITT3 или CCITT4, а если заданы, то это libtiff/gs. Ну по любому Magic мне интереса не представляет, GS того стоит только из-за PDF.
Код: Выделить всё
TIFF Directory at offset 0x4dca (19914) Image Width: 1728 Image Length: 645 Resolution: 204, 196 pixels/inch Bits/Sample: 1 Compression Scheme: CCITT Group 3 Photometric Interpretation: min-is-white FillOrder: msb-to-lsb Orientation: row 0 top, col 0 lhs Samples/Pixel: 1 Rows/Strip: 645 Planar Configuration: single image plane Page Number: 0-1 Group 3 Options: EOL padding (4 = 0x4) Compression Scheme: CCITT Group 3 ->Compression=3c0rnoTa писал(а):Ой, а я и не знаю, какие там теги T4 и T6, вот информация от tiffinfo.Код: Выделить всё
TIFF Directory at offset 0x4dca (19914) ... Compression Scheme: CCITT Group 3 ... FillOrder: msb-to-lsb ... Group 3 Options: EOL padding (4 = 0x4)
Group 3 Options: EOL padding (4 = 0x4)->T4Option=4 (T.4 1D, G3 fax with EOLs, byte-align EOL codes)
FillOrder: msb-to-lsb ->FillOrder=1 (вообще говоря для факса по хорошему должно быть равно =2, т.е. lsb2msb)
Ну, т.е. это скорее всего не виндовский encoder, ежли только они "ручками" EXIFTags не переписывают (кстати способ обмануть некоторые зловредные вьюеры, но сомневаюсь что правильный).
А spandsp по барабану, она вам чего хочешь отправит, хоть lzw, хоть rlec0rnoTa писал(а):Могу вам точно сказать, что SendFAX отправляет такое изображение без искажений.
Ограничения такие:
1) Если tiff не b/w(Bits/Sample: 1), то будете посланы со стороны Spandsp
2) Если не выполнено Image Width: 1728, то скорее всего будете посланы со стороны принимающего факс-аппарата.
Ура!
наконецто!!
Отличная новость!
Ждем с нетерпением релиза 1.10
Ждем с нетерпением релиза 1.10
Отличная новость
Помогите с факсом на Asterisk 1.8.8.0-rc1
Собирал на этом: spandsp-0.0.6pre18.tgz
FreePBX 2.9.0.7
В файле /etc/asterisk/sip.conf, добавил только это. Получил такое в консоле 'sip show settings'
Скрещиваю с грандстримом Настройки по факсу, которые я крутил на грандстриме После астериска звонки уходят на циску, настройки пира Модули прогрузились Во вебе, по факсом по умолчанию стоит
Факсовый аппараты не соединяются между собой.
Какой дебаг реально посмотреть, что бы понять, что крутить....
Added after 1 hours 49 minutes:
Небольшие корректировки
1) Факсы соединяются
2) Ошибка передачи
Смотрел Дамп, ни слово о T.38, не слово о ReInvite, ни хоть какое-то упоминание, тупо бегает RTP.
Кто виноват, что делать?
Вот нашёл на шлюзе Поставлю в Yes. Завтра буду тестить.
Просьба кинуться доками про факсы и 1.8 Asterisk, а то гугол забанил не получается найти, что-нибудь более-менее нужное....
Собирал на этом: spandsp-0.0.6pre18.tgz
FreePBX 2.9.0.7
В файле /etc/asterisk/sip.conf, добавил только это.
Код: Выделить всё
t38pt_udptl = yesКод: Выделить всё
T.38 support: Yes T.38 EC mode: FEC T.38 MaxDtgrm: -1 SIP realtime: DisabledСкрещиваю с грандстримом
Код: Выделить всё
Product Model: GXW-4024 V0.4A Software Version: Program-- 1.0.5.5 Bootloader-- 1.0.0.9 Core-- 1.0.5.2 Base-- 1.0.5.2Код: Выделить всё
Fax mode: T.38 (Auto Detect) Fax tone detection mode: CalleeКод: Выделить всё
codec g711alaw fax rate 9600 fax protocol t38 ls-redundancy 5 hs-redundancy 3 fallback pass-through g711alawКод: Выделить всё
Module Description Use Count res_fax.so Generic FAX Applications 1 res_fax_spandsp.so Spandsp G.711 and T.38 FAX Technologies 0 2 modules loaded localhost*CLI> fax show version FAX For Asterisk Components: Applications: 1.8.8.0-rc1 Spandsp FAX Driver: 20110122 075024Код: Выделить всё
Error Correction Mode: Yes Maximum transfer rate: 14400 Minimum transfer rate: 2400Факсовый аппараты не соединяются между собой.
Какой дебаг реально посмотреть, что бы понять, что крутить....
Added after 1 hours 49 minutes:
Небольшие корректировки
1) Факсы соединяются
2) Ошибка передачи
Смотрел Дамп, ни слово о T.38, не слово о ReInvite, ни хоть какое-то упоминание, тупо бегает RTP.
Кто виноват, что делать?
Вот нашёл на шлюзе
Код: Выделить всё
Send Re-INVITE After Fax: No YesПросьба кинуться доками про факсы и 1.8 Asterisk, а то гугол забанил не получается найти, что-нибудь более-менее нужное....
Кажется начало побеждаться, исходящий факс по T.38 пошёл, в общем верной дорогой шёл товарищи, отрубил canreinvite на sip логине, а то железки между собой пытались всё договориться.
Завтра на входящей попробую...
Завтра на входящей попробую...
В общем всё заработало
nat=no
canreinvite=no
на trunk в вебе nat=no.
На циске
А то всё равно оно тяготело после проверки возможности на Т.38, потом договориться на 711alaw, почему не понял, по этому сделал на циске на пирах жётско T.38 .
Проблемы были, что железки пытались между собой договорится мимо Астериска, а так же НАТ был, T.38 не пережил его.
nat=no
canreinvite=no
на trunk в вебе nat=no.
На циске
Код: Выделить всё
fax rate 9600 fax protocol t38 ls-redundancy 5 hs-redundancy 3 fallback noneПроблемы были, что железки пытались между собой договорится мимо Астериска, а так же НАТ был, T.38 не пережил его.