
Vad
03.07.2018
09:36:54
но это все
евенты я ловлю но кроме +OK Deleted': '0' ничего больше нет
те дебажить как то особо не получается, разве что есть какойто другой вариант

Alexandru
03.07.2018
09:39:37

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
"вы на программиста потратите больше"

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

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
хотя время выполнение всего запроса в скриптах логируеься, непонятно что мне даст время отработки запроса в бд ...

Pavel
03.07.2018
14:29:53

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
еще скажите что поддержку берут ради поддержки продукта!!!