Есть настройки в 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>
Хотелось бы, чтобы клиент не висел в пустой очереди, а сразу уходил дальше (по моей предыдущей теме - в голосовой ящик).
Есть идея перед попаданием в очередь запрашивать число активных агентов и если их 0 - идти дальше.
НО! Если во время нахождения в очереди агент меняет статус на Logged Out, то клиент так же продолжает болтаться в пустой очереди.
Примеров в интернете не нашел. Такое впечатление, что проблема есть только у меня.
P.S. В догонку. Почему callcenter.conf.xml удается прописать только в autoload_configs/callcenter.conf.xml, в отдельном конфиге FreeSWITCH просто игнорирует описание очередей...