
Alexandr
28.04.2018
09:10:22
Удачно

Виталий
28.04.2018
09:10:23
вполне возможно

Vitaliy
28.04.2018
09:10:32
ну а где тогда xml метод
здесь он есть.
https://github.com/fusionpbx/fusionpbx/blob/ea180ddced3cf2c51a5a16f18b8ef53c732083cb/app/dialplans/resources/classes/dialplan.php

Google

Виталий
28.04.2018
09:10:47
скачай предыдущую версию и посмотри - либы не так часто меняют

Alexandr
28.04.2018
09:11:08
Я не нашёл где скрипт базы на гите есть?

Vitaliy
28.04.2018
09:12:22
схема?

Alexandr
28.04.2018
09:12:37
Да. Схема

Vitaliy
28.04.2018
09:12:47
resources/install/sql/switch.sql

Alexandr
28.04.2018
09:13:15
Спс
К вас 4.3.5 норм работает?
У меня нет этих таблиц
У меня схема fusionpbx
Что ни так у меня
?

Ihor
28.04.2018
12:02:17
4.3.5 - это unstable. Причём старый
Берите 4.2 или 4.4

Google

Alexandr
28.04.2018
12:03:29
Спасибо.

AbdulAziz
01.05.2018
04:59:04
Ребята привет.
Подскажите как передовать переменную из одного контекста в другой? или для этого нужно что то по глобальнее типо vars.xml?

Konstantin
01.05.2018
05:02:30
Привет. Переменные привязаны к каналу, но если в dial-plan ты переменную устанавливаешь, то она станет доступной только после выполнения определённых операций, например: bridge или transfer. Если ты ставишь переменную в dial-plan с помощью приложения set и помечаешь операцию тэгом inline, то переменная сразу ставиться в канал и становится доступной.
Естественно, при смене контекста переменные никуда не исчезают.
Обо всём этом написано в официальной и открытой документации на FreeSwitch confluence. Рекомендую уделить время и ознакомиться.

AbdulAziz
01.05.2018
05:36:28


S
01.05.2018
08:46:14
День добрый камрады!
А кто-нить заморачивается мониторингом фрисвича? в частности SNMP-трапами? че-то слабо гуглится на эту тему...оно-то понятно что и snmpget-ом можно, но слишком часто опрашивать вроде некошерно, а в случае, например, использования limit хотелось-бы знать что творилось между опросами...для этого snmptrap по функционалу подходит, но как реализовать? костылями через system/lua? или это мне странного хочется?
Заранее благодарен за конструктивный флуд по теме... :)

Konstantin
01.05.2018
08:50:14

S
01.05.2018
09:08:04
хех... жаль :(


Pavel
01.05.2018
09:33:55
Привет. Переменные привязаны к каналу, но если в dial-plan ты переменную устанавливаешь, то она станет доступной только после выполнения определённых операций, например: bridge или transfer. Если ты ставишь переменную в dial-plan с помощью приложения set и помечаешь операцию тэгом inline, то переменная сразу ставиться в канал и становится доступной.
Естественно, при смене контекста переменные никуда не исчезают.
Обо всём этом написано в официальной и открытой документации на FreeSwitch confluence. Рекомендую уделить время и ознакомиться.
Эммм...я не очень понял Ваше утверждение насчёт доступности переменных после bridge или трансфер.
Как я понимаю - у fs, глобально, есть 2 стадии обработки входящих коммуникаций : routing и executing. Во время routing fs набирает инструкции из dialplan'а (ориентируясь на condition в extension), во время executing - собственно исполняет набранные инструкции.
Директива inline позволяет исполнить инструкцию во время routing стадии - и, как следствие, (например, если переменная, установленная inline, используется в condition некоторого extension) повлиять на набор инструкций для executing.
Вы можете создать dialplan, первой строчкой которого будет установка переменной, второй, например, логирование переменной, 3-ей бридж. Так вот, переменная, во время executing, вполне будет доступна для логирования ещё до исполнения бридж.


Konstantin
01.05.2018
10:21:24
Эммм...я не очень понял Ваше утверждение насчёт доступности переменных после bridge или трансфер.
Как я понимаю - у fs, глобально, есть 2 стадии обработки входящих коммуникаций : routing и executing. Во время routing fs набирает инструкции из dialplan'а (ориентируясь на condition в extension), во время executing - собственно исполняет набранные инструкции.
Директива inline позволяет исполнить инструкцию во время routing стадии - и, как следствие, (например, если переменная, установленная inline, используется в condition некоторого extension) повлиять на набор инструкций для executing.
Вы можете создать dialplan, первой строчкой которого будет установка переменной, второй, например, логирование переменной, 3-ей бридж. Так вот, переменная, во время executing, вполне будет доступна для логирования ещё до исполнения бридж.
Тоже самое, другими словами.

S
01.05.2018
12:05:28

Alexandr
02.05.2018
03:42:41
Ребята подскажите , у нас есть в РФ или в КЗ кто официально тех.поддержку FS делает?

Даниил
02.05.2018
05:58:35
Думаю в этом чатике официально
:)

Виталий
02.05.2018
06:08:19
найди у кого ИП и будет тебе официально

Alexandr
02.05.2018
06:23:34
Жду ещё ответов

Konstantin
02.05.2018
06:24:41
Тут есть люди из команды FreeSwitch в России. Думаю, что следует дождаться, когда проснутся. ;-)
Я сам браться точно не буду - уже занят по самые помидоры.
А в чём "официальность" заключается?

Alexey
02.05.2018
06:38:14

Google

Alexey
02.05.2018
06:39:49
человеку видимо юрлицо нужно, для договора

Alexandr
02.05.2018
06:49:16

AbdulAziz
02.05.2018
13:08:12
подскажите как сделать замену значения перед тем как ее положить в бд
ща покажу что именно
<extension name="incoming">
<condition field="destination_number" expression="^0312(\d+)$">
<action application="set" data="line=${destination_number}"/>
вместо destination_number нужно подставить то что описаннов в переменных
vars.xml
<X-PRE-PROCESS cmd="set" data="0312123456=nf01"/>
т.е. в конечном резальтате я должен записать в line
<action application="set" data="line=nf01"/>
и в зависимости от того на какой номер пришел вызов подставиться своя переменаня
<X-PRE-PROCESS cmd="set" data="0312999999=nf02"/>
<X-PRE-PROCESS cmd="set" data="0312988888=nf03"/>

S
02.05.2018
13:28:43
<action application="set" data="line=$${0312999999}"/>

AbdulAziz
02.05.2018
13:29:57
а если второй вызов с другого номера как он поймет что ему записать?

S
02.05.2018
13:43:54
может так:
<action application="set" data=${eval line=\${${destination_number}}}/>
в консоли срабатывает

Fedor
03.05.2018
11:39:10
упс, это было не сегодня даже.

AbdulAziz
03.05.2018
11:53:19

AbdulAziz
03.05.2018
11:53:54
просто вместо номера куда надо направлять вызов решили отправлять его на нужную запись
т.е. на моей стороне B номер будет запись типа nf01

S
03.05.2018
12:07:29
помогите понять, когда (в какой момент) устанавливается переменная rtp_secure_audio_confirmed ?
хочу проиграть файл в обе стороны в случае rtp_secure_audio_confirmed=true
пробовал выполнять стандартный экстеншен is_secure через
execute_on_answer=execute_extension is_secure XML features
но здесь rtp_secure_audio_confirmed еще не установлена
на SIP-профиле TLS поднят
телефоны по TLS зарегистрированы
SRTP включается (и замочки во время разговора на телефонах есть и в активных коннектах шифрование показывает)
после pre_answer файлик проигрывает, но только в лег А
а хочется после поднятия трубки и в лег А и в лег В

Александр
03.05.2018
14:09:21
попробуй execute_on_media

Сергей
03.05.2018
14:14:53
Ага....пасиб...

Ivan
03.05.2018
15:23:09
Привет.
Хочу для балансировки вызово использовать kamailio.
Но столкнулся с одной проблемой. Допустимо у меня kama и 2 fs и есть клиенты, у которых могут быть свои шлюзы с регистрацией.
Например, клиент пришел с multifon или beeline, то вот сами настройки шлюзов, где хранятся? Если на самом fs, то мы можем шлюз
beeline зарегать только в одном месте, а если kama распределит звонок на 2 fs, где нет этого шлюза, то я получу ошибку GATEWAY_DOWN.
В общем не очень понятен этот момент.

Konstantin
03.05.2018
15:24:36

Ivan
03.05.2018
15:25:13
а можно немного подробнее или как правильно загуглить этот момент

Google

VitMain
03.05.2018
15:25:25

Konstantin
03.05.2018
15:34:56
Ну, сам по себе kamailio не делает исх.регистрация, на сколько мне известно. А вот за ним можно поставить тот же самый SIPp, который будет инициировать регистрации, в которых Kamailio будет подменять Contact так, чтобы приходящие от провайдера вызовы kamailio уже маршрутизировал на FS. Исходящие вызовы тоже нужно будет маршрутизировать через Kamilio, чтобы провайдер не взбрыкнул и не отбил по причине того, что IP не тот, что при регистрации.
Но, опять-таки, это только если провайдер требует слать исх вызовы с того IP, который использовался при регистрации. Если же нет(что нормально), то вызовы можно будет слать с обоих FS, НО обязательно нужно прописать данные для авторизации INVITE.

Ivan
03.05.2018
15:40:50
А это в теории или вы так пробовали делать? Правильно ли я понимаю, что в доках по Каме не особо найду решение проблемы?

Admin
ERROR: S client not available

Konstantin
03.05.2018
15:42:07
Прям совсем так я не делал, но похожие схемы с отдельным REGISTER UAC делал и это работало.
Либо так:
https://www.kamailio.org/docs/modules/4.4.x/modules/uac.html

Ivan
03.05.2018
16:07:56
Спасибо, почитаю

Ihor
03.05.2018
16:33:25
Ну, сам по себе kamailio не делает исх.регистрация, на сколько мне известно. А вот за ним можно поставить тот же самый SIPp, который будет инициировать регистрации, в которых Kamailio будет подменять Contact так, чтобы приходящие от провайдера вызовы kamailio уже маршрутизировал на FS. Исходящие вызовы тоже нужно будет маршрутизировать через Kamilio, чтобы провайдер не взбрыкнул и не отбил по причине того, что IP не тот, что при регистрации.
Собсно , через uac, который вы описали, и делает. Но там хитро, я когда-то прозрачную аутентификацию делал, правда на opensips

Dmitriy
03.05.2018
17:13:46
У kamailio есть uacreg для этого

Alexandr
03.05.2018
17:33:18
А Я на Луа айвиары могу

Alexandru
03.05.2018
19:20:26
извините за оффтоп, но никто не вкуривает в django-rest-framework?..
у меня происходит апдейт, в апдейте у меня посылается условно 'revoke': true на /certificates/9/
но мне нужно достать другой параметр из /certificates/9/
я могу это как-то сделать?
<WSGIRequest: PUT '/certificates/9/'>
OrderedDict([('revoked', True)])
вот это вот то что я получаю, но мне нужно из /certificates/9/ достать поле name

Anton
03.05.2018
19:25:14

Alexandru
03.05.2018
19:27:23

Anton
03.05.2018
19:28:56
так низзя, надо:
sertificate = self.get_object()
sertificate_id = sertificate.id

Alexandru
03.05.2018
19:29:31
да, я так и делаю
instance = get.object()
и далее от instance, как в сурсах
я для краткости просто

Google

ros
04.05.2018
02:32:01

Alexandru
04.05.2018
02:32:17
спасибо

Alexandr
04.05.2018
06:21:24
ребята, пытаюсь кодек поставить, не получается. блин https://stast.ru/g729-freeswitch/

Konstantin
04.05.2018
06:23:03
Какая ОС и какая версия FS?
Попробуй в этом чате поискать по #g729

Alexandr
04.05.2018
06:27:40
debian, FreeSwitch 1.6.20 (64bit)

Konstantin
04.05.2018
06:28:13
По хэш тэгу поищи, там кто-то собирал так пакет DEB.

Victor
04.05.2018
06:38:17
Кстати, у меня до сих пор g729 с ipp, который

Alexandr
04.05.2018
06:41:25

Konstantin
04.05.2018
06:41:42
✌

Andrey
04.05.2018
06:49:09
Коллеги, добрый день
создал во fusionpbx call ceter, а при попытке позвонить на этот extension - 503ю все перезагрузил уже.
куда можно копать?

Alexey
04.05.2018
06:50:16
в них всё будет написано

Andrey
04.05.2018
06:59:05
2018-05-04 09:54:12.869266 [ERR] mod_memcache.c:425 Error while running command get: CONNECTION FAILURE