Howto:Spoken Presence for DECT
This article describes how to implement the spoken Presence Feature for DECT and analogue Phones. You can found a similar article where the Opticaller GSM Client was the primary focus while this XML is destined for a usage with DECT or analogue Phone user.
A known the Presence can be set natively form any device in the innovaphone PBX using DTMF feature codes. However, a device without enhanced display (like a DECT or analogue Phone) calling a user cannot see the Presence.
If a spoken presence is set (using this XML) the caller will hear the presence status of the called user.
This information applies to
- V11 PBX
Here the “manual” for the user
Set a spoken Presence
To set the spoken presence from any Phone call the spoken presence number and dial the desired presence status and an hour or date. Valid presence status are:
“1” = “I am away until“
“2” = “I am busy until”
“3” = “At lunch break until”
“4” = “In meeting until”
“5” = “On vacation until”
For presence type one to four, a 4-digit time can be add, for the presence “vacation” a 4-digit date.
If the presence input is valid, the XML play the message “message saved”.
If a user dials an invalid presence, the XML play the message “an error occurred” and clear any eventual active presence.
Please note that the dial tone is different if the spoken presence is active.
Clear a spoken Presence
To clear the presence call the spoken presence number and dial “0”.
Check the own spoken Presence status
To control the own presence the call your own number, the status is played or a busy tone indicate that there is no presence switched on.
Calling a user with a spoken presence
Any user calling a user with a spoken presence will hear:
- A warning beep
- The presence status
- The time or date if set
- A message that the user now will be called
Than the called phone ring (call transferred to the called number).
Please not that a presence can also be set without additional time or date: in this case however the message sounds odd, the caller will hear the message (for example “in meeting until”) and then after a second “you_will_be_connected”.
User “1234”, number of the spoken presence is “*8”. User “1234” dial “*841430” (4 = “in meeting until”, 1430 = “14:30”). If the user “1234” call himself (dial “1234”), he will hear a beep and “in meeting until 1430”.
If any other user calls “1234” he will hear a beep, “in meeting until 1430” and “you will be connected” followed by the control ring tone; user “1234” is ringing.
How it works
In setting the spoken presence the XML sets the presence if:
- 5 digits are dialed (one for the presence type and four for the additional time/date)
- “#” is dialed
- a timeout of 10 second is reached
- “0” is dialed (clear presence)
- User hangs up
Please note that any kind of dialing options is possible, block dial, overlapped sending and even mixed mode (a part of the number dialed in block mode and a part in overlap).
There is just one single XML doing anything described. When a user call this XML straight away the XML news that this is a user doing a presence setting. If a valid input is detected the XML set in the PBX the presence type and active a CFU on the calling user to the XML (himself).
From this moment on all calls to that user because the active CFU goes first to the XML. Therefore, a call passing a CFU to the XML means that the caller request the presence status: the XML reads out the presence status from the PBX, plays the relative Text and transfer the call to the original dialed number. That is possible because the target of a CFU can call the original user.
The feature is based on a XML script, typically installed on the Compact Flash card of a device. Of course it will work also on external Webserver server or a mSATA.
Create a directory on the CF and copy all files in. Than create in the PBX a VM object, no license is required to do this. The XML is named "spoken_p.xml". Give a nice name to the object because the caller will see also that name if he has an IP-Phone. Assign a number to the object, this is the “Spoken Presence Number”, the number to call for setting a spoken presence.
Open now the XML with an editor, go to the end of the text and indicate that spoken presence number and the language. Here the code snip:
"<assign out="$ownNumber" value="*8"/> " "<assign out="$sprache" value="it_"/> "
In the example “*8” is the spoken presence number and Italian the selected language.
In the solution are included the prompt files in Englisch, German and Italian language. However any language and other messages are possible, see next chapter.
The XML use the following text files where “ll” = language (for example de, en or it), “->” means “from x to y”, “gccc” stays for “g711a”, “G729”.
The following required files are included also in any Voice Mail (VM) distribution. You can simply install a VM in your language, copy the XML script in the directory where the VM XML is in, add the additional prompt files and start the script in this directory or copy the following files form the VM to your spoken presence directory.
Promts form the VM:
ll_month01.gccc -> ll_month12.gccc
ll_0.gccc -> ll_60.gccc
Please note that the month files must be end with 0x, for example “en_month_01.gccc” (and not “en_month_1.gccc”).
The following prompt file are unique for this feature, you can use the Track recording tool to generate those files or any other method. The note in brackets is the English wording.
ll_away.gccc („I am away until“)
ll_busy.gccc (“I am busy until”)
ll_lunch.gccc (“At lunch break until”)
ll_meeting.gccc (“In meeting until”)
ll_vacation.gccc (“On vacation until”)
Note: File for codec g711u are not included (just G711a), if this codec is mandatory you have to generate them.
Please note that the XML set the presence and a CFU to the XML. This can also be done manually: setting a CFU to the XML and switch on one of the 5 valid presence status. The result will be the same. However, if a user clear in this situation the presence status and leaves the CFU on, or simply switch on a CFU to the XML without setting one of the requested presence status, a security mechanism in the XML will clear the CFU and the call transferred immediately to destination.
If a user set his presence in a “normal” way a caller will hear no presence status at all.
- Download the complete file package of scripts and files described in this article.