[asterisk-bugs] [Asterisk 0018344]: regression improper sip parse when invite contains values to the left of the @ ; phone-context=+1; npdi=yes

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Dec 6 14:30:39 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18344 
====================================================================== 
Reported By:                danimal
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18344
Category:                   Channels/chan_sip/Interoperability
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           1.8.0 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-11-21 13:58 CST
Last Modified:              2010-12-06 14:30 CST
====================================================================== 
Summary:                    regression improper sip parse when invite contains
values to the left of the @ ;phone-context=+1;npdi=yes
Description: 
This is related to a circa 2006 issue
https://issues.asterisk.org/view.php?id=7761

when a call origionates from the pstn to a sonus and terminates to
asterisk 1.8 sonus adds values to the left side of the @ side in the
invite. Previous versions of asterisk would return only the telephone
number in ${EXTEN}. 1.8 is returning everything to the left of the @ sign
in ${EXTEN}/

steps to reproduce.
1. install centos 5.5
2. install asterisk 1.8 via the digium repository / yum install
3. my upstream provider uses a sonus GW for pstn terminaltion.
4. call from the pstn to asterisk 1.8
5. exten =>_X!,1,NOOP(dialed number => ${EXTEN})
6, notice the value of ${EXTEN}

anticipated results
asterisk will return only the DID number in ${EXTEN}

actual results
asterisk is returning everything to the left side of the @ symbol in
${EXTEN} this value is then also stored in the cdr records as well.
====================================================================== 

---------------------------------------------------------------------- 
 (0129360) lmadsen (administrator) - 2010-12-06 14:30
 https://issues.asterisk.org/view.php?id=18344#c129360 
---------------------------------------------------------------------- 
A better work around than using ${EXTEN:-22} would be:

exten => _.,1,Set(IncomingNumber=${CUT(EXTEN,;,1)})


or you could use FILTER()

exten => _.,1,Set(IncomingNumber=${FILTER(0-9a-zA-Z,${EXTEN})})

Something like that.

(In the first example the ; may need to be escaped with a backslash (\) 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-12-06 14:30 lmadsen        Note Added: 0129360                          
======================================================================




More information about the asterisk-bugs mailing list