When you call the on-call person with Enterprise Alert it might happen that this person is not available and cannot pick up the call. In this case you can allow the caller to leave a voice message. This voice message can then be sent to the on-call person so he or she knows who has called and what the call was about.
You can adapt this behavior in Enterprise Alert by editing the respective VoiceXML files. You find them under the following directory:
“C:\Program Files (x86)\Enterprise Alert\VoIPModule\voiceXML\”
The file names are “Bridge to On-Call Person.xml” and “Default Menu.xml”. Here, please make the following adaptations any make sure you always have a backup available.
Search for:
<catch event="TeamNotOnCall"> <prompt> Team is currently not on-call. </prompt> <disconnect/> </catch> <catch event="TeamCallFailed"> <prompt>No on-call person could be called.</prompt> <disconnect/> </catch> <catch event="TeamCallDeclined"> <prompt>On-call person has declined your request.</prompt> <disconnect/> </catch>
Replace that with this:
<catch event="TeamNotOnCall"> <prompt>Our ON Call Staff is not reachable, Please leave a message, we will call you back. </prompt> <goto next="#formRecordVoiceMsg"></goto> <disconnect /> </catch> <catch event="TeamCallFailed"> <prompt>Our ON Call Staff is not reachable, Please leave a message, we will call you back. </prompt> <goto next="#formRecordVoiceMsg"></goto> <disconnect /> </catch> <catch event="TeamCallDeclined"> <prompt> Our ON Call Staff is busy, Please leave a message, we will call you back.</prompt> <goto next="#formRecordVoiceMsg"></goto> <disconnect /> </catch>
In the file “Bridge to On-Call Person.xml” you also need to add the form and define the variable “m_recordedMessage”.
This goes to the top:
<var expr="''" name="m_recordedMessage"/>
And this comes below:
<form id="formRecordVoiceMsg"> <record name="message" beep="true" maxtime="60s" dtmfterm="true"> <prompt>Please leave your voice message after the signal and confirm with a hash.</prompt> <noinput> <prompt>You did not leave any message in time, bye.</prompt> <disconnect/> </noinput> </record> <block> <assign name="m_recordedMessage" expr="message"/> <goto next="#formPlayRecordedData" /> </block> </form> <form id="formPlayRecordedData"> <prompt> The message you left is <value expr="m_recordedMessage"/> </prompt> <goto next="#menuConfirmRecordedData" /> </form> <menu id="menuConfirmRecordedData" dtmf="true"> <prompt> To confirm your message, press 1. To re-record, press 2. To repeat the recording again, press 3. </prompt> <choice dtmf="1" next="#formSendRecordedMsg" /> <choice dtmf="2" next="#formRecordVoiceMsg" /> <choice dtmf="3" next="#formPlayRecordedData" /> <noinput> <reprompt/> </noinput> <nomatch> <reprompt/> </nomatch> </menu> <form id="formSendRecordedMsg"> <sendMessage> <mm_message> <mm_header type="user" subtype="inbound" index="" sessionid="0" strref="" from="%PHONE_NUMBER_CALLING_USER" to="%PHONE_NUMBER_CALLED_USER" service_from="/VoiceService" service_to="" msg_options="0"/> <mm_body>[%PHONE_NUMBER_CALLED_USER] Recorded voice message. From %PHONE_NUMBER_CALLING_USER See attachments...</mm_body> <mm_attachments> <item name="attachments"> <value>%RECORDED_FILE_PATH</value> </item> </mm_attachments> </mm_message> </sendMessage> <block> <prompt> Voice message accepted, thank you for your call. </prompt> </block> </form>
Additionally, you would need an alert policy to forward the information to the on-call person. Now, you just need to restart the Enterprise Alert voice and Skype for Business services and then you can try by yourself.