Hello all,
I'm having problems with attended transfer in certain scenarios. Let me first try to
document the relevant parts of the setup:
There are two load-balanced Asterisk gateways connected to the old Nortel system.
Currently, PSTN connections are done by Nortel. We then have two load-balanced kamailio
servers. The phones are connected to these. There are several other servers not relevant
to this question.
Blind transfer works in any scenario. I've been told that attended transfer works in
any scenario if the original call is SIP to SIP. If the original call is from Nortel/PSTN
to SIP, then attended transfer will usually not work.
Scenarios:
A call comes in from Nortel/PSTN (user A) through Nortel1 to a SIP device (user B). User B
pushes the transfer button (puts current call on hold and makes a new call) and dials a
Nortel / PSTN number to user C. This call goes out through the nortel2 server. Users B and
C talk a short while before user B pushes the Transfer button again to connect users A and
C. In this scenario, the REFER is forwarded by kamailio to nortel1, which replies
"SIP/2.0 481 Call leg/transaction does not exist." The call to join is of course
on the other asterisk (nortel2).
A similar scenario is where user B transfers to another SIP user. This call will only
exist in one of the kamailio servers, and Asterisk will give the same response to the
REFER.
A third scenario is where both calls are handled by the same Asterisk server. This
scenario works.
I'm assuming I'll have to build REFER-handling logic into kamailio, but am unsure
of how to proceed. Any suggestions?
Thanks in advance.
With kind regards,
Pan