
Alexey
13.09.2017
07:49:35
так же в случае переподключения

енот
13.09.2017
07:52:19
а можете объяснить что такое эти биндинги и чем они отличаются от внешних либ?
я так понимаю, соединение идет через обычный tcp socket в который читают\пишут\парсят вывод
а что такое биндинги?

Google

Alexey
13.09.2017
07:57:12
https://freeswitch.org/confluence/display/FREESWITCH/Event+Socket+Library

Fedor
13.09.2017
07:59:09
Мне понравилось им рулить через ивенты

енот
13.09.2017
07:59:46
толи я тупой, толи лыжи не едут

Alexey
13.09.2017
07:59:46
Это просто библиотека на C реализующая протокол для работы с mod_event_socket
И предоставляющая некий API
Биндинги для разлиныых языков позволяют использовать ее в этих языках
Но есть реализации которые просто используют TCP сокеты на прямую

Fedor
13.09.2017
08:00:06
Да там телнет простой

NF
13.09.2017
08:00:21

енот
13.09.2017
08:00:24

Alexey
13.09.2017
08:00:24

Fedor
13.09.2017
08:00:54
Биндинги это инбаунд аутбаунд чтоль?

Alexey
13.09.2017
08:01:04
Придумай перевод для binding что бы было понятно тебе

енот
13.09.2017
08:01:26

Alexey
13.09.2017
08:01:36
https://en.wikipedia.org/wiki/Language_binding

Fedor
13.09.2017
08:02:12
Кстати... постфактум звонков кое чего изучаю, возможно ли, что фрисвитч лагает при отдаче аудио файла?

Google

енот
13.09.2017
08:02:13
понятно

Fedor
13.09.2017
08:02:51
Ртп тормозит и растягивается по времени

?simplemice
13.09.2017
08:02:51

Fedor
13.09.2017
08:03:06
Привет!

енот
13.09.2017
08:03:18
мне можно
в чатах не работают игноры, имей совесть (

?simplemice
13.09.2017
08:04:00

енот
13.09.2017
08:04:10

?simplemice
13.09.2017
08:05:03
ты просто енот
а я мышь

Denis 災 nobody
13.09.2017
08:28:27

Say
13.09.2017
08:28:39
ребят а можно список активных каналов в консолек как то посмотреть ?

?simplemice
13.09.2017
08:28:44

Denis 災 nobody
13.09.2017
08:28:46
у нас 99% из-за него фс раком встает

енот
13.09.2017
08:28:47

Borik
13.09.2017
08:28:48
Ага, сам на нем цельную козу смастерил, а другим не советует ;)

Denis 災 nobody
13.09.2017
08:29:29
uwsgi демоны внешние - питон, а именно встроенный - почти закончили выпиливать

Alexey
13.09.2017
08:29:38

Denis 災 nobody
13.09.2017
08:30:03
...as json, as xml есть причём

Say
13.09.2017
08:30:19

Alexey
13.09.2017
08:30:49
Ну и просто SQL select из таблицы канолов :)

Google

Denis 災 nobody
13.09.2017
08:32:00

Alexey
13.09.2017
08:33:03
Ну show channels делает именно это.
Повторяя несколько раз в случае блокировки :)

Светлана
13.09.2017
11:26:44
Уважаемые, здравствуйте! Хочу создать валидатор номеров и прикрутить его к Freeswitch. Подскажите, пожалуйста как такое прикручивается, ну или направьте в нужное направление для поиска.. а то мои поиска в дебрях гугла уже 3й день не приносят результата, явно как то не так ищу

Alexey
13.09.2017
11:28:17
Валидатор уже есть?

Fedor
13.09.2017
11:28:26
валидатор чего должен валидировать?

Alexey
13.09.2017
11:29:47
У нас просто проверяется префикс + длинна
Если номер начтнается с 7 то длинна должна быть 11
Ну и так для нескольких сотен префиксов

Konstantin
13.09.2017
11:31:04
Речь про condition в диал-плане?

Fedor
13.09.2017
11:31:09
регулярками с россвязи

Alexey
13.09.2017
11:32:48
я бы просто написал Lua скрипт и вызывал его из dial-plan'a
Есть еще модуль mod_translate
может можно задать список регулярок и последним выражением устанавливать невалидное значение

igor
13.09.2017
11:35:36

Alexey
13.09.2017
11:36:55

Светлана
13.09.2017
11:36:58
с реализацией валидатора пока не определились, это потом. возможно проверять на соответствие с форматом ITUT. главный вопрос - это как подключить свой скрипт или плагин какие вообще есть возможности для расширения функционала freeswitch и где про это можно почитать?

Konstantin
13.09.2017
11:38:22
Почитать:
в cookbook
в confluence
в wiki
А такую простую проверку можно регулярками диалплана делать даже.

Alexey
13.09.2017
11:40:38
Ну когда надо больше нескольких десятков префиксов проверять на длинну, то dialplan мне не очень нравится.

Konstantin
13.09.2017
11:43:01
Тут речь идёт об ITUT, где не так много вариантов, вроде.

Google

igor
13.09.2017
11:44:54
Благодарю
не знал об этом

Светлана
13.09.2017
11:45:03

Konstantin
13.09.2017
11:46:09
И как "план Б" - спросить здесь ;-)

Mykyta
13.09.2017
11:46:34
Светлана что вы имеете ввиду под валидацией номеров? В смысле, что если номер невалидный, оборвать звонок или что?

Светлана
13.09.2017
11:47:53
=) это самое простое... но мы же не ищем лёгких путей, пока силы не иссякнут

Lev
13.09.2017
12:17:06
А у россвязи есть информация по длине номеров других стран?

Mykyta
13.09.2017
12:17:35
Светлана
Здесь есть три пути.
1. Если ваша валидация укладывается в одно регулярное выражение, то можно просто написать для этого dialplan.
2. Можно написать кастомный скрипт. Нужно написать диалплан, который на все звонки вызывает скрипт на луа\жаваскрипте\еще чем-то, скрипт позволяет обрабатывать более сложную логику.
3. Самый сложный вариант. Это ESL. Нужно написать outbound socket сервис, это сервис, который слушает порт, в фрисвитче надо настроить, чтобы подключаться к этому порту и все события можно уже програмно ловить. Это для случаев, когда надо работать с базами данных и т.п.

Lev
13.09.2017
12:17:48
Ткните пожалуйста пальцем, а то я когда то искал, и самая полная библиотека была у гугла

ros
13.09.2017
12:20:45

e
13.09.2017
12:21:06

Mykyta
13.09.2017
12:22:35
@rostel У меня сервис на го написан, там просто скомпилил бинарник и запустил на сервере.

Lev
13.09.2017
12:23:38
numberingplans - знаю этих ребят, за нужную табличку готовую (префикс страны|минимальная длина номера | максимальная длина номера) запросили тогда 500 евро

ros
13.09.2017
12:23:39
аналогично на Go
МТТ вроде когда-то предоставляли такую инфу (возможно платно)

Mykyta
13.09.2017
12:26:00
@rostel я использую эту либу: https://github.com/fiorix/go-eventsocket
Это сложнее потому, что нормальной документации по всем событиям фрисвитча нет

Borik
13.09.2017
12:26:25
А, если не секрет, зачем Вам такие нюансы? Есть же вполне публично-доступные перечни кодов стран. Дальше длина номера - дело терминатора внутри этой страны. Или Вы самостоятельно терминируете трафик в странах, в которых не знаете длину номера?

Mykyta
13.09.2017
12:27:28
надо только часами дебажить и выковыривать по крупинке, что за простыня текста с каждым событием приходит

Google

Alexey
13.09.2017
12:28:05
Один крупный оператор давал нам callstart на номер 49 и говорил что это получено из телефонии.
Ну и тарифицыровал как за Германию :)

Lev
13.09.2017
12:28:51
Лично у меня транзит, помимо официальных роутов есть серые, если официальный маршрут кривой номер нормально обработает, то серый скорее всего даст ложную тарификацию

Alexey
13.09.2017
12:29:05
После препирательств решили что легче проверять у себя
Это был вполне легальный телефонный оператор

Borik
13.09.2017
12:30:17
Про Германию хороша история :)

ros
13.09.2017
12:37:02

Denys
13.09.2017
12:40:12
Был разговор про валидацию, посмотрите это:
https://github.com/googlei18n/libphonenumber
https://rawgit.com/googlei18n/libphonenumber/master/javascript/i18n/phonenumbers/demo-compiled.html

Lev
13.09.2017
12:40:45
Именно из этой библиотеки я и тащил инфу

ros
13.09.2017
12:45:36
https://github.com/daviddrysdale/python-phonenumbers
в resources/geocoding/ лежит все по странам
или по языкам... не суть

Denis 災 nobody
13.09.2017
13:17:27

Borik
13.09.2017
13:17:54
да ладно уж, можно вообще свой фрисвич написать :)