@ru_freeswitch

Страница 386 из 430
Borik
04.09.2018
13:30:50
и это вы видели? Received an unsupported RTCP packet version 3
Да, это не мешает обычно прохождению звука, это артефакт rtpengine`а preanswer playback делает сам, но если его включить руками предварительно ничего не меняется, я проверял. вот больший кусок лога (с диалпланом): https://pastebin.com/MVJtguvh

Borik
04.09.2018
13:33:46
он необязателен, я проверял, честно-честно :) если вставить пере плэйбеком преансвер оно так же переходит в состояние preanswer и ничего не шлет.

Google
Borik
04.09.2018
13:34:02
ща покажу еще один лог, где все как вы говорите, и оно все равно не работает, 5 сек...

Marc
04.09.2018
13:34:13
там кстати диалплан не попал

попробуйте сделать тестовую секцию с преансер и плейбеком - должно всё заработать

Borik
04.09.2018
13:37:18
не работает: https://pastebin.com/k4YYVRbf

:(

Alex
04.09.2018
13:37:31
я не знаю что именно ему нужно делать с billsec
да, мне нужно его вытянуть и посчитать в скрипте, после этого записать в базу

Borik
04.09.2018
13:37:58
диалплан в самом начале, если что. в нем кроме указанных коммнд больше ничего нет.

Anton
04.09.2018
13:38:16
да, мне нужно его вытянуть и посчитать в скрипте, после этого записать в базу
если всё равно где считать то почему бы не посчитать в скрипте стартующем как hangup hook на legB

Marc
04.09.2018
13:39:27
диалплан в самом начале, если что. в нем кроме указанных коммнд больше ничего нет.
у меня первая строка 2018-09-04 16:22:49.810859 [INFO] mod_dialplan_xml.c:637 Processing +70008000001 <+70008000001>->+70008000000 in context provider

на диалплан непохоже)

Borik
04.09.2018
13:39:44
ну да, а следом исполнение диалплана

Google
Anton
04.09.2018
13:41:52
всё, я пас .)

Marc
04.09.2018
13:41:57
ну да, а следом исполнение диалплана
мы под диапланом понимаем нечто выглядящее как <extension name="501"> <condition field="destination_number" expression="^501$"> <action application="bridge" data="user/501"/> <action application="answer"/>

Borik
04.09.2018
13:42:27
https://pastebin.com/MVK7g44u

Marc
04.09.2018
13:42:47
Я пока нить потерял) какой второй скрипт?
Антон предлагает сделать отдельный скрипт на луа, который будет вызываться по окончанию легБ.

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

но из легА они видны не будут, поэтому этот новый скриптБ доделает работу самостоятельно

Alex
04.09.2018
13:44:08
хм... а это как?! можно примерчик

Marc
04.09.2018
13:44:11
например всё посчитает и запишет в базу

Borik
04.09.2018
13:44:12
мы под диапланом понимаем нечто выглядящее как <extension name="501"> <condition field="destination_number" expression="^501$"> <action application="bridge" data="user/501"/> <action application="answer"/>
выше диалплан, в котором файл руками скачивается, конвертится в нужный формат с нужным сэмплрейтом, делается преансвер, потом плейбек

результат такой же: нет звука в канале, не отсылается ни одного RTP-пакетика

Карина
04.09.2018
13:47:08
А ни у кого не было проблем с mod_amqp? Когда freeswitch пытается приконектиться к rabbit в логах freeswitch 2018-09-04 13:46:11.474289 [CRIT] mod_amqp_utils.c:52 Logging in: a socket error occurred 2018-09-04 13:46:11.474289 [WARNING] mod_amqp_command.c:252 Profile[default] failed to connect with code(9), sleeping for 1000ms 2018-09-04 13:46:12.474316 [WARNING] mod_amqp_command.c:248 Amqp no connection- reconnecting... В логах rabbita 2018-09-04 13:46:47.531 [warning] <0.5942.0> closing AMQP connection <0.5942.0> (172.18.0.3:32998 -> 172.18.0.2:5672): {handshake_error,tuning,0,{exit,{amqp_error,not_allowed,"negotiated channel_max = 0 is higher than the maximum allowed value (2047)",'connection.tune'},'connection.tune_ok', Конфиг стандартный, креды правильные

Pavel
04.09.2018
13:49:46
результат такой же: нет звука в канале, не отсылается ни одного RTP-пакетика
Переписку с начала не читал, но, если задача в 183 что-то проиграть вызывающему - емнип set ringback, выполненный до бриджа это делает.

Marc
04.09.2018
13:50:14
<extension name="test"> <condition field="destination_number" expression="^(.*)$"> <action application="pre_answer"/> <action application="playback" data="/путь к файлу"/> <action application="hangup" data="NORMAL_CLEARING"/> </condition> </extension>

сделайте звонок и выложите лог

Marc
04.09.2018
13:52:48
типа такого:

session.execute("set","ringback=%(2000,4000,440.0,480.0)") session.execute("bridge","sofia/foo/bar@test.com,sofia/foo/baz@test2.com:5070")

Google
Карина
04.09.2018
13:53:36
на стороне amqp
пробовала <param name="channel_max" value="10"/>

Anton
04.09.2018
13:53:36
хм... а это как?! можно примерчик
что именно из этого как ? .) как повесить hangup hook ? как повесить hangup hook на legB ? как в hangup hook обратиться к переменным уже уничтоженного канала ?

пробовала <param name="channel_max" value="10"/>
на стороне rabbitmq, не на стороне fs

Карина
04.09.2018
13:54:03
а - спасибо)

попробую

Anton
04.09.2018
13:54:19
там по дефолту значение 2047 (о чём он и говорит)

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

у модуля fs насколько помню это нерегулируемый параметр

Pavel
04.09.2018
13:54:40
session.execute("set","ringback=%(2000,4000,440.0,480.0)") session.execute("bridge","sofia/foo/bar@test.com,sofia/foo/baz@test2.com:5070")
Да. Но можно произвольный файл вызывающему играть, а не дтмф

Borik
04.09.2018
13:54:52
Marc
04.09.2018
13:55:19
теперь кстати никто не ругается

2018-09-04 16:53:01.770909 [INFO] mod_dptools.c:1355 Sending early media

Borik
04.09.2018
13:55:31
и тем не менее звука в канале нет

Карина
04.09.2018
13:55:40
Marc
04.09.2018
13:56:14
и тем не менее звука в канале нет
а какой клиент на той стороне?

Borik
04.09.2018
13:56:21
фрисвич

Marc
04.09.2018
13:56:24
звонящий

два фрисвича?

Borik
04.09.2018
13:56:49
еще раз: с той стороны звонит фрисвич. да, два фрисвича.

Marc
04.09.2018
13:57:07
ок, а терминала вообще нет?

Google
Borik
04.09.2018
13:57:46
вообще нет. с той стороны bgapi originate sofia/prov/sip:.... &echo

Marc
04.09.2018
13:58:14
а как вы понимаете что аудио нет?

wireshark?

Borik
04.09.2018
13:58:55
смотрю в трейс, статистику на rtpengine и записи сессий с обеих сторон

Alex
04.09.2018
13:59:18
что именно из этого как ? .) как повесить hangup hook ? как повесить hangup hook на legB ? как в hangup hook обратиться к переменным уже уничтоженного канала ?
как повесить я примерно понял, в диалплане <action application="lua" data="script_1.lua '${accountcode}' '38$3' '${domain_name}' '${uuid}'"/> <action application="set" data="api_hangup_hook=lua script_2.lua '"/> я правильно понял?

Marc
04.09.2018
14:01:25
смотрю в трейс, статистику на rtpengine и записи сессий с обеих сторон
насколько я вижу из лога никаких проблем нет

кстати, а что у вас с НАТом? он есть или его нет?

Borik
04.09.2018
14:02:04
:)))) да, только звук фрисвич не генерит ))) и даже если preanswer заменить на answer звука тоже нету

ната нет

но даж если он есть, фрисвич все равно должен пакетики куда-то отсылать

пусть и не туда, куда положено

Marc
04.09.2018
14:02:33
ну ошибок у вас нет, должен быть звук ))

Borik
04.09.2018
14:02:44
а он ничего никуда не отсылает, совсем

Marc
04.09.2018
14:02:47
может попробуете с сипклиентом?

Borik
04.09.2018
14:02:54
ну, вот всем кому должен он простил

Marc
04.09.2018
14:03:19
а файрволл есть?

Borik
04.09.2018
14:04:18
понимаете, если я вместо playback ставлю bridge с клиентом, то звук есть.

в обе стороны.

все норм. а вот когда playback указываю, то звука нет

Marc
04.09.2018
14:05:33
с answer тоже нет звука? т.е. дело не в ignore_early_media ?

Google
Borik
04.09.2018
14:12:45
если перед playback поставить answer то картина такая же, да

Marc
04.09.2018
14:13:27
tcpdump не хотите сделать на этой машине? )

Marc
04.09.2018
14:16:45
Alex
04.09.2018
14:16:56
зависит от того на какую ногу .)
Тогда нужно определиться какая нога какая) в скрипте у меня legA , это так, которая legA = freeswitch.Session("{absolute_codec_string='PCMA,PCMU',execute_on_answer='sched_hangup +".. access_sec .." alloted_timeout'}sofia/gateway/mixnet/" .. destination);

но примерно да
а что во втором скрипте?

Marc
04.09.2018
14:18:27
если перед playback поставить answer то картина такая же, да
а еще лучше поставить на комп в этой же сетке что нибудь вроде linphone и попробовать вживую

Anton
04.09.2018
14:18:32
https://freeswitch.org/confluence/display/FREESWITCH/Lua+API+Reference#LuaAPIReference-SpecialCase:envobject

во втором скрипте

Borik
04.09.2018
14:22:11
а еще лучше поставить на комп в этой же сетке что нибудь вроде linphone и попробовать вживую
Оно не будет так работать, придется довольно масштабно менять конфигурацию.

Marc
04.09.2018
14:22:29
тогда дамп

Borik
04.09.2018
14:22:46
дамп снимаю, в нем звука нет.

Marc
04.09.2018
14:22:53
надо понять проблема в связке фс-фс или в этой одной машине

а sipp пользуете?

Borik
04.09.2018
14:23:20
я думаю, что проблема в playback на данной конкретной машине. ща еще один эксперимент...

Borik
04.09.2018
14:28:28
линукс

в общем, изучение привело к следующему результату: если со стороны А не прилетает ни одного пакета в RTP сессии, то playback стопорится и не едет дальше.

я думаю, проблема как раз в сообщениях: 2018-09-04 17:28:10.030862 [WARNING] switch_rtp.c:6588 Received an unsupported RTCP packet version 3

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

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