Принимаем Fax и отправляем на Email
Как бы я этого не хотел, но с факсами сталкиваемся. В этой заметке хочу описать как можно организовать принятие факсов в Webitel с дальнейшей отправкой на Email.
Нам понадобится утилита convert.exe из пакета ImageMagick. Утилиту забрасываем в папку CallManager\ (с ее помощью будим конвертировать TIF в PDF для отправки на Email). Так же, создадим папку CallManager\htdocs\storage\FAX — тут будут хранится оригиналы полученных факсов в TIF формате. Не забываем про настройки SMTP клиента, иначе ничего никуда не отправится!
Собственно Lua-скрипт довольно простой:
t38 = "false"; CallerID = session:getVariable("caller_id_number"); FaxDir = session:getVariable("storage_dir").."/FAX/"; FaxFile = FaxDir..os.date("%Y").."_"..os.date("%m").."_"..os.date("%d").."_"..os.date("%H").."-"..os.date("%M").."_"..CallerID..".tif"; session:answer(); session:sleep(1000); session:execute("playback", "users/auto_fax.wav"); session:execute("playback", "users/press_start_to_receive_a_fax.wav"); session:execute("set", "fax_enable_t38_request="..t38); session:execute("set", "fax_enable_t38="..t38); session:execute("playback", "silence_stream://2000"); session:execute("rxfax", FaxFile); freeswitch.email("to@webitel.ua", "from@webitel.ua", "subject: FAX from "..CallerID.."\n", "Приветствую!\n\nВам отправили FAX, который я прикрепил во вложение.\n\n--\nВаш, Webitel", FaxFile, "convert.exe", "pdf"); session:hangup();
Осталось назначить внутренний номер для этого скрипта и все факсы будут сохранятся на сервере:
А так же, приходят на Email: