Поставити ліміт на вихідні дзвінки - asterisk питання і відповіді

Добрий день Мені потрібно написати екстеншн, який поставить на місяць лімітці на дзвінки на міжміський і мобільний вихід. Припустимо на номер 400000 дати 100 хвилин на місяць і т.д Я читала книжки про те як пишуться діалплани і здається у мене вийшло написати діалплан який ставить ліміт на один дзвінок, а як зробити на цілий місяць?

Я схожий питання читала, там не знайшла відповіді, мені не потрібен білінг, мені не потрібен модуль, мені потрібно діалплан написати (

найпростіший варіант використовувати функцію DB. раз в місяці обнуляти. але взагалі схоже вам треба когось найняти.

кого-то найняти)))) я не в станів когось там наймати)))) а взагалі я для себе

Білінг Вам потрібен, білінг. Нехай простий, але білінг. У загальному випадку алгоритм такий:

  1. Витягти з БД вже наявну кількість хвилин
  2. Запам'ятати в змінної
  3. Якщо не перевищено ліміт, дозволити зателефонувати
  4. Після дзвінка в екстене h кількість billsec скласти зі змінною
  5. Отримане значення помістити в бд

так не буде працювати. логічна помилка. треба після 3 - заново перечитати змінну. а краще в бд робити відразу update з + а не чітке занчение.

Найцікавіше - це динамічне призначення L () в Dial.

Я записала CDR в MySQL базу. Алгоритм наскільки я зрозуміла 1.Взять поточний місяць прирівняти його змінної (month) 2.Підключіть до бази знайти billsec прирівняти його в іншу змінну (time) 3.Сравніть calldate з бази з цього місяцем (month) 4.time порівняти з потрібним лімітом. допусти якщо 100 хвилин перевіряємо з 6000 секундами, і якщо не перевищено робити dial (). 4. Якщо перевищено то поставити який-небудь коллбек типу ліміт перевищено. Я все правильно зрозуміла?

краще в бд робити відразу update з + а не чітке занчение.

meral, не зовсім зрозуміла вас)

у вас курс многопоточного програмування був? коли все це кодуєте треба враховувати що виконаються буде в кілька потоків і можуть бути колізії. взагалі посмотріет какойто білінг там вже все зроблено. той же код a2billing наприклад. реалізація через "кожен раз шукаємо в базі всі billsec" покладе ваш сервер намертво вже при 50000 дзвінків на місяць.

Так мені не придатне для користування, мені просто потрібно написати. Будуть вони користуватися чи ні їх проблема, мені просто треба реалізувати і показати. Якщо їм потрібен a2billing я їм поставлю і настрою. )))

Мені просто потрібно дізнатися по тому алгоритму можливо ж реалізувати? Я навіть почала писати, тільки у мене щось це не працює (

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