[Home]

Summary:ASTERISK-10822: Picking the wrong extension
Reporter:Niklas Larsson (pnlarsson)Labels:
Date Opened:2007-11-19 14:24:27.000-0600Date Closed:2007-11-19 19:37:29.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:PBX/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:After the hash pbx stuff was committed, ie latest trunk, asterisk is picking the wrong extension.

extension.conf:

[from-internal]
include=>ext_test
include=>ext_local

[ext-local]
exten=>201,1,Noop(201)

[ext_test]
exten=>20,1,Noop(20)


The CLI output when dialing 201:

 == Using TOS bits 0
 == Using CoS mark 5
   -- Executing [201 at from-internal:1] NoOp("SIP/2003-b7009610", "20") in new stack
   -- Auto fallthrough, channel 'SIP/2003-b7009610' status is 'UNKNOWN'

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

More info in post to dev: http://lists.digium.com/pipermail/asterisk-dev/2007-November/030587.html
Comments:By: Niklas Larsson (pnlarsson) 2007-11-19 14:29:38.000-0600

Sorry for the typo in extension.conf it should be [ext_local] and nothing else...

By: Steve Murphy (murf) 2007-11-19 19:33:04.000-0600

I'm glad you filed this as a bug.

First, I have checked this against 1.4, and in your example, trunk and 1.4 behave the same.

But, there IS a bug! When I combine the three contexts into a single extension:

[from-internal]
exten=>20,1,Noop(20)
exten=>201,1,Noop(201)

Then, if you dial 201, in 1.4, you will choose the 201 extension, and in trunk, you get the 20 extension. This is wrong.

I have spent the day and corrected this behavior.

By: Steve Murphy (murf) 2007-11-19 19:37:28.000-0600

fixed in version 89438; Added a function to look ahead and find the first extension that could match for the sake of MATCHMORE. This corrected a difference in behavior between 1.4 and trunk.