0

One call-center needs to play music during phone calls on demand and it should be recorded.

So the auto dialing program makes a call through local channel:

[dialout]
exten => _XXXXXXXXXXX,1,Dial(SIP/${provider}/${EXTEN})

Then when answered it connects an operator:

[operators]
exten => s,1,MixMonitor(${FileName})
  same = n,Dial(SIP/${EXTEN})

And then they have a button in questionary which sends to Asterisk AMI commands:

Action: Originate;
Channel: LOCAL/$num@whisper-to-participant;
Application: Playback;
Data: $song;
Async: True;

Here's "whisper-to-participant" context:

exten => _XXX,1,ChanSpy(SIP/${EXTEN},Bq)

So caller and callee both hear music and it's working fine. But I can't get this music be recorded with MixMonitor, I only hear caller and callee.

Can anyone suggest anything to make it work with MixMonitor? Maybe some completely different approach?

Solution

Instead of MixMonitor I use Monitor and it records everything even music barked to ChanSpy. This is the simplest resolution and it works.

Dr. Chu
  • 1
  • 2

1 Answers1

0

You can put user from start to conference, record conference.

After that if you add music into conference, it will be saved

see Confbridge

arheops
  • 15,544
  • 1
  • 21
  • 27
  • I've never used conferences. I may give them names like, for example, operators number to easily send some music with script by conference name? – Dr. Chu Apr 11 '17 at 10:27
  • No, it will be not as easy. You can put virtualy any name, but you have control current state, have create new call for music(instead of chanspy do Confbridge), have create enother call to agent. But anyway in current realisation mixmonitor will not save audio hooks, so that is only semi-simple way. – arheops Apr 11 '17 at 14:24