Список форумов Asterisk Forum Asterisk Forum
The Asterisk Open Source PBX - Russian Community
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ПравилаПравила   ГруппыГруппы   ИзбранноеИзбранное    LinksСсылки   РегистрацияРегистрация 
 RSSRSS   ПрофильПрофиль   Войти и проверить личные сообщения   ВходВход 

Поддержка Т.38 в SendFAX/ReceiveFAX
На страницу Пред.  1, 2
 
Список форумов Asterisk Forum -> Asterisk-Dev    вывод темы на печать
Предыдущая тема :: Следующая тема  
Автор Сообщение
Ded
Guru


Зарегистрирован:
10.01.2005
Сообщения: 4428
Откуда: Road Town, Tortola, British Virgin Islands

Статус: Оффлайн 

СообщениеДобавлено: Чт Дек 27, 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
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dimas



Зарегистрирован:
19.04.2007
Сообщения: 177

Статус: Оффлайн 

СообщениеДобавлено: Чт Дек 27, 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 извне драйвера.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ded
Guru


Зарегистрирован:
10.01.2005
Сообщения: 4428
Откуда: Road Town, Tortola, British Virgin Islands

Статус: Оффлайн 

СообщениеДобавлено: Чт Дек 27, 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 <1>
G.723.1 <2>
GSM-06.10 <3>
G.711-uLaw-64k <4>
G.711-ALaw-64k <5>
G726r32 <6>
G.729A <7>
G.729 <8>
UserInput/hookflash <9>
UserInput/RFC2833 <10>
Set:
0:
0:
G.723.1A <1>
G.723.1 <2>
GSM-06.10 <3>
G.711-uLaw-64k <4>
G.711-ALaw-64k <5>
G726r32 <6>
G.729A <7>
G.729 <8>
1:
UserInput/hookflash <9>
2:
UserInput/RFC2833 <10>

=-= 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 <1>
Found peer capability G.711-uLaw-64k <1>, Asterisk code is 4, frame size (in ms) is 30
Peer capability is G.711-ALaw-64k <2>
Found peer capability G.711-ALaw-64k <2>, 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.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dimas



Зарегистрирован:
19.04.2007
Сообщения: 177

Статус: Оффлайн 

СообщениеДобавлено: Чт Дек 27, 2007 07:46    Заголовок сообщения:

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

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

core set debug 10
udptl debug

как включается отладка h323 я не знаю да и понять ее все равно не смогу Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ded
Guru


Зарегистрирован:
10.01.2005
Сообщения: 4428
Откуда: Road Town, Tortola, British Virgin Islands

Статус: Оффлайн 

СообщениеДобавлено: Чт Дек 27, 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 <1>
Found peer capability G.711-uLaw-64k <1>, Asterisk code is 4, frame size (in ms) is 30
Peer capability is G.711-ALaw-64k <2>
Found peer capability G.711-ALaw-64k <2>, 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)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dimas



Зарегистрирован:
19.04.2007
Сообщения: 177

Статус: Оффлайн 

СообщениеДобавлено: Чт Дек 27, 2007 23:25    Заголовок сообщения:

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


ну а с чего ему показывать? разве кто-то говорит H323 драйверу идти в T38? Нет, никто не говорит потому что и не умеет.
Так что UDPTL там вряд ли нарисуется.
Есть лог с консоли с параметрами который я давал?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ded
Guru


Зарегистрирован:
10.01.2005
Сообщения: 4428
Откуда: Road Town, Tortola, British Virgin Islands

Статус: Оффлайн 

СообщениеДобавлено: Чт Дек 27, 2007 23:53    Заголовок сообщения:

Цитата:
core set debug 10
?
Хочешь изучить? Многа букав.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dimas



Зарегистрирован:
19.04.2007
Сообщения: 177

Статус: Оффлайн 

СообщениеДобавлено: Пт Дек 28, 2007 01:11    Заголовок сообщения:

Ded писал(а):
Цитата:
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

Код:
fr = ast_dsp_process(s->chan, dsp, fr);


поменять на

Код:
fr = ast_dsp_process(NULL, dsp, fr);


только от этой правки накакой пользы кроме эстетического удовольствия.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ded
Guru


Зарегистрирован:
10.01.2005
Сообщения: 4428
Откуда: Road Town, Tortola, British Virgin Islands

Статус: Оффлайн 

СообщениеДобавлено: Пт Дек 28, 2007 01:41    Заголовок сообщения:

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

Я утёк в другую тему сейчас.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Cache
Модератор


Зарегистрирован:
12.01.2007
Сообщения: 688
Откуда: Россия. Шатура

Статус: Оффлайн 

СообщениеДобавлено: Ср Янв 16, 2008 10:24    Заголовок сообщения:

вопрос

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

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

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

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

_________________
нанотехнолигии в области Asterisk
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора GTalk ID Skype Name Jabber ID
Deniq



Зарегистрирован:
26.12.2007
Сообщения: 90

Статус: Оффлайн 

СообщениеДобавлено: Сб Янв 19, 2008 15:55    Заголовок сообщения:

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

Добавить в Избранное

 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You cannot download files in this forum