|Configuration parameters used by this endpoint. |
|Name of device to be monitored. |
|Recall dialstring. |
|const char *||monitor_type|
|The type of monitor to allocate. |
|ID of parent extension. |
|Private data allocated by the callee. |
|Service offered by the endpoint. |
This contains all the necessary data regarding a called device so that the CC core will be able to allocate the proper monitoring resources.
Configuration parameters used by this endpoint.
Each time an endpoint offers call completion, it must provide its call completion configuration parameters. This is because settings may be different depending on the circumstances.
Name of device to be monitored.
The device name by which this monitored endpoint will be referred in the CC core. It is highly recommended that this device name is derived by using the function ast_channel_get_device_name.
Certain channel drivers (DAHDI in particular) will require that a special dialstring be used to indicate that the outgoing call is to interpreted as a CC recall. If the channel driver has such a requirement, then this is where that special recall dialstring is placed. If no special dialstring is to be used, then the channel driver must provide the original dialstring used to call this endpoint.
|const char* monitor_type|
The type of monitor to allocate.
The type of monitor to allocate. This is a string which corresponds to a set of monitor callbacks registered. Examples include "generic" and "SIP"
ID of parent extension.
This is the only datum that the CC core derives on its own and is not provided by the offerer of CC. This provides the core with information on which extension monitor is the most immediate parent of this device.
Private data allocated by the callee.
All channel drivers that monitor endpoints will need to allocate data that is not usable by the CC core. In most cases, some or all of this data is allocated at the time that the channel driver offers CC to the caller. There are many opportunities for failures to occur between when a channel driver offers CC and when a monitor is actually allocated to watch the endpoint. For this reason, the channel driver must give the core a pointer to the private data that was allocated so that the core can call back into the channel driver to destroy it if a failure occurs. If no private data has been allocated at the time that CC is offered, then it is perfectly acceptable to pass NULL for this field.
Service offered by the endpoint.
This indicates the type of call completion service offered by the endpoint. This data is not crucial to the machinations of the CC core, but it is helpful for debugging purposes.