|struct cc_monitor_tree *||interface_tree|
Identifier for the potential CC request that may be made based on this call. Even though an instance of the core may not be made (since the caller may not request CC), we allocate a new core_id at the beginning of the call so that recipient channel drivers can have the information handy just in case the caller does end up requesting CC.
|unsigned int dial_parent_id|
This value serves a dual-purpose. When dial starts, if the dialed_cc_interfaces datastore currently exists on the calling channel, then the dial_parent_id will serve as a means of letting the new extension cc_monitor we create know who his parent is. This value will be the extension cc_monitor that dialed the local channel that resulted in the new Dial app being called.
In addition, once an extension cc_monitor is created, the dial_parent_id will be changed to the id of that newly created interface. This way, device interfaces created from receiving AST_CONTROL_CC frames can use this field to determine who their parent extension interface should be.
When a new Dial application is started, and the datastore already exists on the channel, we can determine if we should be adding any new interface information to tree.
When it comes time to offer CC to the caller, we only want to offer it to the original incoming channel. For nested Dials and outbound channels, it is incorrect to attempt such a thing. This flag indicates if the channel to which this datastore is attached may be legally offered CC when the call is finished.