@ru_freeswitch

Страница 304 из 430
Alexandru
22.05.2018
10:01:08
user dialplan like xml, lua, enum, lcr

угу

S
22.05.2018
11:18:15
сорри, наверное некорректно выразился, т.к. рулю фьюженом, а там эктеншены и диалпланы разграничены, хотя по сути это одно и тоже… из этой конструкции: <extension name="test" continue="false"> <condition field="destination_number" expression="^test([0-9]+)$"> <action application="set" data="fruit=tomato" /> <!-- Set variable in local channel --> <action application="export" data="veggie=tomato" /> <!-- Set variable in local channel and export it to new channels we bridge to --> <action application="bridge" data="{meat=tomato}sofia/gateway/testaccount/1234" /><!-- bridge new channel and set variable only in new channel --> </condition> </extension> мне нуужно «name»

Google
Vitaliy
22.05.2018
11:38:39
extension же

S
22.05.2018
11:41:32
<extension name="test" continue="false"> <condition field="destination_number" expression="^test([0-9]+)$"> <action application="set" data="fruit=tomato" /> <action application=«log» data=«CONSOLE ${context{[${name}] bla-bla-bla logging»/> </condition> </extension> хочу реализовать 4-ю строчку сверху, где ${name} -> <extension name="test"

Alexey
22.05.2018
12:04:49
${extension} не работает?

а зачем, если не секрет?

чем log CONSOLE test не устраивает?

я к тому, что внутри "<extension name="test" continue="false">" test - величина константная, и можно смело выводить "test"

S
22.05.2018
12:22:05
для отладки я в экстеншен копипастом вставляю нечто подобное <condition ${debug_enable} expression=«^true$»> <action application=«log» data=«${logging-level} ${context{[${name}] bla-bla-bla logging»/> debug_enable и logging-level выставляю где-то в глобальных переменных и при необходимости включаю свой «дебаг», а конструкция ${context}[${name}] сильно облегчает поиск места где нахомутал…. а без переменных приходится вручную следить за именами эктеншенов и контекстов, что несовсем удобно…

в процессе имена экстеншенов ведь могут меняться....

я алгоритм диалплана уже 3 раза перекраивал…

Alexey
22.05.2018
13:30:18
если всё так сложно, то может в сторону Lua отползать или ещё чего-то такого, XML для простых конструкций

S
22.05.2018
13:39:04
до ЛУА мне еще дорасти нада…

? Stan
22.05.2018
14:14:48
Надо просто XML генерировать внешним сервисом

Dmitriy
22.05.2018
14:19:20
Парни, кто-нибудь встречал проблему следующего характера?: Отправляем инвайт с сервера, он не влазит в стандартные 1500байт и пакет фрагментируется (передача по TCP идет) Но при этом почему-то у пакета стоит флаг don't fragment. Какие-либо специальные настройки для этого не делали - дефолтный дебиан и дефолтная установка. Все провайдеры нормально принимают такие пакеты, а один отвечает что не будет принимать, потому что пакет фрагментированный и не принимает инвайт. Везде по форумам я читал что нужно переходить с UDP на TCP (со ссылкой на RFC) Но у нас и так TCP используется

Google
Dmitriy
22.05.2018
14:20:05
Уже включили compact-headers и порезали всё что только можно (все X заголовки, лишнее убрали, только два кодека оставили) и всё равно инвайт не валзит в 1500 байт

Кто что может подсказать и предложить?

Vitaliy
22.05.2018
14:51:13
что же у вас там за инвайт такой?

Henaro
22.05.2018
14:51:35
Добрый день!

подскажите пожалуйста, FusionPBX взаимодействует с FreeSwitch через mod_event_socket или как-то иначе?

конкретно интересует, если я изменю дефолтный порт с 8021 на что-то другое - fusion не сломается?

? Stan
22.05.2018
14:53:45
сломается. там в вебке надо поменять будет куда он стучится

Henaro
22.05.2018
14:54:34
а есть грамотное решение, если нужно использовать интеграцию с чем-либо и получить доступ к 8021 на внешнем адресе, а не на 127.0.0.1 ?

? Stan
22.05.2018
14:54:44
xindetd

зафорвардить)

Henaro
22.05.2018
14:54:58
хм..

? Stan
22.05.2018
14:55:11
ну или листени на внешнем, тока в морде не забудь поменять, чтобы оно не сломалось

Vitaliy
22.05.2018
14:55:24
а разве нельзя 0.0.0.0 в конфиге?

? Stan
22.05.2018
14:55:28
можно

но я бы на всякий случай зафаерволил)

Vitaliy
22.05.2018
14:55:59
зачем тогда костыль с xinetd ?

Henaro
22.05.2018
14:56:01
ну это само собой)

а какие вообще пути интеграции есть со всякими там crm?

? Stan
22.05.2018
14:56:28
зачем тогда костыль с xinetd ?
чтобы не перенастраивать морду)

Henaro
22.05.2018
14:56:45
конкретно нужно отлавливать входящие и hangup

Google
Vitaliy
22.05.2018
14:56:50
а морду и не придется перенастраивать, он же локалхост будет слушать втч.

? Stan
22.05.2018
14:57:13
Александр
22.05.2018
15:56:27
конкретно нужно отлавливать входящие и hangup
используйте outbound socket в диалплане или дергайте курлом чтонибудь, например

Anton
22.05.2018
16:06:39
используйте outbound socket в диалплане или дергайте курлом чтонибудь, например
смысл в этом когда можно подцепиться к event socket и ловить события channel_originate, channel_hangup

не модифицируя при этом dialplan

Александр
22.05.2018
16:08:07
смысл - не перебиндивать порт сокета, например

Anton
22.05.2018
16:08:40
в чём сложность открыть его на всех адресах системы ? не сломав при этом ничего

Александр
22.05.2018
16:09:06
прочитайте несколько сообщений выше

Anton
22.05.2018
16:09:33
прочитал, не вижу проблемы

<param name="listen-ip" value="::"/>

в event_socket.conf.xml

fusion не сломался, порт 8021 забиндился на всех интерфейсах, включая 127.0.0.1 надо только не забыть применить apply-inbound-acl в зависимости от потребностей rfc1918.auto - RFC1918 Space nat.auto - RFC1918 Excluding your local lan. localnet.auto - ACL for your local lan. loopback.auto - ACL for your local lan. rfc6598.auto - RFC6598 Space wan.auto - wan_v6.auto - wan_v4.auto - any_v6.auto - Any v6 address any_v4.auto - Any v4 address

Anton
22.05.2018
16:13:34
ну либо прописать свои

Serge
22.05.2018
17:38:27
Есть такая замечательная штука как gwlist down/up Можно ей как-то управлять в смысле, что считается плохим или хорошим, время отклика, количество попыток перед сменой статуса?

Оно у меня вообще местами странно ведёт - одни и те же шлюзы могут одновременно быть в обоих списках oO

Dmitry
22.05.2018
21:23:15
Всем привет, подскажите, пожалуйста, как o=FreeSWITCH s=FreeSWITCH в SDP?

Как переписать

Alexey
23.05.2018
00:56:15
Всем привет, подскажите, пожалуйста, как o=FreeSWITCH s=FreeSWITCH в SDP?
<param name="user-agent-string" value="_undef_"/> <param name="username" value="-"/> если это не поможет, то, видимо, только исходники править

это в профиле софии

Dmitry
23.05.2018
01:07:39
Работает, спасибо!

Google
Alexey
23.05.2018
01:25:40
нзчт

Виталий
23.05.2018
08:25:09
всем привет - покритикуйте вот за код)

енот
23.05.2018
08:25:21
критикую

это пхп

ужас!

Виталий
23.05.2018
08:26:51
насколько я костыльно написал ) условие - нужно извлечь из хранилища call name и если он 8800 то для одного из ип послать в бан звонок. для всех остальных пропустить на исполнение дальше

Admin
ERROR: S client not available

Виталий
23.05.2018
08:26:58
поспешил - не пыха )

енот
23.05.2018
08:27:11
черт))

я даже не понимюа что тут написано

Henaro
23.05.2018
08:30:13
для оформления кода удобнее пользоваться тройными апострофами (gravis)

Alexandr
23.05.2018
08:30:16
Ребята в морде изменил recordings_dir , теперь айвиары файлы не там ищет, что делать, везде смотрел, не пойму где что забыл.

Виталий
23.05.2018
08:30:34
извините - сейчас потренируюсь (

<extension name="set_caller_id_name" continue="true"> <condition> <action application="set" data="caller_id_name=${hash(select/${domain_name}/${caller_id_number})}" inline="true"/> </condition> </extension> <!— —> <extension name="block_all_cid_exclude_89{9}" continue="true"> <condition field="network_addr" expression="^93\.174\.78\.235$"/> <condition field="caller_id_name" expression="^\+?[78]9\d{9}$"> <action application="set" data="cid_allow=true" inline="true"/> <anti-action application="hangup"/> </condition> </extension>

Henaro
23.05.2018
08:34:42
для многострочного кода три грависа подряд

с каждой стороны

Виталий
23.05.2018
08:35:08
шикарно - спасибо)

но читаемость не улучшилась (

Alexandr
23.05.2018
08:35:20
приве

енот
23.05.2018
08:35:25
потому что пастебин рулит

Google
Henaro
23.05.2018
08:35:33
правильно :)

Виталий
23.05.2018
08:35:56
ну многим лениво туда идти к сожалению - извините

что делать
вернуть обратно?

Alexandr
23.05.2018
08:38:54
неа, надо найти , ищет по пути /usr/share/freeswitch/sounds/ru/RU/elena/confirm_lang.wav а надо путь /mnt/data/

global_getvar recordings_dir /mnt/data

Виталий
23.05.2018
08:39:20
это же не рекорд

он ищет

Alexandr
23.05.2018
08:39:31
а где

ну да должен рекорд

Виталий
23.05.2018
08:39:58
<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>

направление поиска понятно?

Alexandr
23.05.2018
08:45:42
это понятно, в морде Приложения-Запись тут пишет в session:execute("record", "'"..recordings_dir.."/"..recording_name.."' 10800 500 500");

а когда в морде в IVR выбераешь эту запись он пытается искать в $${sounds_dir}/en/us/callie"

Виталий
23.05.2018
08:48:02
эхехехе.... вот не нравились мне никогда эти тыкательные свистелки(

видать придется те лезть в код и смотреть что там - вдруг хардкожено что

енот
23.05.2018
11:00:26
минимальный центос чет разожрался до 900мб

Bogdan
23.05.2018
11:05:30
Добрый день. Можете подсказать, использовал ли кто-то какой-то сервис text-to-speach? Есть ли какой-то нормальный с нормальным человеческим голосом? Или Таких нет и нужно самому записывать аудио?

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