Interconnected Call Center

Interconnected Call Center uses agents and edge visualization to model the relationship between a network of call centers. Calls made to each center are routed to an internal operator or added to a call queue if none are available. Once the queue becomes full, the call center attempts to route the call to another center through links (edges). If another center is able to take the call and there is a link present (with a capacity greater than 0), the call is transferred. Otherwise, the call is discarded, or balked.


Hash allows you to visualize these connections with edge agents. To set up these links, all you need is the positions of the two agents you wish to connect and code similar to the following:

   const pos_a = agents["call_centers"][i].position;
   const pos_b = agents["call_centers"][j].position;

   const dx = pos_a[0] - pos_b[0]
   const dy = pos_a[1] - pos_b[1]
   const dx2 = dx ** 2
   const dy2 = dy ** 2

   const norm = (dx2 + dy2) ** 0.5
   const mid_x = (pos_a[0] + pos_b[0]) / 2
   const mid_y = (pos_a[1] + pos_b[1]) / 2

   link = {
  scale: [0.2, norm, 0.2],
     position: [mid_x, mid_y],
     direction: [2*dx, 2*dy],

This will place and stretch the link between the two selected agents to represent their connection and will allow you to store and access data on the edge.

Edge color is another big part of the Interconnected Call Center model. It shows when a link is in use and the current capacity of its call queue. Idle links are shown to be blue, but as call centers begin to route their calls through them, the links slowly transition to fuchsia.

Click here to read more about Networks and Edge Visualization in HASH.