We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics

outbound TRANSFER TO ANSWERING mACHINE

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
sbaraian
Posts: 18
Joined: Tue Oct 21, 2008 9:55 am

outbound TRANSFER TO ANSWERING mACHINE

Post by sbaraian »

I have an issue with outbound calls, the scenario is like this:
1) call the operator
2)operator picks up
3)transfer to a member

everithing works fine except if the member does not pick up, and the answering machine kicks in. The ioperator gets, member did not answer, but i would like to actualy go to the ansering machine of the member. I hope I make sense.

Thanx

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Clarification needed for issues with IVR outbound calls

Post by support »

Hi,

Could you provide some additional IVR context as to what you would like to do? This would help us in better understanding your IVR issue.

Regards,
Plum Support
Last edited by support on Wed Feb 17, 2010 11:39 am, edited 2 times in total.

sbaraian
Posts: 18
Joined: Tue Oct 21, 2008 9:55 am

Post by sbaraian »

Bellow is the code of start_url. As of now if nobody picks up 2122222222, and goes to voicemail, the system returns no answer, instead of connecting to the answering machine. How can I change this behavior?

<?xml version="1.0"?>
<vxml version="2.0" application="root.vxml">
<form id="transferOperator">
<block>
<var name="Duration" expr="'0'"/>
<assign name="CallId" />
<assign name="OutgoingId" />
<assign name="MenuId" expr="'100'" />
</block>
<transfer name="CallOperator" dest="tel:2122222222" connecttimeout="20s" bridge="true" >
<prompt>
Please wait while we connect you to the member.
</prompt>
<filled>
<if cond="CallOperator == 'busy'">
<prompt bargein="false">
The Member is busy. Try again later.
</prompt>
<exit/>
<elseif cond="CallOperator == 'noanswer'"/>
<prompt bargein="false">
The Member did not answer. Try again later.
</prompt>
<exit/>
<else/>
<data name="info1" src="getIVR.ashx" method="post" namelist="SessionId MenuId OutgoingId CallId" enctype="multipart/form-data"/>
</if>
</filled>
</transfer>
</form>
</vxml>

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR code with <transfer> tag

Post by support »

Hi,

Sorry, but this implementation is not possible with IVR application. There is no "answeringmachine" condition when using the IVR tag, <transfer>.

The following is a link for conditions when using the IVR tag, <transfer>:

http://www.w3.org/TR/voicexml20/#dml2.3.7.2.2

Regards,
Plum Support
Last edited by support on Wed Feb 24, 2010 2:45 pm, edited 5 times in total.

sbaraian
Posts: 18
Joined: Tue Oct 21, 2008 9:55 am

Post by sbaraian »

Hi,

that's the thing, i don't want to check for answering machine, but I want to make a transfer connection to a person if a person picks up or to his answering machine if he has something like that, i want to mimic the manual call, when i pick up the phone i dial a number, and if the preson doesn't pick up and has answering machine, i live a message.

Thank you

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR application with transferring calls

Post by support »

Hi,

Yes, using the IVR application, it is not possible to leave a message on the person's answering machine if the person does not pick up while you are trying to do this transfer.

Regards,
Plum Support
Last edited by support on Sat Dec 26, 2009 3:49 pm, edited 1 time in total.

sbaraian
Posts: 18
Joined: Tue Oct 21, 2008 9:55 am

Post by sbaraian »

Is there any other way to achieve something like that? other tags?

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR code for outbound call

Post by support »

Sorry, but the only way you can leave a message to the member's answering machine is to make the IVR outbound call directly to the member instead of doing the transfer.

For additional help, see this earlier IVR post on how to do this: http://support.plumvoice.com/viewtopic.php?t=1008

Regards,
Plum Support
Last edited by support on Wed Feb 17, 2010 11:40 am, edited 4 times in total.

fkuhne
Posts: 21
Joined: Mon Nov 20, 2006 10:21 pm

Post by fkuhne »

So you are saying that following scenario is impossible?

1) Caller calls the IVR system.
2) It is determined either through calculation or user interaction that a transfer to a live person is required.
3) The IVR system intiates a transfer to a person.
4) The person does not answer and the call goes to voicemail
5) The caller leaves a voicemail message for the person to whom they were transferred.

If that is impossible then how how can we satisfy that situation? There will be times when caller into the system will need to leave a message for a person they would have been transferred to.

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR code to leave message on person's voicemail

Post by support »

Sorry for the earlier posts. I misunderstood your intentions. Here is some example IVR code that will allow you to leave a message on the person's voicemail. Note how the <filled>
block in the <transfer>, the <record> block, and the IVR <submit> tag are used in the IVR example.

Code: Select all

<?xml version="1.0"?>
<vxml version="2.0">

<property name="sensitivity" value="0.3"/>

<form id="xfer">
   <var name="mydur" expr="0"/>
   
   <transfer name="mycall" dest="tel:+1-xxx-xxx-xxxx"
        transferaudio="music.wav" connecttimeout="20s" bridge="true">

     <prompt>
        Please wait while we transfer your call.
     </prompt>

     <filled>
       <assign name="mydur" expr="mycall$.duration"/>
         <if cond="mycall == 'busy'">
           <prompt>
             Mr. Smith's line is busy. Please call again later.
           </prompt>
         <elseif cond="mycall == 'noanswer'"/>
           <prompt>
             Mr. Smith can't answer the phone now. 
           </prompt>
         </if>
     </filled>
   </transfer>

     <record name="msg" beep="true" maxtime="10s"
       finalsilence="4000ms" dtmfterm="true" type="audio/x-wav">
       <prompt timeout="5s">
         Record a message after the beep.
       </prompt>
       <noinput>
         I didn't hear anything, please try again.
       </noinput>
     </record>

     <field name="confirm">
  <grammar>
       Yes|No
  </grammar>     
<prompt>
          Your message is <audio expr="msg"/>.
       </prompt>
       <prompt>
         To keep it, say yes.  To discard it, say no.
       </prompt>
       <filled>
         <if cond="confirm=='Yes'">
           <submit next="http://www.example.com/save.php" namelist="msg" method="post"/>
         </if>
         <clear/>
       </filled>
     </field>

</form>
</vxml>
Hope this helps.

Regards,
Plum Support
Last edited by support on Wed Feb 17, 2010 11:41 am, edited 5 times in total.

fkuhne
Posts: 21
Joined: Mon Nov 20, 2006 10:21 pm

Post by fkuhne »

support wrote:Sorry for the earlier posts. I misunderstood your intentions. Here is some example code that will allow you to leave a message on the person's voicemail:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.0">

<property name="sensitivity" value="0.3"/>

<form id="xfer">
   <var name="mydur" expr="0"/>
   
   <transfer name="mycall" dest="tel:+1-xxx-xxx-xxxx"
        transferaudio="music.wav" connecttimeout="20s" bridge="true">

     <prompt>
        Please wait while we transfer your call.
     </prompt>

     <filled>
       <assign name="mydur" expr="mycall$.duration"/>
         <if cond="mycall == 'busy'">
           <prompt>
             Mr. Smith's line is busy. Please call again later.
           </prompt>
         <elseif cond="mycall == 'noanswer'"/>
           <prompt>
             Mr. Smith can't answer the phone now. 
           </prompt>
         </if>
     </filled>
   </transfer>

     <record name="msg" beep="true" maxtime="10s"
       finalsilence="4000ms" dtmfterm="true" type="audio/x-wav">
       <prompt timeout="5s">
         Record a message after the beep.
       </prompt>
       <noinput>
         I didn't hear anything, please try again.
       </noinput>
     </record>

     <field name="confirm">
  <grammar>
       Yes|No
  </grammar>     
<prompt>
          Your message is <audio expr="msg"/>.
       </prompt>
       <prompt>
         To keep it, say yes.  To discard it, say no.
       </prompt>
       <filled>
         <if cond="confirm=='Yes'">
           <submit next="http://www.example.com/save.php" namelist="msg" method="post"/>
         </if>
         <clear/>
       </filled>
     </field>

</form>
</vxml>
Hope this helps.

Regards,
Plum Support
Unfortunately, no that doesn't help. The person we are transferring to may be outside our phone system. It doesn't make any sense for us to record the message. For example:

* User calls in.
* Our system programmatically determines that the user's account is in collections.
* Our company uses an outside company for collections and we transfer to them.

How can we make this happen?

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR code for outbound calls and transfers

Post by support »

Hi,

About your earlier post:
So you are saying that following scenario is impossible?

1) Caller calls the IVR system.
2) It is determined either through calculation or user interaction that a transfer to a live person is required.
3) The IVR system intiates a transfer to a person.
4) The person does not answer and the call goes to voicemail
5) The caller leaves a voicemail message for the person to whom they were transferred.

If that is impossible then how how can we satisfy that situation? There will be times when caller into the system will need to leave a message for a person they would have been transferred to.
The IVR code example that was given takes care of steps 3)-5).

However, what do you mean by "It is determined either through calculation or user interaction that a transfer to a live person is required"? You can use the IVR <submit>, <subdialog>, or <data> tag to pass data to your code end to determine whether a transfer to a live person is required.

For more information on how to use those IVR tags, see here:
http://www.plumvoice.com/docs/dev/devel ... taexchange

Regards,
Plum Support

Post Reply