Oddity with Multicast and Tone Generation

Good afternoon, all. Be gentle, as I haven’t touched Asterisk since like version 10 or 12 or something (but a majority of my “experience” was on 1.8). Just getting back into (v22) it and I came across something odd/interesting…

In a post before this one, I was troubleshooting MultiCast issues. I was try to use the Tone Generator to send a tone to a MultiCast address for testing, yet I never saw any MCast packets in wireshark on the server. In that last thread, someone made the recommendation to try a sound file to see if the issue was just with the Tone Generator, and sure enough, the sound file played w/o issue. He indicated he couldn’t imagine why the tone generator would appear to work (but not really broadcast), while a soundfile would broadcast just fine.

Working on a couple theroies, I sought to test the specifics of the problem. Was it just that tone generation wasn’t working because I maybe needed to “wake up” the connection first with a physical file? Could I maybe work around it by playing a sound file first, then sending a tone…

I created this:

[multicast-tone-test]
exten => s,1,NoOp(Multicast tone test: file then tone generator)
 same => n,Playback(ue-paging/TONE_Ringback)
 same => n,PlayTones(620/5000)
 same => n,Hangup()

Then issued this command:

channel originate "MulticastRTP/basic/239.239.255.255:49902" extension s@multicast-tone-test

As you can see, it’s supposed to play a 6 second sound file, then play 5 seconds from the Tone Generator…

The result? THe sound file played, then 5 seconds of silence, with the phone showing the channel remaining open for the duration of that tone generation attempt. No sound, but it kept the channel open.

This seems like a potential bug, but I’m hoping someone might have a thought on how to work around it (or better yet, how to posisbly fix it).

TIA.

Kristian

Some additional testing on this. Rather than just try using the TG to send to MultiCast, I then tried calling in, being routed to MultiCast and having TG join with it’s tone (trace shows that it is, but there’s absolutely no tone heard). Then I reworked it so calling in joins a bridge, multicast joins the bridge, and then tone injected into the bridge (to see if I could work-around it). Nope, TG shows in trace that it’s executing, but you can’t hear it on any call leg. Tracing the bridge (repeatedly running “list”) you see the tone insert into the call for the duration of the tone, then remove itself. There’s just no audio at all. So TG isn’t just preventing it on MCast, it’s in conference too. From what I can tell, TG seems to only actually play a tone when a caller is directly connected to it. It goes through the motions and trace activity makes it look like it’s doing something, but it doesn’t actually make a sound.