Skip to content

Instantly share code, notes, and snippets.

@alexshapalov
Created December 23, 2015 11:40
Show Gist options
  • Save alexshapalov/a7a8b977922c2a065e1b to your computer and use it in GitHub Desktop.
Save alexshapalov/a7a8b977922c2a065e1b to your computer and use it in GitHub Desktop.
var call1, call2, data;
VoxEngine.addEventListener(AppEvents.Started, handleScenarioStart);
function handleScenarioStart(e) {
// в сценарий можно передать данные с помощью механизма customData,
// параметр script_custom_data в HTTP-запросе StartScenarios
// передадим в нем номера в виде строки номер1:номер2
data = VoxEngine.customData();
data = data.split(":");
// начало выполнения сценария - звоним на номер 1
call1 = VoxEngine.callPSTN(data[0]);
// обработчики событий
call1.addEventListener(CallEvents.Connected, handleCall1Connected);
call1.addEventListener(CallEvents.Failed, function(e) { VoxEngine.terminate(); });
call1.addEventListener(CallEvents.Disconnected, function(e) { VoxEngine.terminate(); });
}
function handleCall1Connected(e) {
// первый звонок соединен успешно, проигрываем сообщение
call1.say("Здравствуйте, это звонок от сервиса Колбэк, ожидайте соединения", Language.RU_RUSSIAN_FEMALE);
call1.addEventListener(CallEvents.PlaybackFinished, function(e1) {
// после проигрывания сообщения пытаемся дозвониться до номера 2
call2 = VoxEngine.callPSTN(data[1]);
// обработчики событий
call2.addEventListener(CallEvents.Connected, handleCall2Connected);
call2.addEventListener(CallEvents.Failed, function(e2) {
call1.say("К сожалению, соединение не может быть установлено", Language.RU_RUSSIAN_FEMALE);
call1.addEventListener(CallEvents.PlaybackFinished, function(e3) { VoxEngine.terminate(); });
});
call2.addEventListener(CallEvents.Disconnected, function(e2) { VoxEngine.terminate(); });
});
}
function handleCall2Connected(e) {
// соединяем два звонка - звук
VoxEngine.sendMediaBetween(call1, call2);
// и сигнализацию
VoxEngine.easyProcess(call1, call2);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment