Is it possible that we can playback some file on an existing channel(callee or caller) only?
It can only be used on an existing channel!
Can you explain what you are trying to achieve. what you can’t do is playback on an unrelated existing channel wihout taking control of that channel and aborting any current application (e.g. Dial) running on it.
If you want to inject audio into an existing call, you could look at ChanSpy and Local channels, then run the playback on the local channel. I think the injection is towards one party only.
There is an incoming call from A and the call is answered by B so I would like B to use feature of pause and unpause recording of an existing call recording
So what is happening below is recording is happening on this channel SIP/102-000beb52 which is A Caller and using predial handler for achiving my scenario and channel SIP/101-000beb53 is Callee’s B, So now if you will see Playback is happening on Callee’s B which is perfect but now I would like to use StopMixMonitor on Caller’s A channel but below it is happening for SIP/101-000beb53 which is channel B callee’s
Or may be I can do vice versa.
-
Executing [666@RECTEST:1] Answer(“SIP/102-000beb52”, “”) in new stack
– Executing [666@RECTEST:2] MixMonitor(“SIP/102-000beb52”, “1571820370_1571820370.6038056.wav,b”) in new stack
– Executing [666@RECTEST:3] Queue(“SIP/102-000beb52”, “QueueTest,b(RECTEST^callee_handler^1),40”) in new stack
– Started music on hold, class ‘default’, on channel ‘SIP/102-000beb52’
== Begin MixMonitor Recording SIP/102-000beb52
> 0x7fc5b59f6ca0 – Strict RTP learning after remote address set to: 192.168.2.215:62806
== Using SIP RTP CoS mark 5
– SIP/101-000beb53 Internal Gosub(RECTEST,callee_handler,1) start
– Executing [callee_handler@RECTEST:1] NoOp(“SIP/101-000beb53”, “”) in new stack
– Executing [callee_handler@RECTEST:2] Set(“SIP/101-000beb53”, “__DYNAMIC_FEATURES=playmonkeys#InPauseMonitor#InUnpauseMonitor”) in new stack
– Executing [callee_handler@RECTEST:3] Verbose(“SIP/101-000beb53”, “0, In callee pre-dial handler!”) in new stack
In callee pre-dial handler!
– Executing [callee_handler@RECTEST:4] Return(“SIP/101-000beb53”, “”) in new stack
== Spawn extension (RECTEST, 666, 1) exited non-zero on ‘SIP/101-000beb53’
– SIP/101-000beb53 Internal Gosub(RECTEST,callee_handler,1) complete GOSUB_RETVAL=
– Called SIP/101
> 0x7fc5b59f6ca0 – Strict RTP qualifying stream type: audio-- SIP/101-000beb53 Internal Gosub(inrecunpause,s,1) start
– Executing [s@inrecunpause:1] MixMonitor(“SIP/101-000beb53”, “1571820383_1571820370.6038059.wav,b”) in new stack
== Begin MixMonitor Recording SIP/101-000beb53
– Executing [s@inrecunpause:2] NoOp(“SIP/101-000beb53”, “Call Unpaused - Channel=SIP/101-000beb53 BrigdePeer=SIP/102-000beb52”) in new stack
– Executing [s@inrecunpause:3] Playback(“SIP/101-000beb53”, “/var/lib/asterisk/sounds/recording/beeperr”) in new stack
– <SIP/101-000beb53> Playing ‘/var/lib/asterisk/sounds/recording/beeperr.gsm’ (language ‘en’)
– Executing [s@inrecunpause:4] Return(“SIP/101-000beb53”, “”) in new stack
== Spawn extension (RECTEST, 666, 1) exited non-zero on ‘SIP/101-000beb53’
– SIP/101-000beb53 Internal Gosub(inrecunpause,s,1) complete GOSUB_RETVAL=
– Remote UNIX connection
– Remote UNIX connection disconnected
– SIP/101-000beb53 Internal Gosub(inrecpause,s,1) start
– Executing [s@inrecpause:1] Playback(“SIP/101-000beb53”, “/var/lib/asterisk/sounds/recording/beep”) in new stack
– <SIP/101-000beb53> Playing ‘/var/lib/asterisk/sounds/recording/beep.gsm’ (language ‘en’)
– Executing [s@inrecpause:2] NoOp(“SIP/101-000beb53”, “Call Paused - Channel=SIP/101-000beb53 BrigdePeer=SIP/102-000beb52”) in new stack
– Executing [s@inrecpause:3] StopMixMonitor(“SIP/101-000beb53”, “”) in new stack
– Executing [s@inrecpause:4] Return(“SIP/101-000beb53”, “”) in new stack
== Spawn extension (RECTEST, 666, 1) exited non-zero on ‘SIP/101-000beb53’
– SIP/101-000beb53 Internal Gosub(inrecpause,s,1) complete GOSUB_RETVAL=
– Remote UNIX connection
– Remote UNIX connection disconnected
– SIP/101-000beb53 Internal Gosub(inrecunpause,s,1) start
– Executing [s@inrecunpause:1] MixMonitor(“SIP/101-000beb53”, “1571820388_1571820370.6038059.wav,b”) in new stack
– Executing [s@inrecunpause:2] NoOp(“SIP/101-000beb53”, “Call Unpaused - Channel=SIP/101-000beb53 BrigdePeer=SIP/102-000beb52”) in new stack
== Begin MixMonitor Recording SIP/101-000beb53
– Executing [s@inrecunpause:3] Playback(“SIP/101-000beb53”, “/var/lib/asterisk/sounds/recording/beeperr”) in new stack
– <SIP/101-000beb53> Playing ‘/var/lib/asterisk/sounds/recording/beeperr.gsm’ (language ‘en’)
– Executing [s@inrecunpause:4] Return(“SIP/101-000beb53”, “”) in new stack
== Spawn extension (RECTEST, 666, 1) exited non-zero on ‘SIP/101-000beb53’
– SIP/101-000beb53 Internal Gosub(inrecunpause,s,1) complete GOSUB_RETVAL=
You can choose which leg to run a feature on, but you can’t have one feature that runs on a mixture of legs.
It is possible you can do this with ARI, rather than dialplan, but that may more reflect my limited knowledge of ARI and, in particular, how it interacts with features. You wouldn’t be running Playback, but some more primitive internal operations from Playback, if this is possible, at all.
A ChanSpy approach might work, but it would be complex. You would need to throw in an originate as well.
Ok, let me try that and yeah I agree we can not run same feature for both the legs with diff app
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.