The Meaning of SUCCESS
When an operation returns a SUCCESS indication (either synchronously upon
function return for synchronous operations, or asynchronously through a LINE_REPLY
message for asynchronous operations), the following is assumed to be true:
- The function has successfully progressed to a point that is defined by the API
on a function-by-function basis. After that point has been reached, either the
operation is completely done, or it will be in a state such that independent
state messages will inform the application about subsequent progress.
For example, a service provider's implementation of lineMakeCall
should return SUCCESS no later than when the call enters the proceeding call
state. Ideally, the provider should indicate SUCCESS as soon as possible, such
as when the call enters the dial tone call state (if applicable). Once SUCCESS
has been returned to the application, LINE_CALLSTATE messages will inform the
application about the progress of the call. Service providers that delay
returning the lineMakeCall
SUCCESS indication, say, until after dialing is complete, must be aware that
this places that provider at a disadvantage because the usability at the
application level may be severely limited. For example, it would not be possible for
a user to cancel the call setup request in progress until after dialing is
complete and all digits had been sent to the switch.
- Functions that return information (such as lineGetCallInfo) return SUCCESS only when the requested information is available to the
application. Functions that return handles (to lines or calls), can return SUCCESS
only after the handle is valid. No messages should be sent about that line or
call prior to the SUCCESS indication of the function that caused its creation.
The service provider is responsible for suppressing such messages.
- Functions that enable certain permanent conditions (such as lineMonitorDigits) return SUCCESS only after the condition is enabled, not when the condition
is removed again (for example, not when all digit monitoring has completed).
- Call-control functions (such as lineHold or lineSetupTransfer, but not lineMakeCall) return SUCCESS when the operation is completed. Some telephone networks do
not provide acknowledgment (positive or negative) about the completion of
certain requests made by service providers. In such situations, the service provider
must decide upon success or failure of the request. Therefore, SUCCESS may
indicate that the service provider has initiated actions to fulfill the request,
but not necessarily anything more. For example, the provider may receive no
affirmative acknowledgment to its request from the switch, although it has already
sent a success message to the application.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages