# NMS OAM function overview

Natural Access provides synchronous and asynchronous functions.

Function type | Description
--- | ---
Synchronous | Performs an operation and sends an indication to the application in the form of a return code. The return code is either SUCCESS or an error code. When a process invokes a synchronous function, no further processing takes place until the return code is received. Most OAM service functions are synchronous functions.
Asynchronous | Sends a return code to the application. However, this return code indicates only whether the function has been successfully initiated or not. If the return value is SUCCESS, actual execution results arrive later encapsulated in events. While waiting for the events, the application can proceed with other processing.

The following table summarizes the differences between asynchronous and synchronous functions:

Characteristic | Asynchronous | Synchronous
--- | --- | ---
An operation is complete when a function returns. | No | Yes
An appropriate event returns when a function is complete. | Yes | No
A function can fail after a function returns. | Yes | No