<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Joshua, thank you for an insightful and helpful comment. My
      situation is not limited to MixMonitor issue, but it is a major
      obstacle, so the code you provided could prove to be very useful.
      One can - probably - keep proper call state by using shared
      variable space, but just as you said, it's kludgy and unreadable.
      If you feel compelled to write more comments than code, something
      is wrong.<br>
    </p>
    <div class="moz-cite-prefix">21. 07. 2020. u 18:04, Joshua Elson je
      napisao/la:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAFAUC_KHwGuTzXjrDg8sn5gmeXb0aceSZwKAnEgyPKFxmUpuUQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">In a general sense, this kind of functionality
        would indeed be helpful. We've run into a number of
        circumstances where stuff as simple as setting a channel
        variable on a known channel (particularly when you're directly
        operating on Local/ abstractions) would be helpful. I've seen
        far too many people using SHELL with AMI calls in these out of
        band scripts that are quite risky to do this. Using SHARED +
        MASTER_CHANNEL can - sometimes - get you where you need to go,
        but it's particularly kludgy, doesn't work in all circumstances,
        and doesn't make for very readable code.
        <div><br>
        </div>
        <div>I've run into the exact issue - needing to do stuff with
          MixMonitor on other channels - quite a few times. Never got
          around to cleaning this up to submit, but attached patch adds
          a MuteMixMonitor application that takes as its first argument
          a Channel ID. Nikša - if your situation is limited to just the
          MixMonitor issue, you could pretty easily modify existing
          start/stop apps or add a new one to do what you need.</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Tue, Jul 21, 2020 at 3:31
          AM Nikša Baldun <<a href="mailto:it@voxdiversa.hr"
            target="_blank" moz-do-not-send="true">it@voxdiversa.hr</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>
            <p>I suspected there might be a catch. So far, our dabbling
              in Asterisk code consists of some patches, mostly for our
              internal use, and a small Asterisk module. It didn't take
              us long to figure out how to make a module, even with
              limited documentation, but this looks an order of
              magnitude more difficult.<br>
            </p>
            <div>On 21. 07. 2020. 10:58, Joshua C. Colp wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <div dir="ltr">On Tue, Jul 21, 2020 at 3:52 AM Nikša
                  Baldun <<a href="mailto:it@voxdiversa.hr"
                    target="_blank" moz-do-not-send="true">it@voxdiversa.hr</a>>
                  wrote:<br>
                </div>
                <div class="gmail_quote">
                  <blockquote class="gmail_quote" style="margin:0px 0px
                    0px 0.8ex;border-left:1px solid
                    rgb(204,204,204);padding-left:1ex">
                    <div>
                      <p>Thanks for the reply, Joshua. It would
                        definitely be useful. I took a look at FreePBX
                        code to see how they handle call recordings in
                        my example scenario, and apparently they call a
                        PHP script from dialplan, which then controls
                        recording via AMI connection. An awful lot of
                        effort, not to mention a performance hit. I am
                        guessing they wouldn't do it if there was any
                        other way.<br>
                        <br>
                        I am not surprised that this functionality does
                        not exist, I know that Asterisk development is
                        difficult, but I am surprised there was no talk
                        about it. I might take a crack at this myself if
                        my schedule clears up. I am thinking, pre-bridge
                        handlers already exist, and methodology for
                        pushing handlers onto a channel already exists.
                        So one could figure it out with some effort. Or
                        am I being naive?</p>
                    </div>
                  </blockquote>
                </div>
                <div>Each provider of such functionality does its own
                  parsing, handling of any other channel, but does call
                  a common function. The pushing of handlers isn't
                  generic or anything, so it would have to be copied.</div>
                <div><br>
                </div>
                -- <br>
                <div dir="ltr">
                  <div dir="ltr">
                    <div>
                      <div dir="ltr">
                        <div>
                          <div dir="ltr">
                            <div dir="ltr">
                              <div dir="ltr">
                                <div dir="ltr">
                                  <div
                                    style="font-family:tahoma,sans-serif"><font
                                      color="#073763">Joshua C. Colp</font></div>
                                  <div
                                    style="font-family:tahoma,sans-serif"><font
                                      color="#073763">Asterisk Technical
                                      Lead</font></div>
                                  <div
                                    style="font-family:tahoma,sans-serif"><font
                                      color="#073763">Sangoma
                                      Technologies</font></div>
                                  <div
                                    style="font-family:tahoma,sans-serif"><font
                                      color="#073763">Check us out at <a
                                        href="http://www.sangoma.com"
                                        target="_blank"
                                        moz-do-not-send="true">www.sangoma.com</a>
                                      and <a
                                        href="http://www.asterisk.org"
                                        target="_blank"
                                        moz-do-not-send="true">www.asterisk.org</a></font><br>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
              <br>
              <fieldset></fieldset>
            </blockquote>
          </div>
          -- <br>
_____________________________________________________________________<br>
          -- Bandwidth and Colocation Provided by <a
            href="http://www.api-digital.com" rel="noreferrer"
            target="_blank" moz-do-not-send="true">http://www.api-digital.com</a>
          --<br>
          <br>
          asterisk-dev mailing list<br>
          To UNSUBSCRIBE or update options visit:<br>
             <a
            href="http://lists.digium.com/mailman/listinfo/asterisk-dev"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.digium.com/mailman/listinfo/asterisk-dev</a></blockquote>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
    </blockquote>
  </body>
</html>