Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / маршрутизация по числу звонков

маршрутизация по числу звонков

нетипичная как для меня задача
Откуда: Odessa
Сообщений: 90

маршрутизация по числу звонков

есть 3 транка
есть необходимость считать число звонков на транки
к примеру - 100 звонков прошло на первый транк (бесплатные)
следующие кидать во второй транк (еще 100 звонков)
а приходят звонки с третьего транка.
решаема ли такая задача в принципе и где копать? Подскажите направление.
Trixbox v2.8.0.2
2009-11-22 13:08

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: маршрутизация по числу звонков

поидее сделать просто, но ровно 100 звонков отследить будет сложно.
в ветку astdb добавляйте единицу при каждом вызове. если больше сотни - переходите на другой транк.
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-11-22 13:25

Откуда: Odessa
Сообщений: 90

Re: маршрутизация по числу звонков

switch
я так понял что реализовывать через Monitor Trunk Failures?
пишем скрипт который кидает плюс один в базу после каждого удачного звонка
когда в базе будет 100, переписываем маршруты на следующий транк опять же самописным скриптом?
или это слишком геморный путь и есть что-то уже готовое?
2009-11-22 13:41

Сообщений: 6521

Re: маршрутизация по числу звонков

switch:

в ветку astdb добавляйте единицу при каждом вызове.
Тогда все неудачные вызовы (busy например) тоже будут засчитываться.
Надо по критерию "состоявшийся разговор" а не по "вызов".
Ну и обнулять счётчик как-то тоже надо продумать?

Ничего готового такого нет.

igor3:

я так понял что реализовывать через Monitor Trunk Failures?
при чём тут Failures? это промерять отказы и qualify на транке, не из этой оперы.
2009-11-22 13:42

Откуда: Odessa
Сообщений: 90

Re: маршрутизация по числу звонков

ded:

при чём тут Failures? это промерять отказы и qualify на транке, не из этой оперы.
Да, с Failures я погорячился.
Тогда остаеться вариант:
1. запихиваеться статистику звонков по транку в базу (пока не разобрался как но это должно быть готовое)
2. читаем из базы статистику удачных звонков и добавляем в поле счетчика +1
3. получили сотню - перекинули маршруты, обнулили счетчик.

Пункты 2 и 3 реализовывать на уровне базы MySql тригерами.
Тригеры и MySql :( совсем не дружат.
тогда добавляем пункт 0 - вместо MySql перенести всю систему на Postgres (причину простоя во время перебивки системы описываем начальству как форсмажор)
2009-11-22 13:54

Сообщений: 6521

Re: маршрутизация по числу звонков

Не, switch писал же - в ветку astdb добавляйте единицу.
В Астериске есть нативная база данных, её синтаксис простой, туда можно много чего писать/читать на ходу.
Database show | put | get / посмотри сам? из головы пишу.
Пункты 2 3 реализовать просто через доп строки в сценарии исходящих.
Который поместить как вставку в extension_custom.conf


2009-11-22 14:21

Откуда: Odessa
Сообщений: 90

Re: маршрутизация по числу звонков

Уже очень близко (и достаточно лаконично получаеться)
нашел похожий пример в котором в зависимости от значения на лету включаеться запись.
----------------------------
extension
exten => _0.,1,NoOP,Dial out with hidden CLID
exten => _0.,2,SetCallerPres(prohib)
exten => _0.,3,DBGet(rec=registra/${CALLERIDNUM})
exten => _0.,4,GotoIf($[ ${rec} = 1 ]?10:20)
exten => _0.,10,MixMonitor(REC-${CALLERIDNUM}-${UNIQUEID}.wav|b|)
exten => _0.,11,Goto(20)
exten => _0.,20,Dial(Zap/g1/${EXTEN:1})
---------------------------
в базу кидаеться ключ "писать 229 "
database put registra 299 1
-----------------------------
или ключ "не писать 229"
database put registra 299 0

как предрекали ded и switch - оптимальный путь решения вопроса.

теперь осталось только отловить в переменную событие "4103 ответил 101"
в консоли оно выглядит так:
-- SIP/4103-0974d5e8 answered SIP/101-b7511af0
есть подсказка как это сделать? или посмотреть список всех возможных переменных?

2009-11-22 22:28

Avatara of zlat
Сообщений: 215

Re: маршрутизация по числу звонков

2009-11-22 22:32

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru