CallControlAPI Class

Extension methods for CallControlAPI

Definition

Namespace: TCX.PBXAPI
Assembly: 3cxpscomcpp2 (in 3cxpscomcpp2.dll) Version: 20.0.1
C#
public static class CallControlAPI
Inheritance
Object    CallControlAPI

Methods

AnswerAsync request to answer of the call if device supports direct contol. Currently supported only by uacsta devices.
AttachConnectionDataAsync Attaches data to ActiveConnection the participant connection.
Attaches only subset of the keys which are started with "public_"
BargeInCallbackAsync(ActiveConnection, DN, PBXConnectionBargeInMode) barge-in to the call of the specifid participant form the Extension
BargeInCallbackAsync(ActiveConnection, RegistrarRecord, PBXConnectionBargeInMode) Barge in to the participant from the specific Extension device
BargeInCallbackAsync(DN, ActiveConnection, PBXConnectionBargeInMode) Call barge-in from the specific Extension. All devices of the Extension will be called.
BargeInCallbackAsync(RegistrarRecord, ActiveConnection, PBXConnectionBargeInMode) Call barge-in from the specific Extension device. Only specific device of the extension will receive barge-in callback.
CancelRouteAsync Caller may cancel the routing request. all ringing legs will be terminated and Parent connection will left alive
ChangeRecordingStateAsync changing recording state on behalf of participant
DivertAsync(ActiveConnection, Destination, CallControlAPIDivertReason) Diverts call to the specified destination
DivertAsync(ActiveConnection, String, Boolean, CallControlAPIDivertReason) divert to number with voicemail flag. This is for backward compatibility.
DropAsync the request to terminate connection.
MakeCallAsync(DN, String) 
MakeCallAsync(RegistrarRecord, String) initiates call from the specific device.
CallManager implements this request using uacsta request normal call flow or using emulation where the source of the call will be "called by callmanager". In either case the call is observed as normal call initiated by the device.
MakeCallAsync(String, String) This is legacy method of call initiation which is implemented using MakeCall helper system extention. in V20, call can be initiated only from local source (system extension or user extension) Calling "from" external numbers are not supported.
PickupCallbackAsync(DN, ActiveConnection) Redirects replaces ringing replace_connection with the callback to the sendto device
PickupCallbackAsync(RegistrarRecord, ActiveConnection) Redirects ringing replace_connection with the callback to the sendto device
Push SBC API.
RefreshRegistrationAsync Registration based Voipprovider trunk could be requested to refresh regustration
ReplaceWithAsync(ActiveConnection, String, DN, CallControlAPIDivertReason) Blind transfer with route to number. Does not allow to bypass forwarding/routing rules.
ReplaceWithAsync(ActiveConnection, DestinationStruct, DN, CallControlAPIDivertReason) BlindTransfer to specific destination. It is most flexible version which allows to choose any type of destination. Allows to bypass routing rules.
ReplaceWithAsync(ActiveConnection, RegistrarRecord, DN, CallControlAPIDivertReason) BlindTransfer to the specific device. Ignores all forwarding rules and tries to deliver call to specific device.
ReplaceWithInitOnlyAsync(ActiveConnection, String, DN, CallControlAPIDivertReason) Special version when the caller needs to initiate transfer without waiting for result
ReplaceWithInitOnlyAsync(ActiveConnection, DestinationStruct, DN, CallControlAPIDivertReason) Overload of ReplaceWithInitOnlyAsync(ActiveConnection, String, DN, CallControlAPIDivertReason) for DestinationStruct
ReplaceWithInitOnlyAsync(ActiveConnection, RegistrarRecord, DN, CallControlAPIDivertReason) Init only request of ReplaceWithAsync(ActiveConnection, RegistrarRecord, DN, CallControlAPIDivertReason)
ReplaceWithPartyOfAsync Final step of Attended transfer procedure.
RouteToAsync(ActiveConnection, RouteRequest) the request to route call to specific endpoint. the connection is assumed as Parent. Routing request could create many "ringing" destinations, but only one may answer The answering connection is replacing the parent connection. If all destination have failed, task is completed with failed state and Parent connection left alive.
RouteToAsync(ActiveConnection, String, Int32, CallControlAPIDivertReason) Simplified vertion which receives Destination
RouteToAsync(ActiveConnection, Destination, Int32, CallControlAPIDivertReason) Simplified vertion which receives DestinationStruct and Timeout
RouteToDestinationString Generates Destination string for RouteToAsync
ServiceCallAsync(DN, RPCParameters)ServiceCallAsync(RegistrarRecord, RPCParameters)
ServiceCallAsync(RegistrarRecord, RPCParameters) Call to System Extension API
Some system extensions may expose own API which allow to control specific aspects of the calls.
For example:
RoutePoint extension esposes media control API.
Conference server exposes conference control API
ServiceCallAsync(String, RPCParameters)ServiceCallAsync(RegistrarRecord, RPCParameters)

See Also