Dial requires an argument (technology/number

I defined macro as “exten => s,1,Dial(${ARG8},20)”, but I am still getting the following error/warning:

Does anyone has a working vice-mail using macro? I am using asterisk 1.6.2.5.

"Executing [s@macro-dial:1] Dial(“SIP/7632679191-00000307”, “”) in new stack
[Feb 23 14:20:17] WARNING[19560]: app_dial.c:1560 dial_exec_full: Dial requires an argument (technology/number)
== Spawn extension (macro-dial, s, 1) exited non-zero on ‘SIP/7632679191-00000307’ in macro ‘dial’
== Spawn extension (voice-mail, 7632679998, 8) exited non-zero on ‘SIP/7632679191-00000307’ "

[voice-mail]
;Voicemail Server number configured on MetaSwitch = 7632679998

exten => _763267ZXXX,1,GotoIf(${RDNIS}?leavemsg:unavail) ;
exten => _763267ZXXX,n(unavail),Wait(1) ;
exten => _763267ZXXX,n,Playback(en/vm-theperson)
exten => _763267ZXXX,n,Playback(en/vm-isunavail)
exten => _763267ZXXX,n(leavemsg),Answer ;
exten => _763267ZXXX,n,Wait(1) ;
exten => _763267ZXXX,n,Playback(en/vm-leavemsg)
exten => _763267ZXXX,n,Macro(dial,SIP/${EXTEN})
exten => _763267ZXXX,n,Hangup

[macro-dial]
exten => s,1,Dial(${ARG8},20)
exten => s,n,VoiceMail(${MACRO_EXTEN})

Debug Output:
linux-q4jkCLI>
== Using SIP RTP CoS mark 5
– Executing [7632679998@voice-mail:1] GotoIf(“SIP/7632679191-00000307”, “?leavemsg:unavail”) in new stack
– Goto (voice-mail,7632679998,2)
– Executing [7632679998@voice-mail:2] Wait(“SIP/7632679191-00000307”, “1”) in new stack
– Executing [7632679998@voice-mail:3] Playback(“SIP/7632679191-00000307”, “en/vm-theperson”) in new stack
– <SIP/7632679191-00000307> Playing ‘en/vm-theperson.gsm’ (language ‘en’)
– Executing [7632679998@voice-mail:4] Playback(“SIP/7632679191-00000307”, “en/vm-isunavail”) in new stack
– <SIP/7632679191-00000307> Playing ‘en/vm-isunavail.gsm’ (language ‘en’)
– Executing [7632679998@voice-mail:5] Answer(“SIP/7632679191-00000307”, “”) in new stack
– Executing [7632679998@voice-mail:6] Wait(“SIP/7632679191-00000307”, “1”) in new stack
– Executing [7632679998@voice-mail:7] Playback(“SIP/7632679191-00000307”, “en/vm-leavemsg”) in new stack
– <SIP/7632679191-00000307> Playing ‘en/vm-leavemsg.gsm’ (language ‘en’)
– Executing [7632679998@voice-mail:8] Macro(“SIP/7632679191-00000307”, “dial,SIP/7632679998”) in new stack
– Executing [s@macro-dial:1] Dial(“SIP/7632679191-00000307”, “”) in new stack
[Feb 23 14:20:17] WARNING[19560]: app_dial.c:1560 dial_exec_full: Dial requires an argument (technology/number)
== Spawn extension (macro-dial, s, 1) exited non-zero on ‘SIP/7632679191-00000307’ in macro ‘dial’
== Spawn extension (voice-mail, 7632679998, 8) exited non-zero on 'SIP/7632679191-00000307’
linux-q4jk
CLI>
linux-q4jk*CLI>

this was previously answered in another thread.

I am still having problem with macro, I am trying to make voice-mail flexible, I would like to leave voice mail without entering any extension, also by dialing *15 would like to access , listen , and delete messages. I upgrade asterisk to 1.8, but I am getting the the following error, I think on my dialing plan I might have incorrect rule. any help would appreciated

Debug output:

Executing [7632679998@voice-mail:1] GotoIf(“SIP/7632679190-0000000f”, “?leavemsg:unavail”) in new stack
– Goto (voice-mail,7632679998,2)
– Executing [7632679998@voice-mail:2] Wait(“SIP/7632679190-0000000f”, “1”) in new stack
– Executing [7632679998@voice-mail:3] Playback(“SIP/7632679190-0000000f”, “en/vm-theperson”) in new stack
– <SIP/7632679190-0000000f> Playing ‘en/vm-theperson.gsm’ (language ‘en’)
– Executing [7632679998@voice-mail:4] Playback(“SIP/7632679190-0000000f”, “en/vm-isunavail”) in new stack
– <SIP/7632679190-0000000f> Playing ‘en/vm-isunavail.gsm’ (language ‘en’)
– Executing [7632679998@voice-mail:5] Answer(“SIP/7632679190-0000000f”, “”) in new stack
– Executing [7632679998@voice-mail:6] Wait(“SIP/7632679190-0000000f”, “1”) in new stack
– Executing [7632679998@voice-mail:7] Playback(“SIP/7632679190-0000000f”, “en/vm-leavemsg”) in new stack
– <SIP/7632679190-0000000f> Playing ‘en/vm-leavemsg.gsm’ (language ‘en’)
– Executing [7632679998@voice-mail:8] Macro(“SIP/7632679190-0000000f”, “dial,7632679998”) in new stack
– Executing [s@macro-dial:1] Dial(“SIP/7632679190-0000000f”, “SIP/{s,20”) in new stack
== Using SIP RTP CoS mark 5
[Feb 28 17:14:37] ERROR[9750]: netsock2.c:245 ast_sockaddr_resolve: getaddrinfo("{s", “(null)”, …): Name or service not known
[Feb 28 17:14:37] WARNING[9750]: chan_sip.c:5057 create_addr: No such host: {s
[Feb 28 17:14:37] WARNING[9750]: acl.c:698 ast_ouraddrfor: Cannot connect
[Feb 28 17:14:37] WARNING[9750]: chan_sip.c:3115 __sip_xmit: sip_xmit of 0xb9f88a8 (len 791) to (null) returned -1: Invalid argument
– Called {s
[Feb 28 17:14:38] WARNING[9414]: chan_sip.c:3115 __sip_xmit: sip_xmit of 0xb9f88a8 (len 791) to (null) returned -1: Invalid argument
[Feb 28 17:14:39] WARNING[9414]: chan_sip.c:3115 __sip_xmit: sip_xmit of 0xb9f88a8 (len 791) to (null) returned -1: Invalid argument
[Feb 28 17:14:41] WARNING[9414]: chan_sip.c:3115 __sip_xmit: sip_xmit of 0xb9f88a8 (len 791) to (null) returned -1: Invalid argument
[Feb 28 17:14:45] WARNING[9414]: chan_sip.c:3115 __sip_xmit: sip_xmit of 0xb9f88a8 (len 791) to (null) returned -1: Invalid argument
== Spawn extension (macro-dial, s, 1) exited non-zero on ‘SIP/7632679190-0000000f’ in macro ‘dial’
== Spawn extension (voice-mail, 7632679998, 8) exited non-zero on ‘SIP/7632679190-0000000f’
[Feb 28 17:14:53] WARNING[9414]: chan_sip.c:3115 __sip_xmit: sip_xmit of 0xb9f88a8 (len 791) to (null) returned -1: Invalid argument
[Feb 28 17:15:09] WARNING[9414]: chan_sip.c:3115 __sip_xmit: sip_xmit of 0xb9f88a8 (len 791) to (null) returned -1: Invalid argument
[Feb 28 17:15:09] WARNING[9414]: chan_sip.c:3386 retrans_pkt: Retransmission timeout reached on transmission 090605245c11b9f759d608ed779d59aa@10.22.60.2:5060 for seqno 102 (Critical Request) – See doc/sip-retransmit.txt.
Packet timed out after 32000ms with no response
linux-q4jk*CLI>

[voice-mail]
exten => _763NXXXXXX,1,GotoIf(${RDNIS}?leavemsg:unavail) ;
exten => _763NXXXXXX,n(unavail),Wait(1) ;
exten => _763NXXXXXX,n,Playback(en/vm-theperson)
exten => _763NXXXXXX,n,Playback(en/vm-isunavail)
exten => _763NXXXXXX,n(leavemsg),Answer ;
exten => _763NXXXXXX,n,Wait(1) ;
exten => _763NXXXXXX,n,Playback(en/vm-leavemsg)
exten => _763NXXXXXX,n,Macro(dial,SIP/${EXTEN})
exten => _763NXXXXXX,n,Hangup

exten => *15,1,VoiceMailMain(s${CALLERID(num)})

exten => 7632679190,1, Macro(dial,SIP/7632679190)
exten => 7632679191,1, Macro(dial,SIP/7632679191)

[macro-dial]
exten => s,1,Dial(SIP/{${EXTEN},20)
exten => s,n,VoiceMail(u${MACRO_EXTEN})

get rid of this. not sure what your trying to do with it…but it conflicts with the two lines below with the matching phone numbers.

[voice-mail]
exten => _763NXXXXXX,1,GotoIf(${RDNIS}?leavemsg) 
exten => _763NXXXXXX,n(unavail),Wait(1) 
exten => _763NXXXXXX,n,Playback(en/vm-theperson)
exten => _763NXXXXXX,n,Playback(en/vm-isunavail)
exten => _763NXXXXXX,n(leavemsg),Answer ;
exten => _763NXXXXXX,n,Wait(1) ;
exten => _763NXXXXXX,n,Playback(en/vm-leavemsg)
exten => _763NXXXXXX,n,Macro(dial,SIP/${EXTEN})
exten => _763NXXXXXX,n,Hangup

since your on 1.8 you have an incorrect line. The option is after the mailbox number now.

exten => *15,1,VoiceMailMain(${CALLERID(num)}@yourvmcontext,s)

if your mailbox is the same number as your extensions, then the below should work. Just pass the extension as an argument to the macro. It can then dial the SIP exension.

exten => 7632679190,1, Macro(dial,${EXTEN})
exten => 7632679191,1, Macro(dial,${EXTEN})

[macro-dial]
exten => s,1,Dial(SIP/${ARG1},20)
exten => s,n,VoiceMail(${ARG1}@yourvmcontext,u)

note the two places it says @yourvmcontext. In your voicemail.conf you created a context (possibly default) and put your voicemail box lines underneath that. That is the context you need to specify here.

If i understand correctly, this is what you recommend me to do, instead of *15, I put the voice-mail server phone number, with this setup, it work like it did originally i.e it play announcement (how many messages I have, play option ( press 3, then 5 to leave a message, follow by entering extension(the phone number of the called party), this is what I am trying to avoid, but so far I failed to avoid it. I am truly appreciate for taking time to respond to my questions, Does it work for with going through all these options?
it may works on Asterisk only, but I am trying to use Asterisk as a voice mail server on Metaswitch.

exten => 7632679190,1, Macro(dial,${EXTEN})
exten => 7632679191,1, Macro(dial,${EXTEN})
exten => 7632679998,1,VoiceMailMain(${CALLERID(num)}@default,s)

[macro-dial]
exten => s,1,Dial(SIP/${ARG1},20)
exten => s,n,VoiceMail(${ARG1}@default,u)

Using SIP RTP CoS mark 5
– Executing [7632679998@voice-mail:1] VoiceMailMain(“SIP/7632679190-00000027”, “7632679190@default,s”) in new stack
– <SIP/7632679190-00000027> Playing ‘vm-youhave.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/2.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-INBOX.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-and.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/1.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-Old.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-message.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-onefor.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-INBOX.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-messages.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-opts.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-leavemsg.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-starmain.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-extension.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/7.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/6.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/3.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/2.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/6.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/7.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/9.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/1.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/9.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘digits/1.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘vm-intro.gsm’ (language ‘en’)
– <SIP/7632679190-00000027> Playing ‘beep.gsm’ (language ‘en’)
– Recording the message
– x=0, open writing: /var/spool/asterisk/voicemail/default/7632679191/tmp/GkdO6R format: wav49, 0xbaf5c58
– x=1, open writing: /var/spool/asterisk/voicemail/default/7632679191/tmp/GkdO6R format: gsm, 0xbaec810
– x=2, open writing: /var/spool/asterisk/voicemail/default/7632679191/tmp/GkdO6R format: wav, 0xbb05698
– User hung up

Hi

Im a bit lost here ith what you are trying to acheive ?

IS IT

you can call an extension , it doesnt answer, so goes to that extensions vmail box ?

and

you dial *15 from a handset and it goes straight into that users mailbox ?

If it is the above they are so trivial i think you have confused your self and us. if its anything diffrerent

clearly put down what it is you are trying to achieve,

Oh and strangly enough DONT post any CODE or DEBUG info, Just describe what yo want to do.

Ian