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

Похоже одним куском в мозаике поддержки Т.38 факсов становится меньше. Нерешёнными остаются следующие проблемы (какие помню):

  • Реализация поддержки T.38 в каналах H.323, MGCP
  • Поддержка Т.38 в IAX2 протоколе, в частности Т.38 в iaxmodem
  • Переход на голосовую связь после передачи факса в Т.38
Google Bookmarks Digg del.icio.us Technorati Slashdot News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru

автор igorg \\ теги: , , ,


13 комментариев к “T.38-T.30 шлюз в Asterisk”

  1. 1. BBV Говорит:

    Это же просто замечательно!!

    Правда эти патчи только для 1.6 , а он у меня почему-то с jabber не подружился, хотя 1.4 с теми же библиотеками и конфигом работает уже давно

  2. 2. BBV Говорит:

    так же забыл добавить в нерешённые проблемы t38 поддержку h323

  3. 3. igorg Говорит:

    Да, держал в голове но забыл. Вообще это касается ряда протоколов, например того же mgcp

  4. 4. svs Говорит:

    Уважаемый igorg, есть ли возможность определения факса во время разговора(когда каналы уже с бриджёваны)?

  5. 5. igorg Говорит:

    Скорее нет, чем да. Опция faxdetect в sip.conf появилась в транке две недели назад и то она работает только при переключении на Т.38 и никак не связана с обнаружением CED/CNG тона.

  6. 6. serge pekarsky Говорит:

    не собирается, гадина:

    asterisk-support.ru/forum...60/?page=1#26565

  7. 7. Влад Говорит:

    Никак не компилиться в 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

  8. 8. igorg Говорит:

    Нужно смотреть и править ручками дальше. Патчи были под старую версию. Там где «request for member ‘ptr’» точно знаю что нужно вместо data.ptr писать теперь просто data

  9. 9. eyatasko Говорит:

    Игорь! У меня недавно установлена версия Asterisk 1.4.25.1 (Debian Etch), для стыка с ТфОП и с собственно факсами используются Quintum AS/AF/CMS. Факсы не ходят вообще. Хотя на старой 1.4.11 (FreeBSD) все ходило :- ( Не подскажете в может быть чем дело?

    С уважением, Эллад

  10. 10. eyatasko Говорит:

    Ниже — вывод 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

  11. 11. igorg Говорит:

    10.0.101.13 и 250 это адреса шлюзов? Тогда Астериск по какой-то причине не пересылает пакеты. Один шлюз пытается установить связь, в то время как второй сообщает об отсутствии сигнала. Нужно смотреть консоль астериска (debug) и вывод команды udptl debug ip x.x.x.x

    Более подробно можно сказать только при отладке на месте

  12. 12. Сергей Говорит:

    Игорь, какова судьба этого patch'a? Прошел год, но никаких официальных сообщений о работе Digium в этом направлении мне найти не удалось. Есть ли что-либо, что можно использовать в production installation?

  13. 13. igorg Говорит:

    Патч никак не продвинулся. В продакшене для транзита факсов можно использовать CallWeaver =)

Написать ответ