Web-Callback Implementierung
Grundsätzlich benutzt das System die Bibliothek signalr und die clientseitig Implementierung ist in Java Script ausgeführt. signalr bietet sogenannte Hubs an, daher sind drei in myContactCenter implementiert.
- Web Chat Hub mit Namen chatHub
- Web Call Back Hub mit Namen callBackCallHub
- ACD Hub mit Namen acdHub
Zusätzlich wird die Bibliothek jquery-2.2.3.min.js und jquery.signalR-2.2.1.min.js benötigt. Diese müssen öffentlich zum Download bereitstehen, so dass Internet Browser diese herunterladen können während der Chat Client gestartet wird. Idealerweise befinden sich diese Bibliotheken auf einem öffentlichen Server, z.B. dem Web-Server der Internetpräsenz.
Um die Funktionalität bereitzustellen muss der Port 6010 des myContactCenter Servers für Kunden aus dem Internet erreichbar sein. Somit muss für den Fall, dass sich der myContactCenter Server hinter einer Firewall befindet eine Port Weiterleitung auf Port 6010 eingerichtet sein.myContactCenter
Angefügt ist ein einfaches Java Script gezeigt, welches einen einfachen Web Rückruf implementiert. Im Eingabefeld phonenumber wird die Rufnummer eingetragen. Then, when clicking on the requestcallback button, the web call back call is registered in the myContactCenter server Your. Host.Name having Skill and Language and uses Customer Name.
<!--Script references. -->
<!--Reference the jQuery library. -->
<script src="Scripts/jquery-1.11.2.min.js"></script>
<!--Reference the SignalR library. -->
<script src="Scripts/jquery.signalR-2.2.0.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="http://Your.Host.Name:6010/signalr/hubs"></script>
<script type="text/javascript">
$(function () {
$.connection.hub.url = "http://Your.Host.Name:6010/signalr";
// Declare a proxy to reference the hub.
var webcallback = $.connection.callBackCallHub;
function init() {
$('#requestcallback').click(function () {
$('#requestcallback').prop('disabled', true);
webcallback.server.register($('#phonenumber').val(), "Customer Name", "Skill", "Language", true)
.done(function (webcallbackWasSuccessfullyCreated) {
if (webcallbackWasSuccessfullyCreated) {
// Focus text box.
$('#phonenumber').focus();
console.log('Call was successfully created');
}
else {
console.log('Create call failed');
}
})
});
}
// Create a function that the hub calls if the state of the call changes.
webcallback.client.onStateChanged = function (oldState, newState) {
console.log('State changed: ' + newState)
};
// Create a function that the server calls if the position of the call changes.
webcallback.client.onPositionChanged = function (newPosition) {
console.log('Position changed: ' + newPosition);
};
// Set initial focus to text box.
$('#phonenumber').focus();
// Start the connection.
$.connection.hub.start().done(function () {
init();
});
});
</script>