Size: a a a

2021 January 11

V

Viktor in ru_freeswitch
Serge Yuriev
смело и зря - виртуалки нонче дёшевы, хоть тот же докер себе поставить
Спасибо, то что зря - сам знаю, мера вынужденная.
источник

PZ

Pavel Z in ru_freeswitch
Serge Yuriev
А полный лог покажите? Подозреваю шлюз не проходит ACL - наличие его без регистрации в контксте не означает, что фс его пропустит - то есть исходящие это одно, а на вход нужно допилить.
Так вроде на вход вызов и должен попадать в паблик. И жалуется в итоге на отсутствие этого контекста
источник

PZ

Pavel Z in ru_freeswitch
Если не проходит асл, то тоже попадает в паблик)
источник

SY

Serge Yuriev in ru_freeswitch
Pavel Z
Если не проходит асл, то тоже попадает в паблик)
не уверен 🙂
есть подозрение, что на самом деле там другой контекст на экстернал висит и туда-то и попадает звонок
источник

SY

Serge Yuriev in ru_freeswitch
это если на тот порт ещё приходит..
источник

PZ

Pavel Z in ru_freeswitch
Serge Yuriev
не уверен 🙂
есть подозрение, что на самом деле там другой контекст на экстернал висит и туда-то и попадает звонок
Какая хорошая мысль про другой контекст на экстернал)
источник
2021 January 12

AK

Andrey Kryukov in ru_freeswitch
Viktor
bridge так работает: <action application="bridge" data="user/1@$${domain},user/2@$${domain},user/3@$${domain}"/>, для transfer как вызвать несколько юзеров?    <action application="transfer" ...
Поясните что вы хотите сделать ? что за группы ? группы которые в directory ? чтобы подобным образом обратиться ?
<action application="bridge" data="${group_call(200@${domain_name}+F)}"/>
Так создайте еще одну группу в directory, в чем собственно проблема  ?  Либо как вы уже написали сформируйте диалстроку из юзеров вручную
bridge так работает: <action application="bridge" data="user/1@$${domain},user/2@$${domain},user/3@$${domain}"/>
источник

V

Viktor in ru_freeswitch
Andrey Kryukov
Поясните что вы хотите сделать ? что за группы ? группы которые в directory ? чтобы подобным образом обратиться ?
<action application="bridge" data="${group_call(200@${domain_name}+F)}"/>
Так создайте еще одну группу в directory, в чем собственно проблема  ?  Либо как вы уже написали сформируйте диалстроку из юзеров вручную
bridge так работает: <action application="bridge" data="user/1@$${domain},user/2@$${domain},user/3@$${domain}"/>
Доброп утро. Звонок из одного контекста в другой. Мне надо чтоб вызов шел сразу нескольким пользователям. Мне посоветовали в контексте, где эти пользователи, создать экстеншн и трансфер делать на этот экстеншн. Я такого еще не делал, сегодня буду смотреть что и как.
источник

Г

Г.Павел in ru_freeswitch
Viktor
Добрый вечер, настроен сип-транк без регистрации (шлюз в контексте public). написал экстеншен в этом контексте, трансфер на юзера в контексте default. Но, при входящем звонке "regected" а fs пишет, что контекста public не найдено. Где я о нем должен заявить кроме диалплана?
Очень похоже на acl, добавь адрес оператора с маской 32 в acl и посмотри, может от оператора rtp трафик идёт с другого адреса к тебе и его тогда нужно добавить.
источник

SY

Serge Yuriev in ru_freeswitch
Viktor
Добрый вечер, настроен сип-транк без регистрации (шлюз в контексте public). написал экстеншен в этом контексте, трансфер на юзера в контексте default. Но, при входящем звонке "regected" а fs пишет, что контекста public не найдено. Где я о нем должен заявить кроме диалплана?
До меня наконец дошла бессмысленность фразы про "шлюз в контексте" - шлюзы у нас в профиле, а контексты - в диалплане и к шлюзу можно обратиться из любого из них. Смотри в какой профиль попадает вызов и какой у него указан контекст по-умолчанию. Убедись что он такой есть, нет опечаток и все файлы инклюдятся.
источник

V

Viktor in ru_freeswitch
Товарищи, я разобрался с этим вопросом, все ок. Была действительно опечатка. А до меня дошло то, что application tfansfer просто переводит звонок в другой контекст, без указания конкретного пользователя. Во всех примерах это выглядит так:  <action application="transfer" data="1000 XML default"/>,  то есть мы переводим звонок из public на юзера 1000 в контексте дефолт. Я думал, что это именно переадресация на пользователя 1000. Но, оказывается мы переводим не на юзера 1000, а просто отправляем destination 1000 в контекст default и уже дальше диалплан работает в этом контексте, находя там совпадение с кондишном, делает бридж с 1000. Я осознаю, насколько я тормозной и насколько я становлюсь умнее каждый раз, когда обращаюсь сюда, спасибо всем за помощь.
источник

A

Aleksandr in ru_freeswitch
Подскажите как проверить переменную на наличие или пустая в lua
В extenshion передаю
"export" data="zvonok_na=test1"
потом вызывается скрипт где есть строки
zvonokna = api:executeString("uuid_getvar " .. session_uuid .. " zvonok_na");
и проигрывается файл в зависимости что передали в zvonok_na
session:streamFile(custom_sounds_path .. "zvonok_na_" .. zvonokna .. ".wav");

добавил перед session:streamFile
if zvonokna == nil then
  zvonokna=default_file
end
Хочу проверять если передаём zvonok_na то проигрывать тот файл что указали, если нет подставлять файл по умолчанию для проигрывания
источник

YG

Yuriy Gorlichenko in ru_freeswitch
Aleksandr
Подскажите как проверить переменную на наличие или пустая в lua
В extenshion передаю
"export" data="zvonok_na=test1"
потом вызывается скрипт где есть строки
zvonokna = api:executeString("uuid_getvar " .. session_uuid .. " zvonok_na");
и проигрывается файл в зависимости что передали в zvonok_na
session:streamFile(custom_sounds_path .. "zvonok_na_" .. zvonokna .. ".wav");

добавил перед session:streamFile
if zvonokna == nil then
  zvonokna=default_file
end
Хочу проверять если передаём zvonok_na то проигрывать тот файл что указали, если нет подставлять файл по умолчанию для проигрывания
Проверьте значение переменной на длину
str:len()
Если 0 то там явно ничего нет
источник

A

Aleksandr in ru_freeswitch
пробовал
if (string.len(zvonokna) == nil )  then
nill заменить на 0?
источник

АХ

Алексей Хабуляк... in ru_freeswitch
Aleksandr
Подскажите как проверить переменную на наличие или пустая в lua
В extenshion передаю
"export" data="zvonok_na=test1"
потом вызывается скрипт где есть строки
zvonokna = api:executeString("uuid_getvar " .. session_uuid .. " zvonok_na");
и проигрывается файл в зависимости что передали в zvonok_na
session:streamFile(custom_sounds_path .. "zvonok_na_" .. zvonokna .. ".wav");

добавил перед session:streamFile
if zvonokna == nil then
  zvonokna=default_file
end
Хочу проверять если передаём zvonok_na то проигрывать тот файл что указали, если нет подставлять файл по умолчанию для проигрывания
function isEmpty(s)
  return s == nil or s == ''
end
источник

АХ

Алексей Хабуляк... in ru_freeswitch
и с помощью isEmpty(ВАШАПЕРЕМЕННАЯ) проверять
источник

A

Aleksandr in ru_freeswitch
попробую, спасибо
источник

АЦ

Алексей Целищев... in ru_freeswitch
 2021-01-12 15:09:50.078167 [ERR] switch_rtp.c:841 No audio stun for a long time!
Вот такой ошибки много. Использую SipJs FS 1.9.0 (на 1.8.7 так же).
Насколько это важно/критично?
источник

YG

Yuriy Gorlichenko in ru_freeswitch
Aleksandr
пробовал
if (string.len(zvonokna) == nil )  then
nill заменить на 0?
да
она же num возвращает
а не nul/bool
источник

АЦ

Алексей Целищев... in ru_freeswitch
Aleksandr
Подскажите как проверить переменную на наличие или пустая в lua
В extenshion передаю
"export" data="zvonok_na=test1"
потом вызывается скрипт где есть строки
zvonokna = api:executeString("uuid_getvar " .. session_uuid .. " zvonok_na");
и проигрывается файл в зависимости что передали в zvonok_na
session:streamFile(custom_sounds_path .. "zvonok_na_" .. zvonokna .. ".wav");

добавил перед session:streamFile
if zvonokna == nil then
  zvonokna=default_file
end
Хочу проверять если передаём zvonok_na то проигрывать тот файл что указали, если нет подставлять файл по умолчанию для проигрывания
if m then
          blablabla
end
источник