@ru_freeswitch

Страница 186 из 430
Alex
14.11.2017
09:14:50
еслиб на баше написал скриптик, а вот другие языки пока не понимаю

? Stan
14.11.2017
09:15:18
на баше тоже можно. Аналогично. Тока с баша наверное проще дёрнуть fs_cli -x 'originate... чем в ЕСЛ сходить

Konstantin
14.11.2017
09:15:47
#!/bin/bash /usr/bin/fs_cli -x "originate {origination_caller_id_number=$1}sofia/gateway/YouR_TISP_GW/$2 &bridge({origination_caller_id_number=$1}sofia/gateway/YouR_TISP_GW/$3)"

Alex
14.11.2017
09:17:21
а в FS как вставить вызов?

Google
Konstantin
14.11.2017
09:17:36
Что значит "вставить"?

The
14.11.2017
09:18:05
fs_cli -x видимо

Konstantin
14.11.2017
09:18:10
То, что выше написано копируешь в файл, ставишь файлу chmod +x

Запускаешь файл с нужными парамтерами и всё.

Alex
14.11.2017
09:18:27
номер же приходит в FS, из него нужно вызвать скрипт

? Stan
14.11.2017
09:18:37
зачем вызывать скрипт из фс?

Konstantin
14.11.2017
09:18:57
Он хочет инициировать callback от входящего вызова

Alex
14.11.2017
09:19:07
бр... а как не пойму? мне не обзвон нужен

? Stan
14.11.2017
09:19:22
расскажи чего нужно)

Konstantin
14.11.2017
09:19:35
<action application="system" data="сценарий_сохранения_номеров_А_и_Б $caller_id_number $pagd_number"/> <action application="hangup"/>

Alex
14.11.2017
09:20:53
вот, видимо то, что нужно. задача следущаяя... например, теща звонит со своей мобилы и чтобы деньги её не тратить FS сбрасывает и перезванивает

? Stan
14.11.2017
09:21:05
ах вон какой колбек

https://kovalyshyn.pp.ua/837.html

Google
Konstantin
14.11.2017
09:22:25
В скрипте ставится шедулер, который инициирует по сохранённой инфе вызов.

? Stan
14.11.2017
09:22:58
ну и там в комментах есть ссылка годная тоже

Alex
14.11.2017
09:24:29
что то там диалплан вырезан)

в комментах вроде подойдет, но как сделать проверку номера? там на всех звонивших будет перезванивать

Vitaly
14.11.2017
09:29:11
слетело форматирование в старых статьях, после обновления - подправил для этой записи.

Konstantin
14.11.2017
09:29:16
Тебе ж предложили "решение под ключ". ?

Alex
14.11.2017
09:30:34
да, спасибо. Класс. Но в этом случае отдельный номер нужно заводить

? Stan
14.11.2017
09:31:40
Konstantin
14.11.2017
09:32:05
Или скриптом, если в БД инфа.

Alex
14.11.2017
10:10:04
А где почитать про условия в диалплане? Не могу врубиться как "прыгать" по диалплану в зависимости от условий

Не могу поймать дзен после Астериска

? Stan
14.11.2017
10:11:33
Не могу поймать дзен после Астериска
вы все неправильно говорите фрисвитч это такая штука, вот ты его поставил, вот ты материшься и не понимаешь как это юзать, вот ты его настроил и после этого внезапно понимаешь что больше видеть астериск не хочешь

Konstantin
14.11.2017
10:11:41
Условия это не GotoIf, это фильтры - выполнять или нет action или antication внутри condition.

Условия бывают с остановом дальнейшей проверки или без и в зависимости от того, выполняется условие или нет.

Условия могут быть комбинаторными.

Alex
14.11.2017
10:13:05
Условия бывают с остановом дальнейшей проверки или без и в зависимости от того, выполняется условие или нет.
Так вот с этим и не могу пока разобраться. Верю, что не сложно, но врубиться не могу.

Жаль, что инфы на русском мало

? Stan
14.11.2017
10:22:01
мне в своё время помогло вдумчиво прочитать https://freeswitch.org/confluence/display/FREESWITCH/XML+Dialplan

Google
? Stan
14.11.2017
10:22:14
там на примерах всё хорошо

Alex
14.11.2017
11:59:04
Парни, а для выполнения js скриптов какие пакеты нужно установить в Debian?

Борюсь все с тем же callback. Вылезает ошибка 2017-11-14 15:02:17.859630 [DEBUG] switch_core_state_machine.c:783 Hangup Command with no Session jsrun(callback.js 7ХХХХХХХХХ8 1002): INVALID COMMAND!

Denis 災 nobody
14.11.2017
12:04:59
у фс транскодинг частенько дает "металлический голос" и подобное

при переводах например

что есть плохо

Alex
14.11.2017
12:05:59
какой нужен?

mod_java?

Denis 災 nobody
14.11.2017
12:09:34
freeswitch-v8.x86_64 : JavaScript support for the FreeSWITCH open source telephony platform, using Google V8 JavaScript engine

mod_java?
какое отношение java вообще к js имеет?

Alex
14.11.2017
12:10:26
поэтому и спрашиваю какой модуль

Denis 災 nobody
14.11.2017
12:10:34
v8

а дальше - вероятнее load js

там табом посмотри

енот
14.11.2017
12:11:49
Да сделай ты колбек по тупому, через диалплан, нафиг тебе скрипты? Кондишен на cid, дальше хэнгап и бридж на cid

Alex
14.11.2017
12:13:26
это лучше. а бридже как прописать?

енот
14.11.2017
12:16:25
Гуглануть freeswertch bridge, channel variables

Я с телефона, а это базовые понятия, без них ловить нечего

Alex
14.11.2017
12:17:31
Не спорю. Только разбираюсь с FS

Google
енот
14.11.2017
12:17:42
Теья интересует caller_id

Alex
14.11.2017
13:13:51
А как выполнить бридж после хангап? На хангапе все останавливается

енот
14.11.2017
13:14:21
fail_after_hangup или как-то так

Igor
14.11.2017
13:14:37
api_hangup_hook

но насчет бриджа чот не уверен

есть еще set_zombie_exec

енот
14.11.2017
13:15:38
hangup_after_bridge

continue_on_fail

Вот эти две опции тебе помогут

Denis 災 nobody
14.11.2017
13:16:01
енот
14.11.2017
13:16:08
falste

))

Alex
14.11.2017
13:16:35
пошел читать)

Чет не срабатывает все равно... где накосячил? <extension name="public_did_mult"> <condition field="destination_number" expression="^\+?7?8?(9xxxxxxx72)$"/> <condition field="caller_id_number" expression="^\+?7?8?(90xxxxxxx8)$"> <action application="pre_answer"/> <action application="read" data="3 12 'tone_stream://%(10000,0,350,440)' digits 20000 #"/> <action application="set" data="hangup_after_bridge=false"/> <action application="set" data="continue_on_fail=CALL_REJECTED"/> <action application="hangup" data="CALL_REJECTED"/> <action application="bridge" data="[origination_caller_id_number=$1]sofia/gateway/multifon/$1,[origination_caller_id_number=${digits}]sofia/geteway/multifon/${digits}"/> <!— <action application="set" data="api_hangup_hook=jsrun callback.js ${caller_id_number} ${digits}"/> —> <anti-action application="set" data="recordingfile=${strftime(%Y-%m-%d-%H:%M)}_${destination_number}_${caller_id_number}.wav"/> <anti-action application="record_session" data="$${rec_dir_custom}/${recordingfile}"/> <anti-action application="set" data="domain_name=$${domain}"/> <anti-action application="transfer" data="1003 XML default"/> </condition> </extension>

Denis 災 nobody
14.11.2017
13:44:09
<action application="hangup" data="CALL_REJECTED"/> вот тут?

Alex
14.11.2017
13:51:54
заменил на <action application="hangup"/> - не работает

енот
14.11.2017
13:57:27
сделай ансвер, потом хэнгап

Denis 災 nobody
14.11.2017
14:04:57
сделай ансвер, потом хэнгап
оно вообще должно работать? явный hangup же

а не по второй ноге, хэнгап которой мы игнорим

так что делай бридж, где второй ногой sipp с нужным хэнгапом

Google
Alex
14.11.2017
14:14:47
а есть рабочий пример?

Denis 災 nobody
14.11.2017
14:28:38
под рукой нет, попозже

Alex
14.11.2017
14:29:14
хорошо, подожду

Парни, а такой вопрос... не вызывается bash скрипт. Отдельно из терминала выполняется, права 777, а из диалплана не хочет. <extension name="public_did_mult"> <condition field="destination_number" expression="^\+?7?8?(9хххххххх2)$"/> <condition field="caller_id_number" expression="^\+?7?8?(9хххххххххх8)$"> <action application="system" data="callback.sh 1002 ${caller_id_number}"/> <action application="hangup"/> </condition> </extension>

? Stan
14.11.2017
20:00:38
SELinux?

Что в логах?

Alex
14.11.2017
20:01:05
а вот сейчас проверю

в логах тишина

? Stan
14.11.2017
20:01:33
Ну он пишет что пытается?

Alex
14.11.2017
20:01:46
2017-11-14 22:52:10.477376 [NOTICE] mod_dptools.c:2120 Executing command: callback.sh 1002 7ххххххх

это единственное, что выводит

после этого хэнгап

и тишина

не, SELinux по умолчанию выключен

в Debian

? Stan
14.11.2017
20:10:05
А он точно в нужной парке? Укажи абсолютный путь

Alex
14.11.2017
20:10:42
да вроде в нужной... для скриптов то общая папка?

хм... с абсолютным путем выполняется... что за чертовщина

? Stan
14.11.2017
20:14:37
да вроде да, но ты попробуй с абсолютным

о

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