@ru_freeswitch

Страница 111 из 430
Denis 災 nobody
05.07.2017
09:09:04
вторая строка вряд ли

Ihor
05.07.2017
09:09:26
А а каком это языке?

Bakhodur K
05.07.2017
09:09:33
python

Denis 災 nobody
05.07.2017
09:09:39
оно вообще работать не должно

Google
Ihor
05.07.2017
09:09:51
Почему?

Denis 災 nobody
05.07.2017
09:09:54
там только 2 аргумента же

Bakhodur K
05.07.2017
09:10:16
Мне нужно чтобы до соединения шла озвучка (wav)

типа "соединяю вас..."

Denis 災 nobody
05.07.2017
09:10:30
ну и вероятно надо с той же логикой тогда, uuid в конце..

если так работает

Konstantin
05.07.2017
09:11:29
А проигрывать до ответа в a-leg нужно?

Denis 災 nobody
05.07.2017
09:11:36
после

answer и потом уже играть

Bakhodur K
05.07.2017
09:12:02
то есть предлагаете anwser сначала?

Konstantin
05.07.2017
09:12:07
Да.

One-way audio не поддерживается подавляющим большинством операторов связи.

Google
Bakhodur K
05.07.2017
09:15:32
con.execute("answer", uuid) con.execute("playback", "/etc/freeswitch/sounds/connect_you.wav", uuid) con.execute("set", "ringback=$${us-ring}", uuid) con.execute("bridge", "sofia/external/exten", uuid) Также не проигрывает

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

может из-за этого? 2017-07-05 12:17:16.118874 [DEBUG] switch_core_file.c:216 File /etc/freeswitch/sounds/greeting_say_name.wav sample rate 44100 doesn't match requested rate 8000 2017-07-05 12:17:16.118874 [DEBUG] switch_ivr_play_say.c:1314 Codec Activated L16@8000hz 1 channels 20ms 2017-07-05 12:17:16.178834 [DEBUG] switch_rtp.c:5928 Correct ip/port confirmed. 2017-07-05 12:17:16.178834 [DEBUG] switch_core_io.c:528 Setting BUG Codec PCMU:0

а нет

это ж другой файл

Denis 災 nobody
05.07.2017
09:16:43
ну и проверь с файлом, который проигрывает

Bakhodur K
05.07.2017
09:17:11
он ж ведь работает без бриджа

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

тогда наверное нужно какой-нить тайм аут сделать

Konstantin
05.07.2017
09:20:58
Он должен последовательно выполнять.

Bakhodur K
05.07.2017
09:22:06
логически да

Konstantin
05.07.2017
09:27:00
А в обычном xml диалплане такое работает?

Bakhodur K
05.07.2017
09:27:23
не помню, ща проверю

Denis 災 nobody
05.07.2017
09:27:38
в обычном последовательно

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

Konstantin
05.07.2017
09:28:40
А нужно фоновое?

Bakhodur K
05.07.2017
09:30:49
да, в обычном xml работает!

на питоне почему-то не хочет

Alexey
05.07.2017
09:32:48
вы используете ESL?

Bakhodur K
05.07.2017
09:33:19
да

Google
Bakhodur K
05.07.2017
09:33:26
именно

Alexey
05.07.2017
09:33:43
асинхронно?

Konstantin
05.07.2017
09:33:43
Я думаю, что проблема в асинхронности.

Нужно на событие окончания проигрываеия bridge вешать.

Alexey
05.07.2017
09:34:19
В синхронном режиме выполнение один за одним

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

Bakhodur K
05.07.2017
09:35:07
а этого не знаю

Konstantin
05.07.2017
09:35:38
Поставь паузу до бриджа и проверь.

Bakhodur K
05.07.2017
09:35:52
pause?

Konstantin
05.07.2017
09:35:56
Да.

Bakhodur K
05.07.2017
09:36:32
щас

Denis 災 nobody
05.07.2017
09:37:13
кто тестил ESL на производительность?

Denis 災 nobody
05.07.2017
09:37:31
что-то sendmsg у нас уже на 4 запросах при 50 cps глохнет

время обработки до 30+с растёт

Konstantin
05.07.2017
09:38:02
50 cps могут очень по разному быть.

Denis 災 nobody
05.07.2017
09:38:19
засылается на ансвере

Bakhodur K
05.07.2017
09:44:15
con.execute("answer", uuid) con.execute("playback", "/etc/freeswitch/sounds/connect_you.wav", uuid) con.execute("pause", uuid) 2017-07-05 12:45:54.197267 [DEBUG] switch_ivr.c:616 sofia/public-profile/1007@10.1.1.246:5060 Command Execute pause(b96dbfea-6166-11e7-8aaf-39949b7ecaa1) 2017-07-05 12:45:54.197267 [ERR] switch_core_session.c:2574 Invalid Application pause

Konstantin
05.07.2017
09:44:33
Паузу с т.з. python

Не фрисвитчёвую.

Alexey
05.07.2017
09:44:58
Oubound connection?

Google
Bakhodur K
05.07.2017
09:46:06
на питоне что ль

Konstantin
05.07.2017
09:46:49
Да

Bakhodur K
05.07.2017
09:50:19
сделал так con.execute("answer", uuid) con.execute("playback", "/etc/freeswitch/sounds/connect_you.wav", uuid) time.sleep(5) while True: print("This prints once a minute.") time.sleep(60) False con.execute("set", "ringback=$${us-ring}", uuid)

вроде прогаваривает

Konstantin
05.07.2017
09:51:36
Ну вот. Асинхронность -> события.

Event driven design. И вперёд.

Alexey
05.07.2017
09:52:18
Там не все так просто :)

Bakhodur K
05.07.2017
09:52:39
немножко нужно доработать, чтобы по истечению времени таймаута срабатывал бридж

сейчас до бриджа не доходит

Admin
ERROR: S client not available

Alexey
05.07.2017
09:53:05
Может попробывать синхронно?

Konstantin
05.07.2017
09:53:12
Потому и нужно событие отлавливать.

Bakhodur K
05.07.2017
09:54:23
Ладно, всем спасиб ребят. Вернемся попозже к этой теме!

Konstantin
05.07.2017
09:56:33
PLAYBACK_STOP event нужно ловить.

Alexey
05.07.2017
09:58:07
CHANNEL_EXECUTE_COMPLETE более универсально

ну и CHANNEL_HANGUP потому что CHANNEL_EXECUTE_COMPLETE может не прийти :)

Denis 災 nobody
05.07.2017
10:49:56
CHANNEL_EXECUTE_COMPLETE более универсально
а пульнул uuid_broadcast в канал и хана

не, лучше специфик ивентс

Alexey
05.07.2017
10:53:45
Не все так просто. playback может быть вызван из обрабочика в канале. например execute_on, Не увереен что есть способ узнать для какого execute пришло это событие

Google
Alexey
05.07.2017
10:54:10
CHANNEL_EXECUTE_COMPLITE имеет uuid команды

Denis 災 nobody
05.07.2017
10:54:22
PLAYBACK_STOP тоже

но мы такое не применяем, так что молчу )

Alexey
05.07.2017
10:55:27
Все равно мне больше нравится подписыватся на минимальное кол-во событий

Я тоже не использую ESL :)

поигрался и бросил за ненадобностью

Denis 災 nobody
05.07.2017
10:58:59
мы используем активно, но только на получение в основном

а диалпланы формируем отдельно и в xml_curl

Konstantin
05.07.2017
11:00:31
Пременную в playback можно запихать. Она в событии будет.

Denis
05.07.2017
13:18:22
созрел вопрос, контекст указаный в external.xml имеет меньший приоритет по сравнению с тем что указан для каждого отдельного профиля в external/*.xml ?

Alexey
05.07.2017
13:28:08
Если вы имеете ввиду контекст в шлюзе - то да

Правда этот контекст будет работать только если удаленная сторона пришлет корректный формат сообщения

имя шлюза из заголовка contact

Далеко не все операторы это делают

Ну и шлюз необходимо регистрировать

Denis
05.07.2017
13:55:10
а в случае если шлюз без регистрации по факту работает через invite?

Denis 災 nobody
05.07.2017
13:55:55
а в случае если шлюз без регистрации по факту работает через invite?
регистрация нужна только для звонка на шлюз, при звонке наружу оно необязательно

Alexey
05.07.2017
13:56:20
Да и для входа оно не обязательно

Denis
05.07.2017
13:56:28
таки не нужна регистрация port,invite же

Alexey
05.07.2017
13:57:02
Не уверен правда может ли FS опознать шлюз без регистрации

Denis 災 nobody
05.07.2017
13:57:02
не для всех провайдеров)
только как защита. По стандартам - рега и инвайт не связаны никак

Страница 111 из 430