• V20: 3CX Re-engineered. Get V20 for increased security, better call management, a new admin console and Windows softphone. Learn More.

DNIS definition

Status
Not open for further replies.

millsey

Premier Customer
Joined
Dec 21, 2011
Messages
208
Reaction score
0
Hi,

the variable DNIS inside a call flow, does this represent the FIRST internal number used within a given call?

So if a DDI points to Digital Receptionist 001 which is a VAD flow, that VAD flow calls another Digital Receptionist 002, does the DNIS variable equal to 001 in both flows? And is this the same for non-VAD digital receptionists?

Thanks
Millsey
 
The session.dnis variable contains the destination of the current call, that is the extension where the VAD callflow is registered. If the call passes between multiple VAD callflows, then each part of the call will have a different value for session.dnis, and the value will be the VAD callflow extension.
 
I dont think that is correct.

I have a standard digital reception on 001 which plays a vav, then has a timeout of 0 to dial another Digital Receptionist, this time a VAD on 905.

The DNIS value within the VAD flow is 001 not 905.
 
I will check it, not sure if that has changed, but when I tested it in the past the behavior was different.
 
OK I just tested this, created a new VAD 008 which simply transfers to 905

Within 905, teh DNIS is given as 905. So you are correct for VAD, and for a standard simple DR, we are given the original DR number.
 
So a way around this is to have all the flows built within a single project and have a global variable for that project, when the first call flow is called then put the DNIS into the global variable, then we can read it back later...

Millsey
 
When creating the flow, am I right in thinking if we transfer to another flow within the same project, the user input buffer will be cleared?

Millsey
 
If I set a global variable orig_dnis can I set its default value to be $session.dnis and it be passed through?
 
When you transfer the call, the user input buffer will be cleared, but also all the project variables will be cleared. In different calls the project wide variables are different instances, so the values are not passed between calls.
 
That is frankly awful, and is not in keeping with OO programming. Is there any way to jump between flows without it being a new session?
 
I cannot use a component becuase the _prefix.vxml does not get the required document type tag.

<?xml version="1.0" encoding="UTF-8"?>

is missing:

<vxml version="2.0" application="Root_FletchersFeb13.vxml">
<catch event="error.semantic">
<assign name="project$_CurrentErrorName$" expr="_event" />
<assign name="project$_CurrentErrorDescription$" expr="(_message == undefined ? '' : _message)" />
<goto next="Feb13_016_ErrorHandler.vxml" />
</catch>
<error>
<assign name="project$_CurrentErrorName$" expr="_event" />
<goto next="Feb13_016_ErrorHandler.vxml" />
</error>
<catch event="connection.disconnect telephone.disconnect">
<goto next="Feb13_016_DisconnectHandler.vxml" />
</catch>
<form>
<block>
<var name="application.selfserve_NextComponentUri$" expr="'Feb13_016_MF_doSelfServeComponent_Suffix.vxml'" />
<var name="application.selfserve_NextErrorHandlerUri$" expr="'Feb13_016_ErrorHandler.vxml'" />
<var name="application.selfserve_NextDisconnectHandlerUri$" expr="'Feb13_016_DisconnectHandler.vxml'" />
<goto next="selfserve.vxml" />
</block>
</form>
</vxml>
 
From the VAD point of view, each call is different, so it can't take state from a previous call. The callflow doesn't know which is the previous call, so there is no way to keeo the state between calls automatically. You need to store the information you need somewhere, for example into a database, and then reload it when the second call starts.

In regards to the bug of the document type tag, it has been fixed in the latest release we did (Version 3 Build 3853, on December 7th, 2012). Please check if you're running that version or download the latest version from here:
http://www.3cx.com/downloads/3CXVAD3.msi

Regards,
 
Ok that bug fix for the XML tag is actually a great help for me now and I am putting the shared part into a component and it appears to work as I had hoped. I was not aware that this new build had been released, it was not announced. Were there any other fixes since the last release?
 
This is the change log:
http://www.3cx.com/blog/change-log/vad-change-log/

Not sure why it was not announced, there is usually a blog post about every release...
 
Status
Not open for further replies.

Getting Started - Admin

Latest Posts

Forum statistics

Threads
141,631
Messages
748,959
Members
144,746
Latest member
gamingpro2131
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.