NotifyConferenceUtil - 범위가 지정됨, 전역
NotifyConferenceUtil API는 다양한 전화 통신 서비스 공급자 ZoomWebex에 대한 Notify 전화 회의 및 SMS 메시지를 관리하는 메서드를 제공합니다.
NotifyConferenceUtil API를 사용하여 다음을 할 수 있습니다:
- 새 전화 회의 작성
- 전화번호 또는 사용자 ID로 참가자 추가
- 전화 회의에서 참가자 제거
- 전화 회의 참가자 음소거
- 전화 회의 참가자 음소거 해제
- 지정된 서비스 제공자의 기능을 확보합니다.
- 전화 회의 종료
이 API는 범위가 지정된 스크립트와 전역 스크립트 모두에서 사용할 수 있습니다. 이 API를 사용하려면 별도의 구독이 필요한 Conference Notify 플러그인(com.snc.notify)을 활성화해야 합니다. 이 플러그인 활성화에 대한 자세한 내용은 알림 활성화를 참조하십시오.
NotifyConferenceUtils - NotifyConferenceUtils()
NotifyConferenceUtils 개체(생성자)를 인스턴스화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByPhoneNumber("+917799555331", confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils - addToConferenceByPhoneNumber(String toNumber, GlideRecord confGR)
참가자를 식별하기 위해 전화 번호를 사용하여 지정된 전화 회의에 참가자를 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| toNumber | 문자열 | 전화 회의에 추가할 참가자의 전화 번호입니다. |
| confGR | GlideRecord | 지정된 참가자를 추가할 전화 회의의 GlideRecord입니다. 이러한 기록은 알림 전화 회의 [notify_conference_call] 테이블에 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByPhoneNumber("+917799555331", confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils - addToConferenceByUserId(String userId, GlideRecord confGR)
고유 사용자 식별자를 사용하여 전달된 GlideRecord에서 참조하는 전화 회의에 참가자를 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| userID | 문자열 | 지정된 컨퍼런스 회의에 추가할 참가자의 시스템 ID입니다. 이 정보는 사용자 [sys_user] 테이블에 있습니다. |
| confGR | GlideRecord | 지정된 참가자를 추가하기 위한 전화 회의의 GlideRecord입니다. 이러한 기록은 알림 전화 회의 [notify_conference_call] 테이블에 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
(function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByUserId(gs.getUserID(), confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils - doConferenceAction(문자열 작업, 개체 데이터)
전화 회의 시작/종료 또는 전화 회의에서 참가자의 참가, 제거, 음소거 또는 음소거 해제와 같은 지정된 전화 회의 동작을 수행합니다.
- 전화 회의 기록의 포인터를 전화 회의의 토론 주제인 인시던트 또는 문제 등의 특정 기록(소스 기록)에 저장합니다.
- 소스 기록에 대한 여러 컨퍼런스 회의를 허용/허용하지 않습니다.
- 소스 기록의 "작업 메모" 필드에 전화 회의에 있었던 참가자를 자동으로 기록합니다.
- 참가자가 회의에서 발신 전화에 응답할 때 메시지를 소리 내어 읽도록 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 작업 | 문자열 | 수행할 전화 회의 동작을 정의합니다. 사용 가능한 컨퍼런스 회의 동작은 다음과 같습니다.
|
| 데이터 | 객체 | 전화 회의를 설명하는 객체입니다. |
| data.addToWorkNotes | 부울 | 관련된 기록의 작업 메모 필드에 전화 회의에 포함된 참가자에 대한 정보를 추가할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 작업 메모를 추가할 기록을 식별합니다. 기본값: false 이 매개변수가 유효한 작업:
|
| data.allowMulticonference (영문) | 부울 | 특정 기록에 대해 한 번에 여러 컨퍼런스 회의를 허용할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 여러 컨퍼런스 회의를 가질 수 있는 기록을 식별합니다. 기본값: false 이 매개변수가 유효한 작업:
|
| data.confId입니다. | 문자열 | 전화 회의의 시스템 ID입니다. 회의 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블에 있습니다. 이 매개변수가 필요한 작업:
주: 음소거, 음소거 해제, 추방과 같은 참가자 작업은 메서드가 알림 전화 회의 참가자[notify_participant] 테이블에서 이 정보를 가져오므로 이 매개변수를 설정할 필요가 없습니다. |
| data.fromNumber | 문자열 | 전화 회의를 위해 전화를 걸 서비스 제공자 번호입니다. 알림 전화 번호 [notify_number] 테이블의 번호 또는 전화 번호 열에서 이 값을 찾습니다. 이 매개변수가 필요한 작업:
|
| data.isNewConference | 부울 | 새 전화 회의인지 기존 전화 회의인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false 이 매개변수가 유효한 작업:
|
| 데이터.항목 | 배열 | 전화 회의에 포함할 각 참가자에 대한 정보입니다. 유효한 배열 값:
|
| 데이터.메시지 | 문자열 | 사용자가 통화에 응답할 때 읽어주는 메시지(예: "P1 인시던트가 생성되었습니다. 인스턴스에 로그인하십시오."). 이 매개변수가 유효한 작업:
|
| data.serviceProvider | 문자열 | 필수. 회의 서비스 제공자의 이름(예: Zoom 또는 Webex)입니다. 이 매개변수가 필요한 작업:
|
| Data.sysId | 문자열 | 전화 회의에 연결할 소스 기록의 시스템 ID입니다. 예를 들어, 특정 인시던트나 문제를 논의하기 위해 전화 회의를 개최하는 경우 이 값에 인시던트 또는 문제 기록의 Sys ID를 입력합니다. 이 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블의 원본 열에 저장되며 나중에 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.Table함께 사용됩니다. 이 매개변수가 유효한 작업:
|
| 데이터.테이블 | 문자열 | 전화 회의에 연결할 소스 기록이 들어 있는 테이블입니다. 소스 기록은 전화 회의의 토론 주제인 "인시던트" 또는 "문제"와 같은 모든 기록일 수 있습니다. 이 테이블 이름은 알림 전화 회의 [notify_conference_call] 테이블의 테이블 열에 저장되며 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.sysId함께 사용됩니다. 이 매개변수가 유효한 작업:
|
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
(function (confId) {
var confUtils = new NotifyConferenceUtils();
var data = confUtils.getConferenceInputDataTemplate();
data.table = 'incident';
data.sysId = '1234';
data.addToWorkNotes = false;
data.confId = confId;
data.message = 'p1 incident has been created';
data.fromNumber = 'twilio/Telephony driver number';
data.items.push({ id: 'user3SysId', phoneNumber: '+917799555332' });
data.items.push({ id: 'user4SysId', email: 'yln99518@gmail.com' });
var result = confUtils.doConferenceAction('start', data);
if (result.status) {
gs.info('Start conference action succeeded');
} else
gs.info('Start conference action failed');
result.errorMessages.forEach(function (msg) {
gs.info(msg);
});
result.warnMessages.forEach(function (msg) {
gs.info(msg);
});
result.successMessages.forEach(function (msg) {
gs.info(msg);
});
})('activeConfSysId');
NotifyConferenceUtils - getConferenceInputDataTemplate()
doConferenceAction() 메서드와 함께 사용할 JSON 데이터 템플릿을 반환합니다. 이 템플릿을 사용하면 데이터 객체가 자동으로 구조화되므로 수동으로 만들 필요가 없습니다.
doConferenceAction() 메서드를 호출하기 전에 이 메서드를 호출합니다. 원하는 전화 회의 동작에 대해 템플릿 내에서 원하는 매개 변수를 설정한 다음 doConferenceAction() 호출에서 템플릿을 전달합니다. 각 액션의 유효한 매개변수에 대한 자세한 내용은 doConferenceAction()을 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 데이터 | 전화 회의를 설명하는 객체입니다. |
| data.addToWorkNotes | 관련된 기록의 작업 메모 필드에 전화 회의에 포함된 참가자에 대한 정보를 추가할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 작업 메모를 추가할 기록을 식별합니다. 기본값: false 이 매개변수가 유효한 작업:
|
| data.allowMultconference (데이터.멀티플렉트 허용) | 특정 기록에 대해 한 번에 여러 컨퍼런스 회의를 허용할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 여러 컨퍼런스 회의를 가질 수 있는 기록을 식별합니다. 기본값: false 이 매개변수가 유효한 작업:
|
| data.confId입니다. | 전화 회의의 시스템 ID입니다. 회의 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블에 있습니다. 이 매개변수가 필요한 작업:
주: 음소거, 음소거 해제, 추방과 같은 참가자 작업은 메서드가 알림 전화 회의 참가자[notify_participant] 테이블에서 이 정보를 가져오므로 이 매개변수를 설정할 필요가 없습니다. |
| data.fromNumber | 전화 회의를 위해 전화를 걸 서비스 제공자 번호입니다. 알림 전화 번호 [notify_number] 테이블의 번호 또는 전화 번호 열에서 이 값을 찾습니다. 이 매개변수가 필요한 작업:
|
| data.isNewConference | 새 전화 회의인지 기존 전화 회의인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false 이 매개변수가 유효한 작업:
|
| 데이터.항목 | 전화 회의에 포함할 각 참가자에 대한 정보입니다. 유효한 배열 값:
|
| 데이터.메시지 | 사용자가 통화에 응답할 때 읽어주는 메시지(예: "P1 인시던트가 생성되었습니다. 인스턴스에 로그인하십시오."). 이 매개변수가 유효한 작업:
|
| data.serviceProvider | 필수. 회의 서비스 제공자의 이름(예: Zoom 또는 Webex)입니다. 이 매개변수가 필요한 작업:
|
| Data.sysId | 전화 회의에 연결할 소스 기록의 시스템 ID입니다. 예를 들어, 특정 인시던트나 문제를 논의하기 위해 전화 회의를 개최하는 경우 이 값에 인시던트 또는 문제 기록의 Sys ID를 입력합니다. 이 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블의 원본 열에 저장되며 나중에 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.Table함께 사용됩니다. 이 매개변수가 유효한 작업:
|
| 데이터.테이블 | 전화 회의에 연결할 소스 기록이 들어 있는 테이블입니다. 소스 기록은 전화 회의의 토론 주제인 "인시던트" 또는 "문제"와 같은 모든 기록일 수 있습니다. 이 테이블 이름은 알림 전화 회의 [notify_conference_call] 테이블의 테이블 열에 저장되며 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.sysId함께 사용됩니다. 이 매개변수가 유효한 작업:
|
(function (confId) {
var confUtils = new NotifyConferenceUtils();
var data = confUtils.getConferenceInputDataTemplate();
data.confId = confId;
var result = confUtils.doConferenceAction('end', data);
if (result.status) {
gs.info('Conference call has been ended');
} else
gs.info('End conference call action failed');
result.errorMessages.forEach(function (msg) {
gs.info(msg);
});
result.warnMessages.forEach(function (msg) {
gs.info(msg);
});
result.successMessages.forEach(function (msg) {
gs.info(msg);
});
})('activeConfSysId');
NotifyConferenceUtils - getServiceProvidersCapabilities()
인스턴스에 있는 모든 전화 통신 서비스 공급자 드라이버의 기능을 반환합니다.
- 보관: 회의가 종료된 후 보관합니다.
- beepOnLeave: 참가자가 전화 회의에서 나갈 때 "삐" 소리를 재생합니다.
- beepOnJoin: 참가자가 전화 회의에 참가할 때 "삐" 소리를 재생합니다.
- 종료: 식별된 전화 회의를 종료합니다.
- 파일 공유: 참가자 간에 파일을 공유할 수 있습니다.
- 참가: 전화 회의에 참가자를 추가합니다.
- kick: 전화 회의에서 참가자를 제거합니다.
- multiJoin: 전화 회의에 여러 참가자 추가
- multiKick: 전화 회의에서 여러 참가자를 제거합니다.
- muteOnJoin: 참가자가 처음 전화 회의에 참가할 때 참가자를 음소거합니다.
- multiUnmute: 전화 회의에서 여러 참가자의 음소거를 해제합니다.
- 기록: 전화 회의를 녹음합니다.
- 녹음: 전화 회의가 녹음 중일 때 화면에 표시기를 제공합니다.
- screenSharing: 참가자 화면을 그룹과 공유할 수 있습니다.
- selfJoin: 현재 로그인한 사용자를 전화 회의에 추가합니다.
- 말하기: 현재 말하고 있는 사람에 대한 화면 메시지를 제공합니다.
- 시작: 식별된 전화 회의를 시작합니다.
- 음소거 해제: 전화 회의에서 참가자의 음소거를 해제합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | 각 드라이버 기능 상태의 키-값 쌍입니다. 유효한 값은 다음과 같습니다.
|
인스턴스의 모든 전화 통신 서비스 공급자 드라이버에 대한 드라이버 기능을 나열합니다.
(function () {
var confUtils = new NotifyConferenceUtils();
var providerToCapability = confUtils.getServiceProvidersCapabilites();
for (var provider in providerToCapability) {
gs.info('{0} supported capabilities \n\n', provider);
var capabilities = providerToCapability[provider]
for (var cap in capabilities)
if(confUtils.isActionSupported(capabilities[cap].isSupported))
gs.info('"{0}" action supported', cap);
else
gs.info("'{0}' action is not supported by this conference driver", cap);
}
})();
출력: 이 메서드는 인스턴스 내의 각 활성 전화 통신 서비스 공급자에 대해 다음과 유사한 노드를 반환합니다.
{
"Telephony": {
"start": {
"isSupported": 1,
"meta": {}
},
"end": {
"isSupported": 1,
"meta": {}
},
"selfJoin": {
"isSupported": 1,
"meta": {}
},
"join": {
"isSupported": 1,
"meta": {}
},
"multiJoin": {
"isSupported": 1,
"meta": {}
},
"mute": {
"isSupported": 1,
"meta": {}
},
"multiMute": {
"isSupported": 1,
"meta": {}
},
"unmute": {
"isSupported": 1,
"meta": {}
},
"multiUnmute": {
"isSupported": 1,
"meta": {}
},
"kick": {
"isSupported": 1,
"meta": {}
},
"multiKick": {
"isSupported": 1,
"meta": {}
},
"record": {
"isSupported": 0,
"meta": {}
},
"speaking": {
"isSupported": 0,
"meta": {}
},
"recording": {
"isSupported": 0,
"meta": {}
},
"screenSharing": {
"isSupported": 0,
"meta": {}
},
"fileSharing": {
"isSupported": 0,
"meta": {}
},
"archive": {
"isSupported": 0,
"meta": {}
},
"muteOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnLeave": {
"isSupported": 0,
"meta": {}
}
}
}
NotifyConferenceUtils - isActionSupported(번호 작업)
전화 통신 서비스 공급자가 알림 회의 동작을 지원하는지 여부를 결정합니다.
이 메서드를 사용하려면 먼저 getServiceProviderCapabilities() 메서드를 호출해야 합니다. 이 메서드는 인스턴스에 구성된 각 서비스 제공자에 대해 가능한 각 알림 회의 작업의 가용성에 대한 정보가 포함된 개체를 반환합니다.
예:
{
"Telephony": {
"start": {
"isSupported": 1,
"meta": {}
},
"end": {
"isSupported": 1,
"meta": {}
},
"selfJoin": {
"isSupported": 1,
"meta": {}
},
"join": {
"isSupported": 1,
"meta": {}
},
"multiJoin": {
"isSupported": 1,
"meta": {}
},
"mute": {
"isSupported": 1,
"meta": {}
},
"multiMute": {
"isSupported": 1,
"meta": {}
},
"unmute": {
"isSupported": 1,
"meta": {}
},
"multiUnmute": {
"isSupported": 1,
"meta": {}
},
"kick": {
"isSupported": 1,
"meta": {}
},
"multiKick": {
"isSupported": 1,
"meta": {}
},
"record": {
"isSupported": 0,
"meta": {}
},
"speaking": {
"isSupported": 0,
"meta": {}
},
"recording": {
"isSupported": 0,
"meta": {}
},
"screenSharing": {
"isSupported": 0,
"meta": {}
},
"fileSharing": {
"isSupported": 0,
"meta": {}
},
"archive": {
"isSupported": 0,
"meta": {}
},
"muteOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnLeave": {
"isSupported": 0,
"meta": {}
}
}
}| 이름 | 유형 | 설명 |
|---|---|---|
| 작업 | 번호 | isSupported 특정 작업 및 서비스 제공자에 대해 getServiceProvidersCapabilities() 메서드에서 반환하는 매개변수의 값입니다. 주: isSupported 값이 부울처럼 보일 수 있지만 실제로는 숫자입니다. 역량을 부울 값으로 평가하려고 시도하지 마십시오. 연결된 값이 이후 버전에서 확장될 수 있으므로 이 방법을 사용합니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 전화 통신 서비스 공급자가 지정된 작업을 지원하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
(function () {
var confUtils = new NotifyConferenceUtils();
var providerToCapability = confUtils.getServiceProvidersCapabilites();
for (var provider in providerToCapability) {
gs.info('{0} supported capabilities \n\n', provider);
var capabilities = providerToCapability[provider]
for (var cap in capabilities)
if (confUtils.isActionSupported(capabilities[cap].isSupported))
gs.info('"{0}" action supported', cap);
else
gs.info("'{0}' action is not supported by this conference driver", cap);
}
})();
NotifyConferenceUtils - kickByParticipantGR(GlideRecord notifyParticipantGR)
전달된 GlideRecord와 관련된 참가자를 현재 컨퍼런스 회의에서 제거합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 알림 참가자GR | GlideRecord | 전화 회의에서 제거할 참가자의 GlideRecord 객체입니다. 이러한 기록은 알림 참가자 [notify_participant] 테이블에 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant'); // Participant record contains conf call ID
participantGR.get('validParticipantSysId');
var actionResult = confUtils.kickByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been kicked out of conference');
else {
gs.info('kick operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})()
NotifyConferenceUtils - muteByParticipantGR(GlideRecord notifyParticipantGR)
현재 컨퍼런스 회의에서 전달된 GlideRecord와 관련된 참가자를 음소거합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 알림 참가자GR | 객체 | 음소거할 참가자의 GlideRecord 객체입니다. 이러한 기록은 알림 참가자 [notify_participant] 테이블에 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant');
participantGR.get('validSysId');
var actionResult = confUtils.muteByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been muted');
else {
gs.info('mute operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})()
NotifyConferenceUtils - unmuteByParticipantGR(GlideRecord notifyParticipantGR)
현재 컨퍼런스 회의에서 전달된 GlideRecord와 관련된 참가자의 음소거를 해제합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 알림 참가자GR | GlideRecord | 음소거를 해제할 참가자의 GlideRecord 객체입니다. 이러한 기록은 알림 참가자 [notify_participant] 테이블에 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant');
participantGR.get('validSysId');
var actionResult = confUtils.unmuteByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been Unmuted');
else {
gs.info('Unmute operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();