Перейти до

Записи звонков Asterisk


Рекомендованные сообщения

Здравствуйте. Появилась потребность в подключении Asterisk к UBilling с возможностью записи разговоров.

Данный функционал(со стороны Asterisk) выполнил через MixMonitor.

exten => _XXX,1,MixMonitor(/var/records/${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${CALLERID(dnid)}.wav)

Сделал базу CDR, привязал к UBilling'у, но вот прослушать/скачать записи не получается.
Хочется понять в каком формате(имя и расширение) сохранять, чтобы он мог их прочитать.
P.S. В alter.ini аргументы ASTERISK_ENABLED=1, ASTERISK_CALLRECS_PATH=<папка>(права есть, группы назначены).

2021-02-08_21-23.png

Ссылка на сообщение
Поделиться на других сайтах

Если есть возможность можете связать их через  поле filename в астере это допиливается легко 
или использовать готовый инструмент  http://prog-it.github.io/Asterisk-CDR-Viewer-Mod/ 

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
9 минут назад, bos сказал:

Если есть возможность можете связать их через  поле filename в астере это допиливается легко 
или использовать готовый инструмент  http://prog-it.github.io/Asterisk-CDR-Viewer-Mod/ 

 

 

CDR Viewer Mod - это весьма заманчиво. Ранее рассматривал этот вариант. Оставил, как запасной) Есть ведь встроенная функция в UBilling, поэтому хочется воспользоваться ею.
Про поле filename, правильно ли понимаю, что при вызове, вместе с записью, добавляется запись в таблицу, где указано полученное имя?
Что-то вроде:

exten => 100,1,Set(filename="...")

 

Відредаговано progxaker
Ссылка на сообщение
Поделиться на других сайтах

в зависимости от версии астера, начиная, по-моему, с 13го:
1) same => n,Set(CDR(filename)=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${CALLERID(dnid)}.wav);

2)  нужно создать такое поле  в самой таблице ))
3*)   иногда, если вы пишите через cdr_adaptive_odbc в разделе  добавить алиасов) 

table=cdr

alias start => calldate

alias filename => filename

  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, bos сказал:

в зависимости от версии астера, начиная, по-моему, с 13го:
1) same => n,Set(CDR(filename)=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${CALLERID(dnid)}.wav);

2)  нужно создать такое поле  в самой таблице ))
3*)   иногда, если вы пишите через cdr_adaptive_odbc в разделе  добавить алиасов) 

table=cdr

alias start => calldate

alias filename => filename


Спасибо тебе добрый человек)
Сегодня попробую, но думаю проблем не возникнет.

Ссылка на сообщение
Поделиться на других сайтах

К сожалению без проблем не обошлось)

Запись разговора есть, запись в БД есть, но UBilling продолжает игнорировать файл.
Выставлял и 777, и запись менял(с .wav и без), однако не помогло.

2021-02-09_16-27.png

Ссылка на сообщение
Поделиться на других сайтах

1) посмотрите код веб страницы которую вы используете для просмотра в ubilling, думаю вопрос в том что при выборке он ищет определенный столбец  где находится имя записи
2) как я вижу еще может тянутся название с СEL(но опять таки нужно понимать какое поле используется) что-то мне подсказывает что ориентироваться ubilling хочет на UNIQUEID
но без исходного кода страницы сказать что либо сложно

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, progxaker сказав:

и запись менял(с .wav и без)

ASTERISK_CALLRECS_FORMAT

 

1 час назад, progxaker сказав:

запись в БД есть, но

ASTERISK_CALLRECS_CEL_TAB_NAME

 

И вообще это все скорее вопросы к Pautiina.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, bos сказал:

1) посмотрите код веб страницы которую вы используете для просмотра в ubilling, думаю вопрос в том что при выборке он ищет определенный столбец  где находится имя записи
2) как я вижу еще может тянутся название с СEL(но опять таки нужно понимать какое поле используется) что-то мне подсказывает что ориентироваться ubilling хочет на UNIQUEID
но без исходного кода страницы сказать что либо сложно

 

2 часа назад, nightfly сказал:

ASTERISK_CALLRECS_FORMAT

 

ASTERISK_CALLRECS_CEL_TAB_NAME

 

И вообще это все скорее вопросы к Pautiina.

 

Насчёт CEL думал, но это уже более подробная таблица, и в документации указано что "ASTERISK_CALLRECS_CEL_TAB_NAME" необязательна(т.е. и так работать может). Про "ASTERISK_CALLRECS_FORMAT" в самом конфиге прописано, что "можете оставить пустым и тогда буду смотреть все файлы", но попробую снова.
Про исходный код, вроде PHP и JS не шифровал, но когда сам разбирал ногу сломал, вот и пришёл лечиться)

Ссылка на сообщение
Поделиться на других сайтах

я в пхп не очень силен, может поправите, но селект идет к cel
https://github.com/nightflyza/Ubilling/blob/887dc31198f1b402bbf800806da1ce4be763affc/api/libs/api.asterisk.php#L842

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, bos сказал:

я в пхп не очень силен, может поправите, но селект идет к cel
https://github.com/nightflyza/Ubilling/blob/887dc31198f1b402bbf800806da1ce4be763affc/api/libs/api.asterisk.php#L842

 

Пытался разобраться в коде, и запутался.
 

if (!empty($this->recordingsPath)) {
	if (isset($each['app_data']) and in_array($each['app_data'], $allVoiceFiles)) {
		$fileUrl = self::URL_ME . '&astercallrecs=' . urlencode($each['app_data']);
		$data[] = $this->getSoundcontrols($fileUrl);
	} elseif (isset($each['recordingfile']) and in_array($each['recordingfile'], $allVoiceFiles)) {
		$fileUrl = self::URL_ME . '&astercallrecs=' . urlencode($each['recordingfile']);
		$data[] = $this->getSoundcontrols($fileUrl);
	} else {
		$data[] = '';
	}
}

 

recordingPath у меня есть, значит выясняем allVoiceFiles. В нём записывает ответ getCallsDir, но вот что ему пихать и что получается на выходе - загадка)

Ссылка на сообщение
Поделиться на других сайтах

http://ubilling.net.ua/api_doc/classes/Asterisk.html#source-view
есть еще такой документ) и как вариант все же назвать имя файла ${UNIQUEID} и подключить CEL - о чем написано в святом писании документации 

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, bos сказал:

http://ubilling.net.ua/api_doc/classes/Asterisk.html#source-view
есть еще такой документ) и как вариант все же назвать имя файла ${UNIQUEID} и подключить CEL - о чем написано в святом писании документации 

 

Хех. Похоже, что придётся) О результатах отпишусь завтра. Или сегодня, если просто ${UNIQUEID} зайдёт)

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, nightfly сказал:

Посмотрел одним глазом. Там по неизвестной мне причине, используется флэшовый плеер. Так, что все тлен.

 

 

Ха-ха) Переходим на китайскую поделку?) Если серьёзно, то что же, придётся использовать CDR Viewer.

Вам спасибо за потраченое время. Может позже кто заменит на HTML5)

Ссылка на сообщение
Поделиться на других сайтах
годину тому, progxaker сказав:

Может позже кто заменит на HTML5)

Я у себя сегодня, уже быстренько все мигрировал на html5 audio :P

Причем оно сложноее, так как пришлось еще на лету конвертировать gsm в OGG чтобы оно игралось в браузере. С голым астериском все должно быть радикально проще.

spacer.png

 

пинайте Pautiina либо bobr-kun - всякое про астериск, это их психоделическое творчество.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, nightfly сказал:

Я у себя сегодня, уже быстренько все мигрировал на html5 audio :P

Причем оно сложноее, так как пришлось еще на лету конвертировать gsm в OGG чтобы оно игралось в браузере. С голым астериском все должно быть радикально проще.

spacer.png

 

пинайте Pautiina либо bobr-kun - всякое про астериск, это их психоделическое творчество.


Хм-м) Окей, буду пинать)

Ссылка на сообщение
Поделиться на других сайтах
  • 3 weeks later...
Опубліковано: (відредаговано)

Разобравшись в коде(две недели назад, хех), узнал то, что было необходимо - в каком формате необходимо подавать записи БД. На самом деле в любом, главное, чтобы столбец с названием файла назывался app_data или recordingfile. Дабы не пересоздавать базу, добавил в else изменённую запись.

if (!empty($this->recordingsPath)) {
    if (isset($each['app_data']) and in_array($each['app_data'], $allVoiceFiles)) {
        $fileUrl = self::URL_ME . '&astercallrecs=' . urlencode($each['app_data']);
        $data[] = $this->getSoundcontrols($fileUrl);
    } elseif (isset($each['recordingfile']) and in_array($each['recordingfile'], $allVoiceFiles)) {
        $fileUrl = self::URL_ME . '&astercallrecs=' . urlencode($each['recordingfile']);
        $data[] = $this->getSoundcontrols($fileUrl);
    } elseif (isset($each['filename']) and in_array($each['filename'], $allVoiceFiles)) {
        // То, что в each - это название столбца, в моём случае у меня всё было в filename
        $fileUrl = self::URL_ME . '&astercallrecs=' . urlencode($each['filename']);
        $data[] = $this->getSoundcontrols($fileUrl, urlencode($each['filename']));
    } else {
        $data[] = '';
    }
}


Дальше проблемы с плеером. У меня версия UBilling 1.0.6(не обновлял, потому что на тестовом стенде, хех), поэтому он не работает(может сейчас работает в новых версиях). Переписал на HTML5:
 

protected function getSoundcontrols($fileUrl, $filename) {
    $result = '';
    if (!empty($fileUrl)) {
        $playableUrl = $fileUrl . '&playable=true';
        $playerId = 'player_' . wf_InputId();
        $playControlId = 'controller_' . wf_InputId();
        if($filename != "" && file_exists($this->recordingsPath . $filename))
            $result .= wf_tag('audio', false, '', 'controls="" id="' . $playerId . '" preload="none" style="width:
 200px;"') . wf_tag('source', false, '', 'src="' . $playableUrl . '" type="audio/wav"') . wf_tag('audio', true);
    }
}


Можно ещё дописать проверку на то, указано ли расширение в alter.ini и другие аспекты, но думаю этим уже займутся сопровождающие.

Итого:
image.png.fee5426783b063255bf9822c28e63661.png

Відредаговано progxaker
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
5 минут назад, Ромка сказал:

2021-02-26_17-26.thumb.png.4ae1c417fefc55a8b18ade42d44673d6.png

Модуль Askozia монитор ... А топик называет "... Asterisk"... Хотя да, мне известно, что теперь используется одна функция для воспроизведения записей, но для понимания кода, оставил здесь своё решение. Да и в документацию неплохо бы добавить, что необходимо писать имена файлов в ранее указанные столбцы, а то не все шарят в PHP)

Відредаговано progxaker
Ссылка на сообщение
Поделиться на других сайтах
  • 2 months later...

Сегодня добавлен pull request от @bobr-kun. Как только примут в основную ветку, посмотрю и отпишусь, а после можно и тему закрывать.

Ссылка на сообщение
Поделиться на других сайтах

@nightfly "поклеил, как есть", а сам не дожидаясь, проверил у себя. Можно было не 300px, 285, потому что при диагонали 4:3 и "лупы" 80% есть небольшой отступ, но это лишь детали. Основной вопрос закрыт, тему можно закрывать.

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, progxaker сказав:

потому что при диагонали 4:3

spacer.png

 

Только вчера мне втирали, что при разрешении 800*600 на ЭЛТ мониторе интерфейс не достаточно контрастно выглядит и не всюду помещается. Пощадите.

ЗЫ и да, я знаю что с аксессибилити в контексте экранных ридеров тоже пизец полный. А еще есть протанопия, дейтеранопия, тританопия etc...

Відредаговано nightfly
  • Haha 2
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від TELESTAT
      IP-АТС ТЕЛЕСТАТ: Сучасне рішення для організації роботи Call-центрів

       
      Доброго дня!

      Раді представити наш продукт — IP-АТС ТЕЛЕСТАТ, розроблений спеціально для автоматизації й оптимізації роботи call-центрів та відділів технічної підтримки Інтернет-провайдерів.

      Наше рішення вже ефективно працює, допомагаючи нашим клієнтам виводити якість роботи call-центрів та обслуговування дзвінків на новий рівень.
      Та дозволяє не тільки поліпшити обслуговування клієнтів, але й зменшити навантаження на операторів та підвищити загальну ефективність команди, автоматизуючи більшість рутинних процесів.
       
      ТЕЛЕСТАТ — потужне, гнучке рішення для автоматизації call-центрів і оптимізації клієнтського обслуговування.
      З нашою допомогою ви зможете знизити навантаження на операторів, прискорити обслуговування та скоротити операційні витрати.
       


      ✅  Переваги для бізнесу
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
      Інтеграція з CRM та білінговими системами (UserSide, Abills, Ubilling та іншими, через API). Інтеграції з Google Text2Voice, Telegram, Email, веб-сайтом, можлива інтеграція (опційно) з OpenAI Whisper чи іншими сервісами; API: наявність доступу до API дозволяє працювати із ТЕЛЕСТАТ більш гнучко, та робити додаткові інтеграції; Автоматизація обслуговування: розвантажує операторів та дозволяє клієнтам самостійно отримувати відповіді на базові питання: статус послуг та керування послугами (активація, пауза, відновлення), баланс, інформацію про наявність аварій тощо. Це вивільняє час ваших співробітників для більш важливих завдань та підвищує їх продуктивність. Гнучке налаштування маршрутизації дзвінків, залежно від: часу, типу клієнта, поточного балансу, адреси, наявності аварій, стану обладнання та інших умов; Зменшення кількості втрачених дзвінків: завдяки ефективним механізмам обробки пропущених дзвінків, наша система дозволяє швидко інформувати операторів про пропущені дзвінки, що забезпечує їх швидке реагування; Прозора аналітика та звітність: отримуйте детальні звіти та аналітику в режимі реального часу, що надають повну картину щодо дзвінків: кількість вхідних, пропущених, швидкість обробки та ефективність роботи операторів; Інформація по чергах — онлайн: дізнавайтеся поточний стан дзвінків у чергах, та операторів у реальному часі; Можливість самостійного обслуговування та зміни налаштувань IP-АТС без звернення до служби технічної підтримки; Можливість розширення функціоналу за запитом: створення індивідуальних модулів, звітів, інтеграцій та іншого функціоналу; Гнучкі налаштування прав: завдяки гнучким налаштуванням ви можете налаштовувати права користувачів на доступ до інформації по дзвінках; Хмара або локальна інсталяція: для більш гнучкого планування своєї інфраструктури та витрат ви маєте змогу обирати варіанти розташування телефонії в хмарі чи на своєму локальному сервері;
         

      ✨  Ключові особливості:
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
      Гнучкість розташування
      IP-АТС ТЕЛЕСТАТ можна розгорнути як у нашій хмарі, так і на ваших серверах, зберігаючи, в обох варіантах, гнучкість та повний контроль над адмініструванням АТС.
       
      Автоматизація самообслуговування клієнтів
      Інструменти самообслуговування, включно із синтезом мови (Google Text2Voice API) та інтеграцією з обліковою системою провайдера, надають можливість клієнтам самостійно вирішувати більшість типових запитів. Багаторівневі інтерактивні голосові меню (IVR), автоматизована перевірка балансу або статусу послуг, сповіщення по аваріях суттєво знижують навантаження на операторів і прискорюють процес обробки запитів.  Це значно підвищує можливості автоматизації обслуговування клієнтів та зменшує навантаження на операторів.

      Розумна маршрутизація дзвінків
      Автоматичне розподілення дзвінків між операторами, враховуючи такі критерії, як: адреса, баланс, час доби, пріоритет (наприклад, для VIP-клієнтів), наявність закріпленого менеджера та інше. Це допомагає скоротити час очікування клієнтів, підвищити ефективність роботи кол-центру та оптимально розподілити навантаження на команду.
       
      Інтеграція з CRM та білінговими системами
      Завдяки інтеграції, з галузевими CRM та білінговими платформами, такими як UserSide, Abills, Ubilling, OneBox та іншими ми отримуємо можливість більш гнучко взаємодіяти із дзвінками від клієнтів, надаючи можливість більш гнучкого їх обслуговування. Це дозволяє: автоматизувати перевірку балансу, статусу послуги, пройти авторизацію, активувати чи деактивувати послугу, автоматично (залежно від типу клієнта, його номера, адреси чи стану обладнання) направити дзвінок на відповідний IVR чи чергу, відтворити персоналізоване повідомлення чи сповіщення про аварію, фіксувати ПІБ чи адресу клієнта в журналі дзвінків, дії клієнта в IVR тощо.
       
      Контроль пропущених дзвінків
      Наша IP-АТС забезпечує контроль за пропущеними дзвінками, дозволяючи відстежувати їх обробку у режимі онлайн та налаштовувати повідомлення, про такі дзвінки, для інформування операторів. Це сприяє швидкому реагуванню на пропущені виклики та підвищенню рівня обслуговування клієнтів.
       
      Розширена аналітика та звітність
      Система аналітики в реальному часі дозволяє отримувати вичерпні звіти щодо: кількості оброблених і пропущених дзвінків, продуктивності операторів, поточному статусу операторів (вільний, розмовляю), кількості дзвінків у чергах та інших критичних показників. Це дозволяє керівництву приймати обґрунтовані рішення, спрямовані на оптимізацію роботи call-центру та підвищення якості сервісу.
       
      Технічна підтримка та розробка
      Ми пропонуємо нашим клієнтам гнучке налаштування IP-АТС ТЕЛЕСТАТ та оперативну технічну підтримку. Наш технічний відділ завжди допоможе зі швидкою та якісною розробкою нових або модернізацією наявних функціональних модулів, звітів та аналітики. Ми супроводжуємо проєкт на всіх етапах — від обговорення задачі та складання технічного завдання до тестування і здачі робіт. Такий підхід надає нашим клієнтам гнучкість і впевненість у швидкому вирішенні завдань, вигідно відрізняючи нас від конкурентів.
       
      Закріплений менеджер для кожного клієнта
      Ключова перевага IP-АТС ТЕЛЕСТАТ — закріплений менеджер для кожного клієнта. Ваш менеджер завжди готовий допомогти з будь-якими питаннями, пов'язаними з технічною підтримкою чи розробкою нових модулів. Це забезпечує персоналізований сервіс та швидке реагування, що виділяє нас серед конкурентів.
       
       
       
      🔥  Можливості:
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      Контроль та аналітика дзвінків
      Можливість моніторингу в реальному часі, спостереження за чергами та операторами, прослуховування поточних дзвінків у режимі реального часу, отримання детальних звітів щодо роботи операторів є ключовими для ефективної оптимізації робочих процесів.

      Інтеграція з Telegram, TurboSMS та електронною поштою
      Автоматизовані повідомлення про пропущені дзвінки та інші важливі події можуть надсилатися через зручні канали зв'язку, що підвищує швидкість інформування.

      Синтез мови (Google Text2Voice API)
      Використання синтезу голосу для автоматизованих повідомлень є особливо корисним для побудови систем самообслуговування та оповіщення клієнтів, забезпечуючи зручність і швидкість.

      Особистий кабінет співробітника
      Кожен оператор має доступ до свого особистого кабінету, що надає можливість працювати із даними по дзвінках, пропущеними дзвінками, SMS та прослуховувати записи розмов, підвищуючи прозорість та ефективність роботи.

      Запис дзвінків та оцінка якості роботи операторів
      Модулі запису дзвінків та оцінювання якості обслуговування дозволяють здійснювати контроль за якістю наданих послуг, підвищувати рівень обслуговування та покращувати продуктивність команди. Клієнти можуть оцінювати якість обслуговування після завершення розмови, що забезпечує додатковий рівень контролю.

      Кнопка "Click-to-Callback" для сайту
      Встановлення цієї кнопки на вашому веб-сайті значно покращить конверсію звернень та прискорить реакцію на запити клієнтів.

      VIP-клієнти та ведучий менеджер
      Функція "VIP-клієнт" дозволяє встановлювати пріоритет для вхідних дзвінків, забезпечуючи їх швидшу обробку. Функція "Ведучий менеджер" дозволяє автоматично спрямовувати дзвінки від клієнта до закріпленого за ним менеджера для забезпечення персоналізованого сервісу.

      Повторне з'єднання з менеджером
      Забезпечує повторне з'єднання клієнта з тим самим співробітником, з яким клієнт уже розмовляв, у разі повторного дзвінка, що сприяє підвищенню задоволеності клієнтів.

      Історія дзвінків, коментарі та теги
      Зручна історія всіх дзвінків із записами розмов, фільтрами, можливістю додавання коментарів та тегів (наприклад: замовлення, скарга, пропозиція), що дозволяє швидко знаходити потрібну інформацію та ефективно працювати з клієнтами.

      Фіксація дій в IVR
      Система фіксує всі дії користувачів у IVR, з можливістю відображення вибору у звітах, що сприяє підвищенню аналітичного розуміння поведінки клієнтів.
       
      Фіксація історії переведення дзвінків
      АТС фіксує події переведення дзвінка, з подальшим відображенням їх у звітах.

      Гнучке управління правами доступу
      Управління правами на доступ до записів розмов, звітів та іншої інформації забезпечує безпеку даних та захист конфіденційної інформації.

      Чорний список
      Функція дозволяє блокувати небажані номери, що забезпечує додатковий рівень безпеки та контролю.

      Адресна книга
      Можливість ведення списку контрагентів у локальній телефонній книзі.




      🪙  Вартість
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
      Вартість конфігурації "Cloud-PBX"     - $35 /місяць;
      Вартість конфігурації "Базова"           - 20 999 грн.;
      Вартість конфігурації "Call-центр"     - 29 999 грн.;

      Вартість вказана без ПДВ.
       
       

      📌  Презентація у PDF
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        telestat_2024_u.pdf


      🚀  Розгорнутий опис можливостей - за цим посиланням.




      IP-АТС ТЕЛЕСТАТ — це потужне рішення, яке дозволяє вам автоматизувати клієнтський сервіс, оптимізувати робочі процеси та підвищити ефективність роботи вашої команди. Ми запрошуємо вас до співпраці та готові допомогти зробити ваш бізнес більш ефективним!
       
      Готові підвищити ефективність вашого call-центру?
      Зв'яжіться з нами сьогодні для консультації та дізнайтеся, як ми можемо оптимізувати роботу вашого бізнесу!
       
      Будемо раді співпраці!


       
      ТЕЛЕСТАТ
      https://telestat.biz
      sales@telestat.biz
       
      +38044 227 8 278
      +38067 508 2 100


       


       
    • Від mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

    • Від Plastilin
      Вітаю. Маю наступний комплект. Ubilling на Debian + Mikrotik CHR як маршрутизатор. Наче все запустилось, але виникло питання яке не вдається розрулити. Читав Wiki, ковиряв, читав знову Wiki, знову ковиряв - не допомогло.
      Чи можливо якось визначити конкретну IP адресу з пулу який видає Mikrotik клієнту через Radius? Мені пропонує обрати наступну вільну адресу з пулу при спробі зміни адреси?
      З цього з'являється додаткове питання, чи можливо контролювати доступ користувачам у яких IP назначений статично, тобто прописаний вручну? Наприклад при зміні статусу не активний - пхати до Firewall Mikrotik правила заборони доступу з IP адреси визначеної вручну, навіть якщо вона не отримана по DHCP.
       
      UPD: з першою частиною знайшов: IP_CUSTOM=1 в alter.ini 
    • Від ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
    • Від a_n_h
      Всем доброго дня и мирного неба!
        После многочисленных экспериментов выяснил, что на последних версиях freebsd  максимум удавалось прокачать до 14 ГБт суммарно трафика со 100% загрузкой процессора. На том-же железе но с установленной freebsd 11.2 прокачивается до 20-ти ГБт суммарно тестового трафика с загрузкой процессора около 50%. 
        Подскажите, что можно убрать или наоборот добавить в систему с freebsd 13,3 для получения аналогичного результата...
×
×
  • Створити нове...