On Thu, 3 Mar 2016 08:21:14 +0530 Madushan Geethanga <mgliyanage...@gmail.com> wrote:
> Hi > I have to setup call forwarding. How do we setup Call forwarding in > asterisk?. Eg. user dials a number and insert some mobile number for > forwarding and dial another number to cancel the forwarding. thanks a > lot. I implemented this like so in my default context: exten => _*21.,1,Answer() same => n,GotoIf($["${CALLERID(num)}"="<redacted>"]?divert:void) same => n(divert),Set(DB(divert/${CALLERID(num):-4})=${EXTEN:3}) same => n,Gosub(divertactive,1) same => n,Hangup() same => n(void),Gosub(divertvoid,1) exten => _#21,1,Answer() same => n,GotoIf($["${CALLERID(num)}"="<redacted>"]?divert:void) same => n(divert),Verbose(0,${DB_DELETE(divert/${CALLERID(num):-4})}) same => n,Gosub(divertoff,1) same => n,Hangup() same => n(void),Gosub(divertvoid,1) (note: use whatever you need in the GotoIf to validate that the phone the call is from is permitted to set up call forwarding - unless you're allowing it for all that can reach the context) The divert{off,active,void} subroutines are where I handle the announcements - but you could probably easily implement your own. At the top of my [voicemail] context, I do this: exten=>s,1,GotoIf(${DB_EXISTS(divert/${ARG3})}?outbound-standard,${DB_RESULT},1) (ARG3 contains the last four digits of the number the call came to in my case, and a success passes the call via the "outbound-standard" context which is in my dialplan. Your exact requirements may vary but this may help.) -- Phil Reynolds mail: phil-aster...@tinsleyviaduct.com Web: http://phil.tinsleyviaduct.com/ -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users