Asterisk 1.8 BLF SIP Notify issue (unregistered)

Hi guys,
My first post here after searching hi and low for clarification on my problem with the latest asterisk 1.8 release. I have found posts with exactly my issue however, all fixes don’r seem to resolve the issue with SIP notify events.

Here at CSIRO we have a minimal asterisk system to provide a automated intercom system for visitors arriving to site. - Currently we have a “live” system using early release of astlinux with a prepackage of asterisk 1.2.24 and works without any problems. As such, the issue I have is not with what is currently live however I’ve built a new system using the same hardware to test a new dial plan on the later asterisk 1.8.2.3 and have stumbled upon the problem with BLF indicators not showing red when a SIP outstation is disconnected from the network.
I may have configured wrong or is it a know issue with 1.8??

How can I get it working?? Or is this actually a bug?

Hardware:-

Live system (currently not showing the BLF problem)
Server- astlinux 0.4.8 with packaged asterisk 1.2.24 on ALIX 2d3 PC engines i686.
4 x Grandstream GXP2000 handsets (latest firmware installed 1.1.5.15)
7 x Dallas Delta SIP outstations (manufactured in Melbourne Australia) Press red button on intercom and the outstaion calls configure SIP extension SIP/2000 in my dial plan.

Test system
Server- astlinux 0.7.6 with packaged asterisk 1.8.2.3 on ALIX 2d3 PC engines i686.
2 x Grandstream GXP2000 handsets (latest firmware installed 1.1.5.15)
1 x Dallas Delta SIP outstation SIP/2000 as above. Test only

Configuration

sip.conf

[general]

[1000]
type=peer
username=1000
secret=1000
context=phones
callerid=CMS Admin
host=dynamic
disallow=all
nat=never
allow=alaw
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes

[1001]
type=peer
username=1001
secret=1001
callerid=CMS ESB
context=phones
host=dynamic
disallow=all
nat=never
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes

[1002]
type=peer
username=1002
secret=1002
callerid=Reception
context=phones
host=dynamic
disallow=all
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes

[1003]
type=peer
username=1003
secret=1003
context=phones
callerid=Spare
host=dynamic
disallow=all
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes

[1500]
type=peer
username=1500
secret=1500
context=phones
callerid=Vehicle Entry Top
host=dynamic
disallow=all
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes

subscribecontext=BLF_Group_1

[1501]
type=peer
username=1501
secret=1501
context=phones
callerid=Vehicle Entry Bottom
host=dynamic
disallow=all
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes
subscribecontext=BLF_Group_1

[1502]
type=peer
username=1502
secret=1502
context=phones
callerid=Vehicle Exit Top
host=dynamic
disallow=all
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes
subscribecontext=BLF_Group_1

[1503]
type=peer
username=1503
secret=1503
context=phones
callerid=Vehicle Exit Bottom
host=dynamic
disallow=all
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes
subscribecontext=BLF_Group_1

[1504]
type=peer
username=1504
secret=1504
context=phones
callerid=Pedestrian Entry
host=dynamic
disallow=all
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes
subscribecontext=BLF_Group_1

[1505]
type=peer
username=1505
secret=1505
context=phones
callerid=Pedestrian Exit
host=dynamic
disallow=all
allow=alaw
canreinvite=no
call-limit=10
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes
subscribecontext=BLF_Group_1

extensions.conf

[globals]

[general]

[default]

[incoming_calls]

[internal]
;Date Time annoucement Day, Month, Day, Year, 24hours time
exten => 3000,1,Verbose(1,Sound)
exten => 3000,2,SayUnixTime(,ABdY ‘/stat/var/lib/asterisk/sounds/en/letters/at’ kM)
exten => 3000,3,Hangup()

;A nifty echo test to see things are working
exten => 5000,1,Verbose(1,Echo Test Application)
exten => 5000,2,Answer()
exten => 5000,3,Echo()
exten => 5000,4,Hangup()

;A quick test to see the things are working
exten => 6000,1,Verbose(1,Sound)
exten => 6000,2,Answer()
exten => 6000,3,Playback(/stat/var/lib/asterisk/sounds/en/demo-thanks)
exten => 6000,4,Hangup()

;Explicitly allow dialling any GXP2000 handsets
exten => 1000,1,Dial(SIP/1000)
exten => 1001,1,Dial(SIP/1001)
exten => 1002,1,Dial(SIP/1002)
;Spare Handset
exten => 1003,1,Dial(SIP/1003)

;Explicitly allow dialling any Dallas Delta intercoms directly.
exten => 1500,1,Dial(SIP/1500)
exten => 1501,1,Dial(SIP/1501)
exten => 1502,1,Dial(SIP/1502)
exten => 1503,1,Dial(SIP/1503)
exten => 1504,1,Dial(SIP/1504)
exten => 1505,1,Dial(SIP/1505)
exten => 1506,1,Dial(SIP/1506)

; **** Test day-time *****
; If days fall between Monday to Friday AND time is between
; 07:45 and 17:45 then branch to [aahlopen] otherwise
; [aahlclosed] is scripted.

exten => 2000,1,GotoIftime(07:45-17:30,mon-fri,,?aahlopen,s,1)
exten => 2000,n,Goto(aahlclosed,s,1)
exten => 2000,n,Hangup()

;********************************************************************************
; Ext 2001 is called when Admin ENTRY intercom button is pressed. Don’t need to
; test for public holidays, just monday to Friday and time of day.
; 1. Falls within a business day Monday to Friday.
; 2. Falls within business hours of 07:45 - 17:45
; If all conditions are met, then [aahlopen] script is executed, otherwise
; the [aahlclosed] script is executed.
;********************************************************************************

exten => 2001,1,GotoIftime(07:45-17:30,mon-fri,,?reception,s,1)
exten => 2001,n,Goto(cms,s,1)
exten => 2001,n,Hangup()

;********************************************************************************
; Ext 2500 is called when ANY EXIT intercom button is pressed. Don’t need to
; test for public holidays, just monday to Friday and time of day.
; 1. Falls within a business day Monday to Friday.
; 2. Falls within business hours of 07:45 - 17:45
; If all conditions are met, then [aahlopen] script is executed, otherwise
; the [aahlcms] script is executed.
;********************************************************************************

exten => 2500,1,GotoIftime(07:45-17:30,mon-fri,,?aahlopen,s,1)
exten => 2500,n,Goto(aahlcms,s,1)
exten => 2500,n,Hangup()

; Allow RECEPTION master station to ring for 5 seconds then announce “pleasewait”
; message to visitor before ringing RECEPTION master station for another 10 seconds
; then announcing again “pleasewait” message to visitor. Do this twice before
; ringing ALL master stations for 10 seconds. If no answer, then announce
; to visitor “No attendants are available” then simply hanging up.

[aahlopen]
exten => s,1,Progress()
exten => s,n,Dial(SIP/1000,30,m(AAHLPleasewait))
exten => s,n,Dial(SIP/1002,10,m(AAHLPleasewait))
exten => s,n,Dial(SIP/1000&SIP/1001&SIP/1002,20,m(AAHLPleasewait))
exten => s,n,Playback(/mnt/kd/sound/AAHL/notavailable)
exten => s,n,Hangup()

; Give “business hours” spiel before calling CMS master stations for 10 seconds
; If no answer within the 10 seconds, announce to visitor “pleasewait” message
; then call CMS Master stations for another 20 seconds before announcing to visitor
; “pleasewait” message. If no answer then call ALL master stations for another 20 seconds
; before announcing “No attendants are available” then simply hanging up.

[aahlclosed]
exten => s,1,Progress()
exten => s,n,Dial(SIP/1000&SIP/1001,19,m(AAHLAccesshours))
exten => s,n,Wait(3)
exten => s,n,Dial(SIP/1000&SIP/1001&SIP/1002&SIP/1003,20,m(AAHLPleasewait))
exten => s,n,Playback(/mnt/kd/sound/AAHL/notavailable)
exten => s,n,Hangup()

; If no answer within the initial 5 seconds, announce to visitor “pleasewait” message
; then call CMS Master stations for another 20 seconds before announcing to visitor
; “pleasewait” message. Do this twice then if no answer, call ALL master stations for
; another 20 seconds before announcing “No attendants are available” then simply hanging up.

[aahlcms]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Dial(SIP/1000&SIP/1001,5)
exten => s,n,Playback(/mnt/kd/sound/AAHL/pleasewait)
exten => s,n,Dial(SIP/1000&SIP/1001,20)
exten => s,n,Playback(/mnt/kd/sound/AAHL/pleasewait)
exten => s,n,Dial(SIP/1002&SIP/1000&SIP/1001,20)
exten => s,n,Playback(/mnt/kd/sound/AAHL/notavailable)
exten => s,n,Wait(1)
exten => s,n,Hangup()

; Here just for testing at the present moment, just configured to call
; ALT CMS master station Ext (1001) in anticapation for installation.

[reception]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Dial(SIP/1001,5)
exten => s,n,Playback(/mnt/kd/sound/AAHL/pleasewait)
exten => s,n,Dial(SIP/1001,10)
exten => s,n,Playback(/mnt/kd/sound/AAHL/pleasewait)
exten => s,n,Dial(SIP/1001,10)
exten => s,n,Playback(/mnt/kd/sound/AAHL/notavailable)
exten => s,n,Hangup()

; Here just for testing at the present moment, just configured to call
; ALT CMS master station (Ext 1001) in anticapation for installation.

[cms]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Dial(SIP/1001,5)
exten => s,n,Playback(/mnt/kd/sound/AAHL/pleasewait)
exten => s,n,Dial(SIP/1001,10)
exten => s,n,Playback(/mnt/kd/sound/AAHL/pleasewait)
exten => s,n,Dial(SIP/1001,10)
exten => s,n,Playback(/mnt/kd/sound/AAHL/notavailable)
exten => s,n,Hangup()

[phones]
include => internal
include => BLF_Group_1

[BLF_Group_1]
exten => 1500,hint,SIP/1500
exten => 1501,hint,SIP/1501
exten => 1502,hint,SIP/1502
exten => 1503,hint,SIP/1503
exten => 1504,hint,SIP/1504
exten => 1505,hint,SIP/1505
exten => 1506,hint,SIP/1506