cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
913
Views
5
Helpful
8
Replies

transferring calls using vteamTransfer

uzuluaga
Level 1
Level 1

Hi Guys, I'm trying to create a wx-cc header widget that uses the vteamTransfer agentContact API, to transfer a call to an entry point that plays an announcement.

 

We have created the entry point and I'm able to get the entry point details using the Desktop.agentContact.vteamList method, then when the agent is on an active call, I've created a button that calls the following code:

await Desktop.agentContact.vteamTransfer({
      interactionId, // interaction id for the current call
      data: {
          vteamId, // entry point id
          vteamType: "inboundentrypoint"
      }
    })

Unfortunately, the code above is throwing the following exception:

2022-04-25 16:06:59:672 ["agentx-services","Http request roundtrip time: https://aqm.prodeu1.ciscoccservice.com/aqm/v1/contact/969e0637-9525-4a5a-8b32-55c13fc67f62/vteamTransfer POST 47ms"]
build.umd.js:3030 Unhandled Promise rejection:  ; Zone: <root> ; Task: Promise.then ; Value: Error
    at new i (https://desktop.wxcc-eu1.cisco.com/app/chunks/vendors~app~.._.._node_modules_@i.a44f77b1.js:26111:13501)
    at Object.handle (https://desktop.wxcc-eu1.cisco.com/app/chunks/app~...6f52100e.js:3349:36)
    at AqmReqs.onMessage (https://desktop.wxcc-eu1.cisco.com/app/chunks/app~...6f52100e.js:3247:25)
    at https://desktop.wxcc-eu1.cisco.com/app/chunks/vendors~app~.._.._node_modules_@i.a44f77b1.js:26111:32432
    at Array.forEach (<anonymous>)
    at AqmNotifs.send [as onMessageSend] (https://desktop.wxcc-eu1.cisco.com/app/chunks/vendors~app~.._.._node_modules_@i.a44f77b1.js:26111:32421)
    at WebSocket.websocket.onmessage (https://desktop.wxcc-eu1.cisco.com/app/chunks/app~...6f52100e.js:3180:22)

But I can't work out what's going on. As a workaround I've used the blindTransfer method in order to transfer the call to a number that maps to the entrypoint and that works fine.

 

does anyone have an example that I could use to get vteamTransfers working?

 

regards,

 

Unai

 

 

 

1 Accepted Solution

Hi Unai,

 

I was able to test vteamTransfer with inboundentrypoint, and it works.  I can say with confidence its supported.
If its still not working for you, I would maybe double-check your interactionId.  You can always grab/verify it from the browser console/dev tools and plug it into your code while still on a call, for testing purposes.. etc....
Below is the code snippet that Im using as well as a snippet of the dev tools console....

// Initiate a transfer
  async transferToEP() {
    let interactionId = await this.getInfo();
    let response = await Desktop.agentContact.vteamTransfer({
      interactionId,
      data: {
        vteamId: "AXeMrO7Vwb-tZrANz1q_", // replace with your onw Queue
        vteamType: "inboundentrypoint"
      }
    });

    logger.info("myTransfer" + JSON.stringify(response));
  }



{"EP_ID":"c2812fe6-e81b-4dc4-9286-0e17fe645653","QMgrName":"aqm","QueueId":"6a130f33-97d7-46e6-a286-fc9ee6f34968","ROUTING_TYPE":"queueBasedRouting","ani":"+1nnnnnnnnnn","dnis":"+1nnnnnnnnn,"fceRegisteredEvents":"","mohFileName":"defaultmusic_on_hold.wav","priority":"10","routingStrategyId":"783c3b5a-8e31-43eb-b1a7-f20f49923511","taskToBeSelfServiced":"false","tenantId":"328","vteamId":"6a130f33-97d7-46e6-a286-fc9ee6f34968","workflowId":"626cabf3bb9ec16a540f21ab","workflowName":"test_v2_generic"},"contactDirection":{"type":"INBOUND"},"currentVTeam":"6a130f33-97d7-46e6-a286-fc9ee6f34968","interactionId":"1ca251b8-7050-42f6-b170-6518762a9098",

 

 

View solution in original post

8 Replies 8

Arunabh Bhattacharjee
Cisco Employee
Cisco Employee

Hi @uzuluaga 

 

We are investigating this and will respond with the example code shortly, 

Thank you for your patience.

 

Regards,

Arunabh.

hey Arunabh, 

 

did you have any luck with this or you didn't have a chance to look into it yet?

 

regards,

 

Unai

HI @uzuluaga ,

Sorry for delay.  Im going to try this out today.  I'll get back to you shortly.

regards,

Niko

HI @uzuluaga ,
I have escalated this to our Desktop group.  Waiting on them to give me some feedback.

thanks for you patience.

Regards,

Niko

Hello @uzuluaga ,
I was finally able to make this method work.  The one small difference is Im using inboundqueue as the vteamType.

Have you tried it with this type?  Or are you looking to use this method with inboundentrypoint?  Let us know on this subject.

The reason I bring it up is although the documentation references inboundentrypoint, if you look at the GUI of the Transfer,  only Queue is referenced?!   So I need to verify this aspect. 

If you are just looking to make this work regardless of the type... try inboundqueue.
Below is the sample code that worked for me.  The 3 items to make sure you pay extra attention to...

1. Using "await" as you are as its promise based.
2. Making sure you use the interactionId
3. using the inboundqueue 

// Initiate a transfer
  async transferToEP() {
    let interactionId = await this.getInfo();
    let response = await Desktop.agentContact.vteamTransfer({
      interactionId,
      data: {
        vteamId: "AXr39XRQDntNus7_q4r8", // replace with your onw Queue
        vteamType: "inboundqueue"
      }
    });

    logger.info("transfer: " + JSON.stringify(response));
  }




Hi Nico,

 

Thanks for that, we haven't tried the inboundqueue type since the requirement from the client is to simply play a message and disconnect the call so we were hoping to be able to transfer the call to an entrypoint with an announcement on it.

 

Did the entrypoint transfer work for you or do you know if it's supported? I believe I saw it on the documentation but not 100% sure, as a workaround we are currently using the blindtransfer method to send calls to the entrypoint DDI but vteamtransfer seems like a better option than the blindtransfer one hence the reason why we would like to ideally get it working.

 

regards,

 

Unai

Hello Unai,

Now that I got the inboundqueue to work, I will try ithe Transfer again using the entrypoint.  I should be able to get back to you within 24hrs.

regards,

Niko

Hi Unai,

 

I was able to test vteamTransfer with inboundentrypoint, and it works.  I can say with confidence its supported.
If its still not working for you, I would maybe double-check your interactionId.  You can always grab/verify it from the browser console/dev tools and plug it into your code while still on a call, for testing purposes.. etc....
Below is the code snippet that Im using as well as a snippet of the dev tools console....

// Initiate a transfer
  async transferToEP() {
    let interactionId = await this.getInfo();
    let response = await Desktop.agentContact.vteamTransfer({
      interactionId,
      data: {
        vteamId: "AXeMrO7Vwb-tZrANz1q_", // replace with your onw Queue
        vteamType: "inboundentrypoint"
      }
    });

    logger.info("myTransfer" + JSON.stringify(response));
  }



{"EP_ID":"c2812fe6-e81b-4dc4-9286-0e17fe645653","QMgrName":"aqm","QueueId":"6a130f33-97d7-46e6-a286-fc9ee6f34968","ROUTING_TYPE":"queueBasedRouting","ani":"+1nnnnnnnnnn","dnis":"+1nnnnnnnnn,"fceRegisteredEvents":"","mohFileName":"defaultmusic_on_hold.wav","priority":"10","routingStrategyId":"783c3b5a-8e31-43eb-b1a7-f20f49923511","taskToBeSelfServiced":"false","tenantId":"328","vteamId":"6a130f33-97d7-46e6-a286-fc9ee6f34968","workflowId":"626cabf3bb9ec16a540f21ab","workflowName":"test_v2_generic"},"contactDirection":{"type":"INBOUND"},"currentVTeam":"6a130f33-97d7-46e6-a286-fc9ee6f34968","interactionId":"1ca251b8-7050-42f6-b170-6518762a9098",