Skip to content

olorunfemidavis/3CXCallControlAPI_v16

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

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
--------------------------------------------------------------------------------

Releases

No releases published

Packages

No packages published

Languages