Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Asterisk 1.4 spandsp app_rxfax

Asterisk 1.4 spandsp app_rxfax

Сообщений: 89

Re: Asterisk 1.4 spandsp app_rxfax

Stalker, да, я так и сделал (поставил * 1.6), но теперь другая напасть:
Когда выполняется: exten=s,n,receivefax(${FAXFILE}) по IAX2 каналу, то в логи сыпется много-много iax2_read: I should never be called!
причем, если звонить по IAX на другие номера - все нормально, если звонить по SIP на Receivefax, то тоже все нормально... что это такое? в гугле про решение этой проблемы ничего нет...
2009-03-23 13:10

Откуда: Russia
Сообщений: 72

Re: Asterisk 1.4 spandsp app_rxfax

contramundum
Отработка этого приложения в канале IAX2 по Т.38 невозможна (либо пока невозможна...). Например для работы приложений ReceiveFax/SendFax было внесено некоторое количество изменений в chan_sip (SIP канал), причём были изменения связанные и с нормальной работой T.38. В связи с чем используется именно IAX протокол? SIP не устраивает?
Для работы с факсами также можно попробовать связку IAXmodem+HylaFAX.
2009-03-23 16:43

Сообщений: 866

Re: Asterisk 1.4 spandsp app_rxfax

1. Оригинальный rxfax/txfax вообще не завершал внутренний цикл до тех пор пока канал не терминировался (пока не клали трубку). Так что управление в диалплан не возвращалось даже в случае успешного приема факса.

Так что ЕДИНСТВЕННЫЙ способ что-то сделать с факсом в конце это повесить обработчик на экстеншен 'h'.

2. SendFAX/ReceiveFAX продолжают выполнение диалплана в случае успеха. Однако если требуется что-то делать и в случае неуспеха - опять же единственный путь это обработать экстеншен 'h'.

Я, например, всю обработку (и успех и не успех) делаю в 'h' чтобы не писать одно и то же два раза.

3. T38 по IAX не ходит. Пока.
2009-03-23 17:43

Откуда: Волгоград
Сообщений: 62

Re: Asterisk 1.4 spandsp app_rxfax

dimas:

Однако если требуется что-то делать и в случае неуспеха - опять же единственный путь это обработать экстеншен 'h'.
Не правда! После неуспеха продолжается выполнение, а в переменную пишется результат SUCCESS/FAILED вроде (имя переменной не помню, астериска под рукой нет, подробности по `core show application receivefax`)
У меня о неуспехе после небольшой паузы проговаривается соотв. сообщение.
2009-03-23 22:41

Сообщений: 89

Re: Asterisk 1.4 spandsp app_rxfax

Ну, вот с IAX-ом разобрался - теперь просто по SIP шлю не думая, но теперь * умирает с ошибкой app_fax: t30_get_tx_ident ...))))) Подправил исходник, в соответствии с http://bugs.digium.com/view.php?id=14191 - вроде заработало...
Вполне вероятно, что у меня проблемы с Spandsp, хотя устанавливал именно то, что гарантированно работает (версия 0.0.5pre4), даже пересобирал... может нужно попробовать все "с нуля" установить...)))
Интересно, когда-нибудь будет полностью готовое и рабочее решение app_fax?

И кстати, у меня вроде нормально работает и без экстеншена "h"))
2009-03-24 11:11

Откуда: Russia
Сообщений: 72

Re: Asterisk 1.4 spandsp app_rxfax

contramundum
Да я вот и думаю попробовать накидать рингплан без h. Вариант с h в принципе хорош тем, что после завершения переговоров можно сделать кучу действий с файлом факса, не занимая линию, просто в отключенном канале. С другой стороны я думаю перенести часть действий в основной кусок рингплана и поглядеть. В общем сегодня копаться буду. Сделаю несколько вариантов.
Рад, что у вас всё получилось. А по поводу
Интересно, когда-нибудь будет полностью готовое и рабочее решение app_fax?
я думаю когда нибудь да будет :)) Собсно сами факсы как класс должны давно помереть. Есть куча современных способов передачи нужной информации на дальние расстояния, например электронная почта :)
2009-03-24 11:48

