ARI Events not arriving for more than one channel in a bridge

Hi Community.

I have been developing an application using ARI through use of creation and destruction of bridges. Beyond this, certain operations are also performed in these channes like playing sounds and getting digits.
I had a problem with ARI Events related to bridge creation and destruction at version 13.6. As soon as I changed to version 14.6, bridge creation and destruction events began to be received properly.
The problem now is that I am not being able to receive DTMF events by channel when more than one channel is in a bridge. When only one channel is in a bridge, I am able to receive DTMF events without problem.

Bellow I show how to reproduce this scenario :

wscat -c "ws://localhost:8088/ari/events?api_key=asterisk:asterisk&app=SipAriLinuxApp&subscribeAll=true"

curl -v -u asterisk:asterisk -X POST "http://localhost:8088/ari/applications/SipAriLinuxApp/subscription?eventSource=channel:,endpoint:,bridge:,deviceState:"

curl -v -u asterisk:asterisk -X POST "http://localhost:8088/ari/bridges"

curl -v -u asterisk:asterisk -X POST "http://localhost:8088/ari/channels?endpoint=SIP/11992886120&app=SipAriLinuxApp"

curl -v -u asterisk:asterisk -X POST "http://localhost:8088/ari/bridges/b9f545b5-3a45-4f1a-9c0e- 0e624549b76a/addChannel?channel=1505916572.123"

curl -v -u asterisk:asterisk -X POST "http://localhost:8088/ari/channels?endpoint=SIP/11996895993&app=SipAriLinuxApp"

curl -v -u asterisk:asterisk -X POST "http://localhost:8088/ari/bridges/b9f545b5-3a45-4f1a-9c0e-0e624549b76a/addChannel?channel=1505916698.124"

In this scenario, there are 2 channels in the same bridge. Typing any digit through any one of these channels doesn’t produce any event. When one of them is hanged up, events begin to be received.
Is there some patch for this ?
I would appreciate some help.

You haven’t provided the information that you want dtmf events when creating the bridge. As a result things may optimize resulting in no DTMF being raised.

I receive dtmf_events when there is only one channel at that bridge. When a second channel enters the bridge, dtmf_events stop being received.
I tryed to create a new bridge as bellow :

curl -v -u asterisk:asterisk -X POST “http://localhost:8088/ari/bridges?type=mixing&proxy_media=true&dtmf_events=true

But this also didn’t work. I mean, after both channels are at the some bridge, DTMF events are no more received.

That’s not how you request that capabilities. It’s a property of type. So:

type=mixing,proxy_media,dtmf_events

Hi Jcolp,

The command is “almost” this one. If you put “mixing,proxy_media,dtmf_events” it doesn’t work. But if you switch order, like this : “mixing, dtmf_events,proxy_media”, it works !

After your tip, I found this :

https://reviewboard.asterisk.org/r/3359/diff/1-2/

“values”: [
“mixing”,
“mixing,dtmf_events”,
“mixing,proxy_media”,
“mixing,dtmf_events,proxy_media”,
“holding”
]

Thanks for your tips.