[asterisk-users] Guidence in DialPlan programming.

James B. Byrne byrnejb at harte-lyne.ca
Fri Mar 6 12:32:05 CST 2015


I am dealing with a FreePBX generated dialplan.  I have been following
the processing traces attempting to make use of the advice I received
here respecting setting a custom ring tone.   I have discovered that
the context I am using for incoming calls is not used at all during a
blind transfer.  Thus setting a third ring tone for that situation
inside that context is an impossibility.

I know now what I need to do and possibly where I need put it.  What I
wish is some guidance on how to properly return from my custom code
without damaging the dialplan elsewhere.

Here is the situation:

In extensions.conf I see this:
;---------------------------------------------------------------------
;---------------------------------------------------------------------

; Internal dialplan that most internal phones have access to
;
[from-internal]
include => from-internal-noxfer
include => from-internal-xfer
include => bad-number ; auto-generated
;---------------------------------------------------------------------
;---------------------------------------------------------------------
; from-internal-noxfer:
;
; Place to put internal dialplan that should not be accessible
; during a blind transfer, this context will not be visible
; during such.
;
[from-internal-noxfer]
include => from-internal-noxfer-custom
include => from-internal-noxfer-additional ; auto-generated
;---------------------------------------------------------------------
;---------------------------------------------------------------------
; from-internal-xfer:
;
; Place to put most internal dialplan, will be visible during
; normal calls and blind transfers.
;
[from-internal-xfer]
include => from-internal-custom
include => from-internal-additional ; auto-generated
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
;---------------------------------------------------------------------
;---------------------------------------------------------------------




If a call is placed by a local extension then context
[from-internal-noxfer] is used.  If a blind transfer is performed the
context is [from-internal-xfer].  What I am considering is placing the
following code in extensions-custom.conf:



[from-internal-custom].
exten => _X,1,Noop()
exten => _X,n,Set(AlertSnom=<http://www.notused.com>\;info=)
exten => _X,n,Set(AlertInternalTransfer=alert_internal_transfer)
exten => _X,n,Set(__ALERT_INFO=${AlertSnom}${AlertInternalTransfer})

exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)



My question is: are the last two lines the correct method of returning
from this back to extensions.conf?  Is there something else I should
use?  At them moment I just want to know how to properly and safely
return to the original referring context ([from-internal-xfer]).

-- 
***          E-Mail is NOT a SECURE channel          ***
James B. Byrne                mailto:ByrneJB at Harte-Lyne.ca
Harte & Lyne Limited          http://www.harte-lyne.ca
9 Brockley Drive              vox: +1 905 561 1241
Hamilton, Ontario             fax: +1 905 561 0757
Canada  L8E 3C3




More information about the asterisk-users mailing list