[asterisk-bugs] [Asterisk 0010870]: AEL & CUT

noreply at bugs.digium.com noreply at bugs.digium.com
Wed Oct 3 12:51:55 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10870 
====================================================================== 
Reported By:                non-poster
Assigned To:                murf
====================================================================== 
Project:                    Asterisk
Issue ID:                   10870
Category:                   PBX/pbx_ael
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.4.11  
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             10-02-2007 14:16 CDT
Last Modified:              10-03-2007 12:51 CDT
====================================================================== 
Summary:                    AEL & CUT
Description: 
CUT doesn't seem to work like I would expect.

This works:

macro route-enum-2(exten, Timeout, DialOpts, dns) {
    Set(ENLCOUNT=${ENUMLOOKUP(+${exten},ALL,c,,${dns})});
    if (${ENLCOUNT} > 0 )
    {
        for(count=1;${count} <= ${ENLCOUNT};count=${count} + 1) {
            Set(ENL=${ENUMLOOKUP(+${exten},ALL,,${count},${dns})});
            if (${LEN(${ENL})} > 0) {
                if ("${ENL:0:3}" = "sip") {
                    Dial(SIP/${ENL:4},${Timeout},o${DialOpts});
                } else if ("${ENL:0:4}" = "iax2") {
                    Dial(IAX2/${ENL:5},${Timeout},o${DialOpts});
                } else if ("${ENL:0:4}" = "h323") {
                    Dial(H323/${ENL:5},${Timeout},o${DialOpts});
                };
            };
        };
    };
};



This doesn't work:

                switch (${CUT(ENL,:,1)}) {
                    case sip:
                        Dial(SIP/${ENL:4},${Timeout},o${DialOpts});
                        break;
                    case iax2:
                        Dial(IAX2/${ENL:5},${Timeout},o${DialOpts});
                        break;
                    case h323:
                        Dial(H323/${ENL:5},${Timeout},o${DialOpts});
                        break;
                    default:
                        NoOp(blah);
                };



Asterisk 1.4.11, gcc 4.1.2, glibc 2.5, amd64 
====================================================================== 

---------------------------------------------------------------------- 
 murf - 10-03-07 12:51  
---------------------------------------------------------------------- 
OK, I'm reproducing this and I see:

[Oct  3 12:00:21] ERROR[15838]: func_cut.c:246 acf_cut_exec: Syntax:
CUT(<varname>,<char-delim>,<range-spec>) - missing argument!

on the console (I do have verbose set > 3 )

don't you? It's complaining that I'm using commas instead of vertbars for
arg separators. I'll publish my patch here... actually, I'm going to commit
this to 1.4 in a few moments, but you are welcome to use the patch if you
desire. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
10-03-07 12:51  murf           Note Added: 0071400                          
======================================================================




More information about the asterisk-bugs mailing list