[asterisk-users] call forward all except the extension it is forwarded to
Vieri
rentorbuy at yahoo.com
Wed Feb 11 07:53:42 CST 2009
--- On Wed, 2/11/09, Vieri <rentorbuy at yahoo.com> wrote:
> > >> I would like to know if I can set Call
> Forwarding
> > on an extension but allow direct calls from the
> extension it
> > is forwarded to.
> > >>
> > >> Example:
> > >> Extension 100 sets call forwarding (all) to
> > extension 101.
> > >> All calls to 100 are immediately forwarded to
> 101
> > as expected.
> > >> However, if 101 tries to transfer a call to
> 100 or
> > tries to call 100 directly, it sounds "busy"
> > because it obviously goes into a loop where 101 tries
> to
> > call itself.
> > >> How do I set an "exception" so that
> 101
> > can actually call 100 even if the latter is forwarded
> to
> > 101?
> >
> > > Use the "if" statement.
> > >
> > > 100 => {
> > > if ("${CALLERID(num)}" =
> "101") {
> > > // call 100
> > > Dial(SIP/100);
> > > }
> > > else {
> > > // forward to 101
> > > Dial(Local/101);
> > > }
> > > }
> >
> > Or use Caller ID matching:
> >
> > 100/101 => {
> > // caller is 101
> > Dial(SIP/100);
> > }
> > 100 => {
> > // for other callers
> > Dial(Local/101);
> > }
>
> I hacked the dialparties.agi script in freepbx and now it
> works for direct calls but fails for blind transfers,
> probably because I need to check another variable such as
> BLINDTRANSFER. Attended transfers seem to work.
What is the "best" way to get the extension number of the user who is making a blind transfer?
I'm using Set(RETURN_EXT=${BLINDTRANSFER:4:4})
but that assumes that I have only 4-digit extensions and all have the same prefix (SIP/).
Is there a more "portable" way?
More information about the asterisk-users
mailing list