Size: a a a

2020 May 22

R

Ramzes in Asterisker-ы
DVG_Lab
Проблема решена и локализована. mv коллфайла можно делать только с той же ФС на которую мувится данный файл.
Залез в код mv и увидел что сначала идет fastcopy() потом уже идут setgid(), setuid(), а астер когда не может прочесть в тот момент UID у файла 0, и только через какое-то время он становится правильный.
Решение - сначала копируем на целевую ФС, и только после этого будет атомарное mv, которое корректно обработается астером. У меня во фре - две разные ФС, хомяк - отдельная, /var соотв. отдельная, а в линуксах это чаще всего одна ФС потому проблем не возникает. Такие вот нюансы.
проблема именно в разных ФС? типа одна ufs, другая zfs
источник

D

DVG_Lab in Asterisker-ы
Ramzes
проблема именно в разных ФС? типа одна ufs, другая zfs
Нет, в том что это две отдельные фс, тип не играет вообще никакой роли. При таком мувинге файла mv в целях безопасности сначала ставит GUID 0, UID 0, а потом уже вызывается setguid() и setuid() функции которые и присваивают правильного овнера. А если mv происходит в пределах одной ФС, (тип не важен опять же) то это уже атомарная функция, без setguid() и тд
источник

R

Ramzes in Asterisker-ы
да я понял, что тип ФС роли не играет... переспросил на тему "не из-за того, что разные разделы?"...  у меня в линуксах нормально отрабатывает: ФС одинаковая, разделы для / и /var разные (изначально .call файл создаю в /tmp)
источник

D

DVG_Lab in Asterisker-ы
Ramzes
да я понял, что тип ФС роли не играет... переспросил на тему "не из-за того, что разные разделы?"...  у меня в линуксах нормально отрабатывает: ФС одинаковая, разделы для / и /var разные (изначально .call файл создаю в /tmp)
Я прям в pbx_spool.c перед вызовом fopen() поставил вызов stat(2) и увидел что да, не успевает засетапится UID, а астер его уже читает.

[May 22 11:31:09] WARNING[101520]: pbx_spool.c:493 int scan_service(const char *, time_t): UID is: 0, GUID is: 931, mode 32768
[May 22 11:31:09] WARNING[101520]: pbx_spool.c:510 int scan_service(const char *, time_t): Unable to open /var/spool/asterisk/outgoing/noname.call: 'Permission denied'(13), deleting
источник

D

DVG_Lab in Asterisker-ы
То есть тут видно что UID: 0, но иногда успевает таки засетапить. Надо понимать что все это крутится в виртуалке и там могут быть всякие непонятные задержки, и тд. Но все же с точки зрения исходников mv, правильнее сначала смувить на целевую фс, а потом с нее уже мувить в outgoing
источник

R

Ramzes in Asterisker-ы
любопытно...  спасибо!... буду иметь ввиду, если такая корявка где-нибудь вылезет
источник

KG

Komil Gulboev in Asterisker-ы
Dmitry Baryshnikov
я к тому, может у вас инет канал забивается
Канал от оператора идет внутренний то есть мы не выходим в Инет даже.
источник

R

Ramzes in Asterisker-ы
в принципе можно файл создавать в outgoing_done, а потом переносить в outgoing....  костыль, конечно (мне больше нравится аглицкий термин workaround ))) )
источник

SL

Sergey L. Shirinyan in Asterisker-ы
Друзья, а gotoif делает переходы только по меткам, в пределах контекста или же в другой контекст тоже можно перекинуть без отдельного goto?
источник

EK

Evgeniy K in Asterisker-ы
Sergey L. Shirinyan
Друзья, а gotoif делает переходы только по меткам, в пределах контекста или же в другой контекст тоже можно перекинуть без отдельного goto?
https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Application_GotoIf

Takes the form similar to Goto() of [[context,]extension,]priority.
источник

D

DVG_Lab in Asterisker-ы
Ramzes
в принципе можно файл создавать в outgoing_done, а потом переносить в outgoing....  костыль, конечно (мне больше нравится аглицкий термин workaround ))) )
Я создал в /var/lib/asterisk/callfiles и пишу файлы туда из диалплана, все проблемы ушли
источник

D

DVG_Lab in Asterisker-ы
DVG_Lab
Я создал в /var/lib/asterisk/callfiles и пишу файлы туда из диалплана, все проблемы ушли
Оттуда уже перекидываю в outgoing
источник

R

Ramzes in Asterisker-ы
DVG_Lab
Я создал в /var/lib/asterisk/callfiles и пишу файлы туда из диалплана, все проблемы ушли
тоже вариант ))
источник

SL

Sergey L. Shirinyan in Asterisker-ы
Evgeniy K
https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Application_GotoIf

Takes the form similar to Goto() of [[context,]extension,]priority.
Спасибо!
источник

EK

Evgeniy K in Asterisker-ы
Sergey L. Shirinyan
Спасибо!
пользуйтесь wiki астера, не стесняйтесь. плюс то же самое должен показывать CLI> core show application gotoif
источник

АК

Админ Кот in Asterisker-ы
Как бесплатно сконтачить облачный битрикс24 и локальный астерикс?
источник

SG

Sergey Grushko in Asterisker-ы
Админ Кот
Как бесплатно сконтачить облачный битрикс24 и локальный астерикс?
еще раз будет дубль вопроса - будет бан
источник

S

SarDigital in Asterisker-ы
вот прям с языка снял
источник

DB

Dmitry Baryshnikov in Asterisker-ы
Админ Кот
Как бесплатно сконтачить облачный битрикс24 и локальный астерикс?
Если умеете кодить
https://voxlink.ru/kb/integraciya-s-crm/integracija-bitrix-crm-s-asterisk-sredstvami-modul-konnektora-vistep-s-otkrytym-ishodnym-kodom/

Если не умеете кодить используйте модуль коннектор itgrx, там бесплатная лицензия на 2 пользователя
источник

S

SarDigital in Asterisker-ы
хотел грубость написать :)
источник