P
P
protsey2018-01-12 17:34:04
Asterisk
protsey, 2018-01-12 17:34:04

How to make an automatic call with sending a DTMF combination after answering through a VOIP gateway?

Good afternoon! There is Asterisk 13 on Debian 9 and a connected Yeastar Neogate TG100 VOIP gateway. There is a problem that I can not solve immediately. It is necessary to make an automatic call to a specific number, after picking up the handset at the other end, send a combination of DTMF codes and hang up. Having tried a bunch of options, I get either distortion or partial ingestion of DTMF from the recipient. In the local network with a softphone, everything works well until we start calling through the gateway, so I sin on the gateway. Everything is organized according to the principle of writing a similar file to the desired directory

Channel: Local/[email protected]
MaxRetries: 0
RetryTime: 5
WaitTime: 30
Context: auto
Extension: s
Priority: 1

, and then something like this
[auto]
exten => s,1,Answer()
exten => s,n,SendDtmf(C,,1000)
exten => s,n,SendDtmf(5,,1000)
exten => s,n,SendDtmf(D,,1000)
exten => s,n,SendDtmf(4,,1000)
exten => s,n,Wait(2)

[trunk-2222]

exten => 1,1,Dial(SIP/trunk-2222/0ххххххххх)
exten => 1,n,Hangup()

Wherever I shove sending DTMF, no matter how I twist the DTMF operating modes on the gateway and asterisk - all the time either one of the characters is swallowed, or they are distorted. Wireshark keeps saying that everything goes at the right intervals, the right duration and the right codes, but the output is nothing a mess. In which direction to dig, how to organize the solution of this problem?
Z.Y. If you call outside through a softphone and send codes (in an extension, not with buttons), then everything works correctly, which confuses my already meager understanding of what is happening.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
Dmitry Shitskov, 2018-01-12
@Zarom

Try like this:

[trunk-2222]
exten => 1,1,Dial(SIP/trunk-2222/0ххххххххх,,D(wC5D4))
exten => 1,n,Wait(2)
exten => 1,n,Hangup()

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question