freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 21 ноя 2019 15:09

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 04 апр 2019 14:17 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1629
может быть это поможет

_________________
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 сен 2019 12:14 

Зарегистрирован: 03 июн 2016 18:05
Сообщения: 19
Нашел костыль. Как запретить хождение нешифрованного голосового потока.
Опишу. Из свободно доступных есть скрипт, написанный на lua, называется zrtp_agent.lua.
[+] На всякий случай, сам скрипт
-- ZRTP Enrollment Agent
session:setVariable("zrtp_secure_media", "true");
session:setVariable("zrtp_enrollment", "true");
session:sleep(100);
session:answer();
-- session:streamFile("zrtp/zrtp-status_securing.wav");
session:sleep(3000);
-- Give the agent time to bring up ZRTP.

local zrtp_secure_media_confirmed = session:getVariable("zrtp_secure_media_confirmed_audio");
local zrtp_new_user_enrolled = session:getVariable("zrtp_new_user_enrolled_audio");
local zrtp_already_enrolled = session:getVariable("zrtp_already_enrolled_audio");

if zrtp_secure_media_confirmed == "true" then
session:streamFile("zrtp/zrtp-status_secure.wav");
else
session:streamFile("zrtp/zrtp-status_notsecure.wav");
session:sleep(1000);
session:hangup("NORMAL_CLEARING");
end

--session:streamFile("zrtp/zrtp-enroll_welcome.wav");
--session:sleep(1000);

--if zrtp_secure_media_confirmed == "true" then
-- if zrtp_new_user_enrolled == "true" then.
-- session:streamFile("zrtp/zrtp-enroll_confirmed.wav");
-- session:sleep(3000);
-- else
-- if zrtp_already_enrolled == "true" then.
-- session:streamFile("zrtp/zrtp-enroll_already_enrolled.wav");
-- end.
-- end
--else.
-- session:streamFile("zrtp/zrtp-enroll_notzrtp.wav");
--end

-- session:streamFile("zrtp/zrtp-thankyou_goodbye.wav");
session:sleep(1000);


Вместо проигрывания -- session:streamFile("zrtp/zrtp-enroll_notzrtp.wav"); можно просто рубить вызов.
Встроил в диалплан:
<extension name="Local_Extension">
<condition field="destination_number" expression="^(\d{7})$">
<action application="export" data="dialed_extension=$1"/>
<action application="export" data="execute_on_answer=lua zrtp_check2.lua ${uuid}"/>

Это очень удобно, если оба собеседника обязаны использовать zrtp.


Вопрос такой. Если одно плечо вызова не должно поддерживать zrtp (шлюз или другая атс), можно ли, используя этот скрипт проверять только один кол лег? МОжет кто увидит возможность


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 сен 2019 11:48 

Зарегистрирован: 03 июн 2016 18:05
Сообщения: 19
argentum писал(а):
Вопрос такой. Если одно плечо вызова не должно поддерживать zrtp (шлюз или другая атс), можно ли, используя этот скрипт проверять только один кол лег? МОжет кто увидит возможность


Попробовал развести умеющих zrtp и остальных диалпланом.
Создал первую запись со скриптом с параметром continue="true" и вторую запись, без скрипта.
Если вызов прошел по первой части, перешел на вторую - все равно срабатывает скрипт по коннекту.
Я думал, если записи data="execute_on_answer во второй части не будет, скрипт не включится.
Увы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 сен 2019 13:21 

Зарегистрирован: 03 июн 2016 18:05
Сообщения: 19
argentum писал(а):
argentum писал(а):
Вопрос такой. Если одно плечо вызова не должно поддерживать zrtp (шлюз или другая атс), можно ли, используя этот скрипт проверять только один кол лег? МОжет кто увидит возможность


Попробовал развести умеющих zrtp и остальных диалпланом.
Создал первую запись со скриптом с параметром continue="true" и вторую запись, без скрипта.
Если вызов прошел по первой части, перешел на вторую - все равно срабатывает скрипт по коннекту.
Я думал, если записи data="execute_on_answer во второй части не будет, скрипт не включится.
Увы.

Еще один костыль )
Во вторую часть диалплана можно вставить что нибудь не нужное и не мешающее на execute_on_answer. и это перебьет скрипт zrtp.

Правда, хотелось бы красивого решения, определять zrtp на конкретном кол леге.

p.s. - мазохизм какой то, но мне начинает нравиться. продолжает нервировать отсутствие нормальной документации.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB