PureEngage On-Premises

 View Only

Sign Up

Expand all | Collapse all

how to transfer a call to IVR from IWS with attached data

  • 1.  how to transfer a call to IVR from IWS with attached data

    Posted 11-04-2015 07:04
    Hi,

    can anyone help me, I want to transfer a call to IVR from IWS with attached data. Call type should be consult transfer.

    Any one have its revelent guide or samples please share with me.

    Best Regards,
    Moiz


  • 2.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-04-2015 07:42
    Hi Moiz,

    If you want to transfer the call to the internal IVR with all attached data, make the transfer as direct transfer (SingleStepTransfer). As I know, the IWS uses always the "separate" mode on consult calls level. I think, you can find all information related to your topic/question within available documentations.

    Regards,
    --Jakub--


  • 3.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-04-2015 08:17
    Hi Jakub,

    Can you please provide a related doument. as i am unable to find a answer of my question in documents.  I will very thankfull to you if u  share a revelent document

    Best Regards,
    Moiz


  • 4.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-04-2015 08:49
    All is within "out-of-box" IWS/WDE with the role-based access. Try to read the deployment and user guide for IWS/WDE.


  • 5.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-05-2015 10:51
    Hi,
    please share some example or detialed document. Still i am searching and nothing find it.

    Regards
    Moiz


  • 6.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-05-2015 10:58
    And what exactly is not clear for you - how to make a transfer within IWS/WDE? How to use IWS/WDE functions is described very well within user-guide.


  • 7.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-05-2015 11:00
    How to transfer using IWS with attached data.  


  • 8.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-05-2015 11:15
    UserData are attached by the system automatically (in case, when you will use SingleStepTransfer). You are mixing things, which have not to do , together.


  • 9.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-05-2015 11:18

    I have created a button for transfer in InteractionVoiceCustomButtonRegion.
    But how to call that button and transfer the call? I am unable to find any solution



  • 10.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-05-2015 11:28
    In case, where you want to achieve all through customization (I do not see any reason for that), you have to call PSDK method for SingleStepTransfer. Read the PSDK documentation to find out to proper method.

    PS: Try to be more specific within your description, you did mentioned nothing about needs to make this through customization.


  • 11.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-05-2015 11:46
    I want to transfer a call from IWS to IVR to generate Authentication PIN. When call is transfered i have to pass some userdata through which IVR can generate PIN. I have deployed a IWS at agent side.
    Now i want some exampple or any revelant document from which i can get any help.

    Regards,
    Moiz


  • 12.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-05-2015 11:59
    As I said,In case, where the

    a) customized IWS is used - look for PSDK documentation and IWS dev guide
    b) out-of-box IWS is used - all is available by default, you do not have develop anything. All is described within DEP and USER guides.

    As was mentioned many times, you do not have do anything else then allow transfer calls within the role and just use standard transfer button to transfer the call to selected destination. All is achievable without any customization at all.

    Regards,
    --Jakub--


  • 13.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-11-2015 08:33
    To initiate a Single Step Transfer have a look at the WDE Developers Guide. There is a section called 'Use Customizable Commands'.

    You can use the 'InteractionVoiceSingleStepTransfer' command to initiate the transfer.

                if (interactionVoice1.IsItPossibleToInitTransfer)
                        {
                            chainOfCommand = this.commandManager.GetChainOfCommandByName("InteractionVoiceSingleStepTransfer");
                        }
                        if (chainOfCommand == null)
                        {
                            string text = "InteractionVoice Not IsItPossibleToInitTransfer";
                            log.Info(text);
                            return;
                        }
                        IDictionary<string, object> parameters = new Dictionary<string, object>();
                        parameters.Add("CommandParameter", interactionVoice1);
                        parameters.Add("Destination", "1234567890");
                        parameters.Add("Location", "");
                        parameters.Add("UserData", kvps);
                        parameters.Add("Reasons", null);
                        parameters.Add("Extensions", null);
                        chainOfCommand.Execute(parameters);

     


  • 14.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-11-2015 11:55
    I am using below Code on Button Clicked Event. But it doesnt work

      ICommandManager commandManager = container.Resolve<ICommandManager>();
                    
                     KeyValueCollection kvAttachedData = new KeyValueCollection();

                    if (IInteractionVoice.IsItPossibleToInitConference)
                    {
                        chainOfCommand = commandManager.GetChainOfCommandByName("InteractionVoiceSingleStepTransfer");
                    }
                    if (chainOfCommand == null)
                    {
                        string text = "InteractionVoice Not IsItPossibleToInitTransfer";
                        //log.Info(text);
                        return;
                    }

                    IDictionary<string, object> parameters = new Dictionary<string, object>();
                    parameters.Add("CommandParameter", IInteractionVoice);
                    parameters.Add("Destination", "7400");
                    parameters.Add("Location", "");
                    
                    parameters.Add("Reasons", null);
                    parameters.Add("Extensions", null);

                    
                    kvAttachedData.Add("Menu_Code","NEW_TPIN");
                    parameters.Add("UserData",kvAttachedData);

                    //commandManager.CommandsByName["InteractionVoiceSingleStepTransfer"].Insert(0, new CommandActivator() { CommandType = typeof(atm), Name = "ConferenceSingleStepNotepad" });
                    //commandManager.GetChainOfCommandByName("InteractionVoiceSingleStepTransfer").Execute(parameters);
                    chainOfCommand.Execute(parameters);


  • 15.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-11-2015 12:13
    You can do it on two ways.

     Using Commands Chain:

    IDictionary<string, object> parameters = new Dictionary<string, object>();
    parameters.Add("CommandParameter", Interaction); (Interaction to transfer, You can  retrieve it from InteractionManager)
    parameters.Add("Destination", destiny); (Routing Point o place of destination)
    parameters.Add("Location", null);
    parameters.Add("UserData", new KeyValueCollection());
    parameters.Add("Reasons", null);
    parameters.Add("Extensions", null);
    parameters.Add("SingleStepUserData", null);
    container.Resolve<ICommandManager>().GetChainOfCommandByName("InteractionVoiceSingleStepTransfer").Execute(parameters);

     Another way. Working directly with Plattform:

    Platform.Voice.Protocols.ConnectionId conid = new Platform.Voice.Protocols.ConnectionId(TConnectionID);
    string[] place = _agent.LoginDNs[0].Split('@'); (Origin PLace, your place)
    Genesyslab.Platform.Commons.Collections.KeyValueCollection kvc =new Genesyslab.Platform.Commons.Collections.KeyValueCollection();
    kvc.Add("COMMENT", "TryTo");
    RequestSingleStepTransfer rsst = RequestSingleStepTransfer.Create(place[0].ToString(), conid, destiny,"",kvc,kvc,kvc); (destiny)
    createChannel(_agent);           
    channel.Protocol.Send(rsst);
    destroyChannel(channel);
     


  • 16.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-12-2015 10:49
    When you say it does not work, can you explain a bit more, do you see any errors in the log files? Does it throw an exception? Have you run it in debug mode, if so where does it fail.

    For this line:
    parameters.Add("CommandParameter", IInteractionVoice);

    Are you using the IInteractionVoice object of the interaction that you want to transfer? to me it looks like you are not.


  • 17.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-12-2015 12:21
    I have Implemented try Catch block in this. But it didnt throw any exception. below is my Full Code which i had implemented on Button Click event




      try
                {
                    ICommandManager commandManager = container.Resolve<ICommandManager>();
                    
                     KeyValueCollection kvAttachedData = new KeyValueCollection();
                    if (IInteractionVoice.IsItPossibleToInitConference)
                    {
                        chainOfCommand = commandManager.GetChainOfCommandByName("InteractionVoiceSingleStepTransfer");
                        MessageBox.Show("1");
                    }
                    if (chainOfCommand == null)
                    {
                        string text = "InteractionVoice Not IsItPossibleToInitTransfer";
                        //log.Info(text);
                        MessageBox.Show("InteractionVoice Not IsItPossibleToInitTransfer");
                        return;
                    }

                    IDictionary<string, object> parameters = new Dictionary<string, object>();
                    parameters.Add("CommandParameter",IInteractionVoice);
                    parameters.Add("Destination", null);
                    parameters.Add("Location", null);
                    
                    parameters.Add("Reasons", null);
                    parameters.Add("Extensions", null);

                    
                    kvAttachedData.Add("Menu_Code","NEW_TPIN");
                    parameters.Add("UserData",kvAttachedData);


                    //container.Resolve<ICommandManager>().GetChainOfCommandByName("SingleStepTransfer").Execute(parameters);
                    
                    chainOfCommand.Execute(parameters);
                    MessageBox.Show("Executed");



                }
               
                               
                catch (Exception ex)
                {
                    MessageBox.Show("Error -->  "+ ex.Message + "||  " +ex.StackTrace);

                }


  • 18.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 11-12-2015 13:56
    Do you see anything in the log file that would indicate why the transfer failed?
     


  • 19.  RE: how to transfer a call to IVR from IWS with attached data

    Posted 07-10-2017 15:00
    I am into the similar issue using conference, I doubt how you are able to pass an interface as parameter, "parameters.Add("CommandParameter",IInteractionVoice);"
    I am assuming we have to pass an object of IInteractionVoice type, such as interactionVoice. But my problem is if I need to pull an active interaction through Interaction Manager as below:
    object interactionVoice = container.Resolve<IInteractionManager>().Interactions;
    This interactionVoice is of type IInteraction and if I pass this object as parameter to "CommandParameter". I see it this message in workspace logs "SingleStepConferenceCommand, no available interactionVoice". Can anyone please help out what could be done in this situation or what is the object that should be passed to the Command Parameter in order for the chainofcommand to recognize the interactionVoice and does not retain null value upon execution?