Open Source Training Seminar FreePBX Paid Support

Ticket #132 (closed Feature Requests: duplicate)

Opened 3 years ago

Last modified 2 years ago

System-wide speed dials

Reported by: qldrob Assigned to:
Priority: minor Milestone: 2.2
Component: Web interface Version: Eventually
Keywords: Cc:
Confirmation: SVN Revision (if applicable):
Backend Engine: All Backend Engine Version:

Description (Last modified by wozto1s)

Yes, you can do this manually with trunks, but wouldn't
it be nicer to have a simple interface?

Also, you want to be able to put a complete dial string
- eg:

*9[01] Would Dial [*18005558355] through trunk [fwd]
*9[02] Would Dial
[IAX2/guest@switch-3.asterlink.com/996] through trunk
[Direct]

Possibly the javascript experts could make 'through
trunk [xxx]' dissapear if there's a '/' in the string?

Change History

04/30/05 05:14:57 changed by qldrob

Logged In: YES 
user_id=943208

I found this buried in the AAH forums:
[app-system-speeddial]
; *91 <xx> <yyyy> - Set system speed dial <xx> to
digits <yyyy>
; *91 <xx> 0 - Delete system speed dial <xx>
; *91 <xx> - Review system speed dial <xx>
; *1xx - Dial speed dial <xx>
exten => _*91XXX.,1,Answer
exten =>
_*91XXX.,2,DBput(SystemSpeedDial/${EXTEN:2:3}
=${EXTEN:5})
exten => _*91XXX.,3,Wait(1)
exten => _*91XXX.,4,Playback(speed-dial)
exten => _*91XXX.,5,SayDigits(${EXTEN:2:3})
exten => _*91XXX.,6,Playback(has-been-set-to)
exten => _*91XXX.,7,SayDigits(${EXTEN:5})
exten => _*91XXX.,8,Hangup

exten => _*91XX0,1,Answer
exten => _*91XX0,2,DBdel(SystemSpeedDial/${EXTEN:2:3})
exten => _*91XX0,3,Wait(1)
exten => _*91XX0,4,Playback(speed-dial)
exten => _*91XX0,5,SayDigits(digits/${EXTEN:2:3})
exten => _*91XX0,6,Playback(has-been-cleared)
exten => _*91XX0,7,Hangup

exten => _*91XX,1,Answer
exten =>
_*91XX,2,DBget(SystemSpeedDial=SystemSpeedDial/
${EXTEN:2:3})
exten => _*91XX,3,Wait(1)
exten => _*91XX,4,Playback(speed-dial)
exten => _*91XX,5,SayDigits(${EXTEN:2:3})
exten => _*91XX,6,Playback(is-set-to)
exten => _*91XX,7,SayDigits(${SystemSpeedDial})
exten => _*91XX,8,Hangup
exten => _*91XX,103,Playback(speed-dial)
exten => _*91XX,104,SayDigits(${EXTEN:2:3})
exten => _*91XX,105,Playback(is-not-set)
exten => _*91XX,106,Hangup

exten =>
_*1XX,1,DBget(NumberToCall=SystemSpeedDial/${EXTEN:1})
exten => _*1XX,2,Dial(${TRUNKGROUP}/
${NumberToCall},20);
exten => _*1XX,3,Congestion
exten => _*1XX,102,Answer
exten => _*1XX,103,Wait(1)
exten => _*1XX,104,Playback(speed-dial)
exten => _*1XX,105,SayDigits(${EXTEN})
exten => _*1XX,106,Playback(is-not-set)
exten => _*1XX,107,Hangup    

I personally think that a webby interface would be better tho. 
But that's possibly just me.

04/30/05 09:08:24 changed by gregmac

Logged In: YES 
user_id=1174590

It would probably be good to do this anyways, and have the
web interface manage the astdb entries.

Adding entries to speed dial could be done in another
context, and when we redo the users/extensions setup, that
context could be selectable (ie, so only certain users are
allowed to set speed dials).

It may also be nice to have a dial-by-name directory for
speed dials (using agi directory as a base). In that case,
speeddial should be an agi and based out of the mysql
database. The functionality to add/remove speed dials using
*91 etc could be implemented via agi as well.

Another thing would be user vs system speed dials.. do we
support it, or just rely on the phones to manage personal
speed dials (since most phones - espessially voip - have
their own speed dial directory)?

I think personally I'm inclined to say agi, based out of
mysql database, with system-wide speed dials only. 

04/30/05 19:47:57 changed by qldrob

Logged In: YES 
user_id=943208

How does agi, based out of mysql database, with system-wide
speed dials with a per-user override sound?

I threw this together this afternoon, as a break from
documentation. I'm useless at html, so I used ye good old
'insert into speedial (xx,xx,xx)' method of propogation. I'm
sure those that are better at it than I can put a front end
on it.

I think the code's reasonably readable. I didn't think about
it at the time, but, there probably should be an extra
'Description' field in the table, and you may wish to add an
extra d to speedial (two e's next to two d's looked wrong 8-)

For anyone wishing to test, stick this in your
extensions_custom.conf:

exten => _*1.,1,Answer
exten => _*1.,2,AGI(speeddial.agi|${EXTEN:2})
exten => _*1.,3,Hangup


04/30/05 19:52:26 changed by qldrob

Logged In: YES 
user_id=943208

Oh. and it *does* support direct connection dialling.. Line
52 (which I just realised was undocumented) looks for a '/'
in the speeddial (see? it does look funny) and if it finds
one does a 'Dial', '*exact string*', rather than sending it
through [from-internal]

I s'pose I better get back to thinking about how to document
outbound routing now. Sigh.

04/11/06 11:31:20 changed by wozto1s

  • description changed.
  • milestone set to 2.2.

04/15/06 19:13:55 changed by wozto1s

  • owner deleted.
  • status changed from assigned to new.

07/05/06 20:46:58 changed by gregmac

  • status changed from new to closed.
  • resolution changed from None to duplicate.

Superseeded by #1010 and #1011

01/08/07 11:46:44 changed by

  • milestone deleted.

Milestone 2.2 deleted

01/08/07 13:03:16 changed by vgster

  • milestone set to 2.2.
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads