[Home]

Summary:ASTERISK-15268: [patch] Add support for ring indication when calling member
Reporter:Håkon Nessjøen (haakon)Labels:
Date Opened:2009-12-03 10:31:15.000-0600Date Closed:2010-02-17 13:44:50.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Applications/app_queue
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) app_queue.c.patch
( 1) new_app_queue.c.patch
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>
Comments:By: Håkon Nessjøen (haakon) 2009-12-04 04:58:34.000-0600

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.

By: Leif Madsen (lmadsen) 2009-12-04 08:15:20.000-0600

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.

By: Håkon Nessjøen (haakon) 2009-12-18 09:37:51.000-0600

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.

By: Ronald Chan (loloski) 2009-12-18 14:44:51.000-0600

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

By: Leif Madsen (lmadsen) 2009-12-18 16:04:09.000-0600

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

By: Ronald Chan (loloski) 2009-12-19 05:57:41.000-0600

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

By: Håkon Nessjøen (haakon) 2009-12-21 03:33:58.000-0600

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.

By: Ronald Chan (loloski) 2009-12-21 10:38:17.000-0600

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

By: Digium Subversion (svnbot) 2009-12-23 12:39:38.000-0600

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

By: Digium Subversion (svnbot) 2009-12-23 12:40:22.000-0600

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

By: Digium Subversion (svnbot) 2009-12-23 12:45:55.000-0600

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

By: Digium Subversion (svnbot) 2009-12-23 12:46:19.000-0600

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