ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

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

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

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

Сообщение discripter » 20 июн 2017, 15:02

Раньше на сервере стоял 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)



Как удостовериться что денойс таки работает? Если он неработает, как починить?
discripter
 
Сообщений: 19
Зарегистрирован: 01 июн 2017, 16:12

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

Сообщение awsswa » 20 июн 2017, 15:11

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

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

Сообщение discripter » 20 июн 2017, 15:29

для начало нужно понять версию которую поставили и 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.
discripter
 
Сообщений: 19
Зарегистрирован: 01 июн 2017, 16:12

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

Сообщение ded » 20 июн 2017, 17:42

Админ вижу Вы знающий, знатный и толковый. И оверквотинг сразу об этом говорит. Диалпланы
Код: выделить все
[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
Как Ваш пост (выше) отвечает на поставленный вопрос?
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение discripter » 21 июн 2017, 12:02

Диалпланы никак с друг другом не связаны, непонятно вообще - инициализируется ли опция 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;


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

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

Сообщение zzuz » 21 июн 2017, 12:25

Диалпланы переключаются во время разговора в нужные моменты.


Я вот этому не верю. Где подтверждение ?
Линия24 - Системы Массового Телефонного Обслуживания
Аватар пользователя
zzuz
 
Сообщений: 1658
Зарегистрирован: 21 сен 2010, 13:33

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

Сообщение ded » 21 июн 2017, 12:43

ded писал(а): Тут Вам бы в консоль смотреть, когда вызов идёт. Да и дебаг очень помогает, если его включать.
Если система работает в продакшене уже более года и ошибки редиректа и прочие возражения подобного исключены, то зачем Вы приводите здесь свои куски кода и диал-план?
Одной рукой пишем, другой зачёркиваем? Одной исключаем, другой ставим под сомнение? Что мешает дебажить и разбираться?
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение Wapo » 21 июн 2017, 13:41

А что говорит: core show function DENOISE
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

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

Сообщение ded » 21 июн 2017, 13:44

Ну вообще то то же, что и у всех -
*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'
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение Wapo » 21 июн 2017, 13:55

А вот не всегда:
Код: выделить все
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.
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH