Call pickup across asterisk servers


We have a set up with three asterisk servers. Each server is registered to all others and calls are being made from extensions on one server to extensions on the other servers.

This set up has many advantages to us but we have a problem. In one room there are some phones registered to one server (server A) and some phones registered to another server (server B). Is there a way to pickup a phone that is ringing and registered to server A with a phone that is registered to server B.

The phones on the same server are in the same pickup group and call group and can pick each other up with *8. We have tried to use the Pickup() application to pickup phones on different servers.

exten => _**5.,1,Pickup(${EXTEN:2})


exten => _**5.,1,Pickup(${ServerB}/${EXTEN:2})


exten => _**5.,1,Pickup(${EXTEN:2}@remote)

These have been tried on server A where extensions starting with 5 are on server B, the ${ServerB} global variable defines the link to server B, and the ‘remote’ context directs calls starting with 5 to server B


The pickup app has to be issued on the target server. I have had this working successfully on remote servers for customers. But we didn’t worry about groups as it was only limited numbers on the remote server and its directed.

from memory its was

exten => **5.,1,Dial(SIP/serverb/${EXTEN})

then on the remote server the landing context had the pickup

exten => _**5.,1,Pickup(${EXTEN:2})

or the like.

They used to know what extension was ringing as they used FOP to display all the systems on a single screen