H323 Cisco 827
Сообщений: 6521
|
Re: H323 Cisco 827
Нет не надо. А надо Т38 инсталлировать на Астериске. Иначе он не понимает о чём речь и не склеит.
|
Сообщений: 30
|
Re: H323 Cisco 827
Ага, ясно. Таким образом на цыске строчки:
voice service voip
fax protocol t38 ls-redundancy 0 hs-redundancy 0 fallback cisco
h323
sip
оставляем ?
A t38 берем от сюда? http://www.ionidea.ua/oss/asterisk/
Или для asterisk 1.2-rc1 есть какие-нить другие ?
|
Сообщений: 6521
|
Re: H323 Cisco 827
Да там, и с учетом http://bugs.digium.com/view.php?id=5090
|
Сообщений: 30
|
Re: H323 Cisco 827
2 ded:
по этой ссылке что-то ничего понятного мне нет. разговор девелоперов о их "высоких материях". :wacko: скорее всего ничего не выдет, четкой инструкции нет. Сам-то пробывал к asterisk 1.2.* прикрутить t38 ?
В любом случае - спасибо за помощь, но чую придется пожертвовать одним из тлф номеров и железкой за 800$ чтобы эти долбанные, тупые, древние как кал мамонтов, никому кроме тупых теток-недоучек ненужные, факсы принимать.
Если всеже получится всю эту сельскую самодейтельось под названием t38, прикрутить к астериску - обещаю отчет.:cool:
|
Сообщений: 6521
|
Re: H323 Cisco 827
У нас прикручено и работает на 1.0.7 и 1.0.9.
Ты не врубаешься, раз пишешь про сельскую самодеятельность под названием t38. Сам по себе это очень продвинутый протокол, позволяющий получить лучше качество чем pass-thru и занимать при этом полосу 16К в отличии от 64К у pass-thru.
Разговор там не о высоких материях, а о патче для астериска. Фича в том, что братья хохлы хоть и сделали реализацию "понимания" t38 астериском, но все изменения для исходников не написали в виде патча, а вписали в исходники, которые предлагают переписать "поверх" оригинальных файлов. Это не гламурно, патч файл занимает меньше места и делает добавления более правильно - строки помеченные -- удаляет, а ++ вставляет. Перед вставкой в заголовке указано после какой строки в тексте Makefile пойдёт врезка. Но втыкаться в это не обязательно, просто сделать команду patch (читай мануал).
|
Сообщений: 30
|
Re: H323 Cisco 827
Как и обещал - отчетик. Итак, как я понял, существует два источника кода (драйвером или модулем язык не поворачивется это назвать) T38 для Астериск. У братьев-хохлов (с)ded все сделано под *v1.0.7. там вроде chan_sip отличается в размером почти в 2 раза. По этому ссылку http://www.ionidea.ua/oss/asterisk/ - фтопку. На баг-форуме http://bugs.digium.com/view.php?id=5090 в самом последнем коментарии лежит следующий сценарий для 1.2.rc1. Его я и применил для 1.2. вот как это было:
1. Download latest asterisk CVS Head, spandsp, t38-bits, and asterisk-t38-patch3.diff
Астериск 1.2 c www.asterisk.org, spandsp - http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.3pre4/spandsp-0.0.3pre4.tgz
t38-bits: http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.3pre4/t38-bits.tgz
Патч с баг-форума (сверху)
После этого я собрал chan_h323 в астериске. чтоб был.
2. Install spandsp
тут проблем нет.
3. Remove "FORCE" from the version.h label in the Asterisk Makefile (or else it wants to do this crazy looping thing).
Убрал эту надпись в Makefile.
4. Copy tpkt.c and udptl.c from t38-bits to the main asterisk source directory.
Сделано.
5. Copy all files from t38-bits/include/asterisk/ to asterisk/include/asterisk/
6. Copy all files from t38-bits/configs to asterisk/configs
Скопировал.
7. Apply the sip.conf.sample.patch in asterisk/configs
Это демо-конфиг меняется.
8. Copy all files from t38-bits/apps to asterisk/apps
Скопировал.
9. Apply Makefile.patch in asterisk/apps (it will fail)
Этот патсч добавляет компиляцию rxfax/txfax. то что он не может пропатчить вставляем ручками из Makefile.rej в Makefile после app_curl.so по аналогии.
10. Copy the rejected chuck (the part with the pluses +++) from Makefile.rej to Makefile after the app_curl.so label
11. Make sure the tabs in the chunk don't get converted to spaces and don't forget to take out the pluses (yes I actually forgot to do that the first time).
Тут написано - непровафлить табуляцию в Makefile.
12. From the line that says "APPS+=app_rxfax.so app_txfax.so app_udptl_test.so" remove app_udptl_test.so
У строчки APPS+=... убрать последний модуль. понятно.
13. mkdir asterisk/include/spandsp
создать директорию spandsp в сырцах астериска.
14. Copy all files from spandsp-0.0.3/src/spandsp/ to asterisk/include/spandsp/
15. Copy spandsp.h from spandsp-0.0.3/src/ to asterisk/include/
Скопировал.
16. Apply the asterisk-t38-patch3.diff in the main Asterisk source directory. (be prepared to provide the full paths to some of the files, e.g. utils/frame.h (врёт) channels/chan_sip.c include/asterisk/udptl.h (there might have been more i can't remember)) !!! The frame.h patch will fail! Don't worry about it...
Переписываем t32 патч в директорию с астериском, применяем patch < asterisk-t38-patch3.diff. И сообщаем где находятся недостающие файлы:
frame.h и udprtl.h в include/asterisk/ ,а chan_sip.c в channels/chan_sip.c . После этого все должно пропатчиться без всяких FAILED
17. Comment out the lines in app_txfax.c and app_rxfax.c that refer to t38.ast_chan (some of those lines will have corresponding "if" statements so don't forget to comment those out too)
Коментируем все выражения с ast_chan ( а не только t38.ast_chan) в этих файлах. не забываем что if(...) коментировать с тем что по этому условию должно было выполняться. Помоему в каждом файле по 3 места где приходится коментить.
18. make clean && make (will fail)
сделав это в общем проекте у меня никаких ошибок не вылезло - наверно это связано ч тем что пользовал 1.2 а не 1.2.rc1. Такчто следующий 19й пункт не понадобится.
19. You'll get AST_MODEM undefined and some other stuff.. so add the frame.h chunk from the patch manually to each file that needs it (just adding it to frame.h didn't work for some reason.. even though it worked the first time i did it)
20. make install
Тоже ок.
После этого в настройках SIP.conf.sample смотрим на загадочные настройки
t38udptlsupport=yes
t38tcpsupport=no
t38rtpsupport=no
Это как я понял все настройки.
Буду пробывать как там факсы будут или не будут работать. Странно что нислова про h323 не сказано хоть и факс у меня через cisco827 подключен (см. пред. сообщения) по SIP, а внешний то канал - H323.
Вообщем - проверю отпишу.
P.S.
Изврат это всеже - согласны?
Могли уж в долгожданный релиз это включить.;)
|
Сообщений: 6521
|
Re: H323 Cisco 827
После этих слов Антон перевёл дух, умакнул перо, и огляделся по сторонам - * сообщество благоговейно молчало. Ответственные за ветку Т38 краснея и кусая губы вносили изменения в проект 1.2.1 релиза...
|
Откуда: Москва
Сообщений: 3421
|
Re: H323 Cisco 827
|
Сообщений: 91
|
Re: H323 Cisco 827
Весело у вас тут...
А у меня ничего так и не завелось. Помогите, пожалуйста.
Ситуация: аналогичный cisco 827, asterisk 1.0.9 (только SIP), cisco 5350. 827я не регистрируется на *. Возможно я что-то не доделал. прописал sip-ua, dial-peer'ы voip и pots .
dial-peer voice 178 voip
destination-pattern T
voice-class codec 1
session protocol sipv2
session target ipv4:<Asterisk>
!
dial-peer voice 10 pots
destination-pattern 178
port 1
!
sip-ua
sip-server ipv4:<Asterisk>
Снифер на *-машине показал, что никаких запросов на регистрацию и не сыпется.
Это еще пол беды. По идее то, зачем нам нужен *, если у нас уже есть 2 циски! Можно же завязать их и так. Создал на 5350 dial-peer voip и (ура) звонок на один из портов 827 прошел (даже голос в обе стороны ходит). Едем дальше прописываем на 827
dial-peer voice 178 voip
destination-pattern T
voice-class codec 1
session target ipv4:<AS5350>
А со стороны 827 звонки не пошли.
И такой вопрос, что именно нужно продебажить, чтобы выяснить причину?
debug h245 events при звонке со стороны 827 выдает следующее
Changing to new event: CONNECT
h323chan_chn_connect: connecting to <айпишник AS5350>:1720
18:58:18: h323chan_gw_conn: Created socket
18:58:18: h323chan_gw_conn: connect in progress on socket [3]h323chan_chn_connect: using fd 3, owner_data(ccb) 0x81479C70
changing from NONE state to CONNECTING state
18:58:18: h323chan_chn_process_read_socket: fd (3) of type CONNECT_PENDING has dataChanging to new event: CONNECTED
changing from CONNECTING state to CONNECTED state
18:58:18: h323chan_send: send failure: errno = 134
18:58:18: Number of octets sent is -1h323chan_chn_close: Calls[1] Exist on socket[3] Owner[2]
18:58:18: h323chan_close: TCP connection from socket [3] closed
я так понимаю ключевое тут errno = 134 . но нигде расшифровки не нашел.
Если RTFM - извиняюсь, но не нашел.
|
Сообщений: 91
|
Re: H323 Cisco 827
Весело у вас тут...
А у меня ничего так и не завелось. Помогите, пожалуйста.
Ситуация: аналогичный cisco 827, asterisk 1.0.9 (только SIP), cisco 5350. 827я не регистрируется на *. Возможно я что-то не доделал. прописал sip-ua, dial-peer'ы voip и pots .
dial-peer voice 178 voip
destination-pattern T
voice-class codec 1
session protocol sipv2
session target ipv4:<Asterisk>
!
dial-peer voice 10 pots
destination-pattern 178
port 1
!
sip-ua
sip-server ipv4:<Asterisk>
Снифер на *-машине показал, что никаких запросов на регистрацию и не сыпется.
Это еще пол беды. По идее то, зачем нам нужен *, если у нас уже есть 2 циски! Можно же завязать их и так. Создал на 5350 dial-peer voip и (ура) звонок на один из портов 827 прошел (даже голос в обе стороны ходит). Едем дальше прописываем на 827
dial-peer voice 178 voip
destination-pattern T
voice-class codec 1
session target ipv4:<AS5350>
А со стороны 827 звонки не пошли.
И такой вопрос, что именно нужно продебажить, чтобы выяснить причину?
debug h245 events при звонке со стороны 827 выдает следующее
Changing to new event: CONNECT
h323chan_chn_connect: connecting to <айпишник AS5350>:1720
18:58:18: h323chan_gw_conn: Created socket
18:58:18: h323chan_gw_conn: connect in progress on socket [3]h323chan_chn_connect: using fd 3, owner_data(ccb) 0x81479C70
changing from NONE state to CONNECTING state
18:58:18: h323chan_chn_process_read_socket: fd (3) of type CONNECT_PENDING has dataChanging to new event: CONNECTED
changing from CONNECTING state to CONNECTED state
18:58:18: h323chan_send: send failure: errno = 134
18:58:18: Number of octets sent is -1h323chan_chn_close: Calls[1] Exist on socket[3] Owner[2]
18:58:18: h323chan_close: TCP connection from socket [3] closed
я так понимаю ключевое тут errno = 134 . но нигде расшифровки не нашел.
Если RTFM - извиняюсь, но не нашел.
|
|