ChanSpy / ConfBridge limitation
Mark Murawski <[email protected]> Sun, 14 Jan 2024 20:09:49 -0500
| Newsgroups | gmane.comp.telephony.pbx.asterisk.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============1990365179955960301==
Content-Type: multipart/alternative;
boundary="------------UNyNkNKVKh6FCnFcxkDIVO1I"
Content-Language: en-US
This is a multi-part message in MIME format.
--------------UNyNkNKVKh6FCnFcxkDIVO1I
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Howdy -dev,
Looking for a starting point to investigate this issue:
Using the following AEL (and Running straight-dialplan results in the
same issue)
context services {
2802 => {
Answer();
Set(GLOBAL(foo)=${CHANNEL});
ConfBridge(Agent-PJSIP/2802);
}
9000 => {
Answer();
ChanSpy(${foo},qoSE);
}
}
PJSIP/2802-00003b18 -> ConfBridge("Agent-PJSIP/2802")
<CBAnn/Agent-PJSIP/2802-00000075;2> joined 'softmix' base-bridge <56974564-b175-4b6a-93fc-fe4753082213>
<PJSIP/2802-00003b18> joined 'softmix' base-bridge <56974564-b175-4b6a-93fc-fe4753082213>
PJSIP/trunk-bob-00003b19 -> ChanSpy("PJSIP/2802-00003b18,qoSE")
Spying on channel PJSIP/2802-00003b18
Attaching spy channel PJSIP/trunk-bob-00003b19 to PJSIP/2802-00003b18
Issue:
No audio is flowing from Spied-on PJSIP/2802-00003b18 to the spy-er PJSIP/trunk-bob-00003b19
If for example, you change 2802 to the following:
2802 => {
Answer();
Set(GLOBAL(foo)=${CHANNEL});
Dial(PJSIP/2803);
}
Wait for the call to connect/answer
PJSIP/2802-00003b20 -> PJSIP/2803-00003b5d (callee answered)
And then run the same ChanSpy with options qoSE, resulting in:
PJSIP/trunk-bob-00003b97 -> ChanSpy("PJSIP/2802-00003b20,qoSE")
Attaching spy channel PJSIP/trunk-bob-00003b97 to PJSIP/2802-00003b20
Result:
Audio IS flowing from spied-on PJSIP/2802-00003b20 to the spy-er on PJSIP/trunk-bob-00003b97
One might say: Well, ChanSpy/ConfBridge don't mix... but then if you do the following... this DOES work:
context services {
2802 => {
Answer();
Set(GLOBAL(foo)=${CHANNEL});
ConfBridge(Agent-PJSIP/2802);
}
9000 => {
Answer();
ChanSpy(${foo},qwSE);
}
}
Changing the option from 'o' to 'w', allows you to whisper to PJSIP/2802
----
Goal:
Extract out an individual speaker's audio that's going into a ConfBridge
(Cannot join the bridge as a member, because then you're getting all participants audio)
Summary:
1) You can whisper to a channel that joined a ConfBridge
2) You cannot listen to the audio from a channel that joined a ConfBridge
Also:
I tried ChanSpy()'ing into both CBAnn/...;1 and CBAnn/...;2 and I could not get audio from here either
Is this a bug or a limitation/missing-feature?
What would be a good place to look into for resolving #2 ?
Thanks!
--------------UNyNkNKVKh6FCnFcxkDIVO1I
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
Howdy -dev,<br>
<br>
Looking for a starting point to investigate this issue:<br>
<br>
Using the following AEL (and Running straight-dialplan results in
the same issue)<br>
<br>
<pre
style="color: rgb(0, 0, 0); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; overflow-wrap: break-word; white-space: pre-wrap;">context services {
2802 => {
Answer();
Set(GLOBAL(foo)=${CHANNEL});
ConfBridge(Agent-PJSIP/2802);
}
9000 => {
Answer();
ChanSpy(${foo},qoSE);
}
}
PJSIP/2802-00003b18 -> ConfBridge("Agent-PJSIP/2802")
<CBAnn/Agent-PJSIP/2802-00000075;2> joined 'softmix' base-bridge <56974564-b175-4b6a-93fc-fe4753082213>
<PJSIP/2802-00003b18> joined 'softmix' base-bridge <56974564-b175-4b6a-93fc-fe4753082213>
PJSIP/trunk-bob-00003b19 -> ChanSpy("PJSIP/2802-00003b18,qoSE")
Spying on channel PJSIP/2802-00003b18
Attaching spy channel PJSIP/trunk-bob-00003b19 to PJSIP/2802-00003b18
Issue:
No audio is flowing from Spied-on PJSIP/2802-00003b18 to the spy-er PJSIP/trunk-bob-00003b19
If for example, you change 2802 to the following:
2802 => {
Answer();
Set(GLOBAL(foo)=${CHANNEL});
Dial(PJSIP/2803);
}
Wait for the call to connect/answer
PJSIP/2802-00003b20 -> PJSIP/2803-00003b5d (callee answered)
And then run the same ChanSpy with options qoSE, resulting in:
PJSIP/trunk-bob-00003b97 -> ChanSpy("PJSIP/2802-00003b20,qoSE")
Attaching spy channel PJSIP/trunk-bob-00003b97 to PJSIP/2802-00003b20
Result:
Audio IS flowing from spied-on PJSIP/2802-00003b20 to the spy-er on PJSIP/trunk-bob-00003b97
One might say: Well, ChanSpy/ConfBridge don't mix... but then if you do the following... this DOES work:
context services {
2802 => {
Answer();
Set(GLOBAL(foo)=${CHANNEL});
ConfBridge(Agent-PJSIP/2802);
}
9000 => {
Answer();
ChanSpy(${foo},qwSE);
}
}
Changing the option from 'o' to 'w', allows you to whisper to PJSIP/2802
----
Goal:
Extract out an individual speaker's audio that's going into a ConfBridge
(Cannot join the bridge as a member, because then you're getting all participants audio)
Summary:
1) You can whisper to a channel that joined a ConfBridge
2) You cannot listen to the audio from a channel that joined a ConfBridge
Also:
I tried ChanSpy()'ing into both CBAnn/...;1 and CBAnn/...;2 and I could not get audio from here either
Is this a bug or a limitation/missing-feature?
What would be a good place to look into for resolving #2 ?
Thanks!
</pre>
</body>
</html>
--------------UNyNkNKVKh6FCnFcxkDIVO1I--
--===============1990365179955960301==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
LS0gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwotLSBCYW5kd2lkdGggYW5kIENvbG9jYXRpb24gUHJvdmlkZWQgYnkg
aHR0cDovL3d3dy5hcGktZGlnaXRhbC5jb20gLS0KCmFzdGVyaXNrLWRldiBtYWlsaW5nIGxpc3QK
VG8gVU5TVUJTQ1JJQkUgb3IgdXBkYXRlIG9wdGlvbnMgdmlzaXQ6CiAgIGh0dHA6Ly9saXN0cy5k
aWdpdW0uY29tL21haWxtYW4vbGlzdGluZm8vYXN0ZXJpc2stZGV2
--===============1990365179955960301==--