Jump to content
Калькуляторы

Проблемы с приемом факса

Доброго времени суток.

 

Принесли значит факс и приказали подключить, подключили, не работает.

 

Имеем следующую схему:

 

Провайдер МТТ(http://www.mtt.ru) --> Asterisk ver: 1.8.20.0 --> Cisco SPA112 --> FAX Panasonic KX-FL423

МТТ поддерживает протоколы: SIP, H.323; кодеки: G.711a, G.711u, G.729, G.723;

 

Так как явно не указано, что провайдер поддерживает кодек T.38 отключили его, в надежде, что по дефолту подключится G.711.

 

[root@ATS asterisk]# cat /etc/asterisk/sip_general_custom.conf
t38pt_udptl=no
t38pt_rtp=no
t38pt_tcp=no 

 

В итоге получили вот такую конфигурацию:

[root@ATS asterisk]# asterisk -rx 'sip show settings' | grep T.38
 T.38 support:           No
 T.38 EC mode:           Unknown
 T.38 MaxDtgrm:          -1


[root@ATS asterisk]# asterisk -rx 'core show codecs' | grep G.711
                 4 (1 <<  2)                (0x4)  audio       ulaw   (G.711 u-law)
                 8 (1 <<  3)                (0x8)  audio       alaw   (G.711 A-law)
   140737488355328 (1 << 47)     (0x800000000000)  audio    testlaw   (G.711 test-law)


[root@ATS asterisk]# asterisk -rx "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

 

Настройки cisco-112:

 

SIP configuration:

RTP-Start-Loopback Codec: G.711a

G711a Codec Name: PCMA

 

Line configuration:

post-144-0-45135400-1403779272.png

 

В итоге когда нам с любого городского номера отправляют факс, то факс начинает приниматься и секунд через 8 сбрасывается.

 

Если нужны будут логи sip debug с пакетами INVITE, то могу приложить.

 

 

Пытались принять на софтовый факс по схеме:

 

Провайдер МТТ --> Asterisk ver: 1.8.20.0 --> Ext 1000 (на него настроен hylafax iaxmodem). Модем настроен по инструкции http://www.sipring.ru/overview/asterisk-hylafax-iaxmodem/79-fax-asterisk-elastix-without-tears.html

 

Но так же увенчались неуспехом.

 

Пытались отправить внутри Asterisk’а, по схеме:

 

hylafax → Asterisk ver: 1.8.20.0 → Cisco SPA112 → FAX Panasonic KX-FL423

При отправке с софтового факса, прямо из Elastix, на железный(не выходя на провайдера) факс проходит.

Edited by alexchip

Share this post


Link to post
Share on other sites

Приветствую вас, коллеги.

 

По совету на форуме http://forum.asterisk.ru/viewtopic.php?f=3&t=4500&p=49378#p49378 разбили задачу на несколько маленьких:

 

1. Попробовали принять факс в файл самим Астериском. По схеме: Провайдер МТТ --> Asterisk ver: 1.8.20.0. Принять не удалось, после чего позвонили провайдеру SIP, что бы уточнить действительно ли они поддерживают кодек G.711 для работы с факсом, на что они ответили, что для отправки/приема факса используют кодек T.38. Включили T.38 по протоколу UDPTL, все прекрасно заработало, факс принимался Астериском в виде файликов, дописали ещё отправку на почту как временный вариант.

Может ещё кому-то понадобится, использовали вот такой диал план:

 

exten => 20,1,NoOp(-------------------Call from ${CALLERID(number)} to ${EXTEN}------------------)
exten => 20,n,Goto(fax-rx,receive,1)

[fax-rx]
exten => receive,1,NoOp(**** FAX RECEIVE ****)
exten => receive,n,Set(FAXFILE=${ASTSPOOLDIR}/fax/fax-${STRFTIME(${EPOCH},,%Y%m%d-%H%M)}-rx.tif)
exten => receive,n,Set(PDFFILE=${ASTSPOOLDIR}/fax/fax-${STRFTIME(${EPOCH},,%Y%m%d-%H%M)}-rx.pdf)
exten => receive,n,Set(FAX_RX_EMAIL=******@gmail.com)
exten => receive,n,Set(GLOBAL(LASTFAXCALLERNUM)=${CALLERID(num)})
exten => receive,n,Set(GLOBAL(LASTFAXCALLERNAME)=${CALLERID(name)})
exten => receive,n,NoOp(**** SETTING FAXOPT ****)
exten => receive,n,Set(FAXOPT(ecm)=yes)
exten => receive,n,Set(FAXOPT(headerinfo)=RTK FAX RX)
exten => receive,n,Set(FAXOPT(localstationid)=********)
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(FAXOPT(rate) : ${FAXOPT(rate)})
exten => receive,n,NoOp(FAXOPT(modem) : ${FAXOPT(modem)})
exten => receive,n,NoOp(**** RECEIVING FAX : ${FAXFILE} ****)
exten => receive,n,ReceiveFAX(${FAXFILE})
exten => h,1,System(/usr/bin/tiff2pdf ${FAXFILE} -o ${PDFFILE})
exten => h,n,System(/usr/bin/mutt -s "Факс от ${CALLERID(num)}" -a ${PDFFILE} ${FAX_RX_EMAIL} < ${ASTSPOOLDIR}/fax/mailmessege.txt)
;exten => h,n,System(${ASTVARLIBDIR}/bin/fax-process.pl --to "${FAX_RX_EMAIL}" --from "ats@******.com" --dest "${FROM_DID}" --subject "New fax from ${URIENCODE(${CALLERID(name)})} ${URIENCODE(<${CALLERID(number)}>)}" --attachment ${PDFFILE} --type application/pdf --file ${FAXFILE})
exten => h,n,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => h,n,NoOp(FAXOPT(filename) : ${FAXOPT(filename)})
exten => h,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => h,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => h,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => h,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => h,n,NoOp(FAXOPT(pages) : ${FAXOPT(pages)})
exten => h,n,NoOp(FAXOPT(rate) : ${FAXOPT(rate)})
exten => h,n,NoOp(FAXOPT(modem) : ${FAXOPT(modem)})
exten => h,n,NoOp(FAXOPT(remotestationid) : ${FAXOPT(remotestationid)})
exten => h,n,NoOp(FAXOPT(resolution) : ${FAXOPT(resolution)})
exten => h,n,NoOp(FAXOPT(status) : ${FAXOPT(status)})
exten => h,n,NoOp(FAXOPT(statusstr) : ${FAXOPT(statusstr)})
exten => h,n,NoOp(FAXOPT(error) : ${FAXOPT(error)})

 

 

2. Проверили факсимильный аппарат Panasonic KX-FL423 через аналоговую телефонную линию, работает.

 

3. Сбросили настройки Cisco SPA112 в дефолт. Подключили Cisco SPA112 сразу к Провайдеру МТТ в итоге получилась схема: Провайдер МТТ --> Cisco SPA112 --> FAX Panasonic KX-FL423. На прием факса не заработало, а вот отправка факса по данной схеме осуществляется исправно.

Очевидно, что проблема в Cisco SPA112. Версия прошивки 1.0.2(006), на данной прошивке пробовали включать FAX Enable T38: yes и FAX Passthru Method: ReINVITE, но факс не проходил.

Так как на соседнем форуме http://www.asteriskforum.ru/viewtopic.php?p=68344 была подобная проблема и им помогло обновление прошивки. Обновили прошивку на 1.3.3(015) и так же включили FAX Enable T38: yes и FAX Passthru Method: ReINVITE, и наконец-то факс пошел и в одну и в другую сторону.

 

 

В итоге схема такая:

Провайдер МТТ --> Asterisk ver: 1.8.20.0 --> Cisco SPA112 --> FAX Panasonic KX-FL423

Протокол: T.38 c UDPTL

На астериске в /etc/asterisk/sip_general_custom.conf добавили:


t38pt_udptl=yes
t38pt_rtp=no
t38pt_tcp=no

На астериске в /etc/asterisk/udptl.conf добавили:

T38FaxUdpEC = t38UDPRedundancy
T38FaxMaxDatagram = 400

На Cisco SPA112 обновили прошивку до 1.3.3(015) и включили FAX Enable T38: yes и FAX Passthru Method: ReINVITE.

Факс работает.

 

Всем спасибо за помощь!

Edited by alexchip

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.