app_fax от dimas с подержкой t38 и "ГРУБЫМИ" исправлениями астериска в плане реинвайта на T38.
ВНИМАНИЕ!! Это временное решение до тех пор пока file не породит свое (t38insanity branch)
версия для транка проверено работает 99,9%
_________________
нанотехнолигии в области Asterisk
для аддонов 1.4.5
и астериска 1.4.16.2
_________________
нанотехнолигии в области Asterisk
h.323 gk cycle
на что Астериск сообщает, что h.323 gk cycle устарела, надо использовать h323 cycle gk! Понимаете? gk cycle устарел, а надо по новому - cycle gk! Шедевр отладочной мысли!
| Код: |
| The 'h.323 gk cycle' command is deprecated and will be removed in a future release. Please use 'h323 cycle gk' instead. |
Added after 3 hours 19 minutes:
| Cache писал(а): |
| поделюсь чтоль для аддонов 1.4.5 |
| Код: |
| [CC] app_fax.c -> app_fax.o app_fax.c:134: error: syntax error before '*' token app_fax.c: In function `t38_tx_packet_handler': app_fax.c:136: error: `user_data' undeclared (first use in this function) app_fax.c:136: error: (Each undeclared identifier is reported only once app_fax.c:136: error: for each function it appears in.) app_fax.c:147: error: `buf' undeclared (first use in this function) app_fax.c:147: error: `len' undeclared (first use in this function) app_fax.c: In function `phase_e_handler': app_fax.c:159: error: `T30_MAX_IDENT_LEN' undeclared (first use in this function) app_fax.c:181: error: structure has no member named `y_resolution' app_fax.c:189: error: structure has no member named `x_resolution' app_fax.c:189: error: structure has no member named `y_resolution' app_fax.c:209: error: structure has no member named `y_resolution' app_fax.c: In function `set_ecm': app_fax.c:257: error: `T30_SUPPORT_T4_1D_COMPRESSION' undeclared (first use in this function) app_fax.c:257: error: `T30_SUPPORT_T4_2D_COMPRESSION' undeclared (first use in this function) app_fax.c:257: error: `T30_SUPPORT_T6_COMPRESSION' undeclared (first use in this function) app_fax.c: In function `fax_generator_generate': app_fax.c:271: error: `fax_state_t' undeclared (first use in this function) app_fax.c:271: error: `fax' undeclared (first use in this function) app_fax.c:271: error: syntax error before ')' token app_fax.c: In function `transmit_audio': app_fax.c:318: error: `fax_state_t' undeclared (first use in this function) app_fax.c:318: error: syntax error before "fax" app_fax.c:355: error: `fax' undeclared (first use in this function) app_fax.c:355: error: too few arguments to function `fax_init' app_fax.c:437: error: structure has no member named `t38_status' app_fax.c:437: error: `T38_NEGOTIATED' undeclared (first use in this function) app_fax.c: In function `transmit_t38': |
| Ded писал(а): | ||
| |
| Код: |
| [CC] app_fax.c -> app_fax.o app_fax.c:134: error: syntax error before '*' token app_fax.c: In function `t38_tx_packet_handler': .... app_fax.c:437: error: structure has no member named `t38_status' app_fax.c:437: error: `T38_NEGOTIATED' undeclared (first use in this function) app_fax.c: In function `transmit_t38': |
такое осчучение что ты только на адоны наложил патч и забыл поставить spandsp
Added after 6 minutes:
| anest писал(а): |
| давно уже не люблю редхат |
то ж не долюбливаю его помню когда надо было поставить mysql для астериска весь оплевался
ну судя своей логике
я ставил пакеты mysql-client, mysql-server, mysql-devel и просто mysql но не одного хедера не одной либы не поставилось бился часа 2 потом плюнул скачал исходники скобрал и поставил. с тех пор я лудше подожду когда гента собереца, зато работать будет то что мне нужно. ну на крайнях если срочно нужно debian... IMHO
_________________
нанотехнолигии в области Asterisk
я уже и забыл когда парился с проблемами зависимостей или нехватки какихто либ в системе. просто сказка теперь - прям как и мечтал раньше, когда на редхате сидел.
сорри за оффтоп
| Cache писал(а): |
| такое осчучение что ты только на адоны наложил патч и забыл поставить spandsp |
Ну что же я, совсем что ли?
| Код: |
| # rpm -q spandsp spandsp-0.0.2pre26-2 # rpm -q spandsp-devel spandsp-devel-0.0.2pre26-2 |
| Цитата: |
| T30_SUPPORT_T4_1D_COMPRESSION |
похоже он вобще не видит хедеров не spandsp не астериска
_________________
нанотехнолигии в области Asterisk
Скорее всего это из-за слишком старой версии, сейчас акутальна 0.0.4.
_________________
OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i
http://igorg.ru
_________________
OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i
http://igorg.ru
| Цитата: |
| это из-за слишком старой версии, сейчас акутальна 0.0.4 |
| Ded писал(а): | ||
| Цитата: |
| это из-за слишком старой версии, сейчас акутальна 0.0.4 |
После того как прозвучало выделенное слово звучат фанфары и по сцене маршем проходят поклонники Gentoo неся транспаранты с одноименным содержимым
_________________
Trixbox 2.2.x (Asterisk 1.4.11) / FXO шлюзы (Dynamix, OvisLink, Planet, etc) / разные IP-телефоны (OvisLink, Grandstream, Dynamix, Nokia, Cisco ATA-186, etc)
Я снес spandsp 0.0.2pre26-2 и установил spandsp-0.0.4pre16 и это не помогла в постижении Истины.
| Код: |
| make[1]: Entering directory `/usr/src/asterisk-addons-1.4.5' [CC] app_fax.c -> app_fax.o app_fax.c: In function `transmit_audio': app_fax.c:437: error: structure has no member named `t38_status' app_fax.c:437: error: `T38_NEGOTIATED' undeclared (first use in this function) app_fax.c:437: error: (Each undeclared identifier is reported only once app_fax.c:437: error: for each function it appears in.) make[1]: *** [app_fax.o] Error 1 make[1]: Leaving directory `/usr/src/asterisk-addons-1.4.5' make: *** [all] Error 2 |
_________________
нанотехнолигии в области Asterisk
| Ded писал(а): |
| Однако, поклонники Gentoo явным образом зависят от Gentoo! |
а вот тут ты врёшь брат!
считай что это само Провидение тебя коснулось... ну типа если конечно Судьба...
а если нет - то удачи, дальше заниматься анальным сексом (и другие извращения) с редхатом (до полпятого утра - как обычно)
Вот продвижение:
| Код: |
| -- Executing [in_fax@ext-fax:3] Macro("H323/ip$10.151.91.124:57777/30200", "faxreceive") in new stack -- Executing [s@macro-faxreceive:1] Set("H323/ip$10.151.91.124:57777/30200", "FAXFILE=/var/spool/asterisk/fax/1198697033.0.tif") in new stack -- Executing [s@macro-faxreceive:2] Set("H323/ip$10.151.91.124:57777/30200", "EMAILADDR=ceo@postmet.com") in new stack -- Executing [s@macro-faxreceive:3] RxFAX("H323/ip$10.151.91.124:57777/30200", "/var/spool/asterisk/fax/1198697033.0.tif") in new stack asterisk: symbol lookup error: /usr/lib/asterisk/modules/app_rxfax.so: undefined symbol: fax_init |
Уже fax_init для него непонятен!
| Ded писал(а): |
| Я наверное не до конца понимаю. При чём тут астериск? Если я собираю отдельный аддон - app_fax, в директории addons, и потом засовываю его в астериск - модули, то не важно - патчил я астериск или нет, app_fax просто ещё не собирается, что уж там инсталлировать! |
джля того тчоб работал етот аддон нужно нмного править асетриск
Added after 16 minutes:
смотрим ссылку от dimas новый патч
_________________
нанотехнолигии в области Asterisk
| Ded писал(а): | ||
| Да чё там, классно! Вчера до 5 утра |
| Код: |
| -- Executing [in_fax@ext-fax:3] Macro("H323/ip$10.151.91.124:57777/30200", "faxreceive") in new stack asterisk: symbol lookup error: /usr/lib/asterisk/modules/app_rxfax.so: undefined symbol: fax_init |
Уже fax_init для него непонятен!
либа spandsp левая. Видимо 0.0.2 зацепилась. Как вариант, вообще оно либу не увидело. Если в неожиданном месте стоит - должна быть в LD_LIBRARY_PATH. /usr/local/lib есть место по умолчанию неожиданное...
Использовал Вашу (твою?) Simple fax applications 2007, Dmitry Andrianov с http://svn.digium.com/view/asterisk-addons/trunk/app_fax.c
После патчей v4-appfax.patch [^] (24,153 bytes) 12-25-07 09:30 [License OK]
v4-asterisk-t38.patch [^] (13,624 bytes) 12-25-07 09:31 [License OK]
начало всё собираться с зацепами, и мне пришлось шаг за шагом откатываться назад, чтобы что-то вообще у меня собралось работающее. И после того как собралось - я натравил на свежесобранный Астериск свой Т38-Н.323 модем+hylafax.
Пошел приём факса, но в процессе установления контакта переключения на Т38 не произошло, он шипел на ulaw, а поокончанию Астериск благополучно свернулся в корку.
| Код: |
| -- Executing [888@from-internal-custom:1] Goto("H323/ip$10.151.91.124:64379/30214", "ext-fax|in_fax|1") in new stack -- Goto (ext-fax,in_fax,1) -- Executing [in_fax@ext-fax:1] StopPlayTones("H323/ip$10.151.91.124:64379/30214", "") in new stack -- Executing [in_fax@ext-fax:2] GotoIf("H323/ip$10.151.91.124:64379/30214", "1?3:analog_fax|1") in new stack -- Goto (ext-fax,in_fax,3) -- Executing [in_fax@ext-fax:3] Macro("H323/ip$10.151.91.124:64379/30214", "faxreceive") in new stack -- Executing [s@macro-faxreceive:1] Set("H323/ip$10.151.91.124:64379/30214", "FAXFILE=/var/spool/asterisk/fax/1198713145.0.tif") in new stack -- Executing [s@macro-faxreceive:2] Set("H323/ip$10.151.91.124:64379/30214", "EMAILADDR=ded@100let.com") in new stack -- Executing [s@macro-faxreceive:3] ReceiveFAX("H323/ip$10.151.91.124:64379/30214", "(/var/spool/asterisk/fax/1198713145.0.tif") in new stack asterisk: symbol lookup error: /usr/lib/asterisk/modules/app_fax.so: undefined symbol: ast_debug |
| Ded писал(а): | ||
| В пятый раз - всё снова и по честному - с пустого листа. spandsp правая - 0.0.4pre16 |
| Код: |
| -- Executing [s@macro-faxreceive:3] ReceiveFAX("H323/ip$10.151.91.124:64379/30214", "(/var/spool/asterisk/fax/1198713145.0.tif") in new stack asterisk: symbol lookup error: /usr/lib/asterisk/modules/app_fax.so: undefined symbol: ast_debug |
о сколько раз твердили миру...
Патчи - для ТРАНКА, не для 1.4
то что ast_debug не найдей - явный признак того что налицо попытка заживить это на 1.4 (ну по крайней мере инклюдники от 1.4)
собираться должно без зацеп:
1. снимается текущий транк asterisk
2. патчится v4-asterisk-t38.patch
3. собирается и ставится
4. снимается текущий транк asterisk-addons
5. патчится v4-appfax.patch
6. собирается и ставится
после этого все должно работать.
Added after 5 minutes:
Ёёёё....
| Код: |
| ("H323/ip$10.151.91.124:64379/30214", "(/var/spool/asterisk/fax/1198713145.0.tif") in new stack |
не увидел сразу... H323 я не занимался вообще. И сомневаюсь что с ним работать будет ибо даже для сипа пришлось в астериске приличный кусок дописать - вряд ли кто-то эту работу уже для H323 проделал.
| Цитата: |
| о сколько раз твердили миру |
Да, как то не явно было, месседж пиплу не отчётливый. Я и не скрывал, ранее писал, что тренируюсь на кошках, у меня 1.4.16.1.
| Цитата: |
| 4. снимается текущий транк asterisk-addons |
Должно быть по моему разумению 2 инструкции: одна для свежих stable версий (народ то хочет работать!), другая экскрементальная, для транка.
Я на нашем форуме уже много попыток выдел и первой и второй инструкции, к сожалению, всё быстро устаревает. На других ресурсах даже более внятные
http://www.asteriskguru.com/tutorials/spandsp.html
http://www.voipphreak.ca/archives/421
| Цитата: |
| не увидел сразу... H323 я не занимался вообще. |
Так с чего началось то! Один молодой человек по имени Игорь подкузьмил другого молодого человека Cache о наличии Т38 в коде Н323 канала, на что Cache ответил, что такой кусок там есть - строка 1042 в chan_h323.c
Это меня и заинтересовало, потому что тема Т38 в Н.323 очень хорошо раскрыта. Осталось её прилепить в Астериск, я и увидел переработаный код chan_h323.c
У send/receivefax не было шансов войти в 1.4 потому как feature freeze. Соответственно и делал я их только для транка чтобы вошли.
Бэкпорт - примитивен по сути и делается за 15 минут. Но это то чем я заниматься точно не хочу. Кто хотел - уже отпортировали на 1.4 и думаю запросто поделяться. Но заниматься поддержкой того что все равно не войдет в астериск это нафик. Повторюсь ровно для того чтобы этого не было я вообще затеял это все.
Added after 4 minutes:
| Ded писал(а): | ||||
| Цитата: |
| о сколько раз твердили миру |
| Цитата: |
| не увидел сразу... H323 я не занимался вообще. |
Так с чего началось то! Один молодой человек по имени Игорь подкузьмил другого молодого человека Cache о наличии Т38 в коде Н323 канала, на что Cache ответил, что такой кусок там есть - строка 1042 в chan_h323.c
Это меня и заинтересовало, потому что тема Т38 в Н.323 очень хорошо раскрыта. Осталось её прилепить в Астериск, я и увидел переработаный код chan_h323.c
да, я прочитал уже.
что-то там действительно есть, но что именно сказать не берусь. В SIP'е вообще "почти все" было, однако же для интерфейса с app_fax пришлось еще прилепить немало. Так что я берусь утверждать что с H323 не взлетит. Там точно нет кода который позволяет получить текущий статус T38 "извне" драйвера канала. Ровно как там нет и кода который позволяет инициировать T38 извне драйвера.
| anest писал(а): |
| давно уже не люблю редхат |
Ясно дело - наш редхат
Стал чуть-чуточку пархат!
Евреи, евреи,
Кругом - одни евреи!
Added after 1 hours 31 minutes:
*CLI> == New H.323 Connection created.
--Received SETUP message
-- Setting up Call
-- Call token: [ip$10.151.91.124:51091/30226]
-- Calling party name: [OpenH323 Answering Machine v0.8.0]
-- Calling party number: []
-- Called party name: [888]
-- Called party number: [888]
-- Calling party IP: [10.151.91.124]
Setting capabilities to 0x4011f (g723|gsm|ulaw|alaw|g729|g726aal2|h261)
Capabilities in preference order is ()
DTMF mode is 1
Allowed Codecs for ip$10.151.91.124:51091/30226 (ip$10.16.72.21:1720):
Table:
G.723.1A
G.723.1
GSM-06.10
G.711-uLaw-64k
G.711-ALaw-64k
G726r32
G.729A
G.729
UserInput/hookflash
UserInput/RFC2833
Set:
0:
0:
G.723.1A
G.723.1
GSM-06.10
G.711-uLaw-64k
G.711-ALaw-64k
G726r32
G.729A
G.729
1:
UserInput/hookflash
2:
UserInput/RFC2833
=-= In OnAnswerCall for call 30226
- Progress Indicator: 0
- Inserting PI of 0 into ALERTING message
-- Started logical channel: sending G.711-uLaw-64k
-- channelsOpen = 1
External RTP Session Starting
RTP channel id 1 parameters:
-- remoteIpAddress: 10.244.128.17
-- remotePort: 5592
-- ExternalIpAddress: 10.16.72.21
-- ExternalPort: 10092
-- Started logical channel: receiving G.711-uLaw-64k
-- channelsOpen = 2
External RTP Session Starting
RTP channel id 1 parameters:
-- remoteIpAddress: 10.244.128.17
-- remotePort: 5592
-- ExternalIpAddress: 10.16.72.21
-- ExternalPort: 10092
ExternalRTPChannel Destroyed
ExternalRTPChannel Destroyed
-- Executing [888@from-internal-custom:1] Goto("H323/ip$10.151.91.124:51091/30226", "ext-fax,in_fax,1") in new stack
-- Goto (ext-fax,in_fax,1)
-- Executing [in_fax@ext-fax:1] StopPlayTones("H323/ip$10.151.91.124:51091/30226", "") in new stack
-- Executing [in_fax@ext-fax:2] GotoIf("H323/ip$10.151.91.124:51091/30226", "1?3:analog_fax,1") in new stack
-- Goto (ext-fax,in_fax,3)
-- Executing [in_fax@ext-fax:3] Macro("H323/ip$10.151.91.124:51091/30226", "faxreceive") in new stack
-- Executing [s@macro-faxreceive:1] Set("H323/ip$10.151.91.124:51091/30226", "FAXFILE=/var/spool/asterisk/fax/1198722459.0.tif") in new stack
-- Executing [s@macro-faxreceive:2] Set("H323/ip$10.151.91.124:51091/30226", "EMAILADDR=ded@anybodyhome.com") in new stack
-- Executing [s@macro-faxreceive:3] ReceiveFAX("H323/ip$10.151.91.124:51091/30226", "(/var/spool/asterisk/fax/1198722459.0.tif") in new stack
-- Receiving RFC2833 on payload 101
Peer capability is G.711-uLaw-64k
Found peer capability G.711-uLaw-64k , Asterisk code is 4, frame size (in ms) is 30
Peer capability is G.711-ALaw-64k
Found peer capability G.711-ALaw-64k , Asterisk code is 8, frame size (in ms) is 30
Peer capabilities = 0xc (ulaw|alaw), ordered list is (ulaw|alaw)
Answering call ip$10.151.91.124:51091/30226
-- Received Facility message...
=-= In OnConnectionEstablished for call 30226
-- Connection Established with "OpenH323 Answering Machine v0.8.0 [10.151.91.124]"
-- Received Facility message...
-- Received RELEASE COMPLETE message...
-- ClearCall: Request to clear call with token ip$10.151.91.124:51091/30226, cause EndedByRemoteUser
-- Sending RELEASE COMPLETE
== Spawn extension (macro-faxreceive, s, 3) exited non-zero on 'H323/ip$10.151.91.124:51091/30226' in macro 'faxreceive'
== Spawn extension (macro-faxreceive, s, 3) exited non-zero on 'H323/ip$10.151.91.124:51091/30226'
-- ClearCall: Request to clear call with token ip$10.151.91.124:51091/30226, cause EndedByTransportFail
channelsOpen = 1
channelsOpen = 0
ExternalRTPChannel Destroyed
ExternalRTPChannel Destroyed
-- OpenH323 Answering Machine v0.8.0 [10.151.91.124] has cleared the call
== H.323 Connection deleted.
ну что T38 не заживет, тут и сомнений не было, но почему не работает "аналоговый" факс через ulaw я не знаю.
можно попробовать логи детальные собрать
core set debug 10
udptl debug
как включается отладка h323 я не знаю да и понять ее все равно не смогу
| Код: |
| 21:56:24.481671 IP (tos 0x0, ttl 49, id 0, offset 0, flags [DF], proto 17, length: 280) virtualfax.outgoing.com.5642 > asterisk-svn.trunk.org.15670: UDP, length 252 21:56:24.481839 IP (tos 0x0, ttl 64, id 499, offset 0, flags [DF], proto 17, length: 280) asterisk-svn.trunk.org.15670 > virtualfax.outgoing.com.5642: UDP, length 252 21:56:24.513244 IP (tos 0x0, ttl 49, id 0, offset 0, flags [DF], proto 17, length: 280) virtualfax.outgoing.com.5642 > asterisk-svn.trunk.org.15670: UDP, length 252 |
UDPTL debug вообще ничего не показывает.
Peer capability is G.711-uLaw-64k
Found peer capability G.711-uLaw-64k , Asterisk code is 4, frame size (in ms) is 30
Peer capability is G.711-ALaw-64k
Found peer capability G.711-ALaw-64k , Asterisk code is 8, frame size (in ms) is 30
Peer capabilities = 0xc (ulaw|alaw), ordered list is (ulaw|alaw)
Answering call ip$10.151.91.124:64479/30256
-- Executing [s@ext-fax:2] Goto("H323/ip$10.151.91.124:64479/30256", "in_fax,1") in new stack
-- Goto (ext-fax,in_fax,1)
-- Executing [in_fax@ext-fax:1] StopPlayTones("H323/ip$10.151.91.124:64479/30256", "") in new stack
-- Executing [in_fax@ext-fax:2] GotoIf("H323/ip$10.151.91.124:64479/30256", "1?3:analog_fax,1") in new stack
-- Goto (ext-fax,in_fax,3)
-- Executing [in_fax@ext-fax:3] Macro("H323/ip$10.151.91.124:64479/30256", "faxreceive") in new stack
-- Executing [s@macro-faxreceive:1] Set("H323/ip$10.151.91.124:64479/30256", "FAXFILE=/var/spool/asterisk/fax/1198790898.7.tif") in new stack
-- Executing [s@macro-faxreceive:2] Set("H323/ip$10.151.91.124:64479/30256", "EMAILADDR=my@mama.com") in new stack
-- Executing [s@macro-faxreceive:3] ReceiveFAX("H323/ip$10.151.91.124:64479/30256", "/var/spool/asterisk/fax/1198790898.7.tif") in new stack
je-demo*-- Received Facility message...
=-= In OnConnectionEstablished for call 30252
-- Connection Established with "OpenH323 Answering Machine v0.8.0 [10.151.91.124]"
je-demo*-- Received Facility message...
je-demo*-- Received RELEASE COMPLETE message...
-- ClearCall: Request to clear call with token ip$10.151.91.124:64479/30256, cause EndedByRemoteUser
-- Sending RELEASE COMPLETE
-- ClearCall: Request to clear call with token ip$10.151.91.124:64479/30256, cause EndedByTransportFail
== Spawn extension (macro-faxreceive, s, 3) exited non-zero on 'H323/ip$10.151.91.124:64479/30256' in macro 'faxreceive'
== Spawn extension (macro-faxreceive, s, 3) exited non-zero on 'H323/ip$10.151.91.124:64479/30256'
channelsOpen = 1
channelsOpen = 0
ExternalRTPChannel Destroyed
ExternalRTPChannel Destroyed
-- OpenH323 Answering Machine v0.8.0 [10.151.91.124] has cleared the call
== H.323 Connection deleted.
Последний раз редактировалось: Ded (Чт Май 01, 2008 04:30)
| Ded wrote: |
| При попытке посылки факса UDP виден только чере tcpdump: UDPTL debug вообще ничего не показывает. |
ну а с чего ему показывать? разве кто-то говорит H323 драйверу идти в T38? Нет, никто не говорит потому что и не умеет.
Так что UDPTL там вряд ли нарисуется.
Есть лог с консоли с параметрами который я давал?
| Quote: |
| core set debug 10 |
Хочешь изучить? Многа букав.
| Ded wrote: | ||
| Quote: |
| core set debug 10 |
Хочешь изучить? Многа букав.
ну да, ну да, ничего не понятно
могу сказать только что CNG тон app_fax услышал, то есть какой-никакой звук там бегает.
Не нравится мне вот это вот:
[Dec 27 22] NOTICE[11156] channel.c: Dropping incompatible voice frame on H323/ip$10.151.91.124:64052/30252 of format slin since our native format has changed to ulaw
но такая штука вылезает и на SIP'е тоже и именно в тот же момент - после того как обнаружен факс тон. Так что это мне на потом: разобраться откуда оно лезет. Хотя повторюсь, SIP'у это работать не мешает.
Еще я не знаю что вот это такое и с чем его едят:
[Dec 27 22] DEBUG[11156] rtp.c: Difference is 20888, ms is 2641
единственное отличие от SIP'а на моем тестовом стенде видное по логу это 30 ms пакеты а не 25 ms. Ну и internal_timing у меня enabled.
Added after 39 minutes:
ну варнинг "Dropping incompatible voice frame " лечится легко. Надо в app_fax
| Code: |
| fr = ast_dsp_process(s->chan, dsp, fr); |
поменять на
| Code: |
| fr = ast_dsp_process(NULL, dsp, fr); |
только от этой правки накакой пользы кроме эстетического удовольствия.
Я весь этот Т30-Т37-Т38 информационный мусор перерабатывал 2.5 года назад, когда дебажил Т38 модем.
После того как было отлажено, благополучно вычистил из головы.
Вот недавно опять тема вскрылась, и не имея такого же по надёжности механизма в новых версиях Астериска, пришлось уйти в сторону - Cisco voice applications: on-ramp, off-ramp. На шлюзе поднято, протестировано, и, надеюсь, будет забыто ещё на пару лет. Пока что это верх надёжности. Ни кусочка VoIP, Cisco из ТФОП сама распознаёт факс, даже в середине разговора, принимает, запечатывает в ТИФФ, и отсылает по электропочте.
А исходящие идеально принимает по Т38 и отправляет по цифре в ТФОП.
Я утёк в другую тему сейчас.
сидел тут ковырял h323 в аддонах наткнулся на удивительные весчи я так и не понял почему они есть а их не описали
папка asterisk-ooh323c/ooh323c/src/h323
файл MULTIMEDIA-SYSTEM-CONTROLDec.c
он где нить используеца вообще?? что то мне не удалось отследить
подсказка поисчите по файлу по метке t38
_________________
Ubuntu-Server 6.06 /Gentoo /Asterisk 1.4.21.1/app_fax(t38) /spandsp-0.0.5pre4
Digium TDM400/Polycom IP301 SP /Snom 360/ Seiros ТИ24/Linksys 9X/ Kirk 600IPv3
Если у кого есть интерес, буду разрабатывать дальше.