cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1983
Views
0
Helpful
12
Replies

CPA Answering Machine Detection and recorded message sent to the callers phone if not attend the outbound call

Roy_11
Spotlight
Spotlight

Hi Experts ,

 

We have outbound options , if customer doesn't pick the call and then we are sending recorded message to callers phone , this would happened because if node in ICM condition Call.BAResponse="CPA_AnswerMachine" i guess if i am not wrong. i guess once this condition matched we are sending the recorded message to callers phone is it right understanding? and after that BAResponse values are coming from gateway ? guys could you please help me on this 

 

 

Any help Highly appreciated !!!

1 Accepted Solution

Accepted Solutions

Thank you so much Omar deen , i will review the baDialer  logs 

View solution in original post

12 Replies 12

Omar Deen
Spotlight
Spotlight

Are you asking where is "CPA_AnswerMachine" coming from? The CPA result value is carried from the gateway to ICM.

Omar Deen
Spotlight
Spotlight

Let me break it down a little bit more. What the gateway is sending to the dialer is a status code, more specifically, an x-cisco-cpa status code used in SIP update messages.When the gateway detects calls with CPA, it'll notify the baDialer process through a series of messages, mainly using PRACKs (Provisional Response Acknowledgement). You'll see a bunch of stuff in your baDialer dumplog that mentioned a 183 SIP response, which essentially means more info on the call is gathering, then you'll see UAC_EarlyWithOffer, UAC_SentAnswer and UAC_Start... all part of the PRACK process. Anyways... you eventually get to the point where the gateway finally has a status code to send you, and it can be any one of the following:

FT = Fax/Modem Tone

Asm = Answer Machine

AsmT = Answer Machine Terminate Tone

LS = Live human speech

SitIC = SIT tone IC - Intercept - Vacant No. or AIS or so forth

SitNC = SIT tone NC - No Circuit, Emergency or Trunk Blockage

SitVC = SIT tone VC - Vacant Code

SitRO = SIT tone RO - Reorder Announcement

SitMT = Misc SIT Tone

CpaS = Start of CPA

LV = Low volume or dead air call

 

So for instance, on a Live Human Speech call, you'll see something like this in the baDialer log

SIP port: [017], station: [5555558817], state: [SIP_LINESTATE_CPA_START], CPAResult: [event=detectedstatus=LS
pickupT=690
maxActGlitchT=0
numActGlitch=0
valSpeechT=470
maxPSSGlitchT=0
numPSSGlitch=0
silenceP=1000
termToneDetT=0
noiseTH=1000
actTh=64000]

 

And for Answer Machine detection

SIP port: [019], station: [5555558819], state: [SIP_LINESTATE_CPA_START], CPAResult: [event=detectedstatus=Asm
pickupT=80
maxActGlitchT=110
numActGlitch=7
valSpeechT=590
maxPSSGlitchT=40
numPSSGlitch=2
silenceP=170
termToneDetT=0
noiseTH=1000
actTh=64000]

 

ICM makes this friendly with their BA.Response by using CPA_Voice and CPA_AnswerMachine

Hello Omar deen,

 

Appreciate your quick responses  , this will helpful for me ,in our environment CPA_AnswerMachine once this condition is matched in if node then we are sending Micro app  recorded message to callers phone . i am wondering how this process this happening can you please explain this bit and could you please guide me how to track this 

 

Thanks for prompt responses !!!!!

All that's happening is that the Play-Media (PM) microapp is playing a wav file from your CVP or dedicated Media Server. This is no different than an inbound caller hearing prompts as they navigate through the phone tree. Once that Outbound call hits the script, it's entirely up to you on how to route the call. You can very easily send a Live Speech call to that microapp if you wanted to - in fact, this happens all the time and see it a lot with doctor appointment reminders, pharmacy pick-ups, robocalls, etc...

Typically the way you would leverage the BA.Response condition is that if the call is CPA_AnswerMachine, play a message, if the call is CPA_Voice, send it to a live agent. But again, you can do it anyway you'd like.

Okay got it   i am with you , only one part i am not understanding how they are sending the rec-ordered message to callers phone if callers not respond to the outbound options. 

 

Thanks in advance 

We are assuming that the unanswered call is going to the callers voicemail box.

To be more technical...

During the CPA process when it detects Asm, there's a CPAAnalysisPeriod, and at the conclusion of that, CPA will declare this as an Answering Machine (voicemail). Then there's CPAMaxTermToneAnalysis which will listen for the "beep" or tone, and that tone will kick off a process that will redirect this call to a route point. In your campaign on the skill group selection tab, you'll find a setting for "After AMD and for transfer to IVR campaigns", this is where you would enter in your CTI Route Point (make sure its 10 digits).

I'll defer to Omar in case he has a better document, but also keep in mind that you may need to add some configuration points on the gateway to allow for this CPA/AMD detection.

Here's some examples.

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube/configuration/cube-book/voi-cube-cpa.html#reference_F25646AC42734DC99F1CF8762C8AE58D

Thanks Omar Deen and Bill Kill for the detailed info,

 

Based on above discussion my understanding is when AMD happened in the gateway,  then we are sending voicemail to caller's phone is it right ? just make sure i am on right track .

Below i have attached campaign configuration , its IVR based campaign.

       

Thank you guys for  keep supporting on this Appreciated .

Yes, it's a voicemail. That's why this is convenient. Detect voicemail and you can simply play a prompt, or a series of prompts. You can be fancy and add in some text to speech.

Omar thank you so much yeah i am on right track , can you please tell me which logs we would see the call flow of voicemail , i am eager to know the back-end process Once AMD detected and then how the voice mail flow is going to the callers  phone . this will helpful for us to complete the voicemail requirement . 

You can review the baDialer logs and couple that with the Dialer_Detail table. If you want to know what prompt was played, you can review the CVP logs or your RCD/TCD tables if you have the filename stored in a PV for a microapp. If you're using a VXML application, you can review the activity log

Thank you so much Omar deen , i will review the baDialer  logs