I have thsi code in a dial plan. The purpose of which is to set
distinctive ring tones for internal and transferred calls.
exten => _.,1,Noop(CALLERID_ALL=${CALLERID(all)})
exten => _.,n,Set(CallerIDNum=${CALLERID(num)})
; This just shows a list of interesting variables and their values
; Comment it out when finished debugging
;include => macro-dumpvars
;exten => _.,n,Macro(dumpvars)
exten => _417XX,n,Set(AlertSnom=<http://www.notused.com>\;info=)
; alert-external, alert-group and alert-internal are
; Snom predefined values.
exten => _417XX,n,Set(AlertExternalCall=alert-external)
; alert_internal_call and alert_internal_transfer are
; locally customised values
exten => _417XX,n,Set(AlertInternalCall=alert_internal_call)
exten => _417XX,n,Set(AlertInternalTransfer=alert_internal_transfer)
exten => _417XX,n,Set(__ALERT_INFO=${AlertSnom}${AlertInternalTransfer})
exten => _417XX,n,GotoIf(
$[$["${CallerIDNum}" > "41799"] |
$["${CallerIDNum}" < "41700"]]?notfromlocal:)
exten => _417XX,n,Set(__ALERT_INFO=${AlertSnom}${AlertInternalCall})
This works for internal calls but not transfers and it only works at
all only because of the fall through structure. It contains this
error that I do not understand:
-- Executing [41720 at from-internal:1] NoOp("SIP/41712-00000548",
"CALLERID_ALL="James B Byrne" <41712>") in new stack
-- Executing [41720 at from-internal:2] Set("SIP/41712-00000548",
"CallerIDNum=41712") in new stack
-- Executing [41720 at from-internal:3] Set("SIP/41712-00000548",
"AlertSnom=<http://www.notused.com>;info=") in new stack
-- Executing [41720 at from-internal:4] Set("SIP/41712-00000548",
"AlertExternalCall=alert-external") in new stack
-- Executing [41720 at from-internal:5] Set("SIP/41712-00000548",
"AlertInternalCall=alert_internal_call") in new stack
-- Executing [41720 at from-internal:6] Set("SIP/41712-00000548",
"AlertInternalTransfer=alert_internal_transfer") in new stack
-- Executing [41720 at from-internal:7] Set("SIP/41712-00000548",
"__ALERT_INFO=<http://www.notused.com>;info=alert_internal_transfer")
in new stack
-- Executing [41720 at from-internal:8]
GotoIf("SIP/41712-00000548",
"") in new stack
== Extension Changed 41712[ext-local] new state InUse for Notify
User 41714
[2013-07-24 09:50:42] WARNING[10630][C-00006b44]: pbx.c:11544
pbx_builtin_gotoif: Ignoring, since there is no variable to check
[2013-07-24 09:50:42] WARNING[10630][C-00006b44]: pbx.c:11544
pbx_builtin_gotoif: Ignoring, since there is no variable to check
-- Executing [41720 at from-internal:9] Set("SIP/41712-00000548",
"__ALERT_INFO=<http://www.notused.com>;info=alert_internal_call")
in new stack
-- Executing [41720 at from-internal:10]
Goto("SIP/41712-00000548",
"from-internal-original-override,41720,1") in new stack
-- Goto (from-internal-original-override,41720,1)
So my question is simple. What error in syntax have I committed here?
I expect that CallerIDNum == 41712 in the check:
exten => _417XX,n,GotoIf(
$[$["${CallerIDNum}" > "41799"] |
$["${CallerIDNum}" < "41700"]]?notfromlocal:)
But I am getting a message say there is no variable to check. So what
I have done that is wrong?
--
*** 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
In article <e31f701f427b0d2f49c266511b01abca.squirrel at webmail.harte-lyne.ca>, James B. Byrne <byrnejb at harte-lyne.ca> wrote:> I have thsi code in a dial plan. The purpose of which is to set > distinctive ring tones for internal and transferred calls. > > > exten => _.,1,Noop(CALLERID_ALL=${CALLERID(all)}) > > exten => _.,n,Set(CallerIDNum=${CALLERID(num)})I believe _. is frowned upon because it can potentially match h, i, and so on. Use _X. instead, or just the full pattern of _417XX> > exten => _417XX,n,GotoIf( > $[$["${CallerIDNum}" > "41799"] | > $["${CallerIDNum}" < "41700"]]?notfromlocal:) > > But I am getting a message say there is no variable to check. So what > I have done that is wrong?Is that step split into three lines in your dialplan? I think you might need to put it all on a single line. Cheers Tony -- Tony Mountifield Work: tony at softins.co.uk - http://www.softins.co.uk Play: tony at mountifield.org - http://tony.mountifield.org
Additional data:
Arch = x86_64
OS = CentOS-6.4 (freepbx)
Asterisk = 11.4
FreePBX = 2.11.0.4
-------------------------- Original Message --------------------------
Subject: What is my syntax error here?
From: "James B. Byrne" <byrnejb at harte-lyne.ca>
Date: Wed, July 24, 2013 10:08
To: asterisk-users at lists.digium.com
----------------------------------------------------------------------
I have thsi code in a dial plan. The purpose of which is to set
distinctive ring tones for internal and transferred calls.
exten => _.,1,Noop(CALLERID_ALL=${CALLERID(all)})
exten => _.,n,Set(CallerIDNum=${CALLERID(num)})
; This just shows a list of interesting variables and their values
; Comment it out when finished debugging
;include => macro-dumpvars
;exten => _.,n,Macro(dumpvars)
exten => _417XX,n,Set(AlertSnom=<http://www.notused.com>\;info=)
; alert-external, alert-group and alert-internal are
; Snom predefined values.
exten => _417XX,n,Set(AlertExternalCall=alert-external)
; alert_internal_call and alert_internal_transfer are
; locally customised values
exten => _417XX,n,Set(AlertInternalCall=alert_internal_call)
exten => _417XX,n,Set(AlertInternalTransfer=alert_internal_transfer)
exten => _417XX,n,Set(__ALERT_INFO=${AlertSnom}${AlertInternalTransfer})
exten => _417XX,n,GotoIf(
$[$["${CallerIDNum}" > "41799"] |
$["${CallerIDNum}" < "41700"]]?notfromlocal:)
exten => _417XX,n,Set(__ALERT_INFO=${AlertSnom}${AlertInternalCall})
This works for internal calls but not transfers and it only works at
all only because of the fall through structure. It contains this
error that I do not understand:
-- Executing [41720 at from-internal:1] NoOp("SIP/41712-00000548",
"CALLERID_ALL="James B Byrne" <41712>") in new stack
-- Executing [41720 at from-internal:2] Set("SIP/41712-00000548",
"CallerIDNum=41712") in new stack
-- Executing [41720 at from-internal:3] Set("SIP/41712-00000548",
"AlertSnom=<http://www.notused.com>;info=") in new stack
-- Executing [41720 at from-internal:4] Set("SIP/41712-00000548",
"AlertExternalCall=alert-external") in new stack
-- Executing [41720 at from-internal:5] Set("SIP/41712-00000548",
"AlertInternalCall=alert_internal_call") in new stack
-- Executing [41720 at from-internal:6] Set("SIP/41712-00000548",
"AlertInternalTransfer=alert_internal_transfer") in new stack
-- Executing [41720 at from-internal:7] Set("SIP/41712-00000548",
"__ALERT_INFO=<http://www.notused.com>;info=alert_internal_transfer")
in new stack
-- Executing [41720 at from-internal:8]
GotoIf("SIP/41712-00000548",
"") in new stack
== Extension Changed 41712[ext-local] new state InUse for Notify
User 41714
[2013-07-24 09:50:42] WARNING[10630][C-00006b44]: pbx.c:11544
pbx_builtin_gotoif: Ignoring, since there is no variable to check
[2013-07-24 09:50:42] WARNING[10630][C-00006b44]: pbx.c:11544
pbx_builtin_gotoif: Ignoring, since there is no variable to check
-- Executing [41720 at from-internal:9] Set("SIP/41712-00000548",
"__ALERT_INFO=<http://www.notused.com>;info=alert_internal_call")
in new stack
-- Executing [41720 at from-internal:10]
Goto("SIP/41712-00000548",
"from-internal-original-override,41720,1") in new stack
-- Goto (from-internal-original-override,41720,1)
So my question is simple. What error in syntax have I committed here?
I expect that CallerIDNum == 41712 in the check:
exten => _417XX,n,GotoIf(
$[$["${CallerIDNum}" > "41799"] |
$["${CallerIDNum}" < "41700"]]?notfromlocal:)
But I am getting a message say there is no variable to check. So what
I have done that is wrong?
--
*** 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
--
*** 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