[Asterisk-Users] Feedback needed! FindMe/FollowMe Feature Spec.
Brett Nemeroff
brett at utex.net
Thu Jun 3 11:23:59 MST 2004
Hi Brian,
I think this is good that you are doing this; it's a much desired
features. Here are some ideas. Some of which will need to be handled by
some ancillary plug ins.
1. Ability to configure both serial and parallel follow me calls. (see
example)
2. Ability to configure ring seconds for each 'leg' of the followme
circuit
3. Ability to announce call to caller. "This is a follow me call for
'sipuser' push X to accept". User would dial 1 and call would be
connected. If user dials something else (?) or hangs up, call continues
followme patter (caller continues to hear ring or music)
4. Ability to configure if a password is required to connect the call.
Rational here (and can be applied to 2 as well) is this. I use forward
me to many locations. Some of them may not be 'my' phone. Lets say, I'm
in someone elses office I work in frequently. I want the call 1)to be
announced as being for me, and 2) the option to NOT allow anyone but me
accept the call. Seems that the VM password may be good to use here, but
perhaps an override password would be good if there is a separate config
anyway
5. Ability to configure if caller hears rings,music, or a custom
announcement ("Hi this is Brett, please wait while I am located") during
find me operation. Perhaps
6. Ability for the caller to 'break' the followme application. For
example, "Hi this is Brett, please wait while I am located. Press # to
leave a voicemail or 0 to speak to an operator". This is probably best
suited as an option to pass to the application itself: Exten =>
FollowMe(${CONTEXT}${EXTEN},#0) BTW, have a better suggestion than
${CONTEXT}${EXTEN} for multi-tenant configurations?
7. Perhaps have a "ring indefinate" option somewhere too... This may be
a bad reason for billing, security, DOS, etc..
8. Time of day controls!!! Follow me differently on the weekend! Don't
follow me during the workday.
9. Web based follow me setting.
10. Phone based followme setting.
11. A system to override current follow me setting. Two ways of doing
this. One would be a permanent change to follow me settings and
schedule. Ie. I don't care what time of day controls say, use my
"BrettWeekend" schedule. This would be like if the office is closed for
a week for the holidays. Or the other would be a temporary change until
the next timeperiod is met (similar to chaging the temp on a
programmable thermostat). An example here is, I'm leaving work early,
set my Active Schedule to "BrettAfterWork" now. Then when it's time for
"BrettDaytime" to go into effect, it takes back over as usual.
I've implemented follow me systems before, so I've thought about this a
lot. Below is a sample config I could imagine
Example for your config file:
Followme.conf (?) forgive 'pseudo-config' like structures. Please
recommend alternatives if desired.
[sipuser]
; Priority => Extension,Ring Seconds,Announce,Password
; Note: 1 => 7135551212,10,0,1 would probably be confusing and
undesireable
; Ringtype = Music, Ring, or Custom(${soundfile}, <Repeat>) <Repeat>=1/0
; Ringtype can be at top for default option or in each timeperiod
; Timeperiod = Defined call period in conf file general section or time
range in some format, cron style?
; VMExt = The voicemail extension in the present context
Ringtype => Music
VMExt => 6000
ScheduleName => BrettDaytime
Timeperiod => Daytime
1 => 7135551212,10,1,1
2 => 7135551213,10,1,1
3 => 7135551214,10,0,0
3 => 7135551215,10,1,0
4 => ${VMExt},0,0,0
ScheduleName => BrettOther
Timeperiod => Other
1 => 7135551215,10,1,0
2 => ${VMExt},0,0,0
What do you think?
-----Original Message-----
From: asterisk-users-admin at lists.digium.com
[mailto:asterisk-users-admin at lists.digium.com] On Behalf Of Brian D'Arcy
Sent: Tuesday, June 01, 2004 2:15 PM
To: asterisk-users at lists.digium.com
Subject: [Asterisk-Users] Feedback needed! FindMe/FollowMe Feature Spec.
Hello all,
I'm going to tackle learning C this week, and start writing my first *
add-on/contribution; assuming it's actually worthy of contributing once
it's done.. I think I've chosen a hefty project for my first go round
here...
I'd like to get some feedback from everyone on a FindMe/FollowMe spec
I've put together. Before you read on, let me say, I don't want this to
turn into a "it would be cool if it did this.., or that etc..". I'm
writing this to serve a very simple and basic function, and I want it to
do exceedingly well at just that for starters.
Please check out specs below as to how I envision it working within a
dialplan environment, and also, please keep in mind this is being
written to be used in a corporate environment. There are a lot of
others out there with far more * experience than myself, so any
constructive criticism would be most welcome as to the layout and
configuration of the soon to be app_findme.
Thanks!
Spec for app_findme
Have a .conf file (findme.conf?) which contains multiple contexts, each
context's name should match the naming convention used with sip, or
iax.conf. For example, if I have [bdarcy] as one of my sip peer
entries, in findme.conf I would have, [bdarcy] also listed as an entry.
Values within each entry would be labeled something like,
[bdarcy]
ExternalNum1: 91235551212
ExternalNum2: 91235551213
etc...
app_findme would be used as the unavailable behaviour within the
dialplan (or could be used in both unavailable and busy), for example
[macro-stdexten]
exten => s,1,Wait(1)
exten => s,2,Dial(${ARG2},20,tTr)
exten => s,3,FindMe(${ARG2})
exten => s,4,Voicemail(u${ARG1})
exten => s,5,Wait(4)
exten => s,6,Hangup
exten => s,104,Voicemail(b${ARG1})
exten => s,105,Wait(2)
exten => s,106,Hangup
As the default unavailable behaviour, it always tries the findme
application, if no entries for this person exist in findme.conf, it
continues on in the dialplan, and hits the unavailable voicemail. If
entries are found:
Call gets answered, caller hears:
"Hello, please wait while I try and find the person you are calling.
(MOH)" Every 10 seconds play to the caller: "Still trying to find this
person, please wait.."
Callee answers, app_findme says: "There is a call for you from (CIDNum),
to accept this call, press *, otherwise press #, or hangup." If I press
*, the caller hears, I have found this person, connecting you now.."
Caller hears: "I have found this person for you, connecting you now.."
If # is pressed, the callee hangs up, or it never receives the *
confirmation tone, the caller hears: "Sorry, I was unable to find this
person for you." and +101's the priority sending them into the busy
voicemail.
I look forward to hearing back from everyone on this. I'm really
excited to start learning, and feedback from the community will help
motivate me, while also ensuring I don't shelve this project just to
play some XBOX and drink some beer during my free time!
Brian D'Arcy
_______________________________________________
Asterisk-Users mailing list
Asterisk-Users at lists.digium.com
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
More information about the asterisk-users
mailing list