Asterisk Email2FAX
Да вопрос тривиальный и избитый, но я у меня всё равно есть белые пятна в этом вопросе
1) txfax - в Е1 справиться? Мне кажется что да отправит tiff с удовольствием
2) как мне принять email, где почитать можно, что тут делать то нужно? Как понять что мыло пришло, а если почтоый сервер, не сервер с Астериском, как проверять мыло или там сделать редирект на почтовую службу, которая на asterisk. - в общем осознания что делать нет, подскажите плиз.
P.S. консольные конверторы DOC в tiff или pdf есть? В офисе хотят прямо с ворда отправлять.
_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
Лог получения мыла с внешнего мыла
| Код: |
| Apr 5 15:03:42 asterisk postfix/smtpd[28843]: connect from forward15.mail.yandex.net[95.108.130.119] Apr 5 15:03:43 asterisk postfix/smtpd[28843]: NOQUEUE: reject: RCPT from forward15.mail.yandex.net[95.108.130.119]: 550 5.1.1 : Recipient address rejected: User unknown in local recipient table; from= to= proto=ESMTP helo= Apr 5 15:03:43 asterisk postfix/smtpd[28843]: disconnect from forward15.mail.yandex.net[95.108.130.119] |
Постфикс стартанул нормально , через него бегают исходящие факсы на почту нормально. Ставил yum
postfix-2.3.3-2.3.el5_6
postfix-pflogsumm-2.3.3-2.3.el5_6
Конфиг прикрепляю, md.kz - реальное имя, только я его изменил на выдуманное мною.
Ещё в по ману с email2fax есть такое в /etc/postfix/transport
| Код: |
| sendfax@sip.md.kz localhost:astfax |
Что делать и кто виноват у меня мыслей 0, подскажите плиз.
Added after 1 hours 18 minutes:
Добавил в /etc/postfix/users
sendfax OK
Получил новую ошибку, уже хорошо... хотя не очень...
| Код: |
| Apr 5 17:30:39 asterisk postfix/smtpd[29875]: connect from forward9.mail.yandex.net[77.88.61.48] Apr 5 17:30:45 asterisk postfix/smtpd[29875]: NOQUEUE: reject: RCPT from forward9.mail.yandex.net[77.88.61.48]: 450 4.1.1 : Recipient address rejected: unverified address: mail transport unavailable; from= to= proto=ESMTP helo= Apr 5 17:30:45 asterisk postfix/smtpd[29875]: disconnect from forward9.mail.yandex.net[77.88.61.48] |
User unknown
ваш постфикс, насколько я понимаю, не знает о существовании sendfax@sip.md.kz
Офтоп: ИМХО, постфикс зло. Быстрый и легкий для понимания: exim.
1) Добавил юзверя
| Код: |
| [root@asterisk ~]# cat /etc/postfix/users sendfax OK |
потом сделал postmap /etc/postfix/users
2) Потом верно заполнил транспорт, в примере на сайте ошибка, местами перпутанно хост и сервис
| Код: |
| [root@asterisk ~]# cat /etc/postfix/transport | grep -v '#' sendfax@sip.md.kz astfax:127.0.0.1 |
потом сделал postmap /etc/postfix/transport
3) Не туда внёс настройки запуска скрипта - сервис обработки писем, нужно в такое
| Код: |
| [root@asterisk ~]# cat /etc/postfix/master.cf | grep -v '#' .................................................................................. astfax unix - n n - 1 pipe flags= user=asterisk argv=/usr/local/bin/email2fax |
Не забыть перезапустить сервис. Теперь ставлю gs , кажеться это вот это http://pages.cs.wisc.edu/~ghost/doc/GPL/gpl902.htm
Лог с email2fax:
| Код: |
| email2fax v1.2beta started on Sunday, April 08 2012, at 11:56:26 with options: /usr/local/bin/email2fax --debug --nofax Variables used: FAXMAIL: Asterisk FAX LOGFILE: /var/log/asterisk/faxlog VERSION: email2fax v1.2beta TMPDIR: /tmp/email2fax DATADIR: /tmp/email2fax/1333864586-239263404 EMAILFILE: /tmp/email2fax/1333864586-239263404/emailfile.eml MESSAGEFILE: /tmp/email2fax/1333864586-239263404/message.txt DATETIME: Sunday, April 08 2012, at 11:56:26 No e-mail message passed to email2fax, or message broken. Removing old temporary files |
Посмотрел ещё message.txt
| Код: |
| [root@asterisk email2fax]# cat /tmp/email2fax/1333864586-239263404/message.txt From: Asterisk FAX To: h=To:Subject:MIME-Version:Message-Id:Date:Content-Type; Subject: Fax problem Dear sender, The message you sent was broken or invalid. Check if it had a proper attachment (must be one PDF or one TIFF attachment), and if the fax number was correct, and try again. If the problem persists, contact your administrator. Fax number(s): Date: Sunday, April 08 2012, at 11:56:26 |
Попробую tiff прицепить, ибо мыслей 0.
Теперь вопрос, ибо пока что поиски не увенчались особым успехом сейчас, помогите советом, где взять консольный конвертор jpeg2tiff, bmp2tiff, png2tiff (думаю два последних найду, а вот первый ну ни как не получается), ещё хотят прямо *.doc отправлять, но там я понял нужно ставить openofficce, но там много что ещё хочется ставить на 900 метров , я так понял и гном, и можно как-то это без запуска X? Поставиться оно через yum, при этом не будет само по себе запускаться после установки, а то зачем X на сервере, не комильфо.
P.S.
Этим смогу победить графическую конвертацию
gs -v
GPL Ghostscript 9.02 (2011-03-30)
Copyright (C) 2010 Artifex Software, Inc. All rights reserved.
| Цитата: |
| Теперь вопрос, ибо пока что поиски не увенчались особым успехом сейчас, помогите советом, где взять консольный конвертор jpeg2tiff, bmp2tiff, png2tiff (думаю два последних найду, а вот первый ну ни как не получается) |
ImageMagick не?
_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
Но тут стала проблема при конвертации из PS в tiff для отправки, получается плохо, качество очень падает
| Код: |
| /usr/bin/convert $DATADIR/$ATTNAME $DATADIR/$ATTNAME.ps >>$LOGFILE [ $? -ne 0 ] && send_msg 1 && exit 1 cat $DATADIR/$ATTNAME.ps | /usr/local/bin/gs -q -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x196 -dNOPAUSE -sOutputFile=$DATADIR/$ATTNAME.tif - >>$LOGFILE |
Вот это волшебное число менять ни как нельзя -r204x196, если поменять (умножив каждое на 2, а если удалить, то всё равно сделает а4, как и написанно, а по байтам размер файла будет совпадать, ну и по качеству) , то asterisk откажется передавать факс
| Код: |
| -- Executing [s@ext-fax:5] ExecIf("Local/200402@outgoingfax-0498;2", "1?Set(FAXSTATUS="FAILED: error: Received a DCN while waiting for a DIS statusstr: Received a DCN while waiting for a DIS")") in new stack |
Подскажите как на ёлку влезть и не ободрать? На принятиифакса качество не сильно падает, а вот на конвертации для отправки очень.
Added after 6 minutes:
| s68 писал(а): |
| ImageMagick не? |
Added after 2 minutes:
| aven писал(а): |
| Мне вот тоже вопрос doc2tiff или doc2pdf интересен |
В инете есть doc2html, гы а вот html2pdf можно уже поискать.... Хотя может кто и подскажет doc2tiff....
Added after 11 minutes:
Вот мой файлик немного правленый, для моего контекста, с принятием других форматов файлов, с абсолютными путями до gs и sendmail и convert, протестирова bmp и jpeg, png - ещё нужно смотреть, что там в заголовке письма. Так же разбор заголовков мало-мало переделан, что бы отлавливало начало строки, а то мусор в исходном файле попадался, и отрезал имя пользователя, а то если на русском, там кроказябли, и назад хорошо не приходило... а знания в этой теме нет.
http://asteriskforum.ru/viewtopic.php?t=6131
| Код: |
| fax_is_jpeg() { # Extract JPEG/BMP/PNG attachment ATTNAME=`munpack -C "$DATADIR" "$EMAILFILE" | cut -f1 -d " "` # Convert JPEG attachment to PS, and then to TIFF in a right format # send an explanation if conversion wasn't successful /usr/bin/convert $DATADIR/$ATTNAME $DATADIR/$ATTNAME.tif >>$LOGFILE [ $? -ne 0 ] && send_msg 1 && exit 1 convert -define quantum:polarity=min-is-white -rotate "90>" -density 204x196 -resize 1728x -compress Group4 -type bilevel -monochrome $DATADIR/$ATTNAME.tif $DATADIR/$ATTNAME.tif [ $? -ne 0 ] && send_msg 1 && exit 1 } |
Прямо по качеству земля и небо!
| Код: |
| 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 | /usr/local/bin/gs -q -sDEVICE=tiffg3 -r600 -dNOPAUSE -sOutputFile=$DATADIR/$ATTNAME.tif - >>$LOGFILE [ $? -ne 0 ] && send_msg 1 && exit 1 convert -define quantum:polarity=min-is-white -rotate "90>" -density 204x196 -resize 1728x -compress Group4 -type bilevel -monochrome $DATADIR/$ATTNAME.tif $DATADIR/$ATTNAME.tif [ $? -ne 0 ] && send_msg 1 && exit 1 } |
| Код: |
| gs -q -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x196 -dNOPAUSE -sOutputFile=$TIFFDIR/$FAXNAME.tif - |
_________________
нанотехнолигии в области Asterisk
Added after 2 hours 17 minutes:
Нашёл такой способ конвертации http://www.togaware.com/linux/survivor/Convert_MS_Word.html
По ссылке написано такое:
| Цитата: |
| First, start up OpenOffice.org, perhaps as oowriter. Then, from the Tools menu, select Macros, Organize Macros, OpenOffice.org Basic. A window will popup. Navigate, in the Macro from area, to My Macros, Standard, Module1. Click on Edit to edit the Main module to include just the following code |
На сколько я понял, нужно запустить под X-ми и уже править макрос, как выкручиваться под консолью?
Added after 1 hours 59 minutes:
| Код: |
| https://github.com/mirkonasato/pyodconverter/blob/master/README.md |
Рабочее решение, doc конвертит, X запускать не нужно.
_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
ну вот нету у меня его
_________________
Jabber конференция
сервер: conference.jabber.ru
комната: asterisk
По поводу sendfax_success (в прочем тоже самое по аналогии касается sendfax_failed)
Собственно вот, для немного переделанного скрипта email2fax.
sendfax_success.bash:
| Код: |
| #!/bin/bash # # # SENDAFAX SUCCESS SCRIPT # Alexey A. Astashov # FROM=`cat $1 | grep From | sed s/"^Set: From= "//g` TO=`cat $1 | grep To | sed s/"^Set: To="//g` FILE=`cat $1 | grep File | sed s/"^Set: File="//g` PATH=`cat $1 | grep PATH | sed s/"^Set: PATH="//g`LOGFILE=/var/log/asterisk/fax-success MESSAGEFILE="$PATH/message-success.txt" NEWSUBJECT="FAX to number $TO successfully sended" FAXMAIL="asterisk@domain.com" ASTERISKUSER=asterisk DATETIME=`/bin/date +"%A, %B %d %Y, at %R:%S"` VERSION="SENDFAX SUCCESS v0.0.2beta" #Готовим письмо /bin/cat h,n(failed),system(/var/lib/asterisk/agi-bin/fax/sendfax_failed.bash ${FINDATA}) exten => h,n(failed),Hangup() exten => h,n(success),system(/var/lib/asterisk/agi-bin/fax/sendfax_success.bash ${FINDATA}) тогда запрос будет приходить следующего формата: Executing [h@fax-tx:4] System("SIP/to-mycontext-00000000", "/var/lib/asterisk/agi-bin/fax/sendfax_success.bash /tmp/email2fax/1339602092-778645992/fax-1339602093-153095079.call.copy") in new stack |
где FINDATA и есть "Set: FINDATA="
Где собственно номер: 11111111111 – этот тот самый номер на котрый идет отправка факса.
Изменения в файле email2fax:
| Код: | |
| # Create a .call file for asterisk FAXDATE=`date +%s-%N` cat | |
| Сделали новую версию email2fax собственно назвали v1.10 в общем-то пользуйтесь. senfax_success.bash и sendfax_failed.bash прилагается, для них потребуется наличие iconv. | |
| |
| Новая версия модуля email2fax 1.30beta Изменения: 1. Теперь полностью на русском языке, в том числе и тема в сообщениях 2. Время и дата в отправленных факсах также выводятся по русски 3. Добавлена опция идентификации номера факса для CDR 4. Добавлена информация об отправляемом/отправленном файле по факсу - в ответных письмах по email. 5. Немного переработа extension_custom.conf - добавлена опция оповещения принимающую сторону фразой "Примите пожалуйста факс" 2 раза подряд (файл имеется). 6. В состав включен php модуль для FreePBX 2.11, в том числе и модуль хелпера email (добавлено return $str; для отмены автоматического перевода строки, ибо freepbx с юникодом не дружит и длинные строки разбиваются), т.е. теперь и на входящих факсах для удобства письма по email приходят по русски. ------- P.S. Если кто поможет дописать диалплан таким образом, чтобы система определеляла тип сигнала со стороны которая ответила и если это не факс, только тогда проигрывать сообщение - "примите пожалуйста факс", былобы круто, а то сейчас система полюбому сначала говорит в линию это сообщение. | |
| А как собственно добавить модуль в FreePBX 2.11 , через Module Admin добавляю , получаю сообщение You need to enable the module using local module administration to make it available , но во вкладке Module Admin он не показан . Что собственно не так сделано ? Спасибо . | |
