Asterisk
  1. Asterisk
  2. ASTERISK-15710

[patch] app_queue: Log failed attempts to call members

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Severity: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Target Release Version/s: None
    • Component/s: Applications/app_queue
    • Labels:
      None

      Description

      This patch enables logging of all call attempts from a queue. Not only the ones that do not fail.

      The patch also introduces a new parameter "congestion" to both RINGNOANSWER in queue_log and AgentRingNoAnswer AMI event, which is set to 1 if the call failed to go through because of technical difficulties.

      This makes it easier to make queue_log statistics with information about problems with an agent. For example if an agent has a faulty line, or your telco/dahdi connection is having problems.

      I am however unsure if everyone want this marked as an congestion from the "AST_CONTROL_CONGESTION" frame. Since in my experience, this can come if a SIP UA doesn't want to let you ring more than x seconds, etc. Most real congestion problems come before this frame is generated. (read: before a new channel is up at all) So if this patch should be applied, maybe it should be configurable, or let out.

      1. issue0016925-app_queue.c.patch
        5 kB
        Håkon Nessjøen
      2. rev295023-issue0016925-app_queue.c.patch
        5 kB
        Håkon Nessjøen
      3. tringenbach_rna_hangupcause.diff
        3 kB
        Tim Ringenbach at Asteria Solutions Group
      4. tringenbach_rna_hangupcause2.diff
        3 kB
        Tim Ringenbach at Asteria Solutions Group

        Issue Links

          Activity

          Hide
          Paul Belanger added a comment -

          Added to reviewboard.

          Show
          Paul Belanger added a comment - Added to reviewboard.
          Hide
          Tim Ringenbach at Asteria Solutions Group added a comment -

          I just attached a similar patch that instead of having a congestion flag, adds the hangupcause. What do you think about doing that instead?

          Show
          Tim Ringenbach at Asteria Solutions Group added a comment - I just attached a similar patch that instead of having a congestion flag, adds the hangupcause. What do you think about doing that instead?
          Hide
          Håkon Nessjøen added a comment -

          I just looked quickly through your new patch from my iPhone here. I might be wrong, but it seems like you have ignored the different values for the pause argument in your patch.
          Two occurences where pause was previously 1, is set to 0 after your patch.

          Show
          Håkon Nessjøen added a comment - I just looked quickly through your new patch from my iPhone here. I might be wrong, but it seems like you have ignored the different values for the pause argument in your patch. Two occurences where pause was previously 1, is set to 0 after your patch.
          Hide
          Tim Ringenbach at Asteria Solutions Group added a comment -

          haakon: You are correct. Looks like the last rna() call was especially messed up. Sorry about that. I've uploaded another version that fixes that, and patches the queuelog.tex file.

          I also don't think Reason is the right header I should be using, but I haven't figured out the right one yet.

          Do you like the approach of including the hangupcause instead of just a congestion flag?

          Show
          Tim Ringenbach at Asteria Solutions Group added a comment - haakon: You are correct. Looks like the last rna() call was especially messed up. Sorry about that. I've uploaded another version that fixes that, and patches the queuelog.tex file. I also don't think Reason is the right header I should be using, but I haven't figured out the right one yet. Do you like the approach of including the hangupcause instead of just a congestion flag?
          Hide
          Håkon Nessjøen added a comment -

          I have just uploaded a new patch, which includes the hangup-cause instead of only a boolean of "CONGESTION" state.

          Please give me access to update the reviewboard with the latest patch.

          The documentation of queuelog must be updated when this is committed:

          queue_log:
          RINGNOANSWER - rnatime|hangup-reason

          Manager api - AgentRingNoAnswer:
          AgentRingNoAnser - Reason: hangup-reason

          Where hangup-reason in both cases are textual representation of the asterisk internal hangup reason/cause of the outgoing call.

          Show
          Håkon Nessjøen added a comment - I have just uploaded a new patch, which includes the hangup-cause instead of only a boolean of "CONGESTION" state. Please give me access to update the reviewboard with the latest patch. The documentation of queuelog must be updated when this is committed: queue_log: RINGNOANSWER - rnatime|hangup-reason Manager api - AgentRingNoAnswer: AgentRingNoAnser - Reason: hangup-reason Where hangup-reason in both cases are textual representation of the asterisk internal hangup reason/cause of the outgoing call.
          Hide
          Håkon Nessjøen added a comment -
          Show
          Håkon Nessjøen added a comment - New reviewboard link: https://reviewboard.asterisk.org/r/1028/
          Hide
          Håkon Nessjøen added a comment -

          The issue description should be updated I think, to reflect the latest changes to the patch. Instead of returning 0 or 1 if the call was congested or not, it now returns the hangup-reason of the call, as described in the latest reviewboard link.

          Show
          Håkon Nessjøen added a comment - The issue description should be updated I think, to reflect the latest changes to the patch. Instead of returning 0 or 1 if the call was congested or not, it now returns the hangup-reason of the call, as described in the latest reviewboard link.
          Hide
          Physis Heckman added a comment -

          I try to use your patch, but some errors occurred to asterisk-11-current (11.25.1)

          /usr/src/asterisk-11.25.1# patch apps/app_queue.c < /usr/src/rev295023-issue0016925-app_queue.c.patch
          patching file apps/app_queue.c
          Hunk #1 succeeded at 1366 with fuzz 2 (offset 335 lines).
          Hunk #2 FAILED at 2884.
          Hunk #3 FAILED at 2967.
          Hunk #4 FAILED at 3189.
          Hunk #5 FAILED at 3209.
          Hunk #6 FAILED at 3216.
          Hunk #7 FAILED at 3515.
          Hunk #8 FAILED at 3533.
          Hunk #9 succeeded at 4636 with fuzz 1 (offset 1033 lines).
          Hunk #10 FAILED at 3648.
          8 out of 10 hunks FAILED – saving rejects to file apps/app_queue.c.rej
          patching file apps/app_queue.c
          Hunk #1 FAILED at 30.
          1 out of 1 hunk FAILED – saving rejects to file apps/app_queue.c.rej

          link app_queue.c.rej http://pastebin.com/qFVtF7Rr
          link app_queue.c asterisk-11.25.1 http://pastebin.com/GJWG5vMT

          Show
          Physis Heckman added a comment - I try to use your patch, but some errors occurred to asterisk-11-current (11.25.1) /usr/src/asterisk-11.25.1# patch apps/app_queue.c < /usr/src/rev295023-issue0016925-app_queue.c.patch patching file apps/app_queue.c Hunk #1 succeeded at 1366 with fuzz 2 (offset 335 lines). Hunk #2 FAILED at 2884. Hunk #3 FAILED at 2967. Hunk #4 FAILED at 3189. Hunk #5 FAILED at 3209. Hunk #6 FAILED at 3216. Hunk #7 FAILED at 3515. Hunk #8 FAILED at 3533. Hunk #9 succeeded at 4636 with fuzz 1 (offset 1033 lines). Hunk #10 FAILED at 3648. 8 out of 10 hunks FAILED – saving rejects to file apps/app_queue.c.rej patching file apps/app_queue.c Hunk #1 FAILED at 30. 1 out of 1 hunk FAILED – saving rejects to file apps/app_queue.c.rej link app_queue.c.rej http://pastebin.com/qFVtF7Rr link app_queue.c asterisk-11.25.1 http://pastebin.com/GJWG5vMT

            People

            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:

                Development