import xapi from 'xapi';
const KEYBOARD_TYPES = {
NUMERIC: 'Numeric',
SINGLELINE: 'SingleLine',
PASSWORD: 'Password',
PIN: 'PIN',
};
const CALL_TYPES = {
AUDIO: 'Audio',
VIDEO: 'Video',
};
const MEETING_ID = 'meetingID';
const PASSCODE = 'pass';
const INROOMCONTROL_AUDIOCONTROL_PANELID = 'callmeeting';
const postfix = 'cumulusorg@m.webex.com';
/* Use these to check that its a valid number (depending on what you want to allow users to call */
const REGEXP_URLDIALER = /([a-zA-Z0-9@_\-\.]+)/;
const REGEXP_NUMERICDIALER = /^([0-9]{8,11})$/;
var meetingID = '1234567890';
function getMeetingID(text){
xapi.Command.UserInterface.Message.TextInput.Display({
InputType: KEYBOARD_TYPES.NUMERIC,
Placeholder: "8~11桁の会議番号を入力:",
Title: "MS-Teams接続",
Text: text,
SubmitText: "Join",
FeedbackId: MEETING_ID,
}).catch((error) => { console.error(error); });
}
/* This is the listener for the in-room control panel button that will trigger the dial panel to appear */
xapi.Event.UserInterface.Extensions.Panel.Clicked.on((event) => {
if(event.PanelId === INROOMCONTROL_AUDIOCONTROL_PANELID){
getMeetingID("会議番号入力" );
}
});
/* Event listener for the dial pad being posted */
xapi.Event.UserInterface.Message.TextInput.Response.on((event) => {
switch(event.FeedbackId){ case MEETING_ID: const regex = REGEXP_NUMERICDIALER; const match = regex.exec(event.Text);
if (match !== null) { meetingID = match[1]; } else{ showDialPad("You typed in an invalid number. Please try again." ); } break; } xapi.command("dial", { Number : meetingID + '.' + postfix , Protocol : 'Sip'});
});
|