(Sorry for top-posting. Was just easier this time.)
I'm running Snom 300s with software version 7.1.30. I don't think there
is a whole lot different between them and the other phones apart from
the number of buttons. The Park Orbit thing was really sort of tricky.
There's a setting that wasn't documented that had to be turned on before
it would work.
When configuring the SIP Identity, on the SIP tab, you want to be sure
Extension Monitoring Call Pickup List is set to on. Not sure if it's
still needed, but I also check the Support broken registrar function.
To set up the park orbit, I picked one programmable function key,
assigned its type as Park Orbit and typed 700 (the code I set in
features.conf) in the number field. I then created 2 buttons to handle
the 2 parking extensions (we only have 2 lines) and set them as
extensions as 701 and 702 (all you have to type is the number. The rest
of the sip code is added when you press save.). When a user presses the
Park/Hold button it places the call in the parking lot and lights up the
LED beside the appropriate extension button that can be used to retrieve
the calls.
Here's the appropriate sections of the config files:
** features.conf **
[general]
parkext = 700 ; What extension to dial to park
parkpos = 701-702 ; What extensions to park calls on.
These needs to be
; numeric, as Asterisk starts from
the start position
; and increments with one for the
next parked call.
context = parkedcalls ; Which context parked calls are in
parkingtime = 200 ; Number of seconds a call can be
parked for
; (default is 45 seconds)
;courtesytone = beep; Sound file to play to the parked
caller
; when someone dials a parked call
; or the Touch Monitor is
activated/deactivated.
;parkedplay = caller; Who to play the courtesy tone to
when picking up a parked call
; one of: parked, caller, both
(default is caller)
;adsipark = yes ; if you want ADSI parking announcements
;findslot = next ; Continue to the 'next' free
parking space.
; Defaults to 'first' available
parkedmusicclass=default; This is the MOH class to use for
the parked channel
; as long as the class is not set on
the channel directly
; using
Set(CHANNEL(musicclass)=whatever) in the dialplan
** sip.conf **
[general]
context=internal
allowguest=no
allowoverlap=no
allowtransfer=yes
notifyhold=yes
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
pedantic=no
vmexten=internal
;vmexten=*97
disallow=all
allow=ulaw
;allow=ilbc
mohinterpret=default
mohsuggest=default
language=en
useragent=PBX
;dtmfmode = info
fromdomain=10.10.50.253
relaxdtmf=yes
allowsubscribe=yes
subscribecontext=internal
notifyringing=yes
notifyhold=yes
limitonpeers=yes
call-limit=10
[10]
username=10
host=dynamic
type=friend
context=internal
secret=password
subscribecontext=internal
dtmfmode=rfc2833
defaultip=10.10.50.250
[EMAIL PROTECTED]
;subscribemwi=yes
vmexten=voicemail
disallow=all
allow=ulaw
call-limit=10
Note: The call-limit is added because we have an operator queue and we
were getting a bunch of error messages in the log before I added this line.
I do all of my normal dial-plan in AEL format, but couldn't make the
hints work with AEL, so had to build an extensions.conf file to make the
park orbit pickup button work. This is also how you do Sip Presence
indication
** extensions.conf **
[test]
include = parkedcalls
exten = 701,hint,park:[EMAIL PROTECTED]
exten = 701,1,ParkedCall(701)
exten = 702,hint,park:[EMAIL PROTECTED]
exten = 702,1,ParkedCall(702)
And here's the relevant part of my extensions.ael:
context internal {
includes {
parkedcalls; --These two lines are the really
important lines
test; --to make the park orbits work.
}
o = {
goto operator|s|1;
}
voicemail = {
Playback(silence/1);
VoiceMailMain(${CALLERID(num)[EMAIL PROTECTED]);
Hangup;
}
10 = {
Queue (operator|tTnHr|||30);
Voicemail([EMAIL PROTECTED]|u);
Hangup;
}
11 = {
// internal-ext(${EXTEN},SIP/${EXTEN});
Queue (operator|tTnHr|||30);
Voicemail([EMAIL PROTECTED]|u);
Hangup;
}
12 = {
internal-ext(${EXTEN},SIP/${EXTEN});
Hangup;
}
13 = {
internal-ext(${EXTEN},SIP/${EXTEN});
Hangup;
}
14 = {
internal-ext(${EXTEN},SIP/${EXTEN});
Hangup;
}
15 = {
internal-ext(${EXTEN},SIP/${EXTEN});
Hangup;
}
911 = {
Dial(${Trunk}/911,,t);
Hangup;
}
= {
goto admin|s|1;
}
9998 = {
Playback(silence/1);
VoiceMailMain(${CALLERID(num)[EMAIL