Dial Application - Different Syntax Question

I’ve seen a couple different ways that Dial() has been laid out in both test and production dialplans. I wanted to ask some of the more versed users here to explain the differences and when/where each, or both, is appropriate.

The fundamental definition of the syntax from the O’Reilly book states:
Dial(technology/user[]@remote_host[:port][/remote_extension])

Let’s say in sip.conf I have a context [test] and I want a particular extension to dial out to this. I have seen the following two representations:

Dial(SIP/{EXTEN}@test)
Dial(SIP/test/${EXTEN})

I will say, in my own dialplans, I have only used the first case without issue for calls to a remote host. I have used the second case structure for TDM calls when using a DAHDI T1/E1 card, for example Dial(DAHDI/g1/${EXTEN}).

Thanks in advance!

These 2 are diffents syntax but the final result is the same.

[quote]Dial(SIP/{EXTEN}@test)
Dial(SIP/test/${EXTEN})
[/quote]

Also check
SIP dial strings

In the dialplan (extensions.conf) you can use several
syntaxes for dialing SIP devices.
SIP/devicename
SIP/username@domain (SIP uri)
SIP/username[:password[:md5secret[:authname[:transport]]]]@host[:port]
SIP/devicename/extension
SIP/devicename/extension/IPorHost
SIP/username@domain//IPorHost