Сообщений: 89

Re: Asterisk 1.4 spandsp app_rxfax

Stalker:

Собсно сами факсы как класс должны давно помереть. Есть куча современных способов передачи нужной информации на дальние расстояния, например электронная почта :)
Да!! Полностью солидарен!! Просто некоторые люди до сих пор живут в каменном веке и им просто не объяснить, что емейл намного надежней, быстрей и удобней!.. :)
2009-03-24 12:56

Сообщений: 866

Re: Asterisk 1.4 spandsp app_rxfax

dimas:

Однако если требуется что-то делать и в случае неуспеха - опять же единственный путь это обработать экстеншен 'h'.
Не правда! После неуспеха продолжается выполнение, а в переменную пишется результат SUCCESS/FAILED вроде (имя переменной не помню, астериска под рукой нет, подробности по `core show application receivefax`)
У меня о неуспехе после небольшой паузы проговаривается соотв. сообщение.
Ну неуспех разный бывает. Если на том конце трубу положили, то ReceiveFAX прервет выполнение диалплана и обработать эту ситуацию и послать например мыло со словами как все плохо следующей строчкой диалплана - не получится.

Поэтому повторюсь что единственный надежный способ сделать что-то после приема факса в любом случае - это сделать это в экстеншене 'h'.

After some thought and advices from other people on asterisk-dev list I made the application to work the following way:

* If fax is sent ok, application sets FAXSTATUS=SUCCESS and returns successfully (dialplan execution continues)
* If there were some problems with the fax data (no fax for example) but the channel still up and ok, application sets FAXSTATUS=FAILED and returns successfully (dialplan execution continues)
* If there are problems with channel (like user hangup), application sets FAXSTATUS=FAILED and returns -1 which makes Asterisk to immediately abort dialplan execution.

Note that in the last case, dialplan code immediately following SendFAX/ReceiveFAX won't be executed. If you wamt to perform some action in any failure including channel hangup, you better not placing the code after the SendFAX/ReceiveFAX but place it in the 'h' extension instead. This extension gets executed on the hangup. You will have access to all FAX* variables there.

Something like:

[faxcontext]
exten = 100,1,ReceiveFAX(.......)
exten = 100,n,Hangup

exten = h,1,Noop(This will be executed regardles fax received Ok or user hung up)
exten = h,n,Noop(FAXSTATUS = ${FAXSTATUS})

http://bugs.digium.com/view.php?id=10815
2009-03-24 13:01

Avatara of Sofik
Откуда: Kiev
Сообщений: 2

Re: Asterisk 1.4 spandsp app_rxfax

cyberianz:

Сделал что то похожее на ubuntu

apt-get install libtiff4 libtiff4-dev libtiff-tools cmake mutt

wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.4pre15.tgz

./configure --prefix=/usr
make clean
make
make install

svn co https://agx-ast-addons.svn.sourceforge.net/svnroot/agx-ast-addons agx-ast-addons

cd ../agx-ast-addons/trunk/
выполняем
build.sh
После этого выскакивает:
-- Build files have been written to: /usr/src/agx-ast-addons/trunk
[ 12%] Building C object CMakeFiles/app_devstate.dir/app_devstate.o
cc1: warnings being treated as errors
/usr/src/agx-ast-addons/trunk/app_devstate.c: In function ‘action_devstate’:
/usr/src/agx-ast-addons/trunk/app_devstate.c:163: error: format not a string literal and no format arguments
make[2]: *** [CMakeFiles/app_devstate.dir/app_devstate.o] Error 1
make[1]: *** [CMakeFiles/app_devstate.dir/all] Error 2
make: *** [all] Error 2

что делать подскажите плз
2009-04-07 12:09

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Asterisk 1.4 spandsp app_rxfax

Возможно это причина - cc1: warnings being treated as errors
Надо сделать export CFLAGS="-Wnone", видимо пробегает где-то -Werror.
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2009-04-07 18:02

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru