VoiceGuide IVR Software Main Page
Jump to content

Changing Order Of Voicemail Message Playback

Recommended Posts

Hi, I was hoping someone could help me out with a configuration change we need to make to our voicemail system.

 

Currently the voicemail system plays back the latest message first and then works backwards to the oldest message. This is a problem for us as we are using voiceguide as an ordering system and older messages are in danger of being lost. I have seen the following in the vmLogin.vbs file:

 

function VmMsgList_Create(sVmbId, sMsgType, iOrder)

'Parameters:

'sVmbId voicemailbox number

'sMsgType "1"=new, "2"=saved

'iOrder 1=newest first, 2=oldest first this is not currently implemented.

 

and, just in case the "not currently implemented" part was out of date, did try changing the iOrder flag to "2" but no luck.

 

We are currently running a slightly older version of Voiceguide and were going to upgrade to the latest 6.0.3310 release this weekend but unfortunately the download server appears to be down at the time of writing.

 

Does anyone know if this function been implemented in the latest release or, if not, if there is any workaround to this problem as it is becoming a serious issue for us.

 

Thanks in advance for your help,

Steve.

 

P.S. - we do have another outstanding issue which we received some feedback on a few weeks ago. Unfortunately as this is a 24/7 production system we have had to wait until now to schedule some downtime to do the upgrade. Anything that requires installing new software rather than just updating the scripts is going to take a while for this reason.

Share this post


Link to post
were going to upgrade to the latest 6.0.3310 release this weekend but unfortunately the download server appears to be down at the time of writing.

The download should now work.

 

Does anyone know if this function been implemented in the latest release or, if not, if there is any workaround to this problem as it is becoming a serious issue for us.

Please update system with attached vmLogin.vgs

Attached vmLogin plays messages oldest first.

You will need to have the Enterprise (or Evaluation) version of VG to use this updated version.

 

The changes were simple so we did not test the scripts. Scripts are based on those supplied with v6.0.3310. Please let us know if you have any problems.

 

This new .vgs has the VmMsgList_Create calls changed to specify "2" for the order.

 

Below are the changes that were made to the VmMsgList_Create and DirFind_DelimList functions (in bold).

(changes to VmMsgList_Create and DirFind_DelimList functions need to be made in 3 places thoughout the .vgs file)

 

 

'************************************************************

'VmMsgList_Create(sVmbId, sMsgType, iOrder)

'

'creates a ";" delimited list of all messages for the

'specified voicemail box.

'************************************************************

function VmMsgList_Create(sVmbId, sMsgType, iOrder)

'Parameters:

'sVmbId voicemailbox number

'sMsgType "1"=new, "2"=saved

'iOrder 1=newest first, 2=oldest first

 

dim sMsgMatch, sFileList

 

'VG.Admin_TraceLogAdd iLineId, 3, "VmMmMenu VmMsgList_GetList(" & sMsgType & ", " & iOrder & ")"

 

sMsgMatch = sVmMsgCurr_Path & sVmbId & "_??????????_" & sMsgType & "_*.wav"

 

sFileList = DirFind_DelimList(sMsgMatch, iOrder)

if sFileList = "" then

if sMsgType = "1" then

VG.Vm_Event iLineId, "MSG_NONEWMSGS", sVmbId, "", "", ""

else

VG.Vm_Event iLineId, "MSG_NOSAVEDMSGS", sVmbId, "", "", ""

end if

end if

 

VmMsgList_Create = sFileList

 

end function

 

 

'************************************************************

'DirFind_DelimList(sPattern)

'

'Finds all files matching the supplied regular expression

'template and returns a lixst containing the filenames only

'(no path) delimited by ";"

'************************************************************

 

Function DirFind_DelimList(sPattern, iOrder)

' to convert a dir-style wildcard expression (like "*123.t?t") to a regexp style regular expression,

' we make the following changes:

' replace(".", "\.") ' make it literal

' replace("*", ".*") ' one or more of any character

' replace("?", ".") ' any single character

' add "^" to front, add "$" to end of pattern ( to keep, as an example, "*.txt" from matching "temp.txt.tmp")

 

Dim oRE, fso, oFolder, oFile, sFolder, iSlash, sNames, sDelim

 

Set fso = createobject("Scripting.FileSystemObject")

Set oRE = new RegExp

oRE.IgnoreCase = True ' just in case

 

' peel the folder off first

iSlash = InstrRev( sPattern, "\")

If iSlash <> 0 Then

sFolder = Left( sPattern, iSlash)

sPattern = Right( sPattern, Len(sPattern) - iSlash)

Else

sFolder = ""

End If

 

Set oFolder = fso.GetFolder(sFolder)

 

oRE.Pattern = "^" & replace(replace(replace(sPattern,".","\."),"*",".*"),"?", ".") & "$"

 

iVmMsgList_Count = 0

'iterate the files in the folder, testing each

For each oFile in oFolder.Files

If oRE.Test(oFile.Name) Then

sNames = sNames & sDelim & oFile.Name

sDelim = ";"

iVmMsgList_Count = iVmMsgList_Count + 1

End If

Next

 

if iOrder = 1 then

'now flip the list over to have newest message first.

if iVmMsgList_Count > 1 then

Dim arrNames

sDelim = ""

arrNames = split(sNames , ";")

for iArrNamesIdx = 0 to iVmMsgList_Count - 1

sNames_Reversed = sNames_Reversed & sDelim & arrNames(iVmMsgList_Count - 1 - iArrNamesIdx)

sDelim = ";"

next

sNames = sNames_Reversed

end if

else

'leave as they were - oldest first.

end if

 

Set fso = Nothing

Set oRE = Nothing

 

'return just the delimited list

DirFind_DelimList = sNames

 

End Function

vmLogin.vgs

Share this post


Link to post

Thanks for the quick reply, as soon as I can negotiate some downtime I'll backup the old script and give this one a go.

 

Have I mentioned that the support you give this product makes many, MANY other companies look absolutely pathetic in comparison?

 

Regards,

Steve.

Share this post


Link to post

Yep, that seems to work, thank you very much indeed. We're going to be processing a few hundred messages in the next week or so, that should give a decent indication if there's any glitches.

 

Also, thank you for fixing the download server, I now have 6.0.3310 downloaded and ready to be installed as soon as we get a suitable slot arranged with the client. One question, is it a simple case of back up the existing installation, run the new exe file, copy back any changed script files and that's it? Or will we need to redo the initial configuration to, for example, select the right scripts for the right lines etc?

 

Thanks,

Steve.

Share this post


Link to post
is it a simple case of back up the existing installation, run the new exe file, copy back any changed script files and that's it? Or will we need to redo the initial configuration to, for example, select the right scripts for the right lines etc?

You would need to restore the Config.xml and ConfigLine.xml as well.

If you're not sure, just back up the entire VoiceGuide subdirectory (in Program Files) before proceeding with the uninstall of the existing version.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×