proof of concept, using a dialplan to connect to another system and answer dtmf prompts.

nktech1135

Member
Dec 16, 2017
54
3
8
us
Hello all.
I'm wondering if it would be possible to set up a dial plan to connect to an outside system via phone number and answer some dtmf prompts?
The current use case is to use an auto dialer system outside of the fusion one that can be run via dtmf prompts.
This system is being used to send notifications to a pre setup group of phone numbers, ***not telemarketing***.
What i want to do is enable anyone on the group to be able to make a phone call, press one to record there message. This would trigger fusion to dial a phone number, wait for answer and then feed a set of dtmf prompts to the system to set up the recording.
If i'm thinking right i'll need a custom dial plan entry to make this happen. This entry should start with a bridge statement to dial the number, sleep for 3 seconds while the number connects, and then send dtmf prompts.
My questions.
Does the dial plan require conditions at all?
Is there a way to keep the user from interfereing with the dtmf entries or even better, they wouldn't even need to here them until the final one?
Am i missing anything else?

Thanks.
 
  • Like
Reactions: GuidoLoko
Not quite sure I understand the use case fully however here is an example the way I understand it.
In your bridge dialplan add this line before the bridge:
XML:
<action application="export" data="nolocal:execute_on_answer=execute_extension sdaa:12# XML ${context}" />

Then create this dialplan/extension:
XML:
<extension name="send_digits_after_answer" continue="false" uuid="9307102d-ef94-4adc-bbad-717345ee526b">
    <condition field="destination_number" expression="^sdaa:([\d\*#]*)$">
        <action application="answer" data=""/>
        <action application="sleep" data="2500"/>
        <action application="send_dtmf" data="$1"/>
    </condition>
</extension>

This will bridge your call and wait for an answer on your bridge then pause for 2.5 seconds and finally send the digits you specified. In this case the digits are 12#. After the digits are sent your call is returned for further processing.
HTH!
 
Last edited: