-
Notifications
You must be signed in to change notification settings - Fork 15
olorunfemidavis/3CXCallControlAPI_v16
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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: 1. Stanalone host. 2. User should have administrative rights. 3. .NET core 2.1 environment 4. Test installaion of 3CX Phone System version 16 alpha(orLater) WARNING: DO NOT RUN SAMPLES ON PRODUCTION (LIVE) enviroment 4. Copy 3CXPhoneSystem.ini from C:\Program Files\3CX Phone System\Bin to the same folder where Visual Studio will output the binary files. 5. 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 *<extnumber> - private conference of <extnumber> will call the <extnumber> 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=<string> - first name LAST_NAME=<string> - last name EMAIL=<string> - email MOBILE=<numric string> - mobile number OUTBOUND_CALLER_ID=<numeric string> - mobile number profile.<AvailableProfileNAME>=AV(NA:<DestinationType>.[<number>].[<externalnumber>],[+|-]NAI:<DestinationType>.[<number>].[<externalnumber>],BUSY:<DestinationType>.[<number>].[<externalnumber>],[+|-]BUSYI:<DestinationType>.[<number>].[<externalnumber>]) profile.<AwayProfileNameNAME>=AW(IALL:<DestinationType>.[<dnnumber>].[<externalnumber>],[+|-]IOOO:<DestinationType>.[<number>].[<externalnumber>],EALL:<DestinationType>.[<number>].[<externalnumber>],[+|-]EOOO:<DestinationType>.[<number>].[<externalnumber>]) CURRENT_STATUS=<profilename> - name of the current profile prop.<NAME>=<value> - set DN property with name <NAME> to the <value> OVERRIDE_STATUS=<profilename>,<timespan> BINDTOMS=true|false REINVITES=true|false REPLACES=true|false RECORDCALLS=true|false SRTP=true|false Extension.<extension_simple_property>=<propval> AGENTLOGIN=<listofqueues> AGENTLOGOUT=<listofqueues> -------------------------------------------------------------------------------- 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=<numeric string> - outbound called if for calls originated by the device prop.<NAME>=<value> - set DN property with naem <NAME> to the <value> 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<extnumber> - file which is placed in directory specified by IVRPROMPTPATH parameter or extnumber where from to record new fine with random name O<digit>=<IVRForwardType>.[<dnnumber>] - assign specific type of destination to option <digit>. <IVRForward> is from enum IVRForwardType <dnnumber> - local number must be proper for specific number TO=<seconds> - number of seconds TODEST=<IVRForwardType>.[<dnnumber>] - timeout action - same as for options NAME=<ivr name> - name of ivr prop.<NAME>=<value> - set DN property with naem <NAME> to the <value> -------------------------------------------------------------------------------- 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=<name>. checked for uniqueness PREFIX=<commaseparated list of prefixes> PRIORITY=<priority> - no check. NUMBERLENGTH=<comma separated list of length ranges> DNRANGES=<comma separated list of dn ranges> GROUPS=<comma separated list of groups> ROUTE<N>=<strip>.<prepend>.<gatewayid> -------------------------------------------------------------------------------- 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: <number to lookup> <minmatch> content_parameters: [PhoneBookEntry property name]=<string> - 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=<queue name> - name of the queue PSTRATEGY=<Queue.PollingStrategyType> - polling strategy as named in Queue.PollingStrategyType POLLINGTIME=<seconds> - 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=<dnnumber>[,<dnnumber>] - list of queue agents MANAGERS=<dnnumber>[,<dnnumber>] - list of queue managers MAXWAIT=<seconds> - maximal time of waiting in the queue. NOANSWERDEST=<DestinationType>.[<dnnumber>].[<externalnumber>] - timeout action - same as for options LOGIN=<dnnumber>[,<dnnumber>] - Agents to login into the queue LOGOUT=<dnnumber>[,<dnnumber>] - Agents to logout from the queue prop.<NAME>=<value> - set DN property with naem <NAME> to the <value> -------------------------------------------------------------------------------- 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=<queue name> - name of the queue STRATEGY=<RingGroup.StrategyType> - polling strategy as named in Queue.PollingStrategyType AGENTS=<dnnumber>[,<dnnumber>] - list of riggroup RINGTIME=<seconds> - ring timeout. NOANSWERDEST=<DestinationType>.[<dnnumber>].[<externalnumber>] - timeout action - same as for options prop.<NAME>=<value> - set DN property with naem <NAME> to the <value> 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 - <objtype> | 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 Description: Shows notificatins for specific statistics object. -------------------------------------------------------------------------------- SampleName: update_stat Implemented in OMSamples.Samples.UpdateStatSample Description: This sample creates and continuously update Statistic object named 'MYSTAT'. After running this sample statistics 'MYSTAT' will be available for create_delete_stat sample --------------------------------------------------------------------------------
About
3CXCallControlAPI_v16
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published