Size: a a a

2021 July 23

V

Vikneo in Asterisker-ы
Коллеги, целый день голову ломаю над задачей.
Почему при соединении через Dial с опцией U, отправляющей в контекст dial в котором записываются через AGI script переменные у абонентов зависает тишина. Причем, что интересно, что такая проблема именно через транк образуется, а когда просто через локальный вызов то все работает.

[operators]
exten => _X.,1,Dial(SIP/1001$SIP/1002,60,U(dial))

[dial]
exten => s,1,AGI(script.py,${DIALEDPEERNUMBER},${phone_client}

P.s. в скрипте пишу в БД номер телефона того, кто взял трубку из операторов и номер того, кто звонит(наследуемая переменная phone) она задаётся ещё ранее через __phone. Суть не в переменных, а в том, почему при передаче через транк при поднятии трубки оператором выполняется скрипт, запись в базу идёт, а в трубках слышна тишина. Может кто сталкивался с подобным поведением Dial с опцией U?
источник

--

- - in Asterisker-ы
На уровне офисной IP АТС есть решение гораздо более простое и хорошо себя зарекомендовавшее.   Настроить несколько взаимовложенных уровней доступа: 1. разрешены вызовы только внутри АТС,  2. предыдущий + город. 3. предыдущий + мобильные, 4, предыдущий + междугородные в пределах страны, 5. предыдущий + международные в заранее заданные страны.   Платные вызовы типа 809, 803 и т.п. запрещены для всех, при попытке туда позвонить соединяет с автоинформатором который объясняет почему туда звонить нельзя,  разрешены только бесплатные 800 и 804 .  Доступ к учтёным записям разрешён только с ip-адресов локальной сети, кроме отдельных учётных записей без доступа к межгороду.   Это защищает и от обмана с попытками дать платный номер в качестве контактного и от злоупотребления сотрудников и от попыток налить международный трафик через скомпрометированную учётную запись.   За 15 лет не было ни одного инцидента, хотя попытки атак идут постоянно.
источник

ДС

Дмитрий Спиридонов... in Asterisker-ы
У меня fastagi - никаких проблем тут нет. А ты уверен что твой скрипт завершается? Это в логах должно быть отображено, пока твой скрипт выполняется - будет тишина.
источник

ДС

Дмитрий Спиридонов... in Asterisker-ы
контекст dial у тебя завершается? Поставь какой нибудь noop после вызова agi и посмотри выполнится он или нет
источник

V

Vikneo in Asterisker-ы
Да, в базу запись вносится корректно
источник

ДС

Дмитрий Спиридонов... in Asterisker-ы
Нуу лучше перепроверь, добавь noop
источник

V

Vikneo in Asterisker-ы
Да, сейчас посмотрю, спасибо за совет. А принудительно можно как то завершить его?
источник

V

Vikneo in Asterisker-ы
Я ставил Return, срабатывало
источник

YG

Yuriy Gorlichenko in Asterisker-ы
Ограничение по IP до локальной сети для клиентов это конечно браво
называется - не могу в нормальную организацию процессов поэтому ставлю всем палки в колеса
источник

V

Vikneo in Asterisker-ы
источник

ДС

Дмитрий Спиридонов... in Asterisker-ы
Ну значит "пальцем в небо" не получилось. А в выводе в консоль во время звонка что? Там должны быть записи о бриджах. В итоге оба канала должны оказаться в одном бридже
источник

V

Vikneo in Asterisker-ы
источник

ДС

Дмитрий Спиридонов... in Asterisker-ы
Так ты же сказал что на внтуренние всё ок, а если в город то тишина
источник

V

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

ДС

Дмитрий Спиридонов... in Asterisker-ы
а это предположу звонок на внутренний?
источник

V

Vikneo in Asterisker-ы
Да, все верно
источник

ДС

Дмитрий Спиридонов... in Asterisker-ы
Пришли сюда вывод когда всё плохо
источник

V

Vikneo in Asterisker-ы
Такой же вывод. Видимо у провайдера обновляли кодеки и была проблема)) Спасибо за помощь)
источник

ДС

Дмитрий Спиридонов... in Asterisker-ы
Айй вот вечно так... Ощущение не завершённости. =) Ладно всё хорошо, что хорошо заканчивается.
источник

LL

Leonid Leonidovich in Asterisker-ы
аййй
источник