VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Факс в астериск

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Aeooe
Сообщения: 143
Зарегистрирован: 28 авг 2013, 15:49

Факс в астериск

Сообщение Aeooe »

Добрый день господа форумчане. Вот решил заняться наконец факсами на астере.
Делаю по мануалу
Собственно пока нахожусь на этапе попытки принять факс. Имеем:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Диалплан
[incoming]
include => incoming-fax
include => dongle-incoming
exten => 000XXXX,1,Goto(IVR,444,1)
exten => h,n,Hangup()

;=======================================================IVR меню====================================================================

[IVR] ; голосовое меню
include => intercom
exten => 444,1,Wait(1)
exten => 444,n,Answer()
exten => 444,n,Set(VOLUME(TX)=10)
exten => 444,n,Wait(1)
exten => 444,n,Set(home="/home/menu")
exten => 444,n,Wait(1)
exten => 444,n,Background(${home}/welcome)
exten => 444,n,WaitExten(1)
exten => 444,n,Background(${home}/menu)
exten => 444,n,WaitExten(4)
exten => 444,n,Goto(kommersant,1,1) ; Коммерческий отдел.
exten => 1,1,Goto(kommersant,1,1)
exten => 2,1,Goto(support,2,1)
exten => 4,1,Goto(incoming-fax,4,1)
exten => i,1,Playback(pbx-invalid)
exten => i,n,Goto(IVR,444,9)
exten => h,n,Hangup()

;=====================================================FAX========================================================================

[incoming-fax] ; Входящий Fax
exten => 4,1,WaitExten(10)
exten => fax,n,NoOp(-------------------Call from ${CALLERID(number)} to ${EXTEN}------------------)
exten => fax,n,Goto(fax-rx,receive,1)

[fax-rx] ; Читаем и отправляем Fax на email

exten => receive,1,NoOP(------------------- FAX from ${CALLERID(number)} ------------------)
exten => receive,n,Answer()
exten => receive,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${CALLERID(number)})
exten => receive,n,Set(FAXFILE=/var/spool/asterisk/fax/receive/${FILENAME}.tif)
exten => receive,n,Set(FAXOPT(headerinfo)=Received by ${CALLERID(number)} ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)})
exten => receive,n,Set(FAXOPT(localstationid)=OFFICE)
exten => receive,n,Set(FAXOPT(maxrate)=14400)
exten => receive,n,Set(FAXOPT(minrate)=2400)
exten => receive,n,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => receive,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => receive,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => receive,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => receive,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => receive,n,NoOp(**** RECEIVING FAX : ${FAXFILE} ****)
exten => receive,n,ReceiveFAX(${FAXFILE})
exten => receive,n,Hangup()
exten => h,1,NoOP(------------------- FAX from ${CALLERID(number)} ------------------)
exten => h,n,NoOP(------------------- STATUS ${FAXSTATUS} ${FAXERROR} ------------------)
exten => h,n,system(/var/lib/asterisk/agi-bin/fax-process.pl --to support@bitcom32.ru --from asterisk@asterisk.org --subject "Fax prineat s ${URIENCODE(${CALLERID(number)})} ${URIENCODE(${CALLERID(name)})}" --attachment ${FILENAME}.pdf --type application/pdf --file ${FAXFILE});
Исходя из ИВР я хочу получить возможность получить факс при тональном донаборе по цифре 4.
Звоним - делаем переход на цифру 4 и пробую отправить факс. В ответ получаю:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Выхлоп
[Feb 10 16:24:41] WARNING[14534]: pbx.c:9977 pbx_builtin_waitexten: Timeout but no rule 't' or 'e' in context 'incoming-fax'
Aeooe
Сообщения: 143
Зарегистрирован: 28 авг 2013, 15:49

Re: Факс в астериск

Сообщение Aeooe »

t38 вроде включил:
T.38 support: Yes
T.38 EC mode: FEC
T.38 MaxDtgrm: -1
spandsp вроде скомпилил...:
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
Aeooe
Сообщения: 143
Зарегистрирован: 28 авг 2013, 15:49

Re: Факс в астериск

Сообщение Aeooe »

Включил.
faxdetect = yes

Диалплан приема факса поправил:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[incoming]
include => incoming-fax
include => dongle-incoming
exten => 000ХХХХХ,1,Goto(IVR,444,1)
exten => h,n,Hangup()

;=======================================================IVR меню====================================================================

[IVR] ; голосовое меню
include => intercom
exten => 444,1,Wait(1)
exten => 444,n,Answer()
exten => 444,n,Set(VOLUME(TX)=10)
exten => 444,n,Wait(1)
exten => 444,n,Set(home="/home/menu")
exten => 444,n,Wait(1)
exten => 444,n,Background(${home}/welcome)
exten => 444,n,WaitExten(1)
exten => 444,n,Background(${home}/menu)
exten => 444,n,WaitExten(4)
exten => 444,n,Goto(kommersant,1,1) ; Коммерческий отдел.
exten => 1,1,Goto(kommersant,1,1)
exten => 2,1,Goto(support,2,1)
exten => 4,1,Goto(incoming-fax,fax,1)
exten => i,1,Playback(pbx-invalid)
exten => i,n,Goto(IVR,444,9)
exten => h,n,Hangup()

;=====================================================FAX========================================================================

[incoming-fax] ; Входящий Fax
exten => fax,1,NoOp(-------------------Call from ${CALLERID(number)} to ${EXTEN}------------------)
exten => fax,n,Goto(fax-rx,receive,1)

[fax-rx] ; Читаем и отправляем Fax на email

exten => receive,1,NoOP(------------------- FAX from ${CALLERID(number)} ------------------)
exten => receive,n,Answer()
exten => receive,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${CALLERID(number)})
exten => receive,n,Set(FAXFILE=/var/spool/asterisk/fax/receive/${FILENAME}.tif)
exten => receive,n,Set(FAXOPT(headerinfo)=Received by ${CALLERID(number)} ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)})
exten => receive,n,Set(FAXOPT(localstationid)=OFFICE)
exten => receive,n,Set(FAXOPT(maxrate)=14400)
exten => receive,n,Set(FAXOPT(minrate)=2400)
exten => receive,n,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => receive,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => receive,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => receive,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => receive,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => receive,n,NoOp(**** RECEIVING FAX : ${FAXFILE} ****)
exten => receive,n,ReceiveFAX(${FAXFILE})
exten => receive,n,Hangup()
exten => h,1,NoOP(------------------- FAX from ${CALLERID(number)} ------------------)
exten => h,n,NoOP(------------------- STATUS ${FAXSTATUS} ${FAXERROR} ------------------)
exten => h,n,system(/var/lib/asterisk/agi-bin/fax-process.pl --to support@bitcom32.ru --from asterisk@asterisk.org --subject "Fax prineat s ${URIENCODE(${CALLERID(number)})} ${URIENCODE(${CALLERID(name)})}" --attachment ${FILENAME}.pdf --type application/pdf --file ${FAXFILE});
Вот такой выхлоп:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[Feb 10 16:58:29] DTMF[17431]: channel.c:4151 __ast_read: DTMF begin '4' received on SIP/telphin-00000000
[Feb 10 16:58:29] DTMF[17431]: channel.c:4155 __ast_read: DTMF begin ignored '4' on SIP/telphin-00000000
[Feb 10 16:58:29] DTMF[17431]: channel.c:4066 __ast_read: DTMF end '4' received on SIP/telphin-00000000, duration 110 ms
[Feb 10 16:58:29] DTMF[17431]: channel.c:4135 __ast_read: DTMF end passthrough '4' on SIP/telphin-00000000
[Feb 10 16:58:34] NOTICE[17431]: chan_sip.c:7953 sip_read: FAX CNG detected but no fax extension
[Feb 10 16:58:34] DTMF[17431]: channel.c:4066 __ast_read: DTMF end 'f' received on SIP/telphin-00000000, duration 0 ms
[Feb 10 16:58:34] DTMF[17431]: channel.c:4124 __ast_read: DTMF end accepted without begin 'f' on SIP/telphin-00000000
[Feb 10 16:58:34] DTMF[17431]: channel.c:4135 __ast_read: DTMF end passthrough 'f' on SIP/telphin-00000000
[Feb 10 16:58:34] WARNING[17431]: file.c:666 ast_openstream_full: File pbx-invalid does not exist in any format
[Feb 10 16:58:34] WARNING[17431]: file.c:957 ast_streamfile: Unable to open pbx-invalid (format 0x8 (alaw)): No such file or directory
[Feb 10 16:58:34] WARNING[17431]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/telphin-00000000 for pbx-invalid
[Feb 10 16:59:11] NOTICE[17415]: chan_sip.c:9850 process_sdp: T.38 re-INVITE detected but no fax extension
Видимо у меня проблема в диалпланом. Подсобите как это должно быть?
Последний раз редактировалось Aeooe 10 фев 2014, 17:01, всего редактировалось 1 раз.
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Факс в астериск

Сообщение awsswa »

в [IVR] нету части на t
exten => t,1,Тря-ля-ля
платный суппорт по мере возможностей
Aeooe
Сообщения: 143
Зарегистрирован: 28 авг 2013, 15:49

Re: Факс в астериск

Сообщение Aeooe »

а зачем в IVR обрабатывать таймаут для факса? Там таймаут как бы нужен, но для тех кто тупит в выбором в меню. или я не правильно понял?
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Факс в астериск

Сообщение Wapo »

Код: Выделить всё

[Feb 10 16:58:34] NOTICE[17431]: chan_sip.c:7953 sip_read: FAX CNG detected but no fax extension
Данная строка ничего не говорит? Воткните в IVR exten => fax,1,.....
Aeooe
Сообщения: 143
Зарегистрирован: 28 авг 2013, 15:49

Re: Факс в астериск

Сообщение Aeooe »

Спасибо. что то я сам не допер до ентого. :oops:
Факс прошел но не совсем красиво - изображение самазалось. В ответ от астера получаю:
[Feb 11 12:15:36] WARNING[27197]: res_fax_spandsp.c:369 spandsp_log: WARNING T.30 Page did not end cleanly
Почему T.30? Отравляю факс через аналоговую линию
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Факс в астериск

Сообщение ded »

Потому что аналоговые шипения в линии кодируются в протокол T.30
Group 2 faxes conform to the ITU-T Recommendations T.30 and T.3. Group 2 faxes take three minutes to transmit a single page, with a vertical resolution of 96 scan lines per inch. Group 2 fax machines are almost obsolete, and are no longer manufactured. Group 2 fax machines can interoperate with Group 3 fax machines.
http://en.wikipedia.org/wiki/T.30
Aeooe
Сообщения: 143
Зарегистрирован: 28 авг 2013, 15:49

Re: Факс в астериск

Сообщение Aeooe »

Как с этим делом бороться?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Факс в астериск

Сообщение ded »

Отказаться от факсов!
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH