Asterisk Transfer command

I’m experimenting transferring calls from one Asterisk server to another. Currently, when a call comes in from server A, server B answers as expected. Server stays in-path. That is because I’m using the dial command. So:

Server A - extensions.conf:

exten => 123,1,Dial(SIP/*43@,10,r) exten => 123,n,Hangup()

I get the intended result. Server B states:

[quote]-- Executing [*43@ext-featurecodes:1] Goto(“SIP/from-simon-00000001”, “from-internal,*43,1”) in new stack
– Goto (from-internal,*43,1)[/quote]

Everything is fine but server A doesn’t need to do anything during the call so I thought I’d change the extension to:

Server A - extensions.conf:

exten => 123,1,Transfer(SIP/*43@ exten => 123,n,Hangup()

This doesn’t work because server B puts the call in the context from-sip-external. Server B states:

[quote]-- Executing [*43@from-sip-external:1] NoOp(“SIP/”, “Received incoming SIP connection from unknown peer to *43”) in new stack
– Executing [*43@from-sip-external:2] Set(“SIP/”, “DID=*43”) in new stack
– Executing [*43@from-sip-external:3] Goto(“SIP/”, “s,1”) in new stack[/quote]

I wonder if someone could explain to me why, when I dial, the peer is found but when I transfer it is not. And what should I do about it?

Many thanks :smiley: