For general concepts of queueing theory that apply to this queueing model, see About Queueing Models.
In the Erlang B queueing model, customers arrive at a queueing system having n servers but having 0 waiting positions. We assume Poisson arrivals and exponentially distributed service times. Therefore, in Kendall notation, this model is denoted M/M/n/n. Since there are no waiting positions, it is understood that if a customer finds upon arrival that no servers are available, then the customer goes away and is lost. For this reason, the model is called a loss system. These lost customers are also said to experience blockage or to be blocked.
The function B(n, x) defined by
B(n, x) = (x^{n}/n!) / (1 + x + x^{2}/2! + x^{3}/3! + ... + x^{n}/n!)
computes the probability that an arriving customer will be blocked in the Erlang B model. Mathematicians usually call this function the Erlang Loss Function, but in this help file, we will call it the Erlang B function. It is an important building block in computational queueing theory. In fact, the implementations of most functions in the Erlang Library for Excel involve computing the Erlang B function at least once, and sometimes many times. The Erlang B function itself occurs in the Erlang Library for Excel under the name ErlbBlockage.
Erlang B Definitions 
Erlang B Formulas 
n = number of servers λ = Arrival rate μ = Service rate x = Traffic intensity measured in erlangs B = Probability of blockage AHT = Average Handle Time (average duration of service) NB = Average Number of Busy servers NS = Average Number of customers in System UTIL = Utilization fraction (occupancy, average fraction of time that each server is busy) 
x = λ/μ B = B(n,x) (Erlang B function. See above) AHT = 1/μ NB = (1 − B)*x NS = NB UTIL = NB/n

In these formulas, the quantities B, AHT, etc., are theoretical averages that are approached as a limit under the assumption that the queue operates for a very long period of time without any change to the queue parameters (number of servers, arrival rate, service rate).
Analysts often use the Erlang B queueing model to describe the behavior of a group of incoming trunks in a pbx or telephone exchange. As in any application of queueing theory, there are three parts that fit together: (1) a queueing model, (2) a realworld system, and a (3) mapping of the queueing model to the realworld system (see About Queueing Models). In this example, the queueing model is Erlang B, and the realworld system is a group of trunks. The mapping of the queueing model to the realworld system looks like this:
Erlang B Entity  Trunk Group Entity 
Server  Trunk 
Customer  Caller 
Arrival rate  Calls arriving per second 
Average Handle Time  Average Trunk Hold Time for calls 
Blocked customer  Caller who gets a busy signal (all trunks busy) 
Generations of telephone engineers have succesfully used the Erlang B model to predict blockage in telephone trunk groups, despite the fact that no telephone trunk group exactly matches the assumptions of Erlang B. Perhaps the most questionable assumption is that when a caller is blocked (i.e., finds all trunks busy), the customer then goes away, never to return. If a lot of blocked customers start a cycle of recalling in order try to get through, then the assumption of Poisson arrivals will fail. (Agner Erlang himself dealt with recalling by using the Erlang C model. He imagined that recalling customers were placing themselves in a virtual waiting queue.)
Besides the study of blocking in trunk groups, there are many other applications of the Erlang B model—in telecom and in other fields as well.
About Queueing Models, Erlang C Queueing Model