VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Не работает шумодав

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

discripter
Сообщения: 19
Зарегистрирован: 01 июн 2017, 15:12

Не работает шумодав

Сообщение discripter »

Раньше на сервере стоял Asterisk + FreePBX, ответы клиентов распознавались корректно.
Сейчас на сервере стоит голый Asterisk, диалпланы не изменились, если у клиента чуть шумно, то астериск учитывает этот шум, а раньше не учитывал.
Есть мнение что функция DENOISE перестала работать в данном случае.
Кодеки во время звонка используются alaw, ulaw
Диалпланы ниже.

Код: Выделить всё

[call-out]
exten => s,1,Set(DENOISE(rx)=on)
exten => s,n,Wait(10)

[talk-detect-on]
exten => s,1,Set(TALK_DETECT(set)=300)
exten => s,n,Wait(10)

[talk-detect-off]
exten => s,1,Set(TALK_DETECT(remove)=)
exten => s,n,Wait(10)

[mix-monitor]
exten => s,1,MixMonitor(${mix-monitor-file})
exten => s,n,Wait(10)

Как удостовериться что денойс таки работает? Если он неработает, как починить?
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Не работает шумодав

Сообщение awsswa »

для начало нужно понять версию которую поставили и sip или pjsip
платный суппорт по мере возможностей
discripter
Сообщения: 19
Зарегистрирован: 01 июн 2017, 15:12

Re: Не работает шумодав

Сообщение discripter »

для начало нужно понять версию которую поставили и sip или pjsip

Код: Выделить всё

Asterisk 13.15.0, Copyright (C) 1999 - 2014, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
SIP.
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Не работает шумодав

Сообщение ded »

Админ вижу Вы знающий, знатный и толковый. И оверквотинг сразу об этом говорит. Диалпланы

Код: Выделить всё

[call-out]
exten => s,1,Set(DENOISE(rx)=on)
exten => s,n,Wait(10)

[talk-detect-on]
exten => s,1,Set(TALK_DETECT(set)=300)
exten => s,n,Wait(10)

[talk-detect-off]
exten => s,1,Set(TALK_DETECT(remove)=)
exten => s,n,Wait(10)
никак с друг другом не связаны, непонятно вообще - инициализируется ли опция DENOISE(rx)=on ?? Тут Вам бы в консоль смотреть, когда вызов идёт. Да и дебаг очень помогает, если его включать.
awsswa писал(а):для начало нужно понять версию которую поставили и sip или pjsip
Как Ваш пост (выше) отвечает на поставленный вопрос?
discripter
Сообщения: 19
Зарегистрирован: 01 июн 2017, 15:12

Re: Не работает шумодав

Сообщение discripter »

Диалпланы никак с друг другом не связаны, непонятно вообще - инициализируется ли опция DENOISE(rx)=on ?? Тут Вам бы в консоль смотреть, когда вызов идёт. Да и дебаг очень помогает, если его включать.
Ребят, я конечно понимаю что тут на форуме по умолчанию пишут дурачки которые ничего не понимают в диалпланах, но все же прошу не причислять меня к оным.
Диалпланы переключаются во время разговора в нужные моменты.
Конкретно по денойсу - он запускается вначале разговора, если планируется распознавание речи.

теперь конкретно по редиректу - он выполняется следующим образом:

Код: Выделить всё

  $socket = self::connect();
        if (!$socket) {
            return FALSE;
        }
        self::login($socket);

        if ($set_vars && is_array($set_vars)) {
            foreach ($set_vars as $key => $value) {

                $req = "Action: Setvar\r\nChannel: $channel\r\nVariable: $key\r\nValue: $value\r\n\r\n";

                fputs($socket, $req);
                fflush($socket);

                $result = self::read_from_socket($socket, "\r\n\r\n");
                if ($result == -1) {
                    self::log($req, "timeout");
                } elseif (self::ASTERISK_DEBUG) {
                    self::log($req, $result);
                }
            }

        }

        $req = "Action: Redirect\r\nChannel: $channel\r\nContext: $context\r\nExten: $exten\r\nPriority: 1\r\n\r\n";

        fputs($socket, $req);
        fflush($socket);

        $result = self::read_from_socket($socket, "\r\n\r\n");
        if ($result == -1) {
            self::log($req, "timeout");
        } elseif (self::ASTERISK_DEBUG) {
            self::log($req, $result);
        }

        self::logout($socket);
        return $result;
Отмечу что система работает в продакшене уже более года и ошибки редиректа и прочие возражения подобного исключены.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Не работает шумодав

Сообщение zzuz »

Диалпланы переключаются во время разговора в нужные моменты.
Я вот этому не верю. Где подтверждение ?
Линия24 - Системы Массового Телефонного Обслуживания
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Не работает шумодав

Сообщение ded »

ded писал(а): Тут Вам бы в консоль смотреть, когда вызов идёт. Да и дебаг очень помогает, если его включать.
Если система работает в продакшене уже более года и ошибки редиректа и прочие возражения подобного исключены, то зачем Вы приводите здесь свои куски кода и диал-план?
Одной рукой пишем, другой зачёркиваем? Одной исключаем, другой ставим под сомнение? Что мешает дебажить и разбираться?
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Не работает шумодав

Сообщение Wapo »

А что говорит: core show function DENOISE
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Не работает шумодав

Сообщение ded »

Ну вообще то то же, что и у всех -
*CLI> core show function DENOISE

-= Info about function 'DENOISE' =-

[Synopsis]
Apply noise reduction to audio on a channel.

[Description]
The DENOISE function will apply noise reduction to audio on the channel that
it is executed on. It is very useful for noisy analog lines, especially when
adjusting gains or using AGC. Use 'rx' for audio received from the channel
and 'tx' to apply the filter to the audio being sent to the channel.
Examples:
exten => 1,1,Set(DENOISE(rx)=on)
exten => 1,2,Set(DENOISE(tx)=off)

[Syntax]
DENOISE(channeldirection)

[Arguments]
channeldirection
This can be either 'rx' or 'tx' the values that can be set to this
are either 'on' and 'off'
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Не работает шумодав

Сообщение Wapo »

А вот не всегда:

Код: Выделить всё

Connected to Asterisk 12.8.2 currently running on ubuntu (pid = 677)
ubuntu*CLI> core show function DENOISE
No function by that name registered.
Command 'core show function DENOISE' failed.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH