
Igor
09.02.2017
10:12:47
проблемка выскочила
не влезает SDP в UDP пакет
собственно вопрос, какой из параметров шлюза заставляет работать его через TCP?
register-transport=tcp не канает, всё равно трафик идет UDPшный

Google

Denis 災 nobody
09.02.2017
10:49:45
а обе стороны хотят тсп?

Igor
09.02.2017
10:51:19
да, обе хотят
в шапке летит transport=tcp, все дела, но трафик сам по себе UDP
короче мне либо через TCP пустить его
либо compact headers включить

Denis 災 nobody
09.02.2017
10:52:50

Igor
09.02.2017
10:53:14
там отдельный профиль под эту потеху
короче этот вопрос закрыт
но меня не отпускает регистрация TCP
собственно что делаю
регаю один ФС на другом
FS1 - профиль на порту 5060. bind tcp и udp
FS2 - профиль на порту 5088, tcp и udp

Google

Igor
09.02.2017
11:27:13
создаю шлюз, ставлю register-transport=tcp, contact-params=tport=tcp
регаюсь
прилетает
Via: SIP/2.0/UDP
пакет соответственно
(tos 0x0, ttl 56, id 2017, offset 0, flags [none], proto UDP (17), length 835)
что я делаю не так?

Denis 災 nobody
09.02.2017
11:30:08
а в профиле что?
BIND-URL
sofia status profile ...

Igor
09.02.2017
11:30:36
сек

Denis 災 nobody
09.02.2017
11:30:56
ну и странно, должен действовать как в контакте сказано..

Igor
09.02.2017
11:31:08
BIND-URL sip:mod_sofia@192.168.87.50:5088;transport=udp,tcp

Denis 災 nobody
09.02.2017
11:31:18
ну у тебя преферред удп
если на профиле совсем отключить удп, должно по тсп побежать

Igor
09.02.2017
11:32:11
я собственно так и подумал, но как то это неправильно чтоли

Denis 災 nobody
09.02.2017
11:32:18
почему?

Igor
09.02.2017
11:32:29
ну всмысле совсем отключить UDP на профиле
по идее я же в шлюзе указал что юзай TCP для этой регистрации
профиль TCP держит

Google

Denis 災 nobody
09.02.2017
11:33:34
в профиле <param name="bind-params" value="transport=tcp"/> выставил?

Igor
09.02.2017
11:35:23
ага, походу тут то я и промахнулся. я только на bind-url глянул

Denis 災 nobody
09.02.2017
11:37:23
но вообще да, должен был из контакта взять тсп
багрепорт? )
или формат может особый нужен

Igor
09.02.2017
11:40:52
Via: SIP/2.0/UDP
один хрен

Denis 災 nobody
09.02.2017
11:42:12
и в дебаг логе нет аномалий?

Igor
09.02.2017
11:43:06
не, там всё норм
вобщем веселая штука
если ставишь transport=tcp

Denis 災 nobody
09.02.2017
11:43:25
багу заведи..

Igor
09.02.2017
11:43:33
ща до мастера сначала обновлюсь

Denis 災 nobody
09.02.2017
11:43:38
или ответят что не так, или примут

Igor
09.02.2017
11:43:39
а то у меня там билд не оч свежий

Denis 災 nobody
09.02.2017
11:43:58
но не думаю что ты первый, кто по тсп хочет

Igor
09.02.2017
11:44:14
да я тоже так думаю, щас жиру поковыряю на эту тематику
может кто и отписывал чего

Denis 災 nobody
09.02.2017
12:57:13
как поднять громкость у phrase?
кроме прямой правки файлов

Google

Igor
09.02.2017
12:58:46
<action application="set_audio_level" data="write 1"/>
не пробовал?

Denis 災 nobody
09.02.2017
12:59:16
нет еще )
частью фразу не сделать?

Igor
09.02.2017
12:59:58
честногвооря не юзал phrase никогда, не подскажу
короче на 1.6.14 git 9743872 2017-02-03 22:25:09Z 64bit такая же хрень с TCP
пойду на жире поищу что нибудь

Яков
09.02.2017
16:43:05
и здесь все теже люди

Denis 災 nobody
09.02.2017
17:00:48
а кто знает, как передать в питон скрипт все канальные переменные, чтобы работал serialize?

Admin
ERROR: S client not available

Denis 災 nobody
09.02.2017
17:01:31
использую хук, но по ряду причин нужна интерактивная обработка. Если запускать питон скрипт, там можно только через getVariable по переменной выбирать.. не очень удобно
или как можно быстро и просто

Alexandru
09.02.2017
17:06:47
getBody же, не?
там прямо в вики пример описан

Denis 災 nobody
09.02.2017
17:07:31
keys = ['direction', 'call_direction', 'sip_h_X-Inring', 'sip_h_X-Leg2i', 'sip_ph_X-Leg2i', 'sip_rh_X-Leg2i', 'X-ResolveArray', 'channel_name']
for k in keys:
freeswitch.consoleLog("notice", str(k))
val = session.getVariable(k)
if val:
data["variable_" + k] = val
боди был при этом пустой
и я про вызов вида action application=set data=${python aaa}

Alexandru
09.02.2017
17:09:55
а, тю, да, это для эвентов

Denis 災 nobody
09.02.2017
17:10:17
да, в ивентах есть .serialize('json')
и прочие плюшки
def fsapi(session, stream, env, args):
"""
Handles API calls (from fs_cli, dialplan HTTP, etc.).
Default name is 'fsapi', but it can be overridden with <modname>::<function>
session is a session object when called from the dial plan or the
string "na" when not.
stream is a switch_stream. Anything written with stream.write() is
returned to the caller.
env is a switch_event.
args is a string with all the args passed after the module name.
"""

Google

Denis 災 nobody
09.02.2017
17:11:09
и работать с этим уныло

Alexandru
09.02.2017
17:16:10
mod_python я не заводил

Denis 災 nobody
09.02.2017
17:16:34
аналог - луа, но тоже дрянь

Igor
09.02.2017
17:18:19
дык там методы одни и те же
не отличаются ниччем
разница была в dbh только
питон сегфолтит с бд а луа нет

Alexandru
09.02.2017
17:19:39
сегфолтит в смысле ложится или в смысле есть такая возможность?

Igor
09.02.2017
17:19:54
кладет фс
по крайней мере так было в старых версиях, в новых не пробовал

Denis 災 nobody
09.02.2017
17:20:39
да, с алхими

Igor
09.02.2017
17:20:40
не только с алхимией

Alexandru
09.02.2017
17:20:51
хм.

Igor
09.02.2017
17:20:59
напрямую с pymysql
и через odbc
та же самая хрень была
не всегда, не постоянно, но с завидной периодичностью
что в корке было не помню
гдето натыкался помоему в жире на подобную проблему, там кто-то из разрабов отписался, если что-то не работает из src/mod/languages используйте lua