# Processing ISDN call control events

An incoming ISDN event is received by the processEvent function of a DChannel object. NAI objects are selected based on NAI number. The getCall function is then called to get a Call object for the connection ID. After a Call object is obtained, the message is passed for processing by the processIsdnMessage function.

Each Call has one NAI object associated with it, and each NAI object has a DChannel object associated with it. When a Call object needs to send an ISDN message to the stack, it uses the sendIsdnMessage function of a DChannel object. This process is shown in the following illustration: