Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Вопрос по использованию mod_callcenter

Использование и настройка других открытых VoIP PBX

Модератор: april22

Вопрос по использованию mod_callcenter

Сообщение tma » 16 янв 2016, 16:28

Всем привет,

Есть настройки в callcenter.conf.xml
Код: выделить все
    <queue name="sales@domain.ru">
      <param name="strategy" value="longest-idle-agent"/>
      <param name="moh-sound" value="$${hold_music}"/>
      <param name="record-template" value="$${recordings_dir}/sales-${strftime(%Y-%m-%d-%H-%M-%S)}.${destination_number}.${caller_id_number}.${uuid}.wav"/>
      <param name="time-base-score" value="queue"/>
      <param name="tier-rules-apply" value="false"/>
      <param name="tier-rule-wait-second" value="300"/>
      <param name="tier-rule-wait-multiply-level" value="true"/>
      <param name="tier-rule-no-agent-no-wait" value="false"/>
      <param name="discard-abandoned-after" value="14400"/>
      <param name="max-wait-time" value="0"/>
      <param name="max-wait-time-with-no-agent" value="120"/>
    </queue>

  <agents>
    <agent name="2XX@domain.ru" type="callback" contact="[call_timeout=15]user/2XX@domain.ru" status="Available" max-no-answer="3" wrap-up-time="10" reject-delay-time="10" busy-delay-time="60" />
  </agents>
  <tiers>
    <tier agent="2XX@domain.ru" queue="sales@domain.ru" level="1" position="1"/>
  </tiers>


Динамические агенты организованы таким образом:
Код: выделить все
    <extension name="agent_login">
      <condition field="destination_number" expression="^agent-login$">
        <action application="set" data="res=${callcenter_config(agent set status ${caller_id_number}@${domain_name} 'Available')}" />
        <!-- <action application="set" data="res=${callcenter_config(tier add ${domain_name} ${caller_id_number}@${domain_name} 'Ready' 1 1)}" /> -->
        <action application="answer" data=""/>
        <action application="sleep" data="500"/>
        <action application="playback" data="ivr/ivr-you_are_now_logged_in.wav"/>
        <action application="hangup" data=""/>
      </condition>
    </extension>

    <extension name="agent_logoff">
      <condition field="destination_number" expression="^agent-logoff$">
        <action application="set" data="res=${callcenter_config(agent set status ${caller_id_number}@${domain_name} 'Logged Out')}" />
        <!-- <action application="set" data="res=${callcenter_config(tier del ${domain_name} ${caller_id_number}@${domain_name})}" /> -->
        <action application="answer" data=""/>
        <action application="sleep" data="500"/>
        <action application="playback" data="ivr/ivr-you_are_now_logged_out.wav"/>
        <action application="hangup" data=""/>
      </condition>
    </extension>


Проблема в том, что если агент разрегистрируется, его статус меняется на Logged Out и позвонивший клиент висит в пустой очереди.
Хотелось бы, чтобы клиент не висел в пустой очереди, а сразу уходил дальше (по моей предыдущей теме - в голосовой ящик).
Есть идея перед попаданием в очередь запрашивать число активных агентов и если их 0 - идти дальше.
НО! Если во время нахождения в очереди агент меняет статус на Logged Out, то клиент так же продолжает болтаться в пустой очереди.

Примеров в интернете не нашел. Такое впечатление, что проблема есть только у меня.

P.S. В догонку. Почему callcenter.conf.xml удается прописать только в autoload_configs/callcenter.conf.xml, в отдельном конфиге FreeSWITCH просто игнорирует описание очередей...
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1720
Зарегистрирован: 18 сен 2010, 20:50

Re: Вопрос по использованию mod_callcenter

Сообщение Vlad1983 » 16 янв 2016, 17:34

http://garantum.ru/content/152-callcenter_freeswitch
max-wait-time-with-no-agent
Дефолтное значение для отключения равно 0. Значение задаётся в секундах и определяет промежуток времени, в течение которого очередь должна оставаться пустой (без подключенных агентов) прежде чем будут отключены все участники. Этот принцип обеспечивает защиту от случаев, когда все ожидающие участники выпадают из очереди при случайном отключении всех агентов.


описание очередей должно быть в пределах <configuration name="callcenter.conf" description="CallCenter"></configuration>
можно включить части через метки для препроцессора
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4131
Зарегистрирован: 09 авг 2011, 11:51

Re: Вопрос по использованию mod_callcenter

Сообщение tma » 16 янв 2016, 21:14

В том-то и дело, что чхать он хотел на значение max-wait-time-with-no-agent.
Игрался - ставил 1 секунду, 0 и т.д.
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1720
Зарегистрирован: 18 сен 2010, 20:50

Re: Вопрос по использованию mod_callcenter

Сообщение Vlad1983 » 16 янв 2016, 21:29

не нулевой max-wait-time при ненулевом max-wait-time-with-no-agent пробовали?
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4131
Зарегистрирован: 09 авг 2011, 11:51

Re: Вопрос по использованию mod_callcenter

Сообщение tma » 16 янв 2016, 21:37

Да.
Есть ненулевой max-wait-time, то висит в очереди, в том числе пустой, пока не истечет время.
Поведение абсолютно непонятное пока...
Можете дать 100% рабочий пример для теста?
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1720
Зарегистрирован: 18 сен 2010, 20:50

Re: Вопрос по использованию mod_callcenter

Сообщение pan-user » 16 янв 2016, 21:46

tma - просит копипасту. куда катится мир. )
pan-user
 
Сообщений: 126
Зарегистрирован: 24 мар 2011, 14:40

Re: Вопрос по использованию mod_callcenter

Сообщение Vlad1983 » 16 янв 2016, 22:08

показал бы рабочий пример, если бы хоть раз пользовался этим модулем

mod_callcenter.c строки 2489 по 2506
где нет после условий "switch_log_printf" добавить руками с уникальным текстом, характеризующим условия
перекомпилять и наблюдать в консоли что выполнилось что нет
или gdb ловить, но это долгая песня рассказывать как им пользоваться

подозреваю что-то не так с queue->last_agent_exist_check, queue->last_agent_exist
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4131
Зарегистрирован: 09 авг 2011, 11:51

Re: Вопрос по использованию mod_callcenter

Сообщение tma » 16 янв 2016, 23:41

Vlad1983 писал(а):показал бы рабочий пример, если бы хоть раз пользовался этим модулем

mod_fifo лучше? Или еще варианты есть?

Vlad1983 писал(а):или gdb ловить, но это долгая песня рассказывать как им пользоваться

Иногда проще свой модуль написать, чем дебажить чужой и исправлять чужие глюки. ;)
Думал, что документации и примеров хватит, ан нет - придется в код лезть...
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1720
Зарегистрирован: 18 сен 2010, 20:50

Re: Вопрос по использованию mod_callcenter

Сообщение tma » 16 янв 2016, 23:42

pan-user писал(а):просит копипасту

Пример и копипаст - разные вещи.
http://skytel.ee | оператор связи | Россия моб. по 1.20 руб + НДС (посекундно).
Бесплатные номера: iNUM в +8835100, номера в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510 | Россия СПб: +7(812)3839300 | Москва: +7(495)4019950 | РФ: 88005500383
tma
 
Сообщений: 1720
Зарегистрирован: 18 сен 2010, 20:50

Re: Вопрос по использованию mod_callcenter

Сообщение Vlad1983 » 17 янв 2016, 11:24

mod_fifo так же не пробовал

ещё одна мелочь, про которую все забывают: через reloadxml применяется только диалплан
после изменения конфигурации и якобы её применения нужно проверить все ли применилось
Код: выделить все
fs_cli -x "callcenter_config queue list"
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4131
Зарегистрирован: 09 авг 2011, 11:51

След.

Вернуться в FreeSwitch, SER, Yate и другие

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2008 — 2018 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH