SLA not working at all

I can’t even get the trunks and stations to register. It’s a total disaster! I tried to follow the documentation, but I guess for sip it’s a bit harder. Here’s what I have. I’d appreciate any help. My poycom 601 phone would only work if I had peer and user, friend wouldn’t work as a type. I apologize, there is a lot, I wanted to test with more than one extension.

SLA.CONF

[line202]
type=trunk
device=Local/disa@line202_outbound

[line143]
type=trunk
device=Local/disa@line143_outbound

[line200]
type=trunk
device=Local/disa@line200_outbound

station
type=station
autocontext=sla_stations
trunk=line202
trunk=line143
trunk=line200
trunk=line4

station202
device=SIP/station202

station143
device=SIP/station143

station200
device=SIP/station200

;--------------------------------------------------------------------------------------------------

SIP.CONF

[voicepulse]
type=user
context=line202
context=line200
context=line143
host=connect01.voicepulse.com
qualify=yes

[voicepulse01]
context=line202
context=line200
context=line143
type=peer
host=connect01.voicepulse.com
qualify=yes
canreinvite=no
username=XXXxxxXXX
fromuser=XXXxxxXXX
secret=XXXxxxXXX
insecure=port,invite
disallow=all
allow=ulaw
allow=g729

[voicepulse02]
context=line202
context=line200
context=line143
type=peer
host=connect02.voicepulse.com
qualify=yes
canreinvite=no
username=XXXxxxXXX
fromuser=XXXxxxXXX
secret=XXXxxxXXX
insecure=port,invite
disallow=all
allow=ulaw
allow=g729

[voicepulse03]
context=voicepulse-in
type=peer
host=connect03.voicepulse.com
qualify=yes
canreinvite=no
username=XXXxxxXXX
fromuser=XXXxxxXXX
secret=XXXxxxXXX
insecure=port,invite
disallow=all
allow=ulaw
allow=g729

;--------------------------------------------------------------------------------------------------

[143]
type=user
secret=XXXxxx
context=line143
mailbox=143

[143]
type=peer
secret=XXXxxx
host=dynamic
defaultip=192.168.2.244
mailbox=143
dtmfmode=inband
progressinband=no
call-limit=3
disallow=all
allow=g729
allow=ulaw

[200]
type=user
secret=XXXxxx
context=line200
mailbox=200

[200]
type=peer
secret=XXXxxx
host=dynamic
defaultip=10.98.61.65
callerid=“Joe Thompson” <200>
mailbox=200
dtmfmode=inband
progressinband=no
call-limit=3
disallow=all
allow=ulaw

[202]
type=user
secret=XXXxxx
context=line202
mailbox=202

[202]
type=peer
secret=XXXxxx
host=dynamic
defaultip=192.168.2.246
callerid=“Temp Alex Hamel” <202>
mailbox=202
dtmfmode=inband
progressinband=no
call-limit=3
disallow=all
allow=ulaw

[station202]
type=friend
host=dynamic
secret=XXXxxx
context=station202_line202
subscribecontext=station202_line202
mailbox=202
qualify=yes

[station143]
type=friend
host=dynamic
secret=XXXxxx
context=station143_line143
subscribecontext=station143_line143
mailbox=143
qualify=yes

[station200]
type=friend
host=dynamic
secret=XXXxxx
context=station200_line200
subscribecontext=station200_line200
mailbox=202
qualify=yes

;--------------------------------------------------------------------------------------------------

EXTENSIONS.CONF

[macro-SLAline]
exten => s,1,SLATrunk(${ARG1})
exten => s,2,Goto(s-$SLATRUNK_STATUS}|1)
exten => s-FAILURE,1,Voicemail(${ARG1}|u)
exten => s-UNANSWERED,1,Voicemail(${ARG1}|u)

[line202]
exten => 202,1,Macro(SLAline|line202)

[line143]
exten => 143,1,Macro(SLAline|line143)

[line200]
exten => 200,1,Macro(SLAline|line200)

[line202_outbound]
exten => disa,1,Disa(no-password|line202_outbound)
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _9NXXXXXX,1,Dial(SIP/\1703${EXTEN:1}@voicepulse03)
exten => _9NXXXXXX,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?$1703{EXTEN:1}|500)
exten => _9NXXXXXX,500,Dial(SIP/\1703${EXTEN:1}@voicepulse02)
exten => _91NXXNXXXXXX,1,Dial(SIP/${EXTEN:1})
exten => _91NXXNXXXXXX,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?${EXTEN:1}|500)
exten => _91NXXNXXXXXX,500,Dial(SIP/${EXTEN:1}@voicepulse02)
exten => _9011.,1,Dial(SIP/${EXTEN:1})
exten => _9011.,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?${EXTEN:1}|500)
exten => _9011.,500,Dial(SIP/${EXTEN:1}@voicepulse02)
exten => 800,1,VoicemailMain()
exten => 888,1,VoicemailMain(${EXTEN})

[line143_outbound]
exten => disa,1,Disa(no-password|line143_outbound)
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _9NXXXXXX,1,Dial(SIP/\1703${EXTEN:1}@voicepulse03)
exten => _9NXXXXXX,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?$1703{EXTEN:1}|500)
exten => _9NXXXXXX,500,Dial(SIP/\1703${EXTEN:1}@voicepulse02)
exten => _91NXXNXXXXXX,1,Dial(SIP/${EXTEN:1})
exten => _91NXXNXXXXXX,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?${EXTEN:1}|500)
exten => _91NXXNXXXXXX,500,Dial(SIP/${EXTEN:1}@voicepulse02)
exten => _9011.,1,Dial(SIP/${EXTEN:1})
exten => _9011.,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?${EXTEN:1}|500)
exten => _9011.,500,Dial(SIP/${EXTEN:1}@voicepulse02)
exten => 800,1,VoicemailMain()
exten => 888,1,VoicemailMain(${EXTEN})

[line200_outbound]
exten => disa,1,Disa(no-password|line200_outbound)
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _9NXXXXXX,1,Dial(SIP/\1703${EXTEN:1}@voicepulse03)
exten => _9NXXXXXX,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?$1703{EXTEN:1}|500)
exten => _9NXXXXXX,500,Dial(SIP/\1703${EXTEN:1}@voicepulse02)
exten => _91NXXNXXXXXX,1,Dial(SIP/${EXTEN:1})
exten => _91NXXNXXXXXX,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?${EXTEN:1}|500)
exten => _91NXXNXXXXXX,500,Dial(SIP/${EXTEN:1}@voicepulse02)
exten => _9011.,1,Dial(SIP/${EXTEN:1})
exten => _9011.,2,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?${EXTEN:1}|500)
exten => _9011.,500,Dial(SIP/${EXTEN:1}@voicepulse02)
exten => 800,1,VoicemailMain()
exten => 888,1,VoicemailMain(${EXTEN})

[sla_stations]
exten => station202,1,SLAStaion(station202)
exten => station202_line202,1,SLAStation(station202_line202)
exten => station202_line143,1,SLAStation(station202_line143)
exten => station202_line200,1,SLAStation(station202_line200)

exten => station202_line202,hint,SLA:station202_line202
exten => station202_line143,hint,SLA:station202_line143
exten => station202_line200,hint,SLA:station202_line200

exten => station143,1,SLAStaion(station143)
exten => station143_line143,1,SLAStation(station143_line143)
exten => station143_line202,1,SLAStation(station143_line202)
exten => station143_line200,1,SLAStation(station143_line200)

exten => station143_line143,hint,SLA:station143_line143
exten => station143_line202,hint,SLA:station143_line202
exten => station143_line200,hint,SLA:station143_line200

exten => station200,1,SLAStaion(station200)
exten => station200_line200,1,SLAStation(station200_line200)
exten => station200_line143,1,SLAStation(station200_line143)
exten => station200_line202,1,SLAStation(station200_line202)

exten => station200_line200,hint,SLA:station200_line200
exten => station200_line143,hint,SLA:station200_line143
exten => station200_line202,hint,SLA:station200_line202

slide over I am in the exact same boat. Please post if you find the answer.

Mark

I gave up on it. :confused: I decided that Busy Lamp Field [BLF] was good enough. I’d give it a try again though if there was more documentation. For now, BLF lets me watch extensions and shows when someone is busy, so that’s good enough. If you choose that option, I could help.

Yes I am interested in BLF

Yes I am interested in BLF

Alrighty then. I’m going to assume you have polycom phones. Otherwise, it’s completly different. First thing you want to do is edit your sip.cfg file. You want to enable presence. Look for feature.1.enabled and make it equal to 1. For the extensions you want to monitor, you have to create a contact entry in the .xml directory and give them speed dials and enable buddy watch 1.
You’ll have to change a few things in sip.conf.
subscribecontext = [your context]
notifyringing = yes
notifyhold = yes
limitonpeers = yes

Also, you should use the type peer, and not friend.
Under every extension entry you also need these:
call-limit=1
incominglimit=1
Can be greater than 1.

For the lights to work, you have to use hints. I created a context just for the hints so I wouldn’t have to change my dialplan. Since I already posted what I had above, I just added this:
[presence]
exten => 202,hint,SIP/202
exten => 143,hint,SIP/143
exten => 200,hint,SIP/200

And then included presence under [from-sip] since the hints should be in the same context that you define in sip.conf

I hope this helps. Let me know if you need me to explain something in more detail.