3CXCallControlAPI_v16
3CXCallControlAPI_v16 copied to clipboard
3CXCallControlAPI_v16
3CXObjectModel.3.0.0.0_v16.chm - help file for Configuration and Call Control API V16 OMSamples - project for .NET core 2.1 If you cannot open the chm, right click > properties > and press Unblock button.
#####################
Prerequisites:
- Stanalone host.
- User should have administrative rights.
- .NET core 2.1 environment
- Test installaion of 3CX Phone System version 16 alpha(orLater) WARNING: DO NOT RUN SAMPLES ON PRODUCTION (LIVE) enviroment
- Copy 3CXPhoneSystem.ini from C:\Program Files\3CX Phone System\Bin to the same folder where Visual Studio will output the binary files.
- Reference to 3cxpscomcpp2.dll should be adjuested according to the location of PBX binaries
Usage: dotnet OMSamplesCore.dll [/?]|[SampleName arg1 arg2 ...] List of samples:
SampleName: connection Implemented in OMSamples.Samples.ActiveConnections WARNING: Parameters: arg1 - dnregs |answer|ondn |all|drop |pickup |divertvm|divert |bargein |listen |whisper|record |transfer|join |makecall|callservice |attacheddata arg2 - numstartswith or [all]|achash|dnnum| |achash|achash |achash |achash |achash |achash |achash |achash |achash |achash |reghash |servicename |achach arg3 - additional-keys | | | | |destnum| |destnum|reghash |reghash|reghash|RecordingAction|destnum |achash2|destnum |list of key=value|empty or [list of key=value]
Description: shows how to work with ActiveConnection objects
SampleName: add_phone_model Implemented in OMSamples.Samples.AddPhoneModelSample Description: Creates PhoneModel object which describes capability for specific user agent
SampleName: playlists Implemented in OMSamples.Samples.PlayListsSample Parameters: arg1 - list|create|delete|update. no parameters - checks all audio streams arg2...argN - [name=AudioFeed.Name] [source=AudioFeed.Source] [autogain|no-audiogain] [shuffle|sorted] [volume=0..100] [no-stopempty|stopempty]
Description: prints, updates, creates, deletes playlists definitions. name source is the selector in update|delete. create - source is autogenerated if not specified. autogain set to false shuffle=false
SampleName: blacklist_monitor Implemented in OMSamples.Samples.BlackListMonitor Description: Sample of IP Black List manager
SampleName: calls Implemented in OMSamples.Samples.CallStateMonitor WARNING: Parameters: arg1 - show | monitor arg2 - callid or 'all' | new or all or callid
Description: Shows how to use CallMonitor
SampleName: change_parkcodes Implemented in OMSamples.Samples.ChangeParkCodesSample WARNING: This sample changes global settings of PBX. Parameters: arg1 - dial code to park call from the Parking Orbit arg2 - dial code to unpark call from the Parking Orbit
Description: Shows how to change dial codes of Parking Orbit
SampleName: change_vmbox_info Implemented in OMSamples.Samples.ChangeVMBoxInfoSample Parameters: arg1 - extension number
Description: Sets voicemail box information for the specified extension. Number of messages is hardcoded and set to 1 new message and 2 messages in total.
SampleName: conference Implemented in OMSamples.Samples.Conferences WARNING: Parameters: arg1 - active|startadhoc|scheduled|joinaudio |removeschedule|dropall | destroy |add | hold |resume |mute |unmute |drop |resetbridge arg2 - [id] |pin |[id] |schedule_id |schedule_id |active_id|active_id|active_id |active_id|active_id|active_id|active_id|active_id| arg3 - |number | | | | | |call_to_number|member_id|member_id|member_id|member_id|member_id|
Description: Commands:
active - list of active audio conferences (including joined)
startadhoc - (not supported) starts adhoc conference. number - add number initial member. pin - if specified as * - private conference of will call the in addition to the specified number scheduled - all scheduled meetings
joinaudio - (not supported) replaces video only schedule with joined conference where viseo and audio conferences can communicate to each other.
removeschedule - deleted schedule of conference. Active conference will continue as ad-hoc audio conference.
dropall - drop all calls in active audio conference. Scheduled conference will be left available until end of schedule. ad-hoc will be terminated
destroy - terminate all calls, delete schedule (if defined). Active conference will become inavailable
add - adds call to specified number to the active conference
hold - put member call on hold
resume - resume member's call
mute - mute incoming stream from member
unmute - remove mute from incoming stream of member
drop - disconenct member of audio conference
resetbridge - reset parameters of the web meeting bridge
SampleName: create_delete_stat Implemented in OMSamples.Samples.CreateDeleteStatSample Description: This sample shows how to delete and create Statistics object. Statistics 'MYSTAT' should be initialized before runing this sample. (use update_stat sample)
SampleName: create_prompt_set Implemented in OMSamples.Samples.CreatePromptSetSample Description: Synthetic sample. It shows how to configure PromptSet object.
SampleName: create_shared_parking Implemented in OMSamples.Samples.CreateSharedParkingSample Parameters: arg1 - name of shared parking place
Description: This sample adds Shared parking place. The name MUST start with 'SP'.
SampleName: parameter Implemented in OMSamples.Samples.CustomParameters Parameters: arg1 - show | set | delete | arg2 - [partialname] | name | name | arg3 - | value | |
Description: Updates or sets parameter value
SampleName: display Implemented in OMSamples.Samples.DisplayAllSample Description: Shows information about all Parameters, Codecs, predefined conditions of the rules, IVRs and Extensions.
SampleName: dn_monitor Implemented in OMSamples.Samples.DNmonitorSample Description: Shows how to listen for DN updates
SampleName: extension Implemented in OMSamples.Samples.ExtensionSample Parameters: arg1 - show | create | delete | update |lookupemail arg2 - [extnumber]| extnumber| extnumber | extnumber |email arg3 - | list_of_parameters | list_of_parameters|
Description: Working with Extension. Partial configuration
list_of_parameters is sequence of space separated strings (taken in quotes if required):
FIRST_NAME= - first name
LAST_NAME= - last name
EMAIL= - email
MOBILE= - mobile number
OUTBOUND_CALLER_ID= - mobile number
profile.<AvailableProfileNAME>=AV(NA:<DestinationType>.[].[],[+|-]NAI:<DestinationType>.[].[],BUSY:<DestinationType>.[].[],[+|-]BUSYI:<DestinationType>.[].[])
profile.<AwayProfileNameNAME>=AW(IALL:<DestinationType>.[].[],[+|-]IOOO:<DestinationType>.[].[],EALL:<DestinationType>.[].[],[+|-]EOOO:<DestinationType>.[].[])
CURRENT_STATUS= - name of the current profile
prop.<NAME>= - set DN property with name <NAME> to the
OVERRIDE_STATUS=,
BINDTOMS=true|false
REINVITES=true|false
REPLACES=true|false
RECORDCALLS=true|false
SRTP=true|false
Extension.<extension_simple_property>=
AGENTLOGIN= AGENTLOGOUT=
SampleName: ext_line_rule_update Implemented in OMSamples.Samples.ExternalLineRuleUpdateSample WARNING: This sample will modify destination of existing rules. Line should be recreated after this test Parameters: arg1 - Virtual extension number of the line
Description: This sample shows how to change destination of ExternalLineRule
SampleName: fax
Implemented in OMSamples.Samples.FaxExtensionSample
Parameters:
arg1 - show |create | update |delete
arg2 - [dnnumber]|dnnumber | dnnumber |dnnumber
arg3 - |parameters| parameters|
arg4...argN - parameters:
AUTHID=<alfanumeric_string> -
AUTHPASS=<alfanumeric_string> - alfanumeric string
OUTBOUND_CALLER_ID=
Description: Shows how to work with FaxExtension object
SampleName: invoke Implemented in OMSamples.Samples.InvokeSample Parameters: arg1 - command which should be invoked arg2, arg3 and so on - additional parameters for Invoke method - each additional parameter should be set as parameter_name=parameter_value
Description: Shows how to use PhoneSystem.Invoke() method
SampleName: ivr
Implemented in OMSamples.Samples.IVRSample
Parameters:
arg1 - show | create | delete | update
arg2 - [ivr number]| ivrnumber | ivrnumber | ivrnumber
arg3 - | list_of_parameters| | list_of_parameters
Description: Working with IVR.
list_of_parameters is sequence of space separated strings (taken in quotes if required):
PROMPT=filename|EXT - file which is placed in directory specified by IVRPROMPTPATH parameter or extnumber where from to record new fine with random name
O=<IVRForwardType>.[] - assign specific type of destination to option . <IVRForward> is from enum IVRForwardType - local number must be proper for specific number
TO= - number of seconds
TODEST=<IVRForwardType>.[] - timeout action - same as for options
NAME= - name of ivr prop.<NAME>= - set DN property with naem <NAME> to the
SampleName: notifications Implemented in OMSamples.Samples.NotificationsMonitorSample Parameters: arg1 - Object type name
Description: Shows update notifications of specified data class. All notifications will be shown if arg1 is not specified
SampleName: omlookup Implemented in OMSamples.Samples.OMLookup Description: Shows how to use OMLookup to make own lookup collection of objects. sample is for Extension.EmailAddress
SampleName: outboundrule Implemented in OMSamples.Samples.OutboundRuleSample Parameters: arg1 - show | create | update | delete | gateways arg2 - [name] | parameters | id | id | arg3 - | | parameters|
Description: Working with OurboundRule.
list_of_parameters is sequence of space separated strings (taken in quotes if required):
NAME=
SampleName: park_orbit_monitor Implemented in OMSamples.Samples.ParkOrbitMonitorSample Description: Monitors activity on Parking Orbit
SampleName: phonebook
Implemented in OMSamples.Samples.PhoneBookSample
Parameters:
arg1 - show |lookup | create | update | delete
arg2 - 'all'|'company'|dnnumber |'company'|dnnumber]| ['company'|dnnumber]| ID | ID
arg3...agrN - |lookup_parameters | content_parameters | content_parameters|
Description: Working with PhoneBook
Where:
lookup_parameters:
content_parameters: [PhoneBookEntry property name]= - contact first name
SampleName: queue
Implemented in OMSamples.Samples.QueueSample
Parameters:
arg1 - show | create | update | delete
arg2 - [qnumber]| qnumber | qnumber | qnumber
arg3 - | parameters | parameters|
Description: Working with Queues.
parameters is sequence of space separated strings (taken in quotes if required):
NAME= - name of the queue
PSTRATEGY=<Queue.PollingStrategyType> - polling strategy as named in Queue.PollingStrategyType
POLLINGTIME= - ringing time for polling callss
INTRO=filename - intro prompt of the queue - the file which is loacted in the directory specified by IVRPROMPTPATH parameter.
MOH=filename - Music On Hold for calls which are waiting in the queue
AGENTS=[,] - list of queue agents
MANAGERS=[,] - list of queue managers
MAXWAIT= - maximal time of waiting in the queue.
NOANSWERDEST=<DestinationType>.[].[] - timeout action - same as for options
LOGIN=[,] - Agents to login into the queue
LOGOUT=[,] - Agents to logout from the queue
prop.<NAME>= - set DN property with naem <NAME> to the
SampleName: qlogin Implemented in OMSamples.Samples.QueueLogin WARNING: changes login status of the agent in queues Parameters: arg1 - login_all|logout_all|login_current|logout_current|login_only_to|logout_only_from|show_status arg2 - agent_extension_number arg3...argN - specified list of the queues where action specified by arg1 should be applied
Description: shows how to change status of the agent in the queue.
SampleName: refresh_line_registration Implemented in OMSamples.Samples.RefreshLineRegistrationSample Parameters: arg1 - Virtual extension number of External Line
Description: Shows how to refresh registration on VoIP provider Line
SampleName: resetconnection Implemented in OMSamples.Samples.ResetConnection no description
SampleName: ringgroup
Implemented in OMSamples.Samples.RingGroupSampel
Parameters:
arg1 - show | create | update | delete
arg2 - [rgnumber]| rgrnumber | rgnumber | rgnumber
arg3 - | parameters | parameters|
Description: Working with RingGroup.
list_of_parameters is sequence of space separated strings (taken in quotes if required):
NAME=
NOTE: RingGroup with Paging strategy can be configured to use multicast transport instead of making calls to each of members.
To set/reset usage of multicast, set/reset following DN properties of the Paging ringgroup:
MULTICASTADDR=<muilticatIP>
MULTICASTPORT=<multocastport>
MULTICASTCODEC=<multicastcodec>
MULTICASTPTIME=<codecptime>
SampleName: serialization
Implemented in OMSamples.Samples.Serialization
WARNING: Deserialization modifies configuration (adds or modify objects)
Parameters:
arg1 - serialize | deserialize
arg2 - xmlfile | xmlfile
arg3 -
Description: Shows how to use serialization subsystem of Object model
SampleName: musiconhold Implemented in OMSamples.Samples.MusicOnHold WARNING: modifies configuration. Parameters: arg1...argN - music on hold source in form ENTITY=source where ENTITY is PARAMETER name where source is stored (see array of names in code) or DN.Number of the queue. if no parametest provided - shows full list of configured objects and checks validity of the source
Description: shows how to change music on hold settings
SampleName: officehours Implemented in OMSamples.Samples.SetOfficeHoursSample WARNING: This sample can modify office hours/breaktime of objects. Parameters: arg1 - show | setofficetime | setbreaktime |setholiday |removeholiday arg2 - [holidays|office|dn] | "office" or dnnumber| "office" or dnnumber|nameofholiday |nameofholiday arg3 - [dnnumber or name of holiday]| RuleHoursType | RuleHoursType |yyyy-MM-dd=[hh:mm]]| arg4...agrN - | [list_of_ranges] |[list_of_ranges] |yyyy-MM-dd=[hh:mm]]|
Description: Shows how to work with Schedule object and holidays. list_of_ranges is sequence of the strings. Modifications are applied only for specified days. to clear schedule of specific DayOfWeek set it empty{} DayOfWeek=[start-end][,start-end]...
SampleName: statmonitor Implemented in OMSamples.Samples.StatisticsMonitorSample Parameters: arg1..agrN - Statistics