We have three Asterisk servers, one in a co-location and one at each of two offices. IAX2 trunks are set up between the three boxes.
Incoming calls are answered at the colo box, then passed to whichever office box is required using a Dial command in the dialplan, eg:
My understanding is that the colo Asterisk box should be able to transfer the call to the office box, so that the call path changes from:
IAX Provider -> Colo -> Office
IAX Provider -> Office
However, we can’t seem to get this to work. I’ve tried setting “transfer=yes” and “transfer=mediaonly” in iax.conf on the colo and office boxes, and I’ve also tried setting “trunk=yes” and “trunk=no”, though I’m not sure if that’s relevant.
The following appears in the asterisk console when the call is sent to the office Asterisk:
-- IAX2/iax13-3324 requested special control 20, passing it to IAX2/stafford-18496 -- IAX2/iax13-3324 requested special control 20, passing it to IAX2/stafford-18496 -- IAX2/stafford-18496 answered IAX2/iax13-3324 -- Channel 'IAX2/iax13-3324' unable to transfer -- Channel 'IAX2/iax13-3324' unable to transfer -- Channel 'IAX2/stafford-18496' unable to transfer
Can anyone tell me what’s likely to be wrong, or suggest where else to look? We do have firewalls in place at both the colocation and the offices. Port 4569 is open on all three Asterisk servers, and as far as I can see, that’s the only port that IAX uses. Does it use another port when doing a transfer?
Edited to add: Asterisk version is Asterisk 1.8.4