Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. + 7 499 704 2566 Skype Me™!

Asterisk, факс, делопроизводство - выполняем решение Президента

Оцените материал
(1 Голосовать)

Как организовать работу с факсом на IP АТС Asterisk? На каком уровне находится реализация поддержки работы с факсами в системах IP-телефонии в целом. И нужна ли вообще передача факсов в VoIP-сетях? Если IP-инфраструктура уже существует, то не проще ли в данном случае использовать что-то другое, например e-mail?

По меньшей мере, одна из "приятных" для делопроизводства функций присутствует. Не секрет, что многие предприятия еще используют то что называется - "факсо-граммы", или что то в этом роде. Объем данной информации может быть значительный(копии платежек,подписание договоров, срочное извещения о совещании, "прайсы", счета ...), для чего иногда выделяют не один факс. Всю эту "кипу документов" необходимо принять, зарегистрировать, перевести в электронный вид и присоединить в виде файла к регистрационной записи в базе делопроизводства. В этот момент заканчивается термобумага или тонер в картридже, а стоимость рулончиков для факса на месяц приводит "главбуха" в ужас...

Кроме того, Президент РФ Дмитрий Медведев предложил в обязательном порядке проверять госслужащих на компьютерную грамотность при их аттестации и заявил, что электронный документооборот между органами власти должен стать реальностью уже к 2010 году.

Если Ваши партнеры еще не используют электронный документооборот, как Вы догадываетесь, на помощь приходит Asterisk. :)

Если быть точнее - Fax For Asterisk. Это коммерческое решение от Digium. Fax For Asterisk состоит из двух компонентов res_fax и res_fax_digium. Res_fax обеспечивает взаимодействие с Asterisk, а res_fax_digium -функционал факс-модема — V.21, V.27ter, V.29, и V.17 — на скорости до 14400bps.

Fax For Asterisk позволяет передавать и принимать факсы через TDM каналы и IP с использованием кодека G.711 (64 кВ), а затем сохранять в формате TIFF. Используем - Free Fax For Asterisk, бесплатный продукт от Digium с лицензией на 1 факс.

Для получения лицензионного ключа необходимо:

  • зарегистрироваться на сайте производителя,
  • выбрать в магазине Free Fax For Asterisk,
  • получить по почте ключ.

Установка проходит в несколько этапов:

  • загрузить (http://downloads.digium.com/pub/register) и выполнить утилиту 'register' для формирования лицензионного файла
  • загрузить (http://downloads.digium.com/pub/telephony/fax/benchfax) и выполнить утилиту 'benchfax' для выбора оптимального модуля под конкретную производительность Вашего сервера
  • Использовать web-утилиту(http://www.digium.com/en/docs/FAX/faa-download.php) 'Fax Selector' для загрузки необходимых пакетов
  • загрузить и инсталлировать модуль 'res_fax'
  • загрузить и инсталлировать модуль 'res_fax_digium'

Процедура инсталляции:

# cd /root

# wget http://downloads.digium.com/pub/register/x86-32/register

# chmod 500 /root/register

# /root/register

# wget http://downloads.digium.com/pub/telephony/fax/benchfax/x86-32/benchfax-1.1.0-x86_32 -O benchfax

# chmod 500 /root/benchfax

# /root/benchfax

# wget http://downloads.digium.com/pub/telephony/fax/res_fax/asterisk-1.6.0.14/x86-32/res_fax-1.6.0.14_1.1.6-x86_32.tar.gz

# tar xzvf res_fax-1.6.0.14_1.1.6-x86_32.tar.gz

# cp /root/res_fax-1.6.0.14_1.1.6-x86_32/res_fax.so /usr/lib/asterisk/modules

# wget http://downloads.digium.com/pub/telephony/fax/res_fax_digium/asterisk-1.6.0.14/x86-32/res_fax_digium-1.6.0.14_1.1.6-pentium4m_32.tar.gz

# tar xzvf res_fax_digium-1.6.0.14_1.1.6-pentium4m_32.tar.gz

# cp /root/res_fax_digium-1.6.0.14_1.1.6-pentium4m_32/res_fax_digium.so /usr/lib/asterisk/modules

# asterisk -rx "restart now"

В двух словах- формируем лицензию, получаем модули, размещаем в директории - /usr/lib/asterisk/modules. Проверяем - fax show stats:

 

Поддерживаемые команды:

  • "fax show capabilities"
  • "fax show hostid"
  • "fax show licenses"
  • "fax show session"
  • "fax show sessions"
  • "fax show stats"
  • "fax show version"

Если все в порядке, переходим к плану набора. Если пришел факс обрабатываем его в контексте [fax-rx].

  • exten => fax,1,Goto(fax-rx,receive,1)
и соответственно

  • exten => receive,n,Set(GLOBAL(FAXCOUNT)=$[ ${GLOBAL(FAXCOUNT)} + 1 ])
  • exten => receive,n,Set(FAXCOUNT=${GLOBAL(FAXCOUNT)})
  • exten => receive,n,Set(FAXFILE=fax-${FAXCOUNT}-rx.tif)
Подсчитываем количество принятых факсов, номер используем в названии сохраняемого файла. В данном фрагменте все зависит от Вашей фантазии - как формировать название файла.
  • exten => receive,n,Set(FAXOPT(ecm)=yes)
  • exten => receive,n,Set(FAXOPT(headerinfo)=MY FAXBACK RX)
  • exten => receive,n,Set(FAXOPT(localstationid)=1234567890)
  • exten => receive,n,Set(FAXOPT(maxrate)=14400)
  • exten => receive,n,Set(FAXOPT(minrate)=2400)

Устанавливаем опции для приложения - ReceiveFAX.

  • Maxrate, minrate - минимальная и максимальная скорость передачи.
  • Ecm =yes - включаем корректор ошибок.
  • Headerinfo -заголовок факса.
  • Localstationid - локальный идентификатор (идентификация отправителя).

Сама функция приема факса и сохранения принятого файла.

  • exten => receive,n,ReceiveFAX(/var/spool/asterisk/fax/${FAXFILE})
Вот и все. Осталось определиться с директорией где будут сохраняться документы. Хотя давайте автоматически отправим принятый факс на электронную почту. Дополним контекст [fax-rx].
  • exten => receive,n,System(echo "Принят факс" | mailx -s "fax" -a /var/spool/asterisk/fax/*.tif user@user_mail.ru)
  • exten => receive,n,System(rm /var/spool/asterisk/fax/*.tif)
Теперь после приема факса, документ будет отправлен на электронную почту пользователя. При желании можно вызвать выполнение сценария AGI и записать файл сразу в базу данных...