AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Поддержка Т.38 в SendFAX/ReceiveFAX

Asterisk-Dev 36 сообщений 26.12.2007 18:53 - 19.01.2008 15:55
#1

http://bugs.digium.com/view.php?id=11614

app_fax от dimas с подержкой t38 и "ГРУБЫМИ" исправлениями астериска в плане реинвайта на T38.
ВНИМАНИЕ!! Это временное решение до тех пор пока file не породит свое (t38insanity branch)


версия для транка проверено работает 99,9% Very Happy

_________________
нанотехнолигии в области Asterisk
#2

поделюсь чтоль Embarassed



для аддонов 1.4.5
и астериска 1.4.16.2

_________________
нанотехнолигии в области Asterisk
#3

Я вчера по итогам дискуссии о поддержке Т.38 в Н.323 наглядевшись на код поскакал собирать chan_h323 в 1.4.16.1 и прокувыркался до 4:20 утра. Что-то тяжело со сборкой chan_h323 в последних версиях! Инструкция по сборке README не работает однозначно, надо шаманить руками. Или я что-то не допонял, но использовать в общем то удобный механизм menuselect в нашем случае не удалось, пришлось после make opt в ./channels удалить строку зависимости oh323 в файле menuselect-tree. После этого chan_h323 собрался, но библиотеки вручную всё равно надо закидывать руками. Теперь обдумываю схему тестирования Т.38. У меня есть идеальный инструмент - Т.38 модем + хилый факс.
#4

Это что-то! При подсказках табуляцией выводим
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 писал(а):
поделюсь чтоль Embarassed
для аддонов 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':
#5

давно уже не люблю редхат Sad еще с версии 9 - все что было за ним (в разных вариациях и интерпретациях) - полное гамно, имхо.
#6

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 Smile

Added after 6 minutes:

anest писал(а):
давно уже не люблю редхат Sad еще с версии 9 - все что было за ним (в разных вариациях и интерпретациях) - полное гамно, имхо.


то ж не долюбливаю его помню когда надо было поставить mysql для астериска весь оплевался
ну судя своей логике
я ставил пакеты mysql-client, mysql-server, mysql-devel и просто mysql но не одного хедера не одной либы не поставилось бился часа 2 потом плюнул скачал исходники скобрал и поставил. с тех пор я лудше подожду когда гента собереца, зато работать будет то что мне нужно. ну на крайнях если срочно нужно debian... IMHO
Shocked

_________________
нанотехнолигии в области Asterisk
#7

насчет генты это ты точно подметил Wink
я уже и забыл когда парился с проблемами зависимостей или нехватки какихто либ в системе. просто сказка теперь - прям как и мечтал раньше, когда на редхате сидел.
сорри за оффтоп
#8

Cache писал(а):
такое осчучение что ты только на адоны наложил патч и забыл поставить spandsp

Ну что же я, совсем что ли?
Код:
# rpm -q spandsp
spandsp-0.0.2pre26-2
# rpm -q spandsp-devel
spandsp-devel-0.0.2pre26-2
#9

он не видит хедеров spandsp
Цитата:
T30_SUPPORT_T4_1D_COMPRESSION
ето из него

похоже он вобще не видит хедеров не spandsp не астериска

_________________
нанотехнолигии в области Asterisk
#10

spandsp-0.0.2????

Скорее всего это из-за слишком старой версии, сейчас акутальна 0.0.4.

_________________
OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i
http://igorg.ru
#11

Ded, сноси редхат и ставь генту Smile недельку-другую в консоли поторчишь.. зато потом - кайф! Rolling Eyes
#12

Давайте не разводить офтопик, для этого есть своя тема, про предпочтиаемый дистрибутив. пакетные системы имею ряд преимуществ по сравнению с генту.
_________________
OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i
http://igorg.ru
#13

Цитата:
это из-за слишком старой версии, сейчас акутальна 0.0.4
- я смотрел в README по поводу 0.0.4, пока не решился. Почему то процесс upgrade с 0.0.2 на 0.0.4 последние разы был сильно мучителен. Надо или удалять 0.0.2 с кровью, игнорируя зависимости, или обновляться с такой же кровью.
#14

Ded писал(а):
Цитата:
это из-за слишком старой версии, сейчас акутальна 0.0.4
- я смотрел в README по поводу 0.0.4, пока не решился. Почему то процесс upgrade с 0.0.2 на 0.0.4 последние разы был сильно мучителен. Надо или удалять 0.0.2 с кровью, игнорируя зависимости, или обновляться с такой же кровью.
После того как прозвучало выделенное слово звучат фанфары и по сцене маршем проходят поклонники Gentoo неся транспаранты с одноименным содержимым Very Happy

_________________
Trixbox 2.2.x (Asterisk 1.4.11) / FXO шлюзы (Dynamix, OvisLink, Planet, etc) / разные IP-телефоны (OvisLink, Grandstream, Dynamix, Nokia, Cisco ATA-186, etc)
#15

Однако, поклонники Gentoo явным образом зависят от Gentoo!

Я снес 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
#16 26.12.2007 18:53

а астериск пропатчил?? пересобрал?? хедеры засунул новые???
_________________
нанотехнолигии в области Asterisk
#17 26.12.2007 19:13

Я наверное не до конца понимаю. При чём тут астериск? Если я собираю отдельный аддон - app_fax, в директории addons, и потом засовываю его в астериск - модули, то не важно - патчил я астериск или нет, app_fax просто ещё не собирается, что уж там инсталлировать!
#18 26.12.2007 19:49

Ded писал(а):
Однако, поклонники Gentoo явным образом зависят от Gentoo!

а вот тут ты врёшь брат! Wink хотя заблуждаешься по незнанию, поэтому не грех... Cool
#19 26.12.2007 19:53

А! Понял! Это Gentoo зависит от своих поклонников, которые раздают индульгенции о прощении грехов заблудшим душам Smile
#20 26.12.2007 20:04

начинаешь понимать! Wink
считай что это само Провидение тебя коснулось... ну типа если конечно Судьба...
а если нет - то удачи, дальше заниматься анальным сексом (и другие извращения) с редхатом (до полпятого утра - как обычно) Twisted Evil
#21 26.12.2007 20:27

Да чё там, классно! Вчера до 5 утра Smile
Вот продвижение:
Код:
-- 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 для него непонятен!
#22 26.12.2007 21:33

Ded писал(а):
Я наверное не до конца понимаю. При чём тут астериск? Если я собираю отдельный аддон - app_fax, в директории addons, и потом засовываю его в астериск - модули, то не важно - патчил я астериск или нет, app_fax просто ещё не собирается, что уж там инсталлировать!


джля того тчоб работал етот аддон нужно нмного править асетриск

Added after 16 minutes:

смотрим ссылку от dimas новый патч

_________________
нанотехнолигии в области Asterisk
#23 27.12.2007 00:07

Ded писал(а):
Да чё там, классно! Вчера до 5 утра Smile
Код:
-- 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 есть место по умолчанию неожиданное...
#24 27.12.2007 00:46

В пятый раз - всё снова и по честному - с пустого листа. spandsp правая - 0.0.4pre16
Использовал Вашу (твою?) 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
#25 27.12.2007 01:08

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 проделал.
#26 27.12.2007 01:13

Цитата:
о сколько раз твердили миру

Да, как то не явно было, месседж пиплу не отчётливый. Я и не скрывал, ранее писал, что тренируюсь на кошках, у меня 1.4.16.1.
Цитата:
4. снимается текущий транк asterisk-addons
Разве нельзя приклеивать транковые 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
#27 27.12.2007 01:31

Собственно единственное для чего я вообще делал Send/ReceiveFAX это чтобы инструкций больше не надо было Smile - стащил сорсы с SVN, собрал и все есть. Чтобы инструкции не устаревали от версии к весрии астериска а сорсы были всегда актуальны - ибо если кто-то что-то поменял и факс перестал компилироваться - ему бы самому пришлось это поправить прежде чем коммититься.

У 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 извне драйвера.
#28 27.12.2007 03:34

anest писал(а):
давно уже не люблю редхат Sad

Ясно дело - наш редхат
Стал чуть-чуточку пархат!
Евреи, евреи,
Кругом - одни евреи!

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.
#29 27.12.2007 07:46

любопытно на самом деле.
ну что T38 не заживет, тут и сомнений не было, но почему не работает "аналоговый" факс через ulaw я не знаю.

можно попробовать логи детальные собрать

core set debug 10
udptl debug

как включается отладка h323 я не знаю да и понять ее все равно не смогу Smile
#30 27.12.2007 22:36

При попытке посылки факса UDP виден только чере tcpdump:

Код:
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)
#31 27.12.2007 23:25

Ded wrote:
При попытке посылки факса UDP виден только чере tcpdump:
UDPTL debug вообще ничего не показывает.


ну а с чего ему показывать? разве кто-то говорит H323 драйверу идти в T38? Нет, никто не говорит потому что и не умеет.
Так что UDPTL там вряд ли нарисуется.
Есть лог с консоли с параметрами который я давал?
#32 27.12.2007 23:53

Quote:
core set debug 10
?
Хочешь изучить? Многа букав.
#33 28.12.2007 01:11

Ded wrote:
Quote:
core set debug 10
?
Хочешь изучить? Многа букав.

ну да, ну да, ничего не понятно Smile
могу сказать только что 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);


только от этой правки накакой пользы кроме эстетического удовольствия.
#34 28.12.2007 01:41

Да Вы батенька эстет, как я погляжу! Smile
Я весь этот Т30-Т37-Т38 информационный мусор перерабатывал 2.5 года назад, когда дебажил Т38 модем.
После того как было отлажено, благополучно вычистил из головы.
Вот недавно опять тема вскрылась, и не имея такого же по надёжности механизма в новых версиях Астериска, пришлось уйти в сторону - Cisco voice applications: on-ramp, off-ramp. На шлюзе поднято, протестировано, и, надеюсь, будет забыто ещё на пару лет. Пока что это верх надёжности. Ни кусочка VoIP, Cisco из ТФОП сама распознаёт факс, даже в середине разговора, принимает, запечатывает в ТИФФ, и отсылает по электропочте.
А исходящие идеально принимает по Т38 и отправляет по цифре в ТФОП.

Я утёк в другую тему сейчас.
#35 16.01.2008 10:24

вопрос

сидел тут ковырял h323 в аддонах наткнулся на удивительные весчи я так и не понял почему они есть а их не описали

папка asterisk-ooh323c/ooh323c/src/h323
файл MULTIMEDIA-SYSTEM-CONTROLDec.c

он где нить используеца вообще?? что то мне не удалось отследить Sad

подсказка поисчите по файлу по метке t38 Very Happy

_________________
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
#36 19.01.2008 15:55

Вообщем засунул Я распознование факсов в app_fax с поддержкой Т38 под 1.4.17(http://www.asteriskforum.ru/viewtopic.php?t=1761). Пока что грубо и банально тк Dimas фукции раздробил, не было времени разбираться. Работает 100% с wrtp54g в лабе, буду пробывать на audiocodes mp118.
Если у кого есть интерес, буду разрабатывать дальше.