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

снимите дамп со звонка с факсом, и выкладывайте аттачем

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

А еще в Астере появился t38gateway, позволяет транскодить t38<>g711

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this