Jump to content

Recommended Posts

  • Replies 500
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

  • 5 months later...
Posted

Вопрос скорее даже не по ЛБ, а по mysql

В логе mysql-сервера, на котором крутится ЛБ, вот такая ругань:

2024-08-01T09:50:19.754013Z 0 [ERROR] InnoDB: Table `mysql`.`innodb_table_stats` not found.
2024-08-01T09:50:19.754083Z 0 [Warning] InnoDB: Recalculation of persistent statistics requested for table `billing`.`radius_stat_cache` but the required persistent statistics storage is not present or is corrupted. Using transient stats instead.
2024-08-01T09:51:19.385888Z 0 [ERROR] InnoDB: Table `mysql`.`innodb_table_stats` not found.
2024-08-01T09:51:19.385960Z 0 [Warning] InnoDB: Recalculation of persistent statistics requested for table `radius`.`radius_stat_cache` but the required persistent statistics storage is not present or is corrupted. Using transient stats instead.

Захожу  в mysql, таблица на месте, но:

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
...
| innodb_table_stats        |
...
+---------------------------+
31 rows in set (0.01 sec)

mysql> select count(*) from innodb_table_stats;
ERROR 1146 (42S02): Table 'mysql.innodb_table_stats' doesn't exist
mysql> describe innodb_table_stats;
ERROR 1146 (42S02): Table 'mysql.innodb_table_stats' doesn't exist

 

Побилось что-то служебное  похоже, т.к. сам биллинг работает нормально.

Как пофиксить?

Posted
1 час назад, No_name сказал:

Попробуй 😉

Это само собой 🙂

1 час назад, No_name сказал:

в моей версии мускуля нет такой таблицы

в какой?

 mysql --version
mysql  Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using  EditLine wrapper

 

Posted
4 часа назад, No_name сказал:

Попробуй 😉

По первой же ссылке https://stackoverflow.com/questions/15767652/mysql-error-table-mysql-innodb-table-stats-not-found
Но

 

mysql> drop table innodb_table_stats;
ERROR 1051 (42S02): Unknown table 'mysql.innodb_table_stats'
mysql> CREATE TABLE `innodb_table_stats` (
    ->   `database_name` varchar(64) NOT NULL,
    ->   `table_name` varchar(199) NOT NULL,
    ->   `last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    ->   `n_rows` bigint(20) unsigned NOT NULL,
    ->   `clustered_index_size` bigint(20) unsigned NOT NULL,
    ->   `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
    ->   PRIMARY KEY (`database_name`,`table_name`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
ERROR 1813 (HY000): Tablespace '`mysql`.`innodb_table_stats`' exists.
mysql> describe innodb_table_stats;
ERROR 1146 (42S02): Table 'mysql.innodb_table_stats' doesn't exist

 

  • 3 months later...
Posted

Периодически ЛБ при проведении платежа выдает вот такую  ошибку - см.фото.

В логе ядра

 LWP15111 [json_session.cpp:146:Handle]      Connection exception in method "Payment": "Receipt 20241111041114-5919 already used"

Думал, что что-то с mysql, но в его логах тишина.

Кто сталкивался, в чем причина и как лечить?

image.thumb.jpeg.446c535f6c58740c58730306ade6b659.jpeg

  • 4 weeks later...
Posted

Коллеги, кто-нибудь использует ЛанБиллинг для тарификации телефонии по агентской схеме?
Схема такая, что Вымпелком продает нам услуги (подключение номера, предоставление номера, пропуск звонков) по агентской цене, мы конечным клиентам продаем по своей цене.

 

Т.е. надо в ЛанБиллинге завести еще одного оператора (Вымпелком) и тарифицировать вызовы на него: для нас по агентской цене, а для клиентов - по клиентской. Как это реализуется в ЛанБиллинге?


Похоже, что надо завести 2 тарифа (каталога направлений?) для разной тарификации: 1. по агентским тарифами тарифицировать входящие на Вымпелком звонки, 2. для конечных клиентов тарифицировать исходящие от них звонки по конечной цене.

 

Перечитываю доку и никак не могу понять реализацию.

Версия ЛБ 2.0 сборка 31я

Posted
7 часов назад, Andrei сказал:

Коллеги, кто-нибудь использует ЛанБиллинг для тарификации телефонии по агентской схеме?
Схема такая, что Вымпелком продает нам услуги (подключение номера, предоставление номера, пропуск звонков) по агентской цене, мы конечным клиентам продаем по своей цене.

 

Т.е. надо в ЛанБиллинге завести еще одного оператора (Вымпелком) и тарифицировать вызовы на него: для нас по агентской цене, а для клиентов - по клиентской. Как это реализуется в ЛанБиллинге?


Похоже, что надо завести 2 тарифа (каталога направлений?) для разной тарификации: 1. по агентским тарифами тарифицировать входящие на Вымпелком звонки, 2. для конечных клиентов тарифицировать исходящие от них звонки по конечной цене.

 

Перечитываю доку и никак не могу понять реализацию.

Версия ЛБ 2.0 сборка 31я

 

а зачем тебе еще агентскую схему обсчитывать? билайн же это за тебя делает)

а так ты прав, тариф для агенсткого и тарифы для абонентов

Posted
3 часа назад, himikrzn сказал:

а зачем тебе еще агентскую схему обсчитывать?

Для контроля и межоператорских расчетов.

3 часа назад, himikrzn сказал:

тариф для агенсткого и тарифы для абонентов

Вот и не понятно как это реализовать.  Заводим оператора Вымпелком, для него создаем каталог услуг этого оператора (абонентка, зоновая связь, Мг, Мн-связь), в каждом каталоге - направления с кодами городов, которые входят в соответствующее направление.

Но потом-то при создании тарифа для каждого направления можно задать только 1 цену звонка по этому направлению.  А в Мг-направлении например на каждую область свой тариф. Я уж не говорю про Мн-направления. Получается, что для каждой области надо создавать свое направление со своим тарифом? А для Мн-тарифов - вообще тьма, там внутри одной страны может быть много тарифных зон (столица, другие города, мобилки).
Или я что-то не так понял логику биллинга?

Posted
2 часа назад, Andrei сказал:

Вот и не понятно как это реализовать.  Заводим оператора Вымпелком, для него создаем каталог услуг этого оператора (абонентка, зоновая связь, Мг, Мн-связь), в каждом каталоге - направления с кодами городов, которые входят в соответствующее направление.

Но потом-то при создании тарифа для каждого направления можно задать только 1 цену звонка по этому направлению.  А в Мг-направлении например на каждую область свой тариф. Я уж не говорю про Мн-направления. Получается, что для каждой области надо создавать свое направление со своим тарифом? А для Мн-тарифов - вообще тьма, там внутри одной страны может быть много тарифных зон (столица, другие города, мобилки).
Или я что-то не так понял логику биллинга?

 

Всё верно, в каталог вы загружаете все направления, они же по простому - префиксы телефонных номеров. В тарифе вы формируете из этих направлений категории по зонам (условно Москва, Московская область, Тверская область и т.д.) по признаку географии и одинаковой стоимости. Для этих категорий устанавливаете цены - https://docs.lanbilling.ru/49/tariffication/telephony_tariff/directions/

 

Для того чтобы тарифицировать один звонок по двум стоимостям вам нужно чтобы была как учетка абонента с признаком его телефона, так и учетка оператора, где в качестве признака обычно имя транка. На каждой свой тариф, на абонентской - с теми категориями и ценами за которые продаете трафик абонента, на операторской - с ценами по которым вам продает Вымпелком.

Posted
18 минут назад, dereiff сказал:

в каталог вы загружаете все направления, они же по простому - префиксы телефонных номеров. В тарифе вы формируете из этих направлений категории по зонам (условно Москва, Московская область, Тверская область и т.д.) по признаку географии и одинаковой стоимости.

Т.е. вот так

image.thumb.png.2397e5585944bbbeb7fc1b1cb3f4e766.png

это неправильно? Надо создавать не каталог "Мг связь", а каталог например "Московская область" с кодами городов, тариф для которых будет одинаковый?

 

18 минут назад, dereiff сказал:

Для того чтобы тарифицировать один звонок по двум стоимостям вам нужно чтобы была как учетка абонента с признаком его телефона, так и учетка оператора, где в качестве признака обычно имя транка.

С номером абонента понятно. А вот с номером транка - не очень. Он откуда будет браться? Из cdr-ки? Но у меня в cdr есть условное название этого транка (например BeeLine) и ip-адрес коммутатора Вымпелкома (стык по SIP-T). Как это завести в ЛБ в виде транка?

Posted
10 минут назад, Andrei сказал:

это неправильно? Надо создавать не каталог "Мг связь", а каталог например "Московская область" с кодами городов, тариф для которых будет одинаковый?

 

Да, нужно создавать направления по принципу стоимости. Как Вымпелком вам тарифы выгружает, вот фактически так и создавать

image.thumb.png.17bda56c376d64704549cf0454a1bc97.png

 

12 минут назад, Andrei сказал:

С номером абонента понятно. А вот с номером транка - не очень. Он откуда будет браться? Из cdr-ки? Но у меня в cdr есть условное название этого транка (например BeeLine) и ip-адрес коммутатора Вымпелкома (стык по SIP-T). Как это завести в ЛБ в виде транка?

 

Так и завести - как транк с тем именем что в CDR фигурирует

image.thumb.png.43a33dfb44fd408b9121e321a376534e.png

 

Posted
14 минут назад, dereiff сказал:

Как Вымпелком вам тарифы выгружает, вот фактически так и создавать

У нас не так. Вымпелком выгружает вообще жесть, которую надо сохранять в csv и парсить отдельно перед загрузкой в биллинг:

bee.thumb.png.1b23845dfa4481ca619462a4d36be3dc.png

 

17 минут назад, dereiff сказал:

Так и завести - как транк с тем именем что в CDR фигурирует

Это в где такая настройка? У меня сборка 31я, у вас видимо новее

Posted
10 минут назад, Andrei сказал:

Это в где такая настройка? У меня сборка 31я, у вас видимо новее

 

В учетной записи, на вкладке "Телефония". Там выбирается что добавляется, номер телефона или транк. Это и на старых версиях было

Posted
7 часов назад, dereiff сказал:

В учетной записи, на вкладке "Телефония".

В учетной записи кого? Оператора?

Вот что значит далекость от телефонии - общая картинка у меня не складывается, слишком все запутано.

https://docs.lanbilling.ru/49/tariffication/telephony_tariff/catalogues/

"Каталоги в LANBilling позволяют упорядочить телефонные направления. Например, в одном каталоге вы можете собрать все местные направления, в другом — междугородние, в третьем — международные. В дальнейшем направления, содержащиеся в каталогах, можно будет добавлять в категории конкретных тарифов."

Вот я по этому пути и шел, и похоже что это не правильно.

Posted

Пытаюсь в тарифе загрузить категории с ценами из файла.

Файл тестовый из одной строки:

8;Россия (fix) - регион;МгТС;Россия (fix) - регион;3.3443;0;1;0;0;1

И получаю ошибку по непонятной причине. Вроде формат точно такой же как в приведенном на скриншоте примере. И в чем проблема - не понятно.

category.thumb.png.a32d18f4fed1f60dd1e9461df8b598ad.png

 

И попутно: плату за подключение  и ежемесячную плату лучше делать как допуслугу в этом же тарифе? Или как отдельный основной тариф, а тариф для тарификации звонков как допуслугу?

 

И с мастер-категориями непонятки, но похоже их использовать не обязательно.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...