[Home]

Summary:ASTERISK-06958: Performing 'extensions reload' clears all Regexten NoOps
Reporter:Douglas Garstang (dgarstang)Labels:
Date Opened:2006-05-11 11:55:14Date Closed:2011-06-07 14:03:08
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) output.txt
Description:*CLI> show dialplan dundi_local
[ Context 'dundi_local' created by 'pbx_config' ]
 '2944006' =>      1. Noop(2944006)                              [SIP]
 '2944007' =>      1. Noop(2944007)                              [SIP]
 '2944011' =>      1. Noop(2944011)                              [SIP]
 '2944015' =>      1. Noop(2944015)                              [SIP]
 '2944016' =>      1. Noop(2944016)                              [SIP]
 '2944017' =>      1. Noop(2944017)                              [SIP]
 '2944018' =>      1. Noop(2944018)                              [SIP]
 '2944022' =>      1. Noop(2944022)                              [SIP]
 '2944023' =>      1. Noop(2944023)                              [SIP]
 '2944026' =>      1. Noop(2944026)                              [SIP]
 '2944029' =>      1. Noop(2944029)                              [SIP]
 '2944030' =>      1. Noop(2944030)                              [SIP]
 '2944033' =>      1. Noop(2944033)                              [SIP]
 '2944034' =>      1. Noop(2944034)                              [SIP]
 '2944035' =>      1. Noop(2944035)                              [SIP]
 '2944050' =>      1. Noop(2944050)                              [SIP]
 '2944051' =>      1. Noop(2944051)                              [SIP]
 '2944052' =>      1. Noop(2944052)                              [SIP]
 '2944053' =>      1. Noop(2944053)                              [SIP]
 '2944055' =>      1. Noop(2944055)                              [SIP]
 '2944057' =>      1. Noop(2944057)                              [SIP]
 '2944071' =>      1. Noop(2944071)                              [SIP]
 '2944072' =>      1. Noop(2944072)                              [SIP]
 '2944074' =>      1. Noop(2944074)                              [SIP]
 '2944075' =>      1. Noop(2944075)                              [SIP]
 '2944076' =>      1. Noop(2944076)                              [SIP]
 '2944077' =>      1. Noop(2944077)                              [SIP]
 '2944078' =>      1. Noop(2944078)                              [SIP]
 '2944079' =>      1. Noop(2944079)                              [SIP]
 '2944086' =>      1. Noop(2944086)                              [SIP]
 '2944090' =>      1. Noop(2944090)                              [SIP]
 '2944093' =>      1. Noop(2944093)                              [SIP]
                   2. Dial(SIP/2944093|20|tr)                    [pbx_config]
 '2944171' =>      1. Noop(2944171)                              [SIP]
 '3254101' =>      2. Dial(SIP/3254101|20|tr)                    [pbx_config]
 '3254103' =>      2. Dial(SIP/3254103|20|tr)                    [pbx_config]
 '80014016' =>     1. Noop(80014016)                             [SIP]
 '80014018' =>     1. Noop(80014018)                             [SIP]
 '80014023' =>     1. Noop(80014023)                             [SIP]
 '80014029' =>     1. Noop(80014029)                             [SIP]
 '80014030' =>     1. Noop(80014030)                             [SIP]
 '80014033' =>     1. Noop(80014033)                             [SIP]
 '80014034' =>     1. Noop(80014034)                             [SIP]
 '80014050' =>     1. Noop(80014050)                             [SIP]
 '80014051' =>     1. Noop(80014051)                             [SIP]
 '80014052' =>     1. Noop(80014052)                             [SIP]
 '80014055' =>     1. Noop(80014055)                             [SIP]
 '80014057' =>     1. Noop(80014057)                             [SIP]
 '80014071' =>     1. Noop(80014071)                             [SIP]
 '80014074' =>     1. Noop(80014074)                             [SIP]
 '80014078' =>     1. Noop(80014078)                             [SIP]
 '80014079' =>     1. Noop(80014079)                             [SIP]
 '80014116' =>     1. Noop(80014116)                             [SIP]
 '80014123' =>     1. Noop(80014123)                             [SIP]
 '80014129' =>     1. Noop(80014129)                             [SIP]
 '80014130' =>     1. Noop(80014130)                             [SIP]
 '80014133' =>     1. Noop(80014133)                             [SIP]
 '80014150' =>     1. Noop(80014150)                             [SIP]
 '80014151' =>     1. Noop(80014151)                             [SIP]
 '80014152' =>     1. Noop(80014152)                             [SIP]
 '80014155' =>     1. Noop(80014155)                             [SIP]
 '80014157' =>     1. Noop(80014157)                             [SIP]
 '80014174' =>     1. Noop(80014174)                             [SIP]
 '9220370' =>      1. Noop(9220370)                              [SIP]
 '9220371' =>      1. Noop(9220371)                              [SIP]
 '9224004' =>      1. Noop(9224004)                              [SIP]

*CLI> extensions reload
(lots of startup output here...)

*CLI> show dialplan dundi_local
[ Context 'dundi_local' created by 'pbx_config' ]
 '2944093' =>      2. Dial(SIP/2944093|20|tr)                    [pbx_config]
 '3254101' =>      2. Dial(SIP/3254101|20|tr)                    [pbx_config]
 '3254103' =>      2. Dial(SIP/3254103|20|tr)                    [pbx_config]

-= 3 extensions (3 priorities) in 1 context. =-

Where did the priority 1 NoOp's go? I did an 'extensions reload', not a 'reload'. This means that in a production environment, if you make a dialplan change and perform an 'extensions reload', that Asterisk system won't be able to terminate any calls.

Also, even after phones re-register, the priority 1 NoOp's are not being recreated. I have to completely stop and start Asterisk to get them all back. This is REALLY bad. You can quite clearly see in the attached output file, reregistrations from the phones, but the priority 1 NoOps still aren't there afterwards.

Comments:By: Kevin P. Fleming (kpfleming) 2006-05-16 17:26:11

This is a lack of documentation issue, not a bug. The context that you use for regexten entries should _not_ be a context that also exists in extensions.conf or extensions_ael.conf, otherwise this will happen. It should be a unique context, which means it will get _created_ by chan_sip/chan_iax2 to place entries into, and then you can include it into the context where you wish its effects to appear.

The underlying issue here is that contexts (but not extensions) are remembered based on which module registered them, and if the context was registered by pbx_config (which reads extensions.conf) then 'extensions reload' is going to replace it completely, since pbx_config 'owns' it.