Problem using Realtime extensions and Macros

I am having a problem using macros with Realtime extensions. my configuration worked perfectly in Asterisk 1.4 but then I upgraded to 1.6 and experienced this problem.

Here’s how my extensions table in mysql is setup

id context exten priority app appdata 1 phones 1006 1 Macro callnow|SIP/1006

Here’s my extensions.conf

switch => Realtime/@

exten => s,1,Dial(${ARG1},60)
exten => s,n,GoToIf($[${DIALSTATUS} = CHANUNAVAIL]?unavail)
exten => s,n,GoToIf($[${DIALSTATUS} = BUSY]?busy)
exten => s,n(unavail),VoiceMail(${ARG1}@voicemail,u)
exten => s,n,GoTo(s,hangup)
exten => s,n(busy),VoiceMail(${ARG1}@voicemail,b)
exten => s,n,GoTo(s,hangup)
exten => s,n(hangup),Hangup()

Could someone help me with this? I must be doing something wrong. Are macros done differently on Asterisk 1.6?


Ooops… I forgot to mention what error I was getting.

When I make a call to the SIP extension 1006, CLI returns the following error:


Shouldn’t it be
exten => s,1,Dial(SIP/${ARG1},60) or something like that ?

I found I had to use the old comma-seperated parameters in the DB

e.g. Macro(callnow,SIP/1006) instead of callnow|SIP/1006

This is despite other applications requiring the | syntax :confused: