I'm trying to use the "Transfer" element in CVP Call Studio but no luck.
What happens is that when the application is running is that the VVB triggers a SIP REFER to CVP, but CVP right away returns "488 Not Acceptable Here". No idea why.
Here is the SIP REFER message sent by the VVB:
REFER sip:+firstname.lastname@example.org:5060;transport=tcp SIP/2.0 Via: SIP/2.0/TCP 192.168.40.128:5060;branch=z9hG4bKIDM9ZWqCy+zTKBrBgg3i.w~~36 Max-Forwards: 70 To: <sip:+email@example.com:5060>;tag=ds5218fac5 From: <sip:firstname.lastname@example.org;transport=tcp>;tag=dsa3bdfa52 Call-ID: BD719A632BF611EABBCDAD6DF99E73FDemail@example.com CSeq: 1 REFER Content-Length: 0 Contact: <sip:firstname.lastname@example.org:5060;transport=tcp> Referred-By: <sip:email@example.com> Refer-To: <sip:firstname.lastname@example.org:5060> Allow: INVITE, INFO, BYE, CANCEL, ACK, UPDATE User-Agent: Cisco-VVB-12.0 Session-ID: 623F969B3F57D7800000AC971000016F;remote=ddaff7d817425515a3ff7eaded5d7d0a
I tried various ways to configure this element, but no luck. Here's the current configurations of this element:
Anyone had this issue before? I can't see any reason why CVP won't accept REFERs.
Please look at the following link: https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/customer_voice_portal/srnd/11_0/CCVP_BK_11366AC9_00_1101-design-guide/CCVP_BK_11366AC9_00_1101-design-guide_chapter_01110.html#CCVP_TP_V8797F3B_00.
Chapter "VoiceVXML Transfer" from the CVP documentation describes the transfer options available in CVP deployments. As far as I remember Transfer Element can only be used in CVP standalone deployments but not in ICM deployments. So, in my opinion, you are try to use an unsupported option. This seems to be confirmed by this doc.
If you are using CVP with UCCP/PCCE I think that what you can do is:
1. Pass the transfer word to ICM script via user.microapp.FromExtVXML table (as one of the elements - index 0)
2. Pass the transfer number to ICM script via user.microapp.FromExtVXML table (as one of the elements - index 1)
3. In ICM put if block that would check the if the value of the user.microapp.FromExtVXML against transfer word
4. If the call should be transferred - send it to the label node (set to "dynamic label" with the value set to user.microapp.FromExtVXML). At this point, you can use any type of the transfer supported by ICM (described in the mentioned document)
5. Add the dialed number to CVP config to let CVP know where to transfer the call (to SIP server group cucms.domain.lab).
Thanks for the reply.
So it is probably because I'm not using a standalone CVP environment.
Regarding the steps, I don't really understand the 2 first steps. Why are you setting the FromExtVXML variable and not the ToExtVXML? Do we need to use the Run External Script node in order to send it to CVP or there's something else here?
FromExtVXML and ToExtVXML are two variables that you use to pass the parameters between ICM Script and CVP: FromExtVXML is used to pass the parameters from CVP to ICM script, ToExtVXML is used to pass the value from ICM Script to CVP.
if the logic that selects the transfer number is deployed on the CVP side then you will need to pass it back to ICM script. Step 1 and 2 show the way how it can be achieved.
If you have a static number, you can focus on the ICM Script.
OK, I think that I understand the solution I need. What I never paid attention is when using label node and checking the "Enable target requery" it lets you to continue the script from the X of the node, there you can check the various requery statuses via the Call.RequeryStatus ICM variable, which is what I wanted to achieve using the CVP Transfer that also can know what happened with the call, if for example it experienced busy or no answer and etc.
To be honest, I've never used the requery variable Call.RequeryStatus to check the status of the transfer within the label node but it's worth to try. ( here are supported requery statuses: https://community.cisco.com/t5/contact-center/icm-router-requery/td-p/3227265).
In the deployments I did, I've used this option to define alternative routing for the call. Here is the example: the first label tries to perform a transfer using internal (on-net) infrastructure. If the transfer fails then the system tries to make this transfer via PSTN (of-net) infrastructure. If that fails, the customer receives the prompt to leave a request for contact.
And one last thing. The requery will not properly work if you will not define the requery option with timeout on the CVP Dialed numbers configuration. This is the mandatory thing that you need to to
What versions are you running? As mentioned by the other poster, the bridge transfer option using CVP in comprehensive for instance doesn't appear to be fully implemented until version 12.