Похоже в обозримой перспективе Asterisk может получить, наконец, полноценный набор механизмов для работы с Т.38. На трекере позавчера обновился патч, реализующий функцию преобразования Т.38 в Т.30 и обратно для стыковки передачи факсов в VoIP (T.38) и ССоП (T.30). Новое приложение аналогично приложению T38Gateway из CallWeaver. Все желающие, приглашаются протестировать работу нового модуля.
Похоже одним куском в мозаике поддержки Т.38 факсов становится меньше. Нерешёнными остаются следующие проблемы (какие помню):
- Реализация поддержки T.38 в каналах H.323, MGCP
- Поддержка Т.38 в IAX2 протоколе, в частности Т.38 в iaxmodem
- Переход на голосовую связь после передачи факса в Т.38

октября 19, 2008 в 09:36
Это же просто замечательно!!
Правда эти патчи только для 1.6 , а он у меня почему-то с jabber не подружился, хотя 1.4 с теми же библиотеками и конфигом работает уже давно
октября 23, 2008 в 17:28
так же забыл добавить в нерешённые проблемы t38 поддержку h323
октября 24, 2008 в 07:20
Да, держал в голове но забыл. Вообще это касается ряда протоколов, например того же mgcp
декабря 12, 2008 в 14:21
Уважаемый igorg, есть ли возможность определения факса во время разговора(когда каналы уже с бриджёваны)?
декабря 16, 2008 в 21:48
Скорее нет, чем да. Опция faxdetect в sip.conf появилась в транке две недели назад и то она работает только при переключении на Т.38 и никак не связана с обнаружением CED/CNG тона.
января 22, 2009 в 21:39
не собирается, гадина:
марта 30, 2009 в 16:27
Никак не компилиться в Asterirk 1.6.0.6. Вроде все правил ручками.
Пишет:
app_faxgateway.c: In function ‘ast_bridge_frames’:
app_faxgateway.c:219: warning: implicit declaration of function ‘ast_dsp_set_digitmode’
app_faxgateway.c: In function ‘ast_t38_gateway’:
app_faxgateway.c:424: error: request for member ‘ptr’ in something not a structure or union
app_faxgateway.c:430: error: request for member ‘ptr’ in something not a structure or union
app_faxgateway.c:447: error: request for member ‘ptr’ in something not a structure or union
app_faxgateway.c: In function ‘ast_transmit’:
app_faxgateway.c:645: error: too few arguments to function ‘__ast_answer’
app_faxgateway.c: In function ‘faxgw_exec’:
app_faxgateway.c:796: error: request for member ‘tv_sec’ in something not a structure or union
app_faxgateway.c:797: error: request for member ‘tv_usec’ in something not a structure or union
app_faxgateway.c:820: warning: passing argument 3 of ‘__ast_string_field_ptr_grow’ from incompatible pointer type
make[1]: *** [app_faxgateway.o] Error 1
make: *** [apps] Error 2
марта 31, 2009 в 10:36
Нужно смотреть и править ручками дальше. Патчи были под старую версию. Там где «request for member ‘ptr’» точно знаю что нужно вместо data.ptr писать теперь просто data
июля 6, 2009 в 16:12
Игорь! У меня недавно установлена версия Asterisk 1.4.25.1 (Debian Etch), для стыка с ТфОП и с собственно факсами используются Quintum AS/AF/CMS. Факсы не ходят вообще. Хотя на старой 1.4.11 (FreeBSD) все ходило :- ( Не подскажете в может быть чем дело?
С уважением, Эллад
июля 6, 2009 в 16:23
Ниже — вывод tshark -ni bond0 -R t38
Из этого я делаю вывод, что именно Астериск не пропускает его. В Астериске прописаны «t38pt_udptl=yes» в [general] и
«t38pt_udptl=yes» и «t38pt_usertpsource=yes» в описании friend'а.
35.476270 10.0.101.250 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00036 t30ind: v21-preamble
35.478562 10.0.101.13 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00000 t30ind: no-signal
35.546414 10.0.101.250 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00036 t30ind: v21-preamble
35.548914 10.0.101.13 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00000 t30ind: no-signal
35.616491 10.0.101.250 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00036 t30ind: v21-preamble
35.618576 10.0.101.13 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00000 t30ind: no-signal
35.686391 10.0.101.250 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00036 t30ind: v21-preamble
35.688580 10.0.101.13 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00000 t30ind: no-signal
35.756311 10.0.101.250 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00036 t30ind: v21-preamble
35.758603 10.0.101.13 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00000 t30ind: no-signal
35.826283 10.0.101.250 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00036 t30ind: v21-preamble
35.828587 10.0.101.13 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00000 t30ind: no-signal
35.896289 10.0.101.250 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00036 t30ind: v21-preamble
35.898613 10.0.101.13 -> 80.251.131.142 T.38 UDP: UDPTLPacket Seq=00000 t30ind: no-signal
июля 8, 2009 в 13:41
10.0.101.13 и 250 это адреса шлюзов? Тогда Астериск по какой-то причине не пересылает пакеты. Один шлюз пытается установить связь, в то время как второй сообщает об отсутствии сигнала. Нужно смотреть консоль астериска (debug) и вывод команды udptl debug ip x.x.x.x
Более подробно можно сказать только при отладке на месте
сентября 4, 2009 в 23:44
Игорь, какова судьба этого patch'a? Прошел год, но никаких официальных сообщений о работе Digium в этом направлении мне найти не удалось. Есть ли что-либо, что можно использовать в production installation?
сентября 15, 2009 в 09:30
Патч никак не продвинулся. В продакшене для транзита факсов можно использовать CallWeaver =)