Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Разработка / [b] Asterisk 1.6: originate fax loopback[/b]

[b] Asterisk 1.6: originate fax loopback[/b]

SendFax: Тестирование нагрузки на *
1 2>
Сообщений: 40

[b] Asterisk 1.6: originate fax loopback[/b]

Пытаюсь протестировать производительность * при отправке и приёме факсов (скажем 20 факсов одновременно), для чего хочу замкнуть приём и передачу на самого себя по sip. Типа я с командной строки * стартую originate и он переключается на экстеншн по приёму факсов. Т.е. sendfax с одного экстеншн замыкается на receivefax на другом и они мило общаются друг с другом, один передаёт, другой принимает.
Хотел использовать originate, но этот вариант не проходит, originate <tech/data> пытается установить соединения по каналу <tech/data>, а не передаёт управление в extensions.conf. В общем, видимо придется запускать ещё один *.
А, может, у кого-нибудь есть другие и идеи? Поделитесь, буду благодарен.
2010-01-29 15:02

Avatara of simax
Откуда: Нижний Новгород
Сообщений: 277

Re: [b] Asterisk 1.6: originate fax loopback[/b]

например пользовать канал Local
2010-01-29 15:09

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: [b] Asterisk 1.6: originate fax loopback[/b]

.call файл спасет!
http://линия24.рф - Астериск и прочие бубны!
2010-01-29 15:51

Avatara of simax
Откуда: Нижний Новгород
Сообщений: 277

Re: [b] Asterisk 1.6: originate fax loopback[/b]

zzuz:

.call файл спасет!
А какая разница функциональная между .call файлом и Originate?
2010-01-29 16:04

Сообщений: 40

Re: Asterisk 1.6: originate fax loopback

simax:

например пользовать канал Local
Пробовал, не получается. Т.е. вызов на локальный контекст идёт, receivefax стартует, а sendfax не запускается:
*CLI> originate Local/555@internal application sendfax /home/eliduc/tiff/74952232792-4996115246-0121124046.tif
-- Executing [555@internal:1] Set("Local/555@internal-c0b9;2", "USERID=555") in new stack
*CLI> -- Executing [555@internal:2] Goto("Local/555@internal-c0b9;2", "recvfax,s,1") in new stack
-- Goto (recvfax,s,1)
-- Executing [s@recvfax:1] Answer("Local/555@internal-c0b9;2", "") in new stack
-- Launching sendfax(/home/eliduc/tiff/74952232792-4996115246-0121124046.tif) on Local/555@internal-c0b9;1
-- Executing [s@recvfax:2] Wait("Local/555@internal-c0b9;2", "3") in new stack
-- Executing [s@recvfax:3] Goto("Local/555@internal-c0b9;2", "fax,1") in new stack
-- Goto (recvfax,fax,1)
-- Executing [fax@recvfax:1] Set("Local/555@internal-c0b9;2", "TIMESTAMP=0129165618") in new stack
-- Executing [fax@recvfax:2] Set("Local/555@internal-c0b9;2", "TIFFILE=/tmp/555--0129165618.tif") in new stack
-- Executing [fax@recvfax:3] ReceiveFAX("Local/555@internal-c0b9;2", "/tmp/555--0129165618.tif") in new stack
[Jan 29 16:01:15] WARNING[4091]: app_fax.c:526 transmit_audio: It looks like we hung. Aborting.
[Jan 29 16:01:15] WARNING[4091]: app_fax.c:224 phase_e_handler: Error transmitting fax. result=49: The call dropped prematurely.
[Jan 29 16:01:15] WARNING[4091]: app_fax.c:835 transmit: Transmission error
[Jan 29 16:01:15] WARNING[4090]: app_fax.c:224 phase_e_handler: Error transmitting fax. result=49: The call dropped prematurely.
[Jan 29 16:01:15] WARNING[4090]: app_fax.c:835 transmit: Transmission error
== Spawn extension (recvfax, fax, 3) exited non-zero on 'Local/555@internal-c0b9;2'
-- Executing [h@recvfax:1] NoOp("Local/555@internal-c0b9;2", "FAXSTATUS=FAILED") in new stack
-- Executing [h@recvfax:2] NoOp("Local/555@internal-c0b9;2", "FAXERROR=The call dropped prematurely") in new stack
-- Executing [h@recvfax:3] NoOp("Local/555@internal-c0b9;2", "REMOTESTATIONID=") in new stack
-- Executing [h@recvfax:4] NoOp("Local/555@internal-c0b9;2", "FAXPAGES=") in new stack
-- Executing [h@recvfax:5] NoOp("Local/555@internal-c0b9;2", "FAXBITRATE=") in new stack
-- Executing [h@recvfax:6] NoOp("Local/555@internal-c0b9;2", "FAXRESOLUTION=") in new stack
-- Executing [h@recvfax:7] GotoIf("Local/555@internal-c0b9;2", "1?finis") in new stack
-- Goto (recvfax,h,8)
-- Executing [h@recvfax:8] NoOp("Local/555@internal-c0b9;2", "") in new stack

zzuz:

.call файл спасет!

call файл, как я понимаю, равнозначен тому же запуску с консоли. Результат см. выше.
2010-01-29 16:15

Avatara of simax
Откуда: Нижний Новгород
Сообщений: 277

Re: [b] Asterisk 1.6: originate fax loopback[/b]

Ну тогда похоже дело в receivefax - он должен начать пищать (посылать фреймы) но подозреваю посылка синхронизируется по входящему медиа потоку (без внутреннего таймера) которого просто нету от sendfax'а так как он ждет писка от receivefax'а - в общем замкнутый круг :-)))) Так по крайней мере раньше было - счас может что-то поменялось - давно в код не лазил на новых релизах.

Так что подозреваю даже второй астериск не спасет :) Нужно чтобы от стороны которая посылет факс реально шли пакеты (даже с тишиной).

Все это ИМХО - видел на ранних версиях - счас незнаю - проверять лениво.
2010-01-29 19:00

Сообщений: 40

Re: [b] Asterisk 1.6: originate fax loopback[/b]

simax:

Ну тогда похоже дело в receivefax - он должен начать пищать (посылать фреймы) но подозреваю посылка синхронизируется по входящему медиа потоку (без внутреннего таймера) которого просто нету от sendfax'а так как он ждет писка от receivefax'а - в общем замкнутый круг :-))))
А вот такой вариант отправки-приёма факса:
* -> spa3102 -> тфоп-> voip provider -t38-> снова мой *
проходит без вопросов
проблема лишь в том, что здесь по техническим причинам я не могу пока организовать 20 каналов.
Вопрос: как мне лучше организовать такой тест?
2010-01-29 21:36

Сообщений: 40

Re: Asterisk 1.6: originate fax loopback

Такое впечатление, что sendfax/receivefax не хотят работать друг с другом напрямую, без "посредников" в виде циски или linksys: развернул для тестов ещё один *, прописал друг друга в sip.conf и extensions.conf, собрался было начать тесты обмена факсами, стартую originate и получаю в ответ:

*CLI> originate Local/555@internal application SendFAX /home/eliduc/ami/fax_1.tiff
-- Executing [555@internal:1] Dial("Local/555@internal-320c;2", "SIP/asterisk/555,30") in new stack
== Using SIP RTP CoS mark 5
== Using UDPTL CoS mark 5
-- Called asterisk/555
-- SIP/asterisk-00000007 answered Local/555@internal-320c;2
*CLI> -- Launching SendFAX(/home/eliduc/ami/fax_1.tiff) on Local/555@internal-320c;1
*CLI> [Feb 2 16:59:58] ERROR[22023]: app_fax.c:824 transmit: Audio loop reports T38 switchover but t38state != T38_STATE_NEGOTIATED
[Feb 2 16:59:58] WARNING[22023]: app_fax.c:835 transmit: Transmission error
== Spawn extension (internal, 555, 1) exited non-zero on 'Local/555@internal-320c;2'

А на втором вижу:

-- Executing [fax@recvfax:3] ReceiveFAX("SIP/asterisk2-00000002", "/tmp/555-asterisk2-0202180053.tif") in new stack
[Feb 2 17:00:53] WARNING[10040]: app_fax.c:224 phase_e_handler: Error transmitting fax. result=49: The call dropped prematurely.
[Feb 2 17:00:53] WARNING[10040]: app_fax.c:835 transmit: Transmission error

Т.е. договориться по t38 они друг с другом не могут. Из чего сразу получается, что два * просто не могут общаться между собой по t38.
Или, всё-таки, могут, нужно просто подкрутить некий магический винтик? Господа гуру и примкнувшие просто эксперты, отзовитесь!
2010-02-02 17:19

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: [b] Asterisk 1.6: originate fax loopback[/b]

попробуй IAXmodem
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-02-03 08:43

Сообщений: 40

Re: Asterisk 1.6: originate fax loopback

Ты имеешь ввиду IAXmodem+Hylafax? Ну, это дело не пяти минут... (никогда раньше не имел с ними дела). Хотя, видимо, нужно будет изучить Hylafax поподробнее, может получиться его использовать для решения каких-нибудь специфических задач. Спасибо!
2010-02-03 11:27

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru