cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1166
Views
10
Helpful
4
Replies

CFNA to IVR in CUC with option to leave a voice mail to original called number - Solved

Hi,

I have a somewhat tricky request from one of our sites, they want to have the option to do CFNA to something that plays an IVR to the caller that does like the below picture.

IVR call flow

The thing that has me stumped is the IVR part in the second step of the picture.

I have tried to build this in CUC, the two parts that has proven difficult is the to have the call forwarded to VM for the original called party (problem 1) after a timeout of for example 10 seconds (problem 2). No matter how I play around with settings on various parts in CUC it goes to the Opening Greeting if I don't press any key.

I have looked around some and found this post that covers the delay/timeout part, https://supportforums.cisco.com/discussion/11311101/unity-connection-system-call-handler-caller-input-timeout-setting-after-standard. But no matter what I do there is no delay after the greeting is played to let the caller press 1, it immediately goes to the next step of the configuration. See below output from port monitor tool.


Caller do not press 1
12:38:37, New Call, CalledId=89466000,  RedirectingId=4660010,  AltRedirectingId=,  Origin=16,  Reason=4,  CallGuid=AA468A698A7646C3ABBBF72EC7A006BA,  CallerName=Kallberg Roger,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=4,  PortDisplayName=SELUCUCM-SIP-1-003,[Origin=Unknown],[Reason=Forward No Answer]
12:38:37, Changed the current search by extension search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
12:38:37, Changed the current search by name search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
12:38:37, PHTransfer
12:38:37, State - PHTransfer.cde!LoadInfo
12:38:37, Event is [TrueEvent]
12:38:37, PHGreeting
12:38:37, State - PHGreeting.cde!PlayGreeting
12:38:37, Call answered if needed
12:38:37, Playing greeting for Call Handler:  SELU NUC Test IVR

12:38:42, No DTMF received
12:38:42, Event is [NULL]
12:38:42, PHTransfer
12:38:42, State - PHTransfer.cde!LoadInfo
12:38:42, Event is [TrueEvent]
12:38:42, PHGreeting
12:38:42, State - PHGreeting.cde!PlayGreeting
12:38:42, Call answered if needed
12:38:42, Playing greeting for Call Handler:  SELU NUC Test to VM
12:38:42, No DTMF received
12:38:42, Event is [NULL]
12:38:42, Changed the current search by extension search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
12:38:42, Changed the current search by name search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
12:38:42, AttemptForward
12:38:42, State - AttemptForward.cde!Dummy
12:38:42, Event is [NULL]
12:38:42, Changed the current search by extension search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
12:38:42, Changed the current search by name search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
12:38:42, PHTransfer
12:38:42, State - PHTransfer.cde!LoadInfo
12:38:42, Event is [TrueEvent]
12:38:42, PHGreeting
12:38:42, State - PHGreeting.cde!PlayGreeting
12:38:42, Call answered if needed
12:38:42, Playing greeting for Call Handler:  Opening Greeting
12:38:57, No DTMF received
12:38:58, Event is [NULL]
12:38:58, PHTransfer
12:38:58, State - PHTransfer.cde!LoadInfo
12:38:58, Event is [TrueEvent]
12:38:58, PHGreeting
12:38:58, State - PHGreeting.cde!PlayGreeting
12:38:58, Call answered if needed
12:38:58, Playing greeting for Call Handler:  Operator
12:39:04, Event is [HangupEvent]
12:39:04, State - PHGreeting.cde!DoHangup
12:39:04, Event is [HangupEvent]
12:39:04, Idle

I have followed the setup as from @atlascopconetwork in this post, with the after greeting action set to "Route From Next Call Routing Rule" on my second call handler. So my setup is pretty much like this.

Call handler SELU NUC Test IVR greeting configuration, we have "Callers Hear: My Personal Recording", then "During Greeting -> Times to Re-prompt Caller "0" -> Delay Between Re-prompts* "10", then "After Greeting -> Call Handler "SELU NUC Test to VM" with the above described after greeting action.

Right now I'm leaning towards that I will need to add a moment of silence at the end of the recording to give the caller the feel of a timeout before the next step is carried out, but that will not solve my other problem that the call isn't sent to the original called number voice mail if no selection is made as it end up in the opening greeting instead of matching the original callers voice mail.

For your reference we're on Cisco Unity Connection version: 10.5.2.11900-3

I hope that someone will be able to guide me in the right direction for how to, if possible to achieve this.

Sincerely

Roger



Response Signature


2 Accepted Solutions

Accepted Solutions

Vivek Batra
VIP Alumni
VIP Alumni
Call handler SELU NUC Test IVR greeting configuration, we have "Callers Hear: My Personal Recording", then "During Greeting -> Times to Re-prompt Caller "0" -> Delay Between Re-prompts* "10", then "After Greeting -> Call Handler "SELU NUC Test to VM" with the above described after greeting action.

AFAIK since you've configured 'Times to Re-prompt Caller "0", 10 second delay won't be applicable and call will immediately go to next step. Change the 'Times to Re-prompt Caller' from 0 to 1 and see if you its server your requirement.

 

 

 

View solution in original post

Hi Vivek,

Although that sounds like it would work it's a bit daunting with all the changes that would be needed as your suggestion sounds like it's a per user (subscriber) change. My goal is to make this a one stop change.

I did some more tests and alteration to the setup and I think I manged to get it to work with this setup.

Call handler SELU NUC Test IVR greeting configuration, "Callers Hear: My Personal Recording", then During Greeting -> Times to Re-prompt Caller "0" -> Delay Between Re-prompts* "2" (ie default settings to send the call to the next CH immediately) -> "After Greeting -> Send to greeting of Call Handler "SELU NUC Test to VM" -> "Callers Hear: Nothing" -> Times to Re-prompt Caller "1" -> Delay Between Re-prompts* "10" -> "After Greeting -> Call Action "Route From Next Call Routing Rule"

The first CH has the instruction to press 1 or hold and the second creates the timeout by re prompting 1 time with a delay of 10 seconds. The second CH also holds the Caller Input setting to capture press 1. The reason for this style of setup with two CH is that I don't want to have the press1 or hold instruction repeated and it would do that if the re prompt was set to 1 on the first CH.

 

Capture from port monitor for the above call flow

05:08:56, New Call, CalledId=89466001,  RedirectingId=4660011,  AltRedirectingId=,  Origin=16,  Reason=4,  CallGuid=CEB8DE555026425A8F067D24C326BF24,  CallerName=Kallberg Roger,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=4,  PortDisplayName=SELUCUCM-SIP-1-006,[Origin=Unknown],[Reason=Forward No Answer]
05:08:56, Changed the current search by extension search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
05:08:56, Changed the current search by name search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
05:08:56, PHGreeting
05:08:56, State - PHGreeting.cde!PlayGreeting
05:08:56, Call answered if needed
05:08:56, Playing greeting for Call Handler:  SELU NUC Test IVR
05:09:01, No DTMF received
05:09:01, Event is [NULL]
05:09:01, PHGreeting
05:09:01, State - PHGreeting.cde!PlayGreeting
05:09:01, Call answered if needed
05:09:01, Playing greeting for Call Handler:  SELU NUC Test to VM
05:09:11, No DTMF received
05:09:11, Playing greeting for Call Handler:  SELU NUC Test to VM
05:09:11, No DTMF received
05:09:11, Event is [NULL]
05:09:11, Changed the current search by extension search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
05:09:11, Changed the current search by name search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
05:09:11, AttemptForward
05:09:11, State - AttemptForward.cde!Dummy
05:09:11, Event is [NULL]
05:09:11, PHTransfer
05:09:12, State - PHTransfer.cde!LoadInfo
05:09:12, Event is [TrueEvent]
05:09:12, PHGreeting
05:09:12, State - PHGreeting.cde!PlayGreeting
05:09:12, Call answered if needed
05:09:12, Playing greeting for Subscriber:  Kallberg Roger
05:09:20, Event is [HangupEvent]
05:09:20, State - PHGreeting.cde!DoHangup
05:09:20, Event is [HangupEvent]
05:09:20, Idle

I'm pretty sure I did try this before without getting to the original called VM, but I might have got lost en route with all the various test and scenarios I have tried out. However there is still one small snag, if I have the system default VM profile set on the original called DN it doesn't use the VM profile that I have set on the CTI RP to be able to capture the call with a forward routing rule to send it to the first call handler. Not sure why this happens, think I need to dig further into the traces in CUC to figure out what happens.

 

Update: I managed to figure out how to get around the last problem with the VM profiles. It turned out that no new VM profile is needed, instead I set the CFA on the line that is to use this function to number 89466001. This is a RP that points to the CUC SIP trunk and will triggers the described routing rule to send the call to the CH construct.

 

Thanks again for your effort to help.

Sincerely

Roger



Response Signature


View solution in original post

4 Replies 4

Vivek Batra
VIP Alumni
VIP Alumni
Call handler SELU NUC Test IVR greeting configuration, we have "Callers Hear: My Personal Recording", then "During Greeting -> Times to Re-prompt Caller "0" -> Delay Between Re-prompts* "10", then "After Greeting -> Call Handler "SELU NUC Test to VM" with the above described after greeting action.

AFAIK since you've configured 'Times to Re-prompt Caller "0", 10 second delay won't be applicable and call will immediately go to next step. Change the 'Times to Re-prompt Caller' from 0 to 1 and see if you its server your requirement.

 

 

 

Hi Vivek,

Your absolutely correct, that took care of the timeout issue. I guess I miss-read the post I linked to. Now my call flow in CUC looks like this.

Call handler SELU NUC Test IVR greeting configuration, "Callers Hear: My Personal Recording", then "During Greeting -> Times to Re-prompt Caller "0" -> Delay Between Re-prompts* "2" (ie default settings to send the call to the next CH immediately) -> "After Greeting -> Send to greeting of Call Handler "SELU NUC Test to VM" -> Times to Re-prompt Caller "1" -> Delay Between Re-prompts* "10" -> "After Greeting -> Attempt transfer of Call Handler "SELU NUC Test to VM" -> Transfer Rule to send call back to CM -> CTI RP with CFA set to VM. 

The last part was made in an attempt to get to the original called number VM. That didn't work as the RDNIS changed to the number of the second call leg, as expected really.

 

With call loop and new VM profile (89466001)
Call leg 1
11:33:47, New Call, CalledId=89466001,  RedirectingId=4660011,  AltRedirectingId=,  Origin=16,  Reason=4,  CallGuid=31D59CFFF03A48A8B243B2C7DF95C338,  CallerName=Kallberg Roger,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=4,  PortDisplayName=SELUCUCM-SIP-1-027,[Origin=Unknown],[Reason=Forward No Answer]
11:33:47, Changed the current search by extension search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
11:33:47, Changed the current search by name search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
11:33:47, PHGreeting
11:33:47, State - PHGreeting.cde!PlayGreeting
11:33:47, Call answered if needed
11:33:47, Playing greeting for Call Handler:  SELU NUC Test IVR
11:33:52, No DTMF received
11:33:52, Event is [NULL]
11:33:52, PHGreeting
11:33:52, State - PHGreeting.cde!PlayGreeting
11:33:52, Call answered if needed
11:33:52, Playing greeting for Call Handler:  SELU NUC Test to VM
11:33:52, No DTMF received
11:33:52, Event is [NULL]
11:33:53, PHTransfer
11:33:53, State - PHTransfer.cde!LoadInfo
11:33:53, Answer Phone if needed
11:33:53, Event is [FalseEvent]
11:33:53, State - PHTransfer.cde!CheckPlayTransferIntro
11:33:53, Event is [FalseEvent]
11:33:53, State - PHTransfer.cde!XferCall
11:33:53, Event is [HangupEvent]
11:33:53, State - PHTransfer.cde!DoHangUp
11:33:53, Event is [HangupEvent]
11:33:53, Idle


Call leg 2
11:33:53, New Call, CalledId=89466000,  RedirectingId=4660012,  AltRedirectingId=,  Origin=16,  Reason=4,  CallGuid=8C51D67EDCFA4113871263AAC7A7A2CB,  CallerName=Kallberg Roger,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=4,  PortDisplayName=SELUCUCM-SIP-1-015,[Origin=Unknown],[Reason=Forward No Answer]
11:33:53, Changed the current search by extension search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
11:33:53, Changed the current search by name search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
11:33:53, AttemptForward
11:33:53, State - AttemptForward.cde!Dummy
11:33:53, Event is [NULL]
11:33:53, Changed the current search by extension search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
11:33:53, Changed the current search by name search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
11:33:53, PHTransfer
11:33:53, State - PHTransfer.cde!LoadInfo
11:33:53, Event is [TrueEvent]
11:33:53, PHGreeting
11:33:53, State - PHGreeting.cde!PlayGreeting
11:33:53, Call answered if needed
11:33:53, Playing greeting for Call Handler:  Opening Greeting

11:34:05, Event is [HangupEvent]
11:34:05, State - PHGreeting.cde!DoHangup
11:34:05, Event is [HangupEvent]
11:34:05, Idle

The second CH now holds the Caller Input part, ie press 1 to get to... , that part works as expected. Now I "only" have to figure out how to bypass CUC rather rigid call routing to get to the point where the caller can leave a voice mail to the original called number. :)

Thanks for the help so far, much appreciated.

Sincerely

Roger



Response Signature


Hi Roger,

With the flow chart you shared in your initial post and if I understand your requirement correctly, do you really need to take the call to next call handler?

I see your call flow as follows;

Caller dials the DN say 1001. Call forward No Answer is set and if 1001 doesn't answer in 10 seconds, call is forwarded to VM Pilot say 2222. This call will now hit the mailbox of 1001 in CUC.

Now you play the opening greeting of 1001 like 'Please hold to go to Voicemail or dial 1 to reach member'.

Here you put 'Times to Re Prompt Caller' value to 1 and delay of say 10 seconds. Also you put the 'Caller Input' value of '1' which will redirect the call to Hunt Pilot say 3333.

Under after Greeting section, put the 'Call Action' to 'Take Message', so that if caller doesn't dial any digit for 10 seconds, call will directly go to 1001 mailbox.

In the meanwhile, if caller dials 1, CUC will transfer the call to Hunt Pilot viz 3333 and you can put the line members as per your requirement. If none of the member answers the call, you can give the final destination (like mobile number) for No Reply condition under Hunt Pilot.

Do you see it servers you requirement.

Thanks

Hi Vivek,

Although that sounds like it would work it's a bit daunting with all the changes that would be needed as your suggestion sounds like it's a per user (subscriber) change. My goal is to make this a one stop change.

I did some more tests and alteration to the setup and I think I manged to get it to work with this setup.

Call handler SELU NUC Test IVR greeting configuration, "Callers Hear: My Personal Recording", then During Greeting -> Times to Re-prompt Caller "0" -> Delay Between Re-prompts* "2" (ie default settings to send the call to the next CH immediately) -> "After Greeting -> Send to greeting of Call Handler "SELU NUC Test to VM" -> "Callers Hear: Nothing" -> Times to Re-prompt Caller "1" -> Delay Between Re-prompts* "10" -> "After Greeting -> Call Action "Route From Next Call Routing Rule"

The first CH has the instruction to press 1 or hold and the second creates the timeout by re prompting 1 time with a delay of 10 seconds. The second CH also holds the Caller Input setting to capture press 1. The reason for this style of setup with two CH is that I don't want to have the press1 or hold instruction repeated and it would do that if the re prompt was set to 1 on the first CH.

 

Capture from port monitor for the above call flow

05:08:56, New Call, CalledId=89466001,  RedirectingId=4660011,  AltRedirectingId=,  Origin=16,  Reason=4,  CallGuid=CEB8DE555026425A8F067D24C326BF24,  CallerName=Kallberg Roger,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=4,  PortDisplayName=SELUCUCM-SIP-1-006,[Origin=Unknown],[Reason=Forward No Answer]
05:08:56, Changed the current search by extension search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
05:08:56, Changed the current search by name search space from <No scope> to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
05:08:56, PHGreeting
05:08:56, State - PHGreeting.cde!PlayGreeting
05:08:56, Call answered if needed
05:08:56, Playing greeting for Call Handler:  SELU NUC Test IVR
05:09:01, No DTMF received
05:09:01, Event is [NULL]
05:09:01, PHGreeting
05:09:01, State - PHGreeting.cde!PlayGreeting
05:09:01, Call answered if needed
05:09:01, Playing greeting for Call Handler:  SELU NUC Test to VM
05:09:11, No DTMF received
05:09:11, Playing greeting for Call Handler:  SELU NUC Test to VM
05:09:11, No DTMF received
05:09:11, Event is [NULL]
05:09:11, Changed the current search by extension search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
05:09:11, Changed the current search by name search space from 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d}) to 'selucuc01 Search Space' ({e36e7556-60bf-4a16-bb01-619983ef893d})
05:09:11, AttemptForward
05:09:11, State - AttemptForward.cde!Dummy
05:09:11, Event is [NULL]
05:09:11, PHTransfer
05:09:12, State - PHTransfer.cde!LoadInfo
05:09:12, Event is [TrueEvent]
05:09:12, PHGreeting
05:09:12, State - PHGreeting.cde!PlayGreeting
05:09:12, Call answered if needed
05:09:12, Playing greeting for Subscriber:  Kallberg Roger
05:09:20, Event is [HangupEvent]
05:09:20, State - PHGreeting.cde!DoHangup
05:09:20, Event is [HangupEvent]
05:09:20, Idle

I'm pretty sure I did try this before without getting to the original called VM, but I might have got lost en route with all the various test and scenarios I have tried out. However there is still one small snag, if I have the system default VM profile set on the original called DN it doesn't use the VM profile that I have set on the CTI RP to be able to capture the call with a forward routing rule to send it to the first call handler. Not sure why this happens, think I need to dig further into the traces in CUC to figure out what happens.

 

Update: I managed to figure out how to get around the last problem with the VM profiles. It turned out that no new VM profile is needed, instead I set the CFA on the line that is to use this function to number 89466001. This is a RP that points to the CUC SIP trunk and will triggers the described routing rule to send the call to the CH construct.

 

Thanks again for your effort to help.

Sincerely

Roger



Response Signature