Howto:Spoken Presence with VoiceMail XML Script: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
Line 60: Line 60:
<!-- Transfer to Voicemail Object instead (need to delete previous line)
<!-- Transfer to Voicemail Object instead (need to delete previous line)
<assign out="$vmbox" value="Insert_Voicemail_number_here"/>
<assign out="$vmbox" value=""/>
<lib-strcat string="$vmbox" string2="$cn" out-string="$vmbox"/>
<assign out="$vmnumber" value="825"/>
<lib-strcat out-string="$vmbox" string="$vmnumber" string2="$leg2"/>
<pbx-xfer e164="$vmbox" />
<pbx-fwd e164="$vmbox" sec="2" />
-->
-->
Line 73: Line 75:
<code xml>
<code xml>
   
   
<assign out="$vmbox" value="99"/>
<assign out="$vmbox" value=""/>
<lib-strcat string="$vmbox" string2="$cn" out-string="$vmbox"/>
<assign out="$vmnumber" value="825"/>
<lib-strcat out-string="$vmbox" string="$vmnumber" string2="$leg2"/>
<pbx-xfer e164="$vmbox" />
<pbx-fwd e164="$vmbox" sec="2" />
</code>
</code>

Revision as of 17:44, 11 January 2012

Summary

“Spoken presence” means that you take your smart phones and set activity (busy, vacation, meeting, lunch etc.) and time (when you are back).

This information will be replicated to the voicemail, so when you call the number you will get a spoken message when the person is back again. This is very good because you then always knows what the person is doing and he or she will be back again. This info is nice to have in a business context.

This script was tested with Opticaller Client inputs but could be used without Opticaller we only need to send the right DTMF inputs.

Applies To

This information applies to

  • All V9 PBX platforms


More Information

Problem Details

Opticaller GSM client permit us to set presence status using defined softkey and send DTMF value to the PBX with Time or Date value appended inserted by the user when uses this key.

This function should change the user Presence status and note at the innovaphone PBX and additionally provide a voice prompt to people that try to reach this user afterwards giving the time/date when he will be available and optionally transfer to Voicemail BOX if exists.

Note: This script could be used even without Opticaller Client, the user only needs to call to the spokenpresence VM object and dial the DTMF code manually.

System Requirements

The feature is based on an XML script typically installed on the compact flash. Of course it will work also on external Webserver server.

Installation

The installation is based on two steps, the first is to copy the right files and the second one is to set up the innovaphone PBX. Here is how:

Connect the CF as a network drive using the normal explorer option.

Make a new directory in your CF (ie. spokenpresence).

Copy the all XML file and the sound files (Download)in this directory (means: copy all the files of the innovaphone spoken presence in this directory).

Now create a new voicemail object (ie. Vm_SpokenPresence) in your PBX and give a number to this object (ie.830). This number will be the access code for the innovaphone Spoken Presence (the number to set the presence status and define the VoicePrompts). Insert the path of your previously created directory and the name of the XML File in the Script URL (spoken_presence.XML).

Example: http://172.16.0.10/DRIVE/CF0/spokenpresence/spoken_presence.xml 

In the example the created directory is spokenpresence (like the XML file name).

After we need to create a second voicemail object (ie. Vm_SpokenPrompts) and give a number (ie.831). This object is the CFU destination of the first Script when presence is set and provides the Voice prompts of is Presence Status and additionally transfer to Voicemail BOX if set.Insert the path of your previously created directory and the name of the XML File in the Script URL (spoken_prompts.XML).

Example: http://172.16.0.10/DRIVE/CF0/spokenpresence/spoken_prompts.xml 

Then we have to edit the spoken_presence.xml and to set the number of the Vm_SpokenPrompts Voicemail Object created before. We insert this in the line showed below:

<assign out="$spokenprompt" value="831"/>

Finally we have optionally possibility to transfer the call to the User innovaphone Voicemail BOX instead of disconnect after the Voice Prompt. For that we need to edit the spoken_prompts.xml in the end by deleting the:

<pbx-disc/>

We should delete the line "<pbx-disc/>". Insert the voicemail number in the value field and finally delete the "comment" lines it should like this in the end:


<assign out="$vmbox" value=""/> <assign out="$vmnumber" value="825"/>

<lib-strcat out-string="$vmbox" string="$vmnumber" string2="$leg2"/>

<pbx-fwd e164="$vmbox" sec="2" />

Note: In the example 99 is the number of the innovaphone Voicemail object.

Feature description for user

  • To use this manually we should call to Spoken VM Object, call will be connected in silence and then user should dial the DTMF code with code for Presence Type plus Time/Date info in total it will be 7 digits code.

Codes:

100 - Clear Presence

101 - Set Away (time)

102 - Set Busy (time)

103 - Set Lunch (time)

104 - Set meeting (time)

105 - Set vacation (date)

7 digit input to be accepted (code + Time hh:mm / Date mm:dd). Example: Set away = 1011900

101 Set Away state, 19:00 will be the time. Note/Voice Prompt: I'm away until 19:00.

To clear presence should be 100XXXX (X any digit, ie: 1000000).

  • The use this with Opticaller Client we should configure the Presence Keys with the codes like this:

Set Clear Presence

Spoken Presence with VoiceMail XML Script 4.png

Set Away Presence with Time

Spoken Presence with VoiceMail XML Script 1.png

Set Vacation Presence with Date

Spoken Presence with VoiceMail XML Script 3.png

Final

Spoken Presence with VoiceMail XML Script 2.png

Note: We can create more codes with new activities easily. Edit the VoicePrompts and notes.

Known Problems

  • When calling to spoken_presence.xml VM Object it's important to send 7 digits, call will be not disconnected until 7 digits be dialed.
  • When setting the Presence status we should call from our User, example if we call using Opticaller we are using mobility to reach the VM Object Number. This way the caller name it's the PBX User we want to set the Presence Status.

Download