artem
20.03.2015
9036

Настройка Asterisk 1.8 для работы с факсами

Для передачи факсов Asterisk 1.8 поддерживает T.38 passthrough, для его использования Asterisk нужно собрать с модулем res_fax_spandsp.so.

1. Исходные данные
2. Настройка udptl.conf
3. Настройка в sip.conf
4. Настройки шлюза
5. Дебаг

1) Исходные данные

 Факс подключен к Asterisk через VoIP-шлюз, номер факса — 101.

2) Настройка udptl.conf

 /etc/asterisk/udptl.conf

[general]

;Диапазон портов для UDPTL

udptlstart=20001
udptlend=20020

;Отключение проверки контрольной суммы UDP

udptlchecksums=no

;Настройки коррекции ошибок

udptlfecentries=3
udptlfecspan=3

;Отключение передачи T.38 по RTP и TCP

t38pt_rtp=no
t38pt_tcp=no

Для применения настроек, нужно выполнить в консоли Asterisk

core reload

 

— Диапазон портов для UDPTL, не должен совпадать с диапазоном портов для RTP. 
— Если по пути прохождения UDPTL-трафика есть NAT, то весь диапазон UDPTL-портов нужно пробросить на хост Asterisk 
— T.38 также может передаваться по протоколу RTP, если с UDPTL возникают проблемы, имеет смысл поставить t38pt_rtp=yes 
— Для отправки одного факса будет задействовано два порта из диапазона

3) Настройка в sip.conf

/etc/asterisk/sip.conf

;Настройки для VoIP-шлюза

[101]

canreinvite=yes
t38pt_udptl=yes,redundancy

;Настройки для SIP-провайдера

[provider]

canreinvite=yes
t38pt_udptl=yes,redundancy

Для применения настроек, нужно выполнить в консоли Asterisk

sip reload

 

— Переход в T.38 и обратно осуществляется с помощью re-invite, следовательно он должен быть включен для факса и провайдера. 
— redundancy — наиболее часто используемый VoIP-шлюзами и АТС способ коррекции ошибок при передаче факсов, если VoIP-шлюз или провайдер использует FEC, то нужно выставить t38pt_udptl=yes,fec или t38pt_udptl=yes на соответствующем транке / экстеншене.

4) Настройки шлюза

В настройках VoIP-шлюза нужно включить переход в T.38 с помощью re-invite и включить отключение эхоподавления при обнаружении сигнала факса (если VoIP-шлюз это поддерживает).

Тестируем отправку / прием факса.

5) Дебаг

Выполняем в консоли Asterisk

udptl set debug on

Если при отправке / приеме факса в консоли логируется UDPTL-трафик, значит переход в T.38, прошел успешно, и передача факса, вероятно, будет работать.

UDPTL (SIP/101-0000fe14): packet to 192.168.1.98:47492 (seq 57, len 29)
UDPTL (SIP/provaider-0000fe15): packet from 1.1.1.1:14890 (seq 58, len 33)
UDPTL (SIP/101-0000fe14): packet to 192.168.1.98:47492 (seq 58, len 26)
UDPTL (SIP/provaider-0000fe15): packet from 1.1.1.1:14890 (seq 59, len 28)
UDPTL (SIP/101-0000fe14): packet to 192.168.1.98:47492 (seq 59, len 21)
UDPTL (SIP/provaider-0000fe15): packet from 1.1.1.1:14890 (seq 59, len 28)
UDPTL (SIP/provaider-0000fe15): packet from 1.1.1.1:14890 (seq 59, len 28)
UDPTL (SIP/provaider-0000fe15): packet from 1.1.1.1:14890 (seq 59, len 28)

Если этого не происходит, следует взять дамп SIP-трафика при передаче факса. Переход в T.38 должен выглядеть следующим образом:

INVITE sip:1111@2.2.2.2:5060 SIP/2.0
… 
Content-Type: application/sdp
Content-Length: 199

v=0
o=- 1366607602 1366607602 IN IP4 1.1.1.1
s=-
c=IN IP4 1.1.1.1
t=0 0
m=image 19788 udptl t38
a=T38FaxRateManagement:transferredTCF
a=T38FaxUdpEC:t38UDPRedundancy
a=sendrecv
SIP/2.0 100 Trying
… 

SIP/2.0 200 OK
… 
Content-Type: application/sdp
Content-Length: 276 

v=0
o=root 389145565 389145567 IN IP4 2.2.2.2
s=Asterisk
c=IN IP4 2.2.2.2
t=0 0
m=image 36967 udptl t38
a=T38FaxVersion:0
a=T38MaxBitRate:2400
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxDatagram:393
a=T38FaxUdpEC:t38UDPRedundancy

Если в ответ на INVITE приходит «488 Not acceptable here», значит у отправившей это стороны отключен re-invite или T.38.

Если факсы не получается передавать в T.38 из-за того, что это не поддерживает провайдер или факс подключен к Asterisk по каналу DAHDI (в этом случае нужен T.38 relay, который не поддерживается Asterisk 1.8), то можно попробовать передавать факсы в G711 без использования T.38. Передача факсов будет работать при условии малого джиттера на всех VoIP-участках на пути прохождения факса.

После первого транка от Asterisk до АТС провайдера, на пути прохождения факса запросто могут оказаться другие VoIP-участки, и, если T.38 на них не настроен, то факсы, скорее всего будут проходить не всегда или вообще не будут проходить. Для более надежной передачи факсов следует использовать аналоговые линии или E1

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices