LINUX.ORG.RU
ФорумAdmin

Добавить переадресованные исходящие звонки в очередь

 


0

1

Привет, ЛОР!

Есть древний Asterisk 1.8.23.1 на Debian 6. В диалплане прописан макрос, если ни один из SIP-телефонов не ответил, переадресовать звонок на мобильники.

/etc/asterisk/extensions.ael

...
macro reserve-mobile()   {
    Dial(SIP/${mobile_1}@Provider_outgoing,15,RtT);
    Dial(SIP/${mobile_2}@Provider_outgoing,15,RtT);
    Dial(SIP/${mobile_3}@Provider_outgoing,15,RtT);
    Hangup();
};
...

Сейчас это работает так, звонки на мобильные уходят в том порядке, в котором эти мобильные прописаны. По всем правилам очередей - первый оператор задолбан звонками, второй и третий простаивают, ибо им звонки попадут только если первый отклонит звонок или не возьмёт трубку, или если поступит два звонка одновременно.

Можно ли эти мобильные прописать в очереди в queues.conf чтобы звонки на мобильные подчинялись стратегии очереди?

Если можно, то какой синтаксис должен быть? Сейчас SIP-телефоны прописаны таким образом:

member => SIP/101,3

★★★★

Очередь здесь не нужна. Самый простой способ: получить случайное число через функцию RAND и в зависимости от него включать логику с перечислением транков в разных последовательностях

если сложнее, то нужно балансировку делать на основании данных о уже совершённых звонках

если пойти еще дальше, то нужна внешняя функция (AGI), которая будет возвращать список транков в порядке приоритета

paganmind ()
Ответ на: комментарий от paganmind

я думал, что очередью это как раз и реализуется. есть же нужные стратегии типа rrmemory.

я смутно представляю, как это всё работает, поэтому могу писать глупые мысли.

kma21 ★★★★ ()
Ответ на: комментарий от kma21

здесь звонок не нужно ставить в какую-то очередь, нужно сразу в транк. если бы у вас было 100 исходящих одновременно и 10 исходящих линий - нужна была бы очередь. применение не очень практичное (за исключением автообзвона)

paganmind ()
Последнее исправление: paganmind (всего исправлений: 1)