Input: Voice node list (VNlist) and call.
Output: Allocation of call in one voice node.
() Sort VNlist by utilization on decreasing order.
() assigned false
() node_index 1
() Do
()   node_voice get(VNlist, node_index)
()   Add call to node_voice
()   if utilization of node_voice <= 0.7 then
()    assigned true
()   else
()    remove call from node_voice
()    node_index node_index + 1
()   endif
() While (size of VNlist >= node_index and
()   assigned = false)
() If assigned = false then
()   Create new_node_voice
()   Add call to new_node_voice
()   Insert new_node_voice into VNlist
() Endif
Algorithm 1: Best fit (BFit).