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