CO_CALL_PARAMETERS structure
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
The CO_CALL_PARAMETERS structure contains call parameters used by connection-oriented clients, call managers, MCM drivers, and connection-oriented miniport drivers. The call parameters are used to set up an outgoing call, request quality of service (QoS) for an outgoing call, indicate the QoS for an incoming call, activate a VC for an outgoing or incoming call, negotiate a change of call parameters for a VC, or to add a new party to a multipoint call.
Syntax
typedef struct _CO_CALL_PARAMETERS {
ULONG Flags;
PCO_CALL_MANAGER_PARAMETERS CallMgrParameters;
PCO_MEDIA_PARAMETERS MediaParameters;
} CO_CALL_PARAMETERS, *PCO_CALL_PARAMETERS;
Members
Flags
The flags can be one or more (ORed) of the following:PERMANENT_VC
When making an outgoing call, a client sets this flag before calling NdisClMakeCall to indicate to the call manager that it must make the call on a permanent virtual circuit (PVC). If the client does not specify media parameters, the call manager searches its list of configured PVCs for a PVC that is configured with a SAP that matches the destination SAP of the outgoing call. If the client does specify media parameters, the call manager does not search its list of configured PVCs; instead, it uses the PVC specified by the client in the media parameters. If the call manager finds a PVC that meets the requirements of the call, it uses this PVC and returns the PERMANENT_VC flag set in a call to NdisCmMakeCallComplete or NdisMCmMakeCallComplete. If the call manager is unable to find a suitable PVC, it fails the call attempt with NDIS_STATUS_FAILURE.Note that if the client does not set the PERMANENT_VC flag and does not specify media parameters, the call manager always searches its list of configured PVCs for one that is configured with a SAP that matches the destination SAP of the outgoing call. If it cannot find such a PVC, the call manager attempts to establish a switched virtual circuit (SVC) for the outgoing call.
On an incoming call, the call manager sets this flag if the VC handle that it passes to the client in the call to NdisCmDispatchIncomingCall or NdisMCmDispatchIncomingCall represents a PVC. This indicates that the call manager found a PVC that matches a SAP registered by the client.
CALL_PARAMETERS_CHANGED
Before calling NdisMCmMakeCallComplete, the call manager sets this flag if any value within CO_CALL_PARAMETERS has been changed during the call-setup process as a result of negotiation with the network or a signaling peer. (Whether and when such negotiation occurs during call setup depends on the signaling protocol.) The client must then inspect CO_CALL_PARAMETERS and its substructures to determine which parameters have changed. Depending on the signaling protocol, the client can accept the new call parameters, tear down the call by calling NdisClCloseCall, or attempt to renegotiate the call parameters by calling NdisClModifyCallQoS.QUERY_CALL_PARAMETERS
This flag is reserved.BROADCAST_VC
This flag is reserved.MULTIPOINT_VC
When making an outgoing call, the client can set this flag before calling NdisClMakeCall to indicate that the client is the root of a multipoint connection.On an incoming call, the call manager can set this flag before calling NdisMCmDispatchIncomingCall to indicate that the client is a leaf of a multipoint connection.
CallMgrParameters
Pointer to a buffered CO_CALL_MANAGER_PARAMETERS structure that specifies the call manager parameters. For a detailed description of this structure, see CO_CALL_MANAGER_PARAMETERS.MediaParameters
Pointer to a buffered CO_MEDIA_PARAMETERS structure that specifies the media parameters. For a detailed description of this structure, see CO_MEDIA_PARAMETERS.
Remarks
CO_CALL_PARAMETERS contains call parameters used by connection-oriented clients, call managers or MCM drivers, and connection-oriented miniport drivers. The call parameters are used to set up outgoing calls, to indicate incoming calls, to activate a VC for an outgoing or incoming call, to request a change of call parameters for a VC, and to add a party to a multipoint call.
The flags in CO_CALL_PARAMETERS are of interest to clients and call managers. A client can set flags in CO_CALL_PARAMETERS before calling NdisClMakeCall. Except for CALL_PARAMETERS_CHANGED (which the call manager can set before calling NdisCmMakeCallComplete or NdisMCmMakeCallComplete to indicate a change in call parameters by a remote entity on the network), the call manager can set flags in CO_CALL_PARAMETERS before calling NdisCmDispatchIncomingCall or NdisMCmDispatchIncomingCall.
The call manager parameters pointed to by CO_CALL_PARAMETERS are of interest primarily to clients and call managers. These parameters are contained in a structure of type CO_CALL_MANAGER_PARAMETERS, which can specify generic parameters that apply to all call managers, as well as specific parameters that apply to a specific signaling protocol and possibly to a particular call manager that supports the protocol. CO_CALL_MANAGER_PARAMETERS specifies call parameters that a call manager uses to set up an outgoing call and that a client uses to determine whether to accept an incoming call. In addition, a client uses CO_CALL_MANAGER_PARAMETERS to request a change of call parameters for a VC, and a call manager uses CO_CALL_MANAGER_PARAMETERS to indicate an incoming request to change the call parameters for a VC. Also, when adding a party to multipoint call, the client uses CO_CALL_MANAGER_PARAMETERS to specify the address of the new party.
The media parameters in CO_CALL_PARAMETERS are of interest primarily to miniport drivers. The media parameters are contained in a structure of type CO_MEDIA_PARAMETERS, which can contain generic parameters that apply to all miniport drivers, as well as specific parameters that apply to a specific medium and possibly to a particular miniport driver that controls the medium. Typically, a call manager uses CO_MEDIA_PARAMETERS to specify media parameters to the miniport driver. The miniport driver either reserves resources for the VC or activates the VC with the specified media parameters.
Requirements
Header |
Ndis.h (include Ndis.h) |
See also
NdisCmDispatchIncomingCallQoSChange
NdisMCmAddPartyComplete
NdisMCmDispatchIncomingCall
NdisMCmDispatchIncomingCallQosChange
NdisMCmMakeCallComplete
NdisMCmModifyCallQoSComplete
ProtocolClIncomingCallQoSChange
ProtocolClModifyCallQoSComplete
ProtocolCmIncomingCallComplete