[asterisk-bugs] [Asterisk 0015792]: Unable to carry over application map functions from 1.4.24 to 1.4.26

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Sep 28 12:28:31 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15792 
====================================================================== 
Reported By:                ronb
Assigned To:                mnicholson
====================================================================== 
Project:                    Asterisk
Issue ID:                   15792
Category:                   Resources/res_features
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Target Version:             1.4.27
Asterisk Version:           SVN 
JIRA:                       SWP-223 
Regression:                 Yes 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-08-28 11:44 CDT
Last Modified:              2009-09-28 12:28 CDT
====================================================================== 
Summary:                    Unable to carry over application map functions from
1.4.24 to 1.4.26
Description: 
I am having a problem with applicationmaps/features in 1.4.26 that I wasn't
having in 1.4.24.1 Possibly something changed, or there is a configuration
problem but if that's the case, I haven't been able to see it. 

Below I will document the relevant parts of the dialplan, as well as log
output from the two versions of asterisk.  

What works in 1.4.24:
applicationmap function *75
automon (*8)
blindxfer (#)

What doesn't appear to work in 1.4.26:
all of the above. 

extensions.conf:
[macro-stdexten]
exten = s,1,Set(__DYNAMIC_FEATURES=apps#automon)
exten = s,2,Set(DYNAMIC_FEATURES=apps#automon)
exten = s,3,Set(_DYNAMIC_FEATURES=apps#automon)
exten = s,4,GotoIf($["${FOLLOWME_${ARG1}}" = "1"]?7:5)
exten = s,5,Dial(${ARG2},${RINGTIME},${DIALOPTIONS})
exten = s,6,Goto(s-${DIALSTATUS},1)
exten = s,7,Macro(stdexten-followme,${ARG1},${ARG2})
exten = s-NOANSWER,1,Voicemail(${ARG1},u)
exten = s-NOANSWER,2,Goto(default,s,1)
exten = s-BUSY,1,Voicemail(${ARG1},b)
exten = s-BUSY,2,Goto(default,s,1)
exten = _s-.,1,Goto(s-NOANSWER,1)
exten = a,1,VoicemailMain(${ARG1})


[macro-apprecord]
exten => s,1,GotoIf($["${XAD}" = "0" | "${XAD}" = ""]?startrec:stoprec)
exten => s,n(startrec),Set(XAD=1)
exten => s,n,Set(FILENAME=/tmp/MON-${CALLERID(number)})
exten => s,n,NoOp(Filename is ${FILENAME})
exten => s,n,Monitor(wav,${FILENAME},m)
exten => s,n,MacroExit
exten => s,n(stoprec),StopMonitor
exten => s,n,Set(XAD=0)
exten => s,n,MacroExit
========================================

features.conf:

featuredigittimeout = 2000      ; Max time (ms) between digits for

[featuremap]
automon => *78
blindxfer => #
atxfer => *2

[applicationmap]
apps = *75,caller,Macro,apprecord


====================================================================== 

---------------------------------------------------------------------- 
 (0111442) ronb (reporter) - 2009-09-28 12:28
 https://issues.asterisk.org/view.php?id=15792#c111442 
---------------------------------------------------------------------- 
I created a new log file with the dialplan and cli output in it, but then
realized I had already sent that and it presents nothing new. 

In both cases (1.4.24 and 1.4.26) the application registers. 
==================================
sk3*CLI> reload res_features.so

sk3*CLI> 
The 'reload' command is deprecated and will be removed in a future
release. Please use 'module reload' instead.
    -- Reloading module 'res_features.so' (Call Features Resource)
  == Parsing '/etc/asterisk/features.conf': Found
  == Registered Feature 'apps'
  == Mapping Feature 'apps' to app 'Macro(apprecord)' with code '*75'
    -- Added extension '700' priority 1 to parkedcalls
======================================================
The 1.4.24 DTMF log shows the incoming DTMF codes for *75, followed by the
succesfull connection to the app
=======================================================
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF begin '*' received on
SIP/120-081c7bc8
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF begin passthrough '*' on
SIP/120-081c7bc8
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF end '*' received on
SIP/120-081c7bc8, duration 60 ms
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF end accepted with begin '*'
on SIP/120-081c7bc8
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF end '*' has duration 60 but
want minimum 80, emulating on SIP/120-081c7bc8
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF end emulation of '*' queued
on SIP/120-081c7bc8
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF begin '7' received on
SIP/120-081c7bc8
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF begin passthrough '7' on
SIP/120-081c7bc8
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF end '7' received on
SIP/120-081c7bc8, duration 80 ms
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF end accepted with begin '7'
on SIP/120-081c7bc8
[Aug 28 12:49:09] DTMF[18765] channel.c: DTMF end passthrough '7' on
SIP/120-081c7bc8
[Aug 28 12:49:10] DTMF[18765] channel.c: DTMF begin '5' received on
SIP/120-081c7bc8
[Aug 28 12:49:10] DTMF[18765] channel.c: DTMF begin passthrough '5' on
SIP/120-081c7bc8
[Aug 28 12:49:10] DTMF[18765] channel.c: DTMF end '5' received on
SIP/120-081c7bc8, duration 80 ms
[Aug 28 12:49:10] DTMF[18765] channel.c: DTMF end accepted with begin '5'
on SIP/120-081c7bc8
[Aug 28 12:49:10] DTMF[18765] channel.c: DTMF end passthrough '5' on
SIP/120-081c7bc8
[Aug 28 12:49:10] VERBOSE[18765] logger.c:     --  Feature Found: apps
exten: apps
[Aug 28 12:49:10] VERBOSE[18765] logger.c:     -- Executing
[s at macro-apprecord:1] GotoIf("SIP/120-081c7bc8", "1?startrec:stoprec") in
new stack
======================================================

In the 1.4.26 case, I see the DTMF codes the same way, but no connection
to the app following. In this case, I tried the "#" to transfer the call
after it was evident that there was application following. 

==================================================================
[Aug 28 12:53:07] VERBOSE[18822] logger.c:     -- SIP/120-081c3638
answered SIP/freehold-sk3-081c7c48
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF begin '*' received on
SIP/120-081c3638
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF begin passthrough '*' on
SIP/120-081c3638
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF end '*' received on
SIP/120-081c3638, duration 80 ms
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF end accepted with begin '*'
on SIP/120-081c3638
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF end passthrough '*' on
SIP/120-081c3638
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF begin '7' received on
SIP/120-081c3638
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF begin passthrough '7' on
SIP/120-081c3638
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF end '7' received on
SIP/120-081c3638, duration 60 ms
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF end accepted with begin '7'
on SIP/120-081c3638
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF end '7' has duration 60 but
want minimum 80, emulating on SIP/120-081c3638
[Aug 28 12:53:10] DTMF[18822] channel.c: DTMF end emulation of '7' queued
on SIP/120-081c3638
[Aug 28 12:53:11] DTMF[18822] channel.c: DTMF begin '5' received on
SIP/120-081c3638
[Aug 28 12:53:11] DTMF[18822] channel.c: DTMF begin passthrough '5' on
SIP/120-081c3638
[Aug 28 12:53:11] DTMF[18822] channel.c: DTMF end '5' received on
SIP/120-081c3638, duration 80 ms
[Aug 28 12:53:11] DTMF[18822] channel.c: DTMF end accepted with begin '5'
on SIP/120-081c3638
[Aug 28 12:53:11] DTMF[18822] channel.c: DTMF end passthrough '5' on
SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF begin '*' received on
SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF begin passthrough '*' on
SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end '*' received on
SIP/120-081c3638, duration 60 ms
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end accepted with begin '*'
on SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end '*' has duration 60 but
want minimum 80, emulating on SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end emulation of '*' queued
on SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF begin '7' received on
SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF begin passthrough '7' on
SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end '7' received on
SIP/120-081c3638, duration 80 ms
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end accepted with begin '7'
on SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end passthrough '7' on
SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF begin '5' received on
SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF begin passthrough '5' on
SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end '5' received on
SIP/120-081c3638, duration 80 ms
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end accepted with begin '5'
on SIP/120-081c3638
[Aug 28 12:53:13] DTMF[18822] channel.c: DTMF end passthrough '5' on
SIP/120-081c3638
[Aug 28 12:53:15] DTMF[18822] channel.c: DTMF begin '#' received on
SIP/120-081c3638
[Aug 28 12:53:15] DTMF[18822] channel.c: DTMF begin passthrough '#' on
SIP/120-081c3638
[Aug 28 12:53:15] DTMF[18822] channel.c: DTMF end '#' received on
SIP/120-081c3638, duration 60 ms
[Aug 28 12:53:15] DTMF[18822] channel.c: DTMF end accepted with begin '#'
on SIP/120-081c3638
[Aug 28 12:53:15] DTMF[18822] channel.c: DTMF end '#' has duration 60 but
want minimum 80, emulating on SIP/120-081c3638
[Aug 28 12:53:15] DTMF[18822] channel.c: DTMF end emulation of '#' queued
on SIP/120-081c3638
[Aug 28 12:53:21] VERBOSE[18822] logger.c:   == Spawn extension
(macro-stdexten, s, 5) exited non-zero on 'SIP/freehold-sk3-081c7c48' in
macro 'std
===================================================================


My method of testing is that using the same configuration files on the
same machine, I simply switch between asterisk versions (as well as
chan_dahdi which has  a symbol dependency), restart asterisk, and bridge a
call. In the 1.4.24 case, the app function works as expected. In the 1.4.26
case, there is no response to the key sequence (*75), nor to a simple # for
transfer.  I can switch back and forth and the problem stays with the
version (1.4.26). 

This is running on astlinux, but it is a complete version of asterisk that
I have built myself. 

please suggest what additional information I can provide :: additional log
output,conf file tarball ? whatever I can do to help get past thing
efficiently 
I'll do. 

Thanks. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-09-28 12:28 ronb           Note Added: 0111442                          
======================================================================




More information about the asterisk-bugs mailing list