@ru_freeswitch

Страница 180 из 430
? Stan
08.11.2017
15:32:16
там чего угодно сделать можно

Konstantin
08.11.2017
15:36:16
+

Victor_sc120
08.11.2017
15:39:54
<action inline="true" application="curl" data="http://192.168.1.1/info.php?zapros=$1"/> <action inline="true" application="set" data="result=${curl_response_data}"/>

Google
Victor_sc120
08.11.2017
15:41:06
да

дальше уже отработка

?iKizilov
08.11.2017
15:41:33
mod_xml_curl нужен?

Victor_sc120
08.11.2017
15:46:35
нет

?iKizilov
08.11.2017
15:49:04
Ясно. Как просто). Спасибо.

В ответе будет строка из слов с разделителями. Типа название оператора, название региона. Нужно будет ее обработать. Вытащить значения в 2-3 переменные. А это чем лучше в диалплане сделать?

Denis 災 nobody
08.11.2017
16:04:38
результат курла в переменную, потом экспрешшеном обработать, или же вызвать скрипт в котором разберешь.

можно в самом скрипте и сделать запрос, обработав ответ

?iKizilov
08.11.2017
16:05:52
Скрипт есть на баше. Его можно запустить?

И получить ответ?

Denis 災 nobody
08.11.2017
16:06:21
можно..

?iKizilov
08.11.2017
16:06:29
А чем запустить?

В диалплане

Google
?iKizilov
08.11.2017
16:06:45
есть экшион?

? Stan
08.11.2017
16:06:57
?iKizilov
08.11.2017
16:07:01
ок

? Stan
08.11.2017
16:07:16
но смотри чтоб не прилетело тебе в кли rm -rf

?iKizilov
08.11.2017
16:07:20
А эеспрешн это что?

Denis 災 nobody
08.11.2017
16:07:31
expression

?iKizilov
08.11.2017
16:09:03
То есть можно отыскать подстроку по экспрешн на совпадение. Тоже ок.

2017-11-08 18:31:20.417946 [ERR] switch_core_session.c:2622 Invalid Application curl

Ошибка. Не находит curl

Konstantin
08.11.2017
16:32:14
А модуль загружен?

Alex
08.11.2017
16:32:32
Загрузить, а если нет его - собрать

?iKizilov
08.11.2017
16:32:58
Вроде бы не нужен модуль?

Denis 災 nobody
08.11.2017
16:34:41
freeswitch-application-curl

?iKizilov
08.11.2017
16:34:56
Или нужен?

Denis 災 nobody
08.11.2017
16:35:08
нужен, если из офрепы ставил - оно там есть

?iKizilov
08.11.2017
16:35:18
Я из пакетов ставил

Denis 災 nobody
08.11.2017
16:35:26
в пакетах есть

грепай по curl

Alex
08.11.2017
16:36:26
load mod_curl

?iKizilov
08.11.2017
16:37:21
ОК

Google
Denis 災 nobody
08.11.2017
16:38:50
load mod_curl
точно )

?iKizilov
08.11.2017
16:41:30
Спасибо. Сработало. Но...Кажется проблема с кодировкой. Вот ответ.

[result]=[country = ▒▒▒▒▒▒, operator = ▒▒▒, region = ▒.▒▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒, mcc = 250, mnc = 01, tz = 3

Там русские буковки

Konstantin
08.11.2017
16:42:32
utf8?

?iKizilov
08.11.2017
16:42:37
Нет

1251

Konstantin
08.11.2017
16:42:51
На стороне WEB сервера нужно сконвертировать в utf8 - это самый безболезненный способ.

?iKizilov
08.11.2017
16:43:47
Я в скрипте еонвертировал

Alexandru
08.11.2017
16:43:59


Konstantin
08.11.2017
16:43:59
Если там БД, то нужно позаботиться о том, чтобы в WEB из БД тоже попадало в utf8

?iKizilov
08.11.2017
16:52:04
Да. Ок. Можно задать в utf8. Получилось. Спасибо!

Можно еще помучать? Вот есть такая строка

[country = Россия, operator = МТС, region = г.Москва и Московская область, mcc = 250, mnc = 01, tz = 3

Она в переменной. В expression я хочу проверить есть ли МТС в этой строке. Получаю False, т.к. строки не совпадают. Или как ее распарсить. Нужно вытащить название старны, оператора и регион и потом уже в кондишен и экспрешн на проверку.

Смотрю функции в диалплане. Ничего подходящего не вижу.

? Stan
08.11.2017
20:53:02
регулярно выражаетесь?

?iKizilov
08.11.2017
20:58:54
regex?

? Stan
08.11.2017
20:59:00
ага

?iKizilov
08.11.2017
21:02:09
Спасибо. Смотрю.

Google
Say
08.11.2017
21:14:49
ребят а я правильно понимаю что проигрывать фаил и в этот же момент делать что то еще можно только на lua ? в xml такое невозможно ?

Mykyta
08.11.2017
21:41:35
@say_adm если речь идет о esl, нужен async all

Say
08.11.2017
21:53:27
я хочу чтобы пока идет playback с первой же секунды начался набор опертору и как отльно он ответил висит и ждет пока доиграет playback после чего происходит соединение

Alexandru
09.11.2017
02:18:36
почитай про хуки в свиче

блэт какой же у меня тут пиздец... проебано 3 миллиона xml-ек

и хер знает что винить - raid 6, vmware или вообще iscsi

Alexandru
09.11.2017
06:18:12
не

подробности в ru_sysadmin

Denis 災 nobody
09.11.2017
06:18:37
Ну просто бэкап тогда

подробности в ru_sysadmin
5 часов назад? Не найти уже

Alexandru
09.11.2017
06:19:10
места ненапасешься... такую инфу by-design бэкапить не нужно

час назад

Denis 災 nobody
09.11.2017
06:31:58
Тогда чего страдаешь, забей.

Alexandru
09.11.2017
06:44:38
Тогда чего страдаешь, забей.
потому что не должно быть так

Denis 災 nobody
09.11.2017
06:45:24
Тут бывает всё И с zfs шанс такого ниже, но и оно глючит и дохнет

Google
Ivan
09.11.2017
14:30:26
привет, не подскажите, есть ли в fs какой-то лог, по которому можно отследить сохроанилась ли запись разговора или нет?

Igor
09.11.2017
14:31:59
если DEBUG лог включен, то грепай по .mp3

[DEBUG] switch_ivr_async.c:1316 Stop recording file /path/file.mp3

Ivan
09.11.2017
14:33:13
спасибо, но debug был не включен

Denis 災 nobody
09.11.2017
15:01:34
посмотреть в записях?

/var/lib/freeswitch/recordings обычно

Konstantin
09.11.2017
15:03:58
fs_cli -x 'eval $${recording_dir}'

Alexey
09.11.2017
15:07:30
global_getvar recording_dir

Но не всегда это глобальная переменная.

у меня такой нет

Denis 災 nobody
09.11.2017
15:09:44
find /var/lib/freeswitch/recordings -mtime -1

?iKizilov
09.11.2017
15:11:04
Она в переменной. В expression я хочу проверить есть ли МТС в этой строке. Получаю False, т.к. строки не совпадают. Или как ее распарсить. Нужно вытащить название старны, оператора и регион и потом уже в кондишен и экспрешн на проверку.
В продолжение темы. Получается, что condition в condition вложенные не работают. Видимо переменные не не сохраняются. Пока вот такой рабочий вариант есть. Но есть проблема. Если номер не МТС, то звонок идет все равно, а потом он обрывается, т.к. не выполняется условие. но пока идет проверка, FS успевает прозвониться в гейт. Можно задержку поставить, но не хочется. Как выйти из ситуации?

<condition field="destination_number" expression="^([7]\d+)$"> <action application="curl" data="http://smsc.ru/sys/info.php?get_operator=1&login=zzz&psw=333&charset=utf8&phone=$1"/> <action application="set" data="result=${curl_response_data}"/> <condition field="${regex(${result}|МТС)}" expression="true"/> <action application="bridge" data="{jitterbuffer_msec=60}sofia/gateway/talk37.ru/$1"/> <action application="hangup"/> </condition>

Звоню на МТС и там true. Звонок идет. Звоню на Мегафон, там false в condition, но звонок успевает проскочить и потом он разрывается.

?iKizilov
09.11.2017
15:14:40
Да. Сначала дочка идет, а потом мама. Вот пока мама думает, дочка успевает вперед проскочить

Ivan
09.11.2017
15:15:31
посмотреть в записях?
да в том то и дело, что записи там нет, иногда факт вызова в логах есть, а запись не созранилась, даже файла с таким названием нет

?iKizilov
09.11.2017
15:17:50
Путешествовать по диалплану через трансфер
Это новое пока для меня. Это что?

Alexandru
09.11.2017
15:18:22
Это новое пока для меня. Это что?
https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+transfer

грубо говоря goto

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