Чат  ::   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://telecomtechnology.net - услуги связи premium качества с сохранением CallerID
Номера: iNUM в +8835100 бесплатно, а так же в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510, Россия СПб: +7(812)3839300; Москва: +7(495)4019950; РФ: 88005500383
tma
 
Сообщений: 1692
Зарегистрирован: 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>
можно включить части через метки для препроцессора
Telegram-бот для заказа такси интеграция с Такси-Мастер.
Звонок клиенту из TMDriver через Asterisk. Web-кабинет оператора без Oktell.
Голосовое информирования клиентов о времени прибытия и данных экипажа.
Telegram: @rostel
Vlad1983
 
Сообщений: 4101
Зарегистрирован: 09 авг 2011, 11:51

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

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

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

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

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

не нулевой max-wait-time при ненулевом max-wait-time-with-no-agent пробовали?
Telegram-бот для заказа такси интеграция с Такси-Мастер.
Звонок клиенту из TMDriver через Asterisk. Web-кабинет оператора без Oktell.
Голосовое информирования клиентов о времени прибытия и данных экипажа.
Telegram: @rostel
Vlad1983
 
Сообщений: 4101
Зарегистрирован: 09 авг 2011, 11:51

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

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

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

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

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

tma - просит копипасту. куда катится мир. )
pan-user
 
Сообщений: 125
Зарегистрирован: 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
Telegram-бот для заказа такси интеграция с Такси-Мастер.
Звонок клиенту из TMDriver через Asterisk. Web-кабинет оператора без Oktell.
Голосовое информирования клиентов о времени прибытия и данных экипажа.
Telegram: @rostel
Vlad1983
 
Сообщений: 4101
Зарегистрирован: 09 авг 2011, 11:51

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

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

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

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

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

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

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

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

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

Пример и копипаст - разные вещи.
http://telecomtechnology.net - услуги связи premium качества с сохранением CallerID
Номера: iNUM в +8835100 бесплатно, а так же в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510, Россия СПб: +7(812)3839300; Москва: +7(495)4019950; РФ: 88005500383
tma
 
Сообщений: 1692
Зарегистрирован: 18 сен 2010, 20:50

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

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

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

ещё одна мелочь, про которую все забывают: через reloadxml применяется только диалплан
после изменения конфигурации и якобы её применения нужно проверить все ли применилось
Код: выделить все
fs_cli -x "callcenter_config queue list"
Telegram-бот для заказа такси интеграция с Такси-Мастер.
Звонок клиенту из TMDriver через Asterisk. Web-кабинет оператора без Oktell.
Голосовое информирования клиентов о времени прибытия и данных экипажа.
Telegram: @rostel
Vlad1983
 
Сообщений: 4101
Зарегистрирован: 09 авг 2011, 11:51

След.

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

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

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

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