Custom extension to dial external number loops back to calling extension

I have created a custom extension to dial an external number, I have used the following dial command in the custom extension…

Local/number@from-internal

When I dial the custom extension from extension 3000 I get the following output…


– Executing [s@macro-dialout-trunk:22] GotoIf(“Local/number@from-internal-00000001;2”, “0?customtrunk”) in new stack
– Executing [s@macro-dialout-trunk:23] Dial(“Local/number@from-internal-00000001;2”, “SIP/sip provider/number,300,Tt”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/provider/number
– SIP/provider-00000005 is making progress passing it to Local/number@from-internal-00000001;2
– Local/number@from-internal-00000001;1 is making progress passing it to SIP/3000-00000004
== Everyone is busy/congested at this time (1:0/0/1)

When I directly dial the external number from extension 3000 I get the following output…

– Executing [s@macro-dialout-trunk:22] GotoIf(“SIP/3000-00000002”, “0?customtrunk”) in new stack
– Executing [s@macro-dialout-trunk:23] Dial(“SIP/3000-00000002”, “SIP/provider/number,300,Tt”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/provider/number
– SIP/provider-00000003 answered SIP/3000-00000002

For some reason the route through the custom extension ends up wrapping around and trying to call extension 3000 which is why it disconnects with a busy signal since 3000 is the extension I initiated the call from. Any idea why there is this loop happening when using the custom extension?

I would setup virtual extension with FollowMe instead.
There are other options available - phonebook speed dial, misc app + misc destination.

I use “Miscellaneous Destinations” for this kind of application. That way, I can do all kinds of hinky things to it and filter the strange out on the outbound route (#414414141#number to guarantee a specific outbound route and trunk, for example). It also makes it reasonably easy to get to the number by a more symbolic name (in case you want to use it as a destination for another function, likfe SetCallerID() or at Inbound Route).