[Home]

Summary:ASTERISK-09448: m Option ceases MOH early
Reporter:James Brindle (jamesb63)Labels:
Date Opened:2007-05-15 10:33:52Date Closed:2007-05-16 08:22:36
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Applications/app_dial
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:I am writing a custom call screening application which is a deviant of PrivacyManager in that it screens all calls, not just those who have no caller ID.

When a call reaches a DID number terminated to my asterisk server it checks to see if the caller ID is known and on a 'safe list', they are played a message telling them they are being put through.

I want to play MOH to the caller _until_ the termination point picks up and accepts the call.

The destination of the call can be an internal extension or an external cellphone.

When the destination is set to be a cellphone, the caller hears MOH until the cell network reports ringing, at which point the caller hears silence until I answer and accept the call or reject it to voicemail.

The specifics of my Dial() command are as follows:

Dial(SIP/${EXTERNNUMBER}@TRUNK,45,tTmM(screening^${CALLERID(num)}))

${EXTERNNUMBER} is defined in the global section or value pulled from the internal database - this bit works fine.

If I substitute "m" for "r", ringing is heard the whole way through to my accept or reject but not "m".

Is there a reason why?



****** ADDITIONAL INFORMATION ******

srv525*CLI>
   -- Executing [8011@incoming:1] Goto("SIP/7175112-081fb310", "sw-44-01254368519|1") in new stack
   -- Goto (incoming,sw-44-01254368519,1)
   -- Executing [sw-44-01254368519@incoming:1] Set("SIP/7175112-081fb310", "OUTTRUNK=JBC_OUT") in new stack
   -- Executing [sw-44-01254368519@incoming:2] Macro("SIP/7175112-081fb310", "setcidprefix|"CELL"") in new stack
   -- Executing [s@macro-setcidprefix:1] Set("SIP/7175112-081fb310", "lineprefix="CELL"") in new stack
   -- Executing [s@macro-setcidprefix:2] LookupCIDName("SIP/7175112-081fb310", "") in new stack
   -- Executing [s@macro-setcidprefix:3] Set("SIP/7175112-081fb310", "CALLERID(num)="901254368519"") in new stack
   -- Executing [s@macro-setcidprefix:4] Set("SIP/7175112-081fb310", "CALLERID(name)="CELL: 01254368519"") in new stack
   -- Executing [sw-44-01254368519@incoming:3] Answer("SIP/7175112-081fb310", "") in new stack
   -- Executing [sw-44-01254368519@incoming:4] Wait("SIP/7175112-081fb310", "1") in new stack
   -- Call on SIP/JBC_OUT-0823c3a0 left from hold
   -- SIP/JBC_OUT-0823c3a0 is making progress passing it to IAX2/jbcpbx-1
   -- Call on SIP/JBC_OUT-0823c3a0 left from hold
   -- SIP/JBC_OUT-0823c3a0 answered IAX2/jbcpbx-1
   -- Executing [sw-44-01254368519@incoming:5] Festival("SIP/7175112-081fb310", "Please wait I am locating the person") in new stack
 == Parsing '/etc/asterisk/festival.conf': Found
   -- Executing [sw-44-01254368519@incoming:6] Dial("SIP/7175112-081fb310", "SIP/07870920797@JBC_OUT|25|tTmM(screening^901254368519)") in new stack
   -- Called 07870920797@JBC_OUT
   -- Started music on hold, class 'default', on SIP/7175112-081fb310
   -- Call on SIP/JBC_OUT-0821c9e0 left from hold
   -- Stopped music on hold on SIP/7175112-081fb310
   -- SIP/JBC_OUT-0821c9e0 is making progress passing it to SIP/7175112-081fb310
   -- Call on SIP/JBC_OUT-0821c9e0 left from hold
   -- SIP/JBC_OUT-0821c9e0 answered SIP/7175112-081fb310
   -- Executing [s@macro-screening:1] Set("SIP/JBC_OUT-0821c9e0", "cid=901254368519") in new stack
   -- Executing [s@macro-screening:2] Wait("SIP/JBC_OUT-0821c9e0", "1") in new stack
   -- Executing [s@macro-screening:3] Festival("SIP/JBC_OUT-0821c9e0", "901254368519") in new stack
 == Parsing '/etc/asterisk/festival.conf': Found
   -- Executing [s@macro-screening:4] Festival("SIP/JBC_OUT-0821c9e0", "is calling press one to accept the call or zero to reject to voicemail") in new stack
 == Parsing '/etc/asterisk/festival.conf': Found
   -- Executing [s@macro-screening:5] Read("SIP/JBC_OUT-0821c9e0", "ACCEPT||1") in new stack
   -- Accepting a maximum of 1 digits.
   -- User entered '1'
   -- Executing [s@macro-screening:6] Goto("SIP/JBC_OUT-0821c9e0", "sw-42-1|1") in new stack
   -- Goto (macro-screening,sw-42-1,1)
   -- Executing [sw-42-1@macro-screening:1] NoOp("SIP/JBC_OUT-0821c9e0", "Bridging the call") in new stack
   -- Executing [sw-42-1@macro-screening:2] Goto("SIP/JBC_OUT-0821c9e0", "s|7") in new stack
   -- Goto (macro-screening,s,7)
   -- Executing [s@macro-screening:7] NoOp("SIP/JBC_OUT-0821c9e0", "Finish switch-screening-42") in new stack
 == Spawn extension (incoming, sw-44-01254368519, 6) exited non-zero on 'SIP/7175112-081fb310'
 == Spawn extension (int_jbc, 901254368665, 3) exited non-zero on 'IAX2/jbcpbx-1'
   -- Hungup 'IAX2/jbcpbx-1'
Comments:By: Joshua C. Colp (jcolp) 2007-05-15 12:18:44

This has already been fixed in 1.4 and trunk in subversion.

By: James Brindle (jamesb63) 2007-05-16 02:32:36

Sorry, can't fully agree, i've upgraded to 1.4.4 release and it's still the same, i'll give the svn trunk version a go later today and let you know.

I've tested by calling the DID from one cellphone and having it set to call my other.  The music stops on the calling phone as the target cell starts to ring.

By: James Brindle (jamesb63) 2007-05-16 04:11:16

Update: I've also tested 1.4.4 release tarball with "r" option and same thing happens.

By: Joshua C. Colp (jcolp) 2007-05-16 08:22:36

This was fixed after 1.4.4 was released, so that is why the fix is not in there. You can check out SVN 1.4 by doing:

svn co http://svn.digium.com/svn/asterisk/branches/1.4 asterisk-1.4

It will magically appear in the asterisk-1.4 directory.