how to create a label in ICM that points to CEM skill group?
the idea of this label was taken from "ICM Scripting Guide" CEM script samples. but no more documents about such lable exists!
That's not how you do it.
What you must do is create a skill group from within CEM, which is pushed up into ICM config by the link to CEM. The skill group will be marked with a "don't enter" symbol, since it is not editable in ICM Config and is owned by CEM. This skill group will hang off the cem media resource domain, not off Cisco_Voice.
In CEM you write a rule to drop the email into the correct skill group.
CEM is being replaced by EIM (the eGain product) so we don't quite know how it will work from that interface, but I bet it will be very similar.
It is not possible to assign ICM enabled agents into CEM non-ICM skill group. Neither it's possible to associate CEM Distribution Rule with ICM-based skill group.
So i have to create routing script, call type and special dialednumber on ICM.
The routing script is simple: just queue an email request to skillgroup. It works fine while there are agents available. But in case of empty skill group i've to wait for sometime till agent become ready. But i cant' wait forever) The sample script from scripting guide uses some special LABEL (that was mentioned in the original message) to route email to the specific skill-group queue on CEM so an agent can retreive it later.
But there is no information about how to create such a label(
Just check off these items to ensure you have done all these steps. You should have made an ICM-based skill group from CEM and have added an ICM-based pushagent to the SG.
1. Log into the Cisco Email Manager Administration tool located on http://
2. Click Agent Management in the navigation menu.
3. Click Manage Skill Groups.
4. Scroll to bottom of page, select Peripheral associated with CEM. from the drop down menu.
5. Type in
6. Type in
7. Select ICM Routing and click Create Skill Group. (very important that the SG is an "ICM Routing" SG)
8. Click OK.
9. Create an agent (a "pushagent" type)
10. Add this agent to the Skill Group.
11. Create a call type for Email on the Email MRD (say CEM_ct)
12. Now create the dialed number for CEM.
13. Open the Dialed Number List tool.
14. Select Routing Client. (The MR PG routing client)
15. Select ICM Instance from Customer drop down box, click Retrieve.
16. Click Add to add a dialed number.
17. Enter the Dialed Number String in the form of ApplicationInstance.Skillgroup, i.e.
18. Associate this dialed number with CEM_ct
19. Make a routing script and associate it with the CEM call type.
20. Add a Queue Node and a Wait Node and an End Node.
21. Double click on Queue Node. Click inside cell 1 under the Skill Group column to display a drop down list. Select
22. Click inside cell 1 under the Route column to display the route. (this should be filled in once you click in the cell).
23. Set the WAIT node to something long (like 1000 secs)
24. Now make a RULE in CEM that will drop the email into the ICM-related
25. Now watch the email rules engine window when you send in an email. It should catch the incoming mail and say that it's assigning the email to
26. Look at the routing script in monitor mode - the email should be queued.
27. Log in your agent to the Email UI and enter push mode
28. You should get the email.
My question is not about how to setup email routing. I've already done it and it works fine.
According to you comments the question can be modified: what will happen when "End" node of the script executes?
I want to put all messages into special skill-group queue on CEM (not in externalRoutingError).
The issue here is as following:
According to Geoff, whenever a push agent becomes available, ICM will route the request to that Push agent. But, S-Shishko's problem is that ICM can't wait forever for an agent to be available. By default, ICM can keep the call in queue for 3600 seconds only. And if it is not able to find any target withing 3600 secs it will either use the default label or end the call.
You can increase that timer in ICM registry to wait till 28800 secs ( 8 hours max) but that is limited to single script. For ex. if you call center is closed for 12 hours a day, you need to create two identical sctipts and use GO TO SCRIPT node in first script after wait node. Set the wait node to 28800 hours, so after waiting for 8 hours in first script, the e-mail will get queuee to second script for another 8 hours which will eventually route the e-mail to same Skill Group.
The maximum duration of 28800 seconds is not documented anywhere, but that's fact.
Now, the problem is that what if your call center is closed for weekend, say 48 hours. You can think of extending the loop to 6 scripts ( each holding the e-mail for 8 hours) but that doesn't happen. I've set it up, but finding the e-mails are getting queued for only 16hours. i.e. only first two scripts are holding the e-mail. When 2nd script sends the e-mail to 3rd script, it still ends up in externalrouting error queue.
I even tried changing the schedule of script to ON/OFF hours. But whenever an e-mail comes in OFF hours, it goes to externalrouting error queue in a second.
Checking Administrative script can hold it??
And about using the default label to send the e-mal to CEM SG, you need separate CEM agent who will login and pick the e-mails from there.
During precice examination of the screenshots of sample email scripts i found the correct label format.
So the routing script is simple: try queue for an agents for three minutes then execute Lable step. which in turn returns message into CEM queuing module. which in turn send route request that calls the script again. And so on. No more externalRoutingError until it actually occurs )))