DNIS definition

Discussion in 'CRM / Helpdesk / App Integration' started by millsey, Feb 13, 2013.

Thread Status:
Not open for further replies.
  1. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    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
     
  2. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    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.
     
  3. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    0
    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.
     
  4. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    I will check it, not sure if that has changed, but when I tested it in the past the behavior was different.
     
  5. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    0
    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.
     
  6. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    0
    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
     
  7. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    0
    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
     
  8. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    0
    If I set a global variable orig_dnis can I set its default value to be $session.dnis and it be passed through?
     
  9. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    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.
     
  10. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    0
    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?
     
  11. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    0
    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>
     
  12. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    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,
     
  13. millsey

    millsey New Member

    Joined:
    Dec 21, 2011
    Messages:
    190
    Likes Received:
    0
    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?
     
  14. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    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...
     
Thread Status:
Not open for further replies.