Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


astpanel:ats:asterisk:faxsend_v6

Это старая версия документа!


10000333. Настройка Asterisk для отправки факсов

Обратно к основной инструкции...

Для отправки факсов, на АТС должны присутствовать модули, позволяющие это сделать. Пример с использованием spandsp:

CLI> 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

Описание

В плане набора должен быть описан контекст miko_ajam.
В контексте miko_ajam определяется extension с номером 10000333.

[miko_ajam]
exten => 10000333,1,NoOP(Send fax Asterisk app)

При необходимости, “Панель телефонии Asterisk” выполняет AMI команду originate.
Параметры originate

  • channel - Local/10000333@miko_ajam
  • Application - NoCDR

Переменные канала

  • chan - канал пользователя в формате «Технология/Номер», который инициировал originate
  • faxfile - имя файла факса для отправки
  • faxcallerid - Номер телефона, на который отправляется факс

Пример dialplan

[miko_ajam]
exten => 10000333,1,NoCDR()
exten => 10000333,n,Noop(internal calling application: 10000333 1C_SendFax)
; получим параметры, переданные из 1С
exten => 10000333,n,Set(_chan=${chan})
exten => 10000333,n,Set(_faxcallerid=${faxcallerid})
exten => 10000333,n,Set(_faxfile=${faxfile})
; звонок в контекст отправки факса
exten => 10000333,n,Dial(LOCAL/${CALLERID(num)}@miko_ajam_fax_tx,,g)
exten => 10000333,n,Hangup
 
[miko_ajam_fax_tx]
exten => _X!,1,WaitForSilence(500,1,15))
exten => _X!,n,Answer
; ${ASTSPOOLDIR} - параметр из /etc/asterisk/asterisk.conf
exten => _X!,n,SendFAX(${ASTSPOOLDIR}/fax/${faxfile}.tif)
; в userfield сохраним информацию о вызванном приложении 
exten => _X!,n,Set(CDR(userfield)=SendFAX)
exten => _X!,n,Hangup
 
exten => h,1,GotoIf($["${FAXSTATUS}" = "SUCCESS"]?h,success:h,failed)
; сообщим 1С о неудаче
exten => h,n(failed),UserEvent(SendFaxStatusFail,Channel: ${chan},CallerID: ${faxcallerid})
exten => h,n,Hangup
; сообщим 1С об успешности операции
exten => h,n(success),UserEvent(SendFaxStatusOk,Channel: ${chan},CallerID: ${faxcallerid})
; сохраним имя файла в поле recordingfile
exten => h,n,Set(CDR(recordingfile)=${faxfile}.tif)
exten => h,n,Hangup
astpanel/ats/asterisk/faxsend_v6.1385459895.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)