@ru_freeswitch

Страница 337 из 430
Vad
03.07.2018
09:36:54
но это все

евенты я ловлю но кроме +OK Deleted': '0' ничего больше нет

те дебажить как то особо не получается, разве что есть какойто другой вариант

Google
Alexandru
03.07.2018
09:39:49
или перехватывать что там fs в sqlite пихает

Vad
03.07.2018
09:40:11
а можно както фильтрануть по интересующим событиям ?

это из пушки по воробьям мне кажется ...

да перехватить то можно, и я больше чем уверен что увижу евенты на создание жоба, теже самые которые я получаю :)

а вот что внутри крутится и почему 10% этих команд не выполняются ...

Alexandru
03.07.2018
09:41:57
ну не знаю, быстро и приятно не получится

Vad
03.07.2018
09:41:58
создал бы тикет ребятам, да джира у них глючит... да и ждать ...

Alexandru
03.07.2018
09:42:03
либо методом тыка либо стрейс

но имхо - лучше для начала в shm базу перенести

Vad
03.07.2018
09:42:33
да перевел уже, толку ноль

Denis 災 nobody
03.07.2018
09:42:38
создал бы тикет ребятам, да джира у них глючит... да и ждать ...
Всего 6 килобаксов в месяц и они посмотрят что там не так

"вы на программиста потратите больше"

Vad
03.07.2018
09:43:14
больно столько. ентерпрайзники типа Сонуса и те меньше дерут...

Google
Denis 災 nobody
03.07.2018
09:43:30
Вопросы весту

Он там личку долбит "гони бабло"

Vad
03.07.2018
09:45:14
ну если бы была адекватная команда с адекватными ценами на суппорт - можно было бы, но таких незнаем, а Энтони как то больно дорого берет, для opensource_а.

Denis 災 nobody
03.07.2018
09:46:48
Угу

Может и мы подписались бы

Алексей
03.07.2018
09:51:15
добрый день, коллеги. не подскажите по поводу dtmf? у меня 2 случая: в первом dtmf распознался, во втором нет(при этом в DEBUG пишется) разница в duration: (там где 1280 -ОК, там где 1600 - Игнорирует). в internal.xml dtmf-duration = 2000 1ый: switch_channel.c:515 RECV DTMF *:1280 Send start packet for [*] ts=62080 dur=160/160/1280 seq=21571 lw=62080 Send middle packet for [*] ts=62080 dur=320/320/1280 seq=21572 lw=62240 Send middle packet for [*] ts=62080 dur=480/480/1280 seq=21573 lw=62400 Send middle packet for [*] ts=62080 dur=640/640/1280 seq=21574 lw=62560 Send middle packet for [*] ts=62080 dur=800/800/1280 seq=21575 lw=62720 Send middle packet for [*] ts=62080 dur=960/960/1280 seq=21576 lw=62880 Send middle packet for [*] ts=62080 dur=1120/1120/1280 seq=21577 lw=63040 Send end packet for [*] ts=62080 dur=1280/1280/1280 seq=21578 lw=63040 Send end packet for [*] ts=62080 dur=1280/1280/1280 seq=21579 lw=63040 Send end packet for [*] ts=62080 dur=1280/1280/1280 seq=21580 lw=63040 Queue digit delay of 40ms 2ой: Send start packet for [*] ts=361440 dur=160/160/1600 seq=37409 lw=361440 Send middle packet for [*] ts=361440 dur=320/320/1600 seq=37410 lw=361600 Send middle packet for [*] ts=361440 dur=480/480/1600 seq=37411 lw=361760 Send middle packet for [*] ts=361440 dur=640/640/1600 seq=37412 lw=361920 Send middle packet for [*] ts=361440 dur=800/800/1600 seq=37413 lw=362080 Send middle packet for [*] ts=361440 dur=960/960/1600 seq=37414 lw=362240 Send middle packet for [*] ts=361440 dur=1120/1120/1600 seq=37415 lw=362400 Send middle packet for [*] ts=361440 dur=1280/1280/1600 seq=37416 lw=362560 Send middle packet for [*] ts=361440 dur=1440/1440/1600 seq=37417 lw=362720 Send end packet for [*] ts=361440 dur=1600/1600/1600 seq=37418 lw=362720 Send end packet for [*] ts=361440 dur=1600/1600/1600 seq=37419 lw=362720 Send end packet for [*] ts=361440 dur=1600/1600/1600 seq=37420 lw=362720 Queue digit delay of 40ms

куда копать не подскажите?

Dmitriy
03.07.2018
09:53:58
не в курсе, FS с sqlite работает в 1 поток? там есть какието блокировки?
sqlite сам по себе один поток так что 2 запроса и более одновременно заблокируются

Vad
03.07.2018
09:55:00
тааакс.... моя догадка становится реальнее...

@dyermakov спасибо!

Ihor
03.07.2018
10:02:39
Кстати, знающие люди говорят, что SQLite на ramdrive работает быстрее ODBC

Виталий
03.07.2018
10:03:39
быстрее... только ненадежней при большой нагрузке

Vad
03.07.2018
10:54:47
При использовании PostgreSQL в ядре - никаких изменений, теже 10% потерь 'sched_del' :(

Максим
03.07.2018
10:55:18
запросы смотрели?

Vad
03.07.2018
10:55:42
нет

Максим
03.07.2018
10:55:56
log_min_duration_statement = 0

log_statement = 'all'

ищите id проблемной таски, смотрите что с ней делал sched_del

Vad
03.07.2018
10:57:01
честноговоря я особо смысла не вижу. евенты на выполнение команды все есть, ответы по ним тоже, все отрабатывает, только вот с разными ответами :)

Максим
03.07.2018
10:57:27
ещё вопрос, вот мы тут такие стараемся, а в чём конкретно проблема? Таски не удаляются и повисают?

Google
Vad
03.07.2018
10:57:32
log_min_duration_statement = 0 это хде ? PG ?

Максим
03.07.2018
10:57:48
ессно

венты на выполнение команды все есть, ответы по ним тоже, все отрабатывает - тогда зачем мы все здесь собрались?

озвучте проблему пожалуйста

Vad
03.07.2018
10:59:00
Спасибо запомощь! проблема в том что таски на sched_del иногда (10%) просто не выполняются. Хотя все приходят в FS, евенты на них генерятся.

Максим
03.07.2018
10:59:40
что значит не выполняются? Я по вашим словам вижу что

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

Vad
03.07.2018
10:59:56
Пришел sched_del, сгенерился евент, все как бы класно но sched_hangup не удалился.

Максим
03.07.2018
11:00:29
ага, значит не удаляются таски...

Vad
03.07.2018
11:00:45
ответы по ним должны быть все 1, а приходят 0 (10%) что видимо говорит о том что таска выполнена неуспешно

Максим
03.07.2018
11:00:56
ну так идём в лог PG ищем запрос от sched_del на удаление, и смотрим почему таска ещё в таблице

Vad
03.07.2018
11:01:22
ну я вроде как бы сначала пишу об этом

Максим
03.07.2018
11:01:57
пруф?

Vad
03.07.2018
11:02:00
sched_del - в БД не ложаться :( только sched_hangup

"Столкнулся с проблемой, около 10% от всех запущенных команд 'sched_del' на траффике не отрабатывают. " пожалуй да, столило бы указать что ВСЕ ПРИХОДЯТ но НЕ ИСПОЛНЯЮТСЯ.

Максим
03.07.2018
11:05:46
А я утвержадю что отрабатывают

mod_commands.c

if (switch_is_digit_string(cmd)) { int64_t tmp; tmp = (uint32_t) atoi(cmd); if (tmp > 0) { cnt = switch_scheduler_del_task_id((uint32_t) tmp); } } else { cnt = switch_scheduler_del_task_group(cmd); } stream->write_function(stream, "+OK Deleted: %u\n", cnt);

всё отработало как надо

Google
Максим
03.07.2018
11:07:04
и тут два варианта

1) sched_hangup на который вызывался sched_del уже нет

2) sched_del вызывается с некореектным <group_name|task_id>

первый вариант вам поможет исключить PG с log_min_duration_statement = 0 log_statement = 'all'

в расследованиее второго варианта вам поможет PG с log_min_duration_statement = 0 log_statement = 'all'

Vad
03.07.2018
11:13:33
Второй вариант исключен, проверял. Первый вариант вполне возможен, с учётом того что частенько оригинируются звонки с sched_hangup 3. Я конечно же проверю ваши подсказки, но возникает подозрение что FS за 3 секунды не успевает удалить sched_hangup.

но как такое может быть хз

Максим
03.07.2018
11:14:22
но возникает подозрение что FS за 3 секунды не успевает удалить sched_hangup. - в расследованиее второго варианта вам поможет PG с log_min_duration_statement = 0 log_statement = 'all'

там будет время выполнения запроса

Vad
03.07.2018
11:15:01
Ну Оке, проврим

Admin
ERROR: S client not available

Максим
03.07.2018
11:15:20
приходите с пивом когда закончите)

Vad
03.07.2018
11:16:44
хотя время выполнение всего запроса в скриптах логируеься, непонятно что мне даст время отработки запроса в бд ...

приходите с пивом когда закончите)
Ну если не далеко идти, придем ;)

Vad
03.07.2018
14:30:39
Pavel ну как минимум меньше чем для кроваго интерпрайза

Anton
03.07.2018
14:30:58
и почему ? .)

Vad
03.07.2018
14:31:18
простая математика

Anton
03.07.2018
14:31:28
не понимаю математики .)

Pavel
03.07.2018
14:31:35
А сколько, по Вашему, в энтерпрайзе ?

Google
Anton
03.07.2018
14:31:52
настроить fs стало дешевле чем cucm ?

Vad
03.07.2018
14:32:03
@vexoid может тогда не стоит терять время ? ;)

да

Anton
03.07.2018
14:32:43
может быть и не стоит, но я помучаюсь .) не понимаю взаимосвязи между опенсорс и не опенсорс и стоимостью поддержки

Pavel
03.07.2018
14:32:57
Vad
03.07.2018
14:33:35
сколько интерпрайз тратит ресурсов на свой продукт, и сколько опенсорс коммюнити - посчитайте

сколько стоят знания инженера Cisco и сколько стоят знания инженера специализированного софта\железа... Cisco как затычка, материалов, курсов, софта, железа - ж**й жуй, нужно что то более специализированное - дороже, платите)

Pavel
03.07.2018
14:36:20
сколько интерпрайз тратит ресурсов на свой продукт, и сколько опенсорс коммюнити - посчитайте
Кто-то производящий услугу эффективней прочих выигрывает в доходе.

Vad
03.07.2018
14:36:39
это уже бизнес модели

суть в том что опенсорс дешевле, в плане затраченных ресурсов на него

коммьюнити тестит, пилит, поддерживает ... за спортивный интерес (ну или почти)

Anton
03.07.2018
14:38:33
и предоставляет почти всегда в формате жри что дают

Vad
03.07.2018
14:39:02
для бедных сойдет

infactum
03.07.2018
14:40:43
Основной плюс опенсорса это то, что исходники есть. Можно со стороны нанять тех, кто в них разберётся и решит ваш вопрос. А в случае проприетарного софта тут придётся соглашаться на условия вендора.

Pavel
03.07.2018
14:40:57
суть в том что опенсорс дешевле, в плане затраченных ресурсов на него
Всё равно, не ясно, почему цена поддержки фс - дорого

Vad
03.07.2018
14:41:18
ну да вендор-лок тот еще кот в мешке :)

Anton
03.07.2018
14:41:21
2009 год, bgp стык между openbgpd и juniper mx... оба ведут себя как говно (не по rfc, один отправляет флаг хотя не должен, другой рвёт сессию получив, не ожидая хотя не должен) в openbgpd исправилось за 30 минут, в mx через 8 месяцев (сервисный контракт в наличии)

Vad
03.07.2018
14:42:57
ребята, ну 6k$\месяц это просто жесть! тот же суппорт Сонуса и то дешевле в разы! а уровени продуктов абсолютно разные!

Anton
03.07.2018
14:43:23
openbgpd нихера не стоит (таз на котором он крутился стоил 2k $), mx тот в той набивке стоил 1kk $ если не изменяет память .)

Vad
03.07.2018
14:44:06
@vexoid а как же риски? коммюнити вам может компенсировать?

Anton
03.07.2018
14:44:20
а как же риски... juniper нихера не компенсирует .)

Vad
03.07.2018
14:44:29
еще скажите что поддержку берут ради поддержки продукта!!!

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