static function OnRestServiceBuildDescription()
{
return [
'telephony' => [
'voximplant.url.get' => ['CVoxImplantRestService', 'urlGet'],
'voximplant.sip.get' => ['CVoxImplantRestService', 'sipGet'],
'voximplant.sip.add' => ['CVoxImplantRestService', 'sipAdd'],
'voximplant.sip.update' => ['CVoxImplantRestService', 'sipUpdate'],
'voximplant.sip.delete' => ['CVoxImplantRestService', 'sipDelete'],
'voximplant.sip.status' => ['CVoxImplantRestService', 'sipStatus'],
'voximplant.sip.connector.status' => ['CVoxImplantRestService', 'sipConnectorStatus'],
'voximplant.statistic.get' => ['CVoxImplantRestService', 'statisticGet'],
'voximplant.line.outgoing.set' => ['CVoxImplantRestService', 'lineOutgoingSet'],
'voximplant.line.outgoing.get' => ['CVoxImplantRestService', 'lineOutgoingGet'],
'voximplant.line.outgoing.sip.set' => ['CVoxImplantRestService', 'lineOutgoingSipSet'],
'voximplant.line.get' => ['CVoxImplantRestService', 'lineGet'],
'voximplant.tts.voices.get' => ['CVoxImplantRestService', 'getVoiceList'],
'voximplant.user.get' => ['CVoxImplantRestService', 'getUser'],
'voximplant.user.getDefaultLineId' => ['CVoxImplantRestService', 'getUserDefaultLineId'],
'voximplant.user.activatePhone' => ['CVoxImplantRestService', 'activatePhone'],
'voximplant.user.deactivatePhone' => ['CVoxImplantRestService', 'deactivatePhone'],
'voximplant.authorization.get' => [
'callback' => ['CVoxImplantRestService', 'getAuthorization'],
'options' => ['private' => true]
],
'voximplant.authorization.signOneTimeKey' => [
'callback' => ['CVoxImplantRestService', 'signOneTimeKey'],
'options' => ['private' => true]
],
'voximplant.authorization.onError' => [
'callback' => ['CVoxImplantRestService', 'onAuthorizationError'],
'options' => ['private' => true]
],
'voximplant.call.init' => [ //not sure if this is still needed
'callback' => ['CVoxImplantRestService', 'initCall'],
'options' => ['private' => true]
],
'voximplant.call.startWithDevice' => [
'callback' => ['CVoxImplantRestService', 'startCallWithDevice'],
'options' => ['private' => true]
],
'voximplant.call.hangupDevice' => [
'callback' => ['CVoxImplantRestService', 'hangupDeviceCall'],
'options' => ['private' => true]
],
'voximplant.call.sendWait' => [
'callback' => ['CVoxImplantRestService', 'sendWait'],
'options' => ['private' => true]
],
'voximplant.call.sendReady' => [
'callback' => ['CVoxImplantRestService', 'sendReady'],
'options' => ['private' => true]
],
'voximplant.call.answer' => [
'callback' => ['CVoxImplantRestService', 'answerCall'],
'options' => ['private' => true]
],
'voximplant.call.skip' => [
'callback' => ['CVoxImplantRestService', 'skipCall'],
'options' => ['private' => true]
],
'voximplant.call.busy' => [
'callback' => ['CVoxImplantRestService', 'rejectCallWithBusy'],
'options' => ['private' => true]
],
'voximplant.call.hold' => [
'callback' => ['CVoxImplantRestService', 'holdCall'],
'options' => ['private' => true]
],
'voximplant.call.unhold' => [
'callback' => ['CVoxImplantRestService', 'unholdCall'],
'options' => ['private' => true]
],
'voximplant.call.startViaRest' => [
'callback' => ['CVoxImplantRestService', 'startCallViaRest'],
'options' => ['private' => true]
],
'voximplant.call.get' => [
'callback' => ['CVoxImplantRestService', 'getCall'],
'options' => ['private' => true]
],
'voximplant.call.intercept' => [
'callback' => ['CVoxImplantRestService', 'interceptCall'],
'options' => ['private' => true]
],
'voximplant.call.saveComment' => [
'callback' => ['CVoxImplantRestService', 'saveCallComment'],
'options' => ['private' => true]
],
'voximplant.call.startTransfer' => [
'callback' => ['CVoxImplantRestService', 'startCallTransfer'],
'options' => ['private' => true]
],
'voximplant.call.completeTransfer' => [
'callback' => ['CVoxImplantRestService', 'completeCallTransfer'],
'options' => ['private' => true]
],
'voximplant.call.cancelTransfer' => [
'callback' => ['CVoxImplantRestService', 'cancelCallTransfer'],
'options' => ['private' => true]
],
'voximplant.call.onConnectionError' => [
'callback' => ['CVoxImplantRestService', 'onCallConnectionError'],
'options' => ['private' => true]
],
'telephony.externalCall.searchCrmEntities' => ['CVoxImplantRestService', 'searchCrmEntities'],
'telephony.externalCall.register' => ['CVoxImplantRestService', 'registerExternalCall'],
'telephony.externalCall.finish' => ['CVoxImplantRestService', 'finishExternalCall'],
'telephony.externalCall.show' => ['CVoxImplantRestService', 'showExternalCall'],
'telephony.externalCall.hide' => ['CVoxImplantRestService', 'hideExternalCall'],
'telephony.externalCall.attachRecord' => ['CVoxImplantRestService', 'attachRecord'],
'telephony.call.attachTranscription' => ['CVoxImplantRestService', 'attachTranscription'],
'telephony.externalLine.add' => ['CVoxImplantRestService', 'addExternalLine'],
'telephony.externalLine.update' => ['CVoxImplantRestService', 'updateExternalLine'],
'telephony.externalLine.delete' => ['CVoxImplantRestService', 'deleteExternalLine'],
'telephony.externalLine.get' => ['CVoxImplantRestService', 'getExternalLines'],
CRestUtil::METHOD_UPLOAD => ['CVoxImplantRestService', 'uploadRecord'],
CRestUtil::EVENTS => [
'OnVoximplantCallInit' => ['voximplant', 'onCallInit', [__CLASS__, 'onCallInit'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
'OnVoximplantCallStart' => ['voximplant', 'onCallStart', [__CLASS__, 'onCallStart'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
'OnVoximplantCallEnd' => ['voximplant', 'onCallEnd', [__CLASS__, 'onCallEnd'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
RestHelper::EVENT_START_EXTERNAL_CALL => ['voximplant', 'onExternalCallStart', [__CLASS__, 'filterApp'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
RestHelper::EVENT_START_EXTERNAL_CALLBACK => ['voximplant', 'onExternalCallBackStart', [__CLASS__, 'filterApp'], ["category" => BitrixRestSqs::CATEGORY_TELEPHONY]],
],
CRestUtil::PLACEMENTS => [
RestHelper::PLACEMENT_CALL_CARD => [],
IntegrationRestAppPlacement::ANALYTICS_MENU => []
]
],
'call' => [
'voximplant.callback.start' => ['CVoxImplantRestService', 'startCallback'],
'voximplant.infocall.startwithtext' => ['CVoxImplantRestService', 'startInfoCallWithText'],
'voximplant.infocall.startwithsound' => ['CVoxImplantRestService', 'startInfoCallWithSound'],
]
];
}