Hi,
I’ve configure mod_callcenter on Ubuntu 12.0.4. I’ve
5 extensions working on 6 soft phones – 1000 to 1005. 1000 is used to
call the IVR number, rest 5 are agents.
The dial plan looks like –
<extension name="ivr_nitin">
<condition
field="destination_number" expression="^5002$">
<action
application="answer"/>
<action
application="sleep" data="500"/>
<action
application="ivr" data="nitin_ivr"/>
</condition>
</extension>
<!-- For Call Center -->
<!-- Newgen Support -->
<extension>
<condition field="destination_number"
expression="^(450)$">
<action application="set" data="caller_id_name=Newgen
Support" />
<action application="set" data="call_timeout=60" />
<action application="set" data="originate_timeout=60"
/>
<action application="callcenter"
data="support@default"/>
</condition>
</extension>
<!-- Newgen Sales -->
<extension>
<condition field="destination_number" expression="^(451)$">
<action application="set" data="caller_id_name=Newgen
Sales" />
<action application="set" data="call_timeout=60" />
<action application="set" data="originate_timeout=60"
/>
<action application="callcenter"
data="sales@default"/>
</condition>
</extension>
<!-- Newgen Human Resources -->
<extension>
<condition field="destination_number"
expression="^(452)$">
<action application="set" data="caller_id_name=Newgen Human
Resources" />
<action application="set" data="call_timeout=60" />
<action application="set" data="originate_timeout=60"
/>
<action application="callcenter" data="hr@default"/>
</condition>
</extension>
IVR.xml –
<include>
<menu
name="nitin_ivr"
greet-long="say:Welcome to Newgen Software Technologies Limited. Press 1
for support, 2 for sales or 3 for human resource"
greet-short="say:Welcome to Newgen. Press 1 for support, 2 for sales or 3
for human resources"
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
exit-sound="voicemail/vm-goodbye.wav"
confirm-macro=""
confirm-key=""
tts-engine="flite"
tts-voice="slt"
confirm-attempts="3"
timeout="3000"
inter-digit-timeout="2000"
max-failures="3"
max-timeouts="3"
digit-len="4">
<entry action="menu-exec-app" digits="1"
param="transfer 450 XML default"/> <!--
Support -->
<entry action="menu-exec-app" digits="2"
param="transfer 451 XML default"/> <!-- Sales
-->
<entry
action="menu-exec-app" digits="3" param="transfer 452
XML default"/> <!-- Human Resources -->
</menu>
</include>
And callcenter.conf.xml –
<configuration name="callcenter.conf"
description="CallCenter">
<settings>
<!--<param
name="odbc-dsn" value="dsn:user:pass"/>-->
<!--<param name="dbname"
value="/dev/shm/callcenter.db"/>-->
</settings>
<queues>
<queue
name="sales@default">
<param
name="strategy" value="agent-with-least-talk-time"/>
<param
name="moh-sound" value="$${hold_music}"/>
<!--<param
name="record-template"
value="$${base_dir}/recordings/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>
<queue
name="support@default">
<param
name="strategy" value="agent-with-least-talk-time"/>
<param
name="moh-sound" value="$${hold_music}"/>
<!--<param
name="record-template"
value="$${base_dir}/recordings/support/${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="60"/>
<param
name="abandoned-resume-allowed" value="false"/>
<param
name="max-wait-time" value="0"/>
<param
name="max-wait-time-with-no-agent" value="120"/>
</queue>
<queue
name="hr@default">
<param
name="strategy" value="agent-with-least-talk-time"/>
<param
name="moh-sound" value="$${hold_music}"/>
<!--<param
name="record-template"
value="$${base_dir}/recordings/support/${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="60"/>
<param
name="abandoned-resume-allowed" value="false"/>
<param
name="max-wait-time" value="0"/>
<param
name="max-wait-time-with-no-agent" value="120"/>
</queue>
</queues>
<!-- WARNING: Configuration of XML Agents will be updated
into the DB upon restart. -->
<!-- WARNING: Configuration of XML Tiers will reset the
level and position if those were supplied. -->
<!-- WARNING: Agents and Tiers XML config shouldn't be
used in a multi FS shared DB setup (Not currently supported anyway) -->
<agents>
<agent name="1001"
type="callback" contact="[call_timeout=10]user/1001"
status="Available" max-no-answer="3"
wrap-up-time="10" reject-delay-time="10"
busy-delay-time="60" />
<agent name="1002"
type="callback" contact="[call_timeout=10]user/1002"
status="Available" max-no-answer="3"
wrap-up-time="10" reject-delay-time="10" busy-delay-time="60"
/>
<agent name="1003"
type="callback" contact="[call_timeout=10]user/1003"
status="Available" max-no-answer="3"
wrap-up-time="10" reject-delay-time="10" busy-delay-time="60"
/>
<agent name="1004"
type="callback" contact="[call_timeout=10]user/1004"
status="Available" max-no-answer="3"
wrap-up-time="10" reject-delay-time="10"
busy-delay-time="60" />
<agent name="1005"
type="callback" contact="[call_timeout=10]user/1005"
status="Available" max-no-answer="3"
wrap-up-time="10" reject-delay-time="10"
busy-delay-time="60" />
</agents>
<tiers>
<!-- If no level or position is
provided, they will default to 1. You should do this to keep db value on
restart. -->
<!--
agent 1001 is in all three queues -->
<tier
agent="1001" queue="sales@default" level="1"
position="1"/>
<tier
agent="1001" queue="support@default" level="1"
position="1"/>
<tier
agent="1001" queue="hr@default" level="1"
position="1"/>
<tier
agent="1002" queue="sales@default" level="1"
position="1"/>
<tier
agent="1003" queue="support@default" level="1"
position="1"/>
<tier
agent="1004" queue="sales@default" level="1"
position="1"/>
<tier
agent="1004" queue="support@default" level="1"
position="1"/>
<tier
agent="1005" queue="hr@default" level="1"
position="1"/>
</tiers>
</configuration>
When I call from extension 1000 and press 2 for sales, call
is routed back to extension 1000, which is not even in agents’ list. Why
is it happening?
Regards
Nitin