Всем привет, что есть: Elastix, в нем
call файл:
Channel: SIP/300@from-internal
Callerid: 222222
MaxRetries: 3
RetryTime: 20
Context: call123
Extension: s
Archive: Yes
Set: __num=458323
контекст call123:
[call123]
exten => s,1,Answer ; отвечаем
exten => s,n,Background(hello-world) ; програмываес сообщение клиенту
exten => s,n,Dial(Local/${num}@from-internal) ;звоним соединяем клиента с оператором
; end of [call123]
что предполагалось: С помощью Call фала дозваниваться до оператора из очереди, затем оператора соединяется с с клиентов, номер которго передается через call файл.
Что происходит: Звонок поступает в очередь, и сразу же идет звонок клиенту, когда оператор еще не ответил. Судя по всему в очереди отрабатывает Answer, можно как то обойти это?
анонсы отключить все
announce-frequency = 0
periodic-announce-frequency=0
announce-holdtime = no
announce-round-seconds = 0
Вам нужно чтобы звонок не отправлялся в контекст внешнего звонка , пока будет неотвечен конкретно оператором. Что нужно. Нужно правильно прописать операторов в очереди, чтобы была возможность отслеживать ответы их в очередях. Нужно в звонке наружу также следить за ответом на звонок оператором очереди. Так как вводных данных мало и в основном такой колл-бек делается в коммерческих целях, то никакого кода демонстрировать не буду. Пользуйтесь механизмами разделяемых ресурсов в каналах , способов много.
Нашел решение: создаел еще одну очередь, внес нужных операторов, в контексте этой очереди закоментировал строку:
exten => 306,n,Answer
И все заработало как надо.
romariosar ( 2012-10-29 17:15:53 +0400 )редактироватьДа только чаще всего перед очередью ответ обязателен. Плюс ваше решение зависит от конфигурационных файлов, что при использовании Freepbx нелогично. Ну если Вас это устраивает то и хорошо.
zzuz ( 2012-10-29 17:22:32 +0400 )редактироватьконтекст очереди в extensions_override.conf и она не перезапишется
romariosar ( 2012-10-29 17:25:06 +0400 )редактироватьМинусы этого решения увидите позже. Опыт тоже - хорошо.
zzuz ( 2012-10-29 17:42:44 +0400 )редактироватьЗадан: 2012-10-29 14:08:32 +0400
Просмотрен: 481 раз
Обновлен: Oct 29 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.