Asterisk
  1. Asterisk
  2. ASTERISK-15268

[patch] Add support for ring indication when calling member

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Severity: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Target Release Version/s: None
    • Component/s: Applications/app_queue
    • Labels:
      None
    • Source Revision Number:
      232810
    • Mantis ID:
      16384
    • Regression:
      No

      Description

      A lot of ACD systems out there play MOH until a member/agent is ready for a new call, and then plays normal ring indication until you get an answer.

      This is a nice thing to have, since the caller might have been in the queue for quite a while, and put his phone down. As he hears the ring indication, he have time enough to pick up the phone before the agent answers.

      This introduces a new parameter 'R' to the Queue application.

                • ADDITIONAL INFORMATION ******

      (I added the "ringing" option to the queue_entity struct. Which I felt was more logical. This however means that a lot of function calls in app_queue don't really need the "ringing" function parameter anymore, as most of the functions also have a reference to the current queue entity.

      But as the bug guidelines say, I should minimize impact on the code, so I let the old functions be, as it has no functional difference.) – per reporter, this is no longer an issue as the patch has been updated. <lmadsen>

      1. app_queue.c.patch
        3 kB
        Håkon Nessjøen
      2. new_app_queue.c.patch
        2 kB
        Håkon Nessjøen

        Issue Links

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

          Hide
          Håkon Nessjøen added a comment -

          Uploaded a new file, 'new_app_queue.c.patch' where I have removed the "ringing" addition to the queue_entity in the original patch; since it's not really needed.

          So please now disregard the "additional information" text. As it is not longer an issue.

          Show
          Håkon Nessjøen added a comment - Uploaded a new file, 'new_app_queue.c.patch' where I have removed the "ringing" addition to the queue_entity in the original patch; since it's not really needed. So please now disregard the "additional information" text. As it is not longer an issue.
          Hide
          Leif Madsen added a comment -

          Thanks for the contribution! If you could get some people on the asterisk-users or asterisk-dev mailing list to test this out and report back here, that'd be great! I really like this feature personally.

          Show
          Leif Madsen added a comment - Thanks for the contribution! If you could get some people on the asterisk-users or asterisk-dev mailing list to test this out and report back here, that'd be great! I really like this feature personally.
          Hide
          Håkon Nessjøen added a comment -

          Didn't get much response on the -dev list. What about you Leif, if you like this feature, want to test it a bit?

          I will try to enable this feature on a few selected customers in production. And we'll se how that goes. But that would only test "my way of using it", or with my equipment. Even though the patch is so small. Never dumb to check a bit extra.

          Show
          Håkon Nessjøen added a comment - Didn't get much response on the -dev list. What about you Leif, if you like this feature, want to test it a bit? I will try to enable this feature on a few selected customers in production. And we'll se how that goes. But that would only test "my way of using it", or with my equipment. Even though the patch is so small. Never dumb to check a bit extra.
          Hide
          Ronald Chan added a comment -

          haakon, your patch seems ok for me, though i backport it to SVN 1.4 for my own needs, will let you know how far it will go.

          this is Asterisk SVN-branch-1.4-r235421M + a few patches. I will try to test this on trunk tommorow on a test server to confirm this.

          a relevant log to confirm this

          – Executing [s@from-pstn:1] Answer("DAHDI/1-1", "") in new stack
          – Executing [s@from-pstn:2] Set("DAHDI/1-1", "ID=") in new stack
          – Executing [s@from-pstn:3] Goto("DAHDI/1-1", "incoming|s|1") in new stack
          – Goto (incoming,s,1)
          – Executing [s@incoming:1] NoOp("DAHDI/1-1", "DEBUG: Incoming CallerID is : ") in new stack
          – Executing [s@incoming:2] Set("DAHDI/1-1", "ARRAY(CTYPE|NAME)=") in new stack
          – Executing [s@incoming:3] NoOp("DAHDI/1-1", "DEBUG: number of rows obtained 0| if > 1 it means data redundancy occurs") in new stack
          – Executing [s@incoming:4] GotoIf("DAHDI/1-1", "1?5:11") in new stack
          – Goto (incoming,s,5)
          – Executing [s@incoming:5] NoOp("DAHDI/1-1", "DEBUG: oops this call has no callerid is being set") in new stack
          – Executing [s@incoming:6] Set("DAHDI/1-1", "TID=") in new stack
          – Executing [s@incoming:7] Set("DAHDI/1-1", "TNAME=") in new stack
          – Executing [s@incoming:8] Set("DAHDI/1-1", "ID="NO-CALLERID"") in new stack
          – Executing [s@incoming:9] Set("DAHDI/1-1", "NAME="NO-NAME"") in new stack
          – Executing [s@incoming:10] Set("DAHDI/1-1", "NID=1") in new stack
          – Executing [s@incoming:11] Set("DAHDI/1-1", "MONITOR_FILENAME=/var/spool/asterisk/monitor/INBOUND-NO-CALLERID-^

          {MEMBERNAME}-NO-NAME-12-19-2009-04:54:31") in new stack
          – Executing [s@incoming:12] Set("DAHDI/1-1", "MONITOR_EXEC=/usr/bin/procrecording /var/spool/asterisk/monitor/12-19-2009 /var/spool/asterisk/monitor/INBOUND-NO-CALLERID-^{MEMBERNAME}

          -NO-NAME-12-19-2009-04:54:31.wav") in new stack
          – Executing [s@incoming:13] GotoIf("DAHDI/1-1", "1?14:16") in new stack
          – Goto (incoming,s,14)
          – Executing [s@incoming:14] Set("DAHDI/1-1", "ID=") in new stack
          – Executing [s@incoming:15] Set("DAHDI/1-1", "NAME=") in new stack
          – Executing [s@incoming:16] GotoIf("DAHDI/1-1", "1?100") in new stack
          – Goto (incoming,s,100)
          – Executing [s@incoming:100] Goto("DAHDI/1-1", "no_record|s|1") in new stack
          – Goto (no_record,s,1)
          – Executing [s@no_record:1] NoOp("DAHDI/1-1", ""This call has no record on the database"") in new stack
          – Executing [s@no_record:2] Set("DAHDI/1-1", "CALLERID(name)=** NO RECORD **") in new stack
          – Executing [s@no_record:3] NoOp("DAHDI/1-1", "DEBUG: # of councilors waiting on queue : 2 out of 2") in new stack
          – Executing [s@no_record:4] GotoIf("DAHDI/1-1", "1?5:6") in new stack
          – Goto (no_record,s,5)
          – Executing [s@no_record:5] Queue("DAHDI/1-1", "cbn-queue|tR|||180") in new stack
          – Started music on hold, class 'default', on DAHDI/1-1
          – SIP/103-00000002 is ringing
          – Stopped music on hold on DAHDI/1-1
          – SIP/103-00000002 answered DAHDI/1-1
          == Begin MixMonitor Recording DAHDI/1-1
          == Parsing '/etc/asterisk/manager.conf': Found

          Show
          Ronald Chan added a comment - haakon, your patch seems ok for me, though i backport it to SVN 1.4 for my own needs, will let you know how far it will go. this is Asterisk SVN-branch-1.4-r235421M + a few patches. I will try to test this on trunk tommorow on a test server to confirm this. a relevant log to confirm this – Executing [s@from-pstn:1] Answer("DAHDI/1-1", "") in new stack – Executing [s@from-pstn:2] Set("DAHDI/1-1", "ID=") in new stack – Executing [s@from-pstn:3] Goto("DAHDI/1-1", "incoming|s|1") in new stack – Goto (incoming,s,1) – Executing [s@incoming:1] NoOp("DAHDI/1-1", "DEBUG: Incoming CallerID is : ") in new stack – Executing [s@incoming:2] Set("DAHDI/1-1", "ARRAY(CTYPE|NAME)=") in new stack – Executing [s@incoming:3] NoOp("DAHDI/1-1", "DEBUG: number of rows obtained 0| if > 1 it means data redundancy occurs") in new stack – Executing [s@incoming:4] GotoIf("DAHDI/1-1", "1?5:11") in new stack – Goto (incoming,s,5) – Executing [s@incoming:5] NoOp("DAHDI/1-1", "DEBUG: oops this call has no callerid is being set") in new stack – Executing [s@incoming:6] Set("DAHDI/1-1", "TID=") in new stack – Executing [s@incoming:7] Set("DAHDI/1-1", "TNAME=") in new stack – Executing [s@incoming:8] Set("DAHDI/1-1", "ID="NO-CALLERID"") in new stack – Executing [s@incoming:9] Set("DAHDI/1-1", "NAME="NO-NAME"") in new stack – Executing [s@incoming:10] Set("DAHDI/1-1", "NID=1") in new stack – Executing [s@incoming:11] Set("DAHDI/1-1", "MONITOR_FILENAME=/var/spool/asterisk/monitor/INBOUND-NO-CALLERID-^ {MEMBERNAME}-NO-NAME-12-19-2009-04:54:31") in new stack – Executing [s@incoming:12] Set("DAHDI/1-1", "MONITOR_EXEC=/usr/bin/procrecording /var/spool/asterisk/monitor/12-19-2009 /var/spool/asterisk/monitor/INBOUND-NO-CALLERID-^{MEMBERNAME} -NO-NAME-12-19-2009-04:54:31.wav") in new stack – Executing [s@incoming:13] GotoIf("DAHDI/1-1", "1?14:16") in new stack – Goto (incoming,s,14) – Executing [s@incoming:14] Set("DAHDI/1-1", "ID=") in new stack – Executing [s@incoming:15] Set("DAHDI/1-1", "NAME=") in new stack – Executing [s@incoming:16] GotoIf("DAHDI/1-1", "1?100") in new stack – Goto (incoming,s,100) – Executing [s@incoming:100] Goto("DAHDI/1-1", "no_record|s|1") in new stack – Goto (no_record,s,1) – Executing [s@no_record:1] NoOp("DAHDI/1-1", ""This call has no record on the database"") in new stack – Executing [s@no_record:2] Set("DAHDI/1-1", "CALLERID(name)=** NO RECORD **") in new stack – Executing [s@no_record:3] NoOp("DAHDI/1-1", "DEBUG: # of councilors waiting on queue : 2 out of 2") in new stack – Executing [s@no_record:4] GotoIf("DAHDI/1-1", "1?5:6") in new stack – Goto (no_record,s,5) – Executing [s@no_record:5] Queue("DAHDI/1-1", "cbn-queue|tR|||180") in new stack – Started music on hold, class 'default', on DAHDI/1-1 – SIP/103-00000002 is ringing – Stopped music on hold on DAHDI/1-1 – SIP/103-00000002 answered DAHDI/1-1 == Begin MixMonitor Recording DAHDI/1-1 == Parsing '/etc/asterisk/manager.conf': Found
          Hide
          Leif Madsen added a comment -

          I will see if I can find some time to test next week. Just keep reminding me Ideally on the IRC channels.

          Show
          Leif Madsen added a comment - I will see if I can find some time to test next week. Just keep reminding me Ideally on the IRC channels.
          Hide
          Ronald Chan added a comment -

          haakon,

          After surviving this on a production machine yesterday, testing this with a 800+ calls on queue with pure dahdi channels and sip on local extension yesterday without a problem AFAIK, i can safely assume this is working properly, but i can't say for sure this on trunk since i don't have a production asterisk 1.6 base machine.

          On my limited testing on trunk though I forgot the revision number, this is working also.

          – Ronald

          Show
          Ronald Chan added a comment - haakon, After surviving this on a production machine yesterday, testing this with a 800+ calls on queue with pure dahdi channels and sip on local extension yesterday without a problem AFAIK, i can safely assume this is working properly, but i can't say for sure this on trunk since i don't have a production asterisk 1.6 base machine. On my limited testing on trunk though I forgot the revision number, this is working also. – Ronald
          Hide
          Håkon Nessjøen added a comment -

          Till now this day, I have tested it with several queues on production that have received a total traffic of 600+ calls until now on DAHDI only queues. And I will let it run from now on. Seems like it's working as it should.

          Show
          Håkon Nessjøen added a comment - Till now this day, I have tested it with several queues on production that have received a total traffic of 600+ calls until now on DAHDI only queues. And I will let it run from now on. Seems like it's working as it should.
          Hide
          Ronald Chan added a comment -

          haakon, thanks for the patch it works great for me too

          Show
          Ronald Chan added a comment - haakon, thanks for the patch it works great for me too
          Hide
          Digium Subversion added a comment -

          Repository: asterisk
          Revision: 236304

          U trunk/apps/app_queue.c

          ------------------------------------------------------------------------
          r236304 | dvossel | 2009-12-23 12:39:37 -0600 (Wed, 23 Dec 2009) | 12 lines

          new parameter 'R' to the Queue application

          The 'R' argument stops moh and indicates ringing once the agent is
          ringing. This allows the person in the queue to know their call
          is potentially about to be answered.

          (closes issue ASTERISK-15268)
          Reported by: haakon
          Patches:
          new_app_queue.c.patch uploaded by haakon (license 880)
          Tested by: haakon, loloski, dvossel

          ------------------------------------------------------------------------

          http://svn.digium.com/view/asterisk?view=rev&revision=236304

          Show
          Digium Subversion added a comment - Repository: asterisk Revision: 236304 U trunk/apps/app_queue.c ------------------------------------------------------------------------ r236304 | dvossel | 2009-12-23 12:39:37 -0600 (Wed, 23 Dec 2009) | 12 lines new parameter 'R' to the Queue application The 'R' argument stops moh and indicates ringing once the agent is ringing. This allows the person in the queue to know their call is potentially about to be answered. (closes issue ASTERISK-15268 ) Reported by: haakon Patches: new_app_queue.c.patch uploaded by haakon (license 880) Tested by: haakon, loloski, dvossel ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=236304
          Hide
          Digium Subversion added a comment -

          Repository: asterisk
          Revision: 236305

          _U branches/1.6.2/

          ------------------------------------------------------------------------
          r236305 | dvossel | 2009-12-23 12:40:22 -0600 (Wed, 23 Dec 2009) | 18 lines

          Blocked revisions 236304 via svnmerge

          ........
          r236304 | dvossel | 2009-12-23 12:39:37 -0600 (Wed, 23 Dec 2009) | 12 lines

          new parameter 'R' to the Queue application

          The 'R' argument stops moh and indicates ringing once the agent is
          ringing. This allows the person in the queue to know their call
          is potentially about to be answered.

          (closes issue ASTERISK-15268)
          Reported by: haakon
          Patches:
          new_app_queue.c.patch uploaded by haakon (license 880)
          Tested by: haakon, loloski, dvossel
          ........

          ------------------------------------------------------------------------

          http://svn.digium.com/view/asterisk?view=rev&revision=236305

          Show
          Digium Subversion added a comment - Repository: asterisk Revision: 236305 _U branches/1.6.2/ ------------------------------------------------------------------------ r236305 | dvossel | 2009-12-23 12:40:22 -0600 (Wed, 23 Dec 2009) | 18 lines Blocked revisions 236304 via svnmerge ........ r236304 | dvossel | 2009-12-23 12:39:37 -0600 (Wed, 23 Dec 2009) | 12 lines new parameter 'R' to the Queue application The 'R' argument stops moh and indicates ringing once the agent is ringing. This allows the person in the queue to know their call is potentially about to be answered. (closes issue ASTERISK-15268 ) Reported by: haakon Patches: new_app_queue.c.patch uploaded by haakon (license 880) Tested by: haakon, loloski, dvossel ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=236305
          Hide
          Digium Subversion added a comment -

          Repository: asterisk
          Revision: 236306

          U trunk/CHANGES
          U trunk/apps/app_queue.c

          ------------------------------------------------------------------------
          r236306 | dvossel | 2009-12-23 12:45:54 -0600 (Wed, 23 Dec 2009) | 4 lines

          update CHANGES to reflect new 'R' app_queue option plus a minor optimization to the feature patch

          (issue ASTERISK-15268)

          ------------------------------------------------------------------------

          http://svn.digium.com/view/asterisk?view=rev&revision=236306

          Show
          Digium Subversion added a comment - Repository: asterisk Revision: 236306 U trunk/CHANGES U trunk/apps/app_queue.c ------------------------------------------------------------------------ r236306 | dvossel | 2009-12-23 12:45:54 -0600 (Wed, 23 Dec 2009) | 4 lines update CHANGES to reflect new 'R' app_queue option plus a minor optimization to the feature patch (issue ASTERISK-15268 ) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=236306
          Hide
          Digium Subversion added a comment -

          Repository: asterisk
          Revision: 236307

          _U branches/1.6.2/

          ------------------------------------------------------------------------
          r236307 | dvossel | 2009-12-23 12:46:18 -0600 (Wed, 23 Dec 2009) | 10 lines

          Blocked revisions 236306 via svnmerge

          ........
          r236306 | dvossel | 2009-12-23 12:45:54 -0600 (Wed, 23 Dec 2009) | 4 lines

          update CHANGES to reflect new 'R' app_queue option plus a minor optimization to the feature patch

          (issue ASTERISK-15268)
          ........

          ------------------------------------------------------------------------

          http://svn.digium.com/view/asterisk?view=rev&revision=236307

          Show
          Digium Subversion added a comment - Repository: asterisk Revision: 236307 _U branches/1.6.2/ ------------------------------------------------------------------------ r236307 | dvossel | 2009-12-23 12:46:18 -0600 (Wed, 23 Dec 2009) | 10 lines Blocked revisions 236306 via svnmerge ........ r236306 | dvossel | 2009-12-23 12:45:54 -0600 (Wed, 23 Dec 2009) | 4 lines update CHANGES to reflect new 'R' app_queue option plus a minor optimization to the feature patch (issue ASTERISK-15268 ) ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=236307

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: