/mcpCallState/CallInfo @Refer-to-Target (C) CallState/CallInfo @Referree (B) CallState/CallInfo @Referrer (A) Actions NewCallEvent should be {calling = B, called = C, LRP = A, origCalled = C, reason = REFER} LINECALLSTATE_OFFERING TAPI callInfo dwCallerID = B dwCalledID = C dwRedirectingID = A dwRedirectionID = C dwConnectedID = null dwReason = LINECALL REASON_UNKNOWN with extended REFER dwOrigin = LINECALL ORIGIN_INTERNAL B gets CPIC with (calling = B, called = C, ocdpn = C, LRP = A, reason = REFER, call state = Ringback) TAPI CallInfo dwCallerID = B dwCalledID = C dwRedirectingID = A dwRedirectionID = C dwConnectedID = null dwReason = Direct dwOrigin = LINECALL ORIGIN_INTERNAL A gets LINECALLSTATE_ UNKNOWN | CLDSMT_ CALL_WAITING_STATE with extended reason = REFER TAPI CallInfo dwCallerID = A dwCalledID = B dwRedirectingID = null dwRedirectionID = null dwConnectedID = B dwReason = Direct dwOrigin = LINECALL ORIGIN_INTERNAL (A) initiates REFER (B) to (C) IDLE with reason = Redirect TAPI LINECALLSTATE_IDLE D will get NewCallEvent with reason = Redirect call info same as B’s call info. (calling = B, called = D, ocdpn = C, LRP = C, reason = redirect) Offering/accepted/connected CallPartyInfoChangedEvent @ B with {calling = B, called = D, LRP = C, origCalled = C, reason = Redirect} Callstate = connected TAPI callInfo dwCallerID = B dwCalledID = B dwRedirectingID = C dwRedirectionID = D dwConnectedID = D dwReason = DIRECT dwOrigin = LINECALL ORIGIN_INTERNAL LINECALLSTATE_IDLE with extended reason = REFER (REFER considered as successful when D answers) C Redirects the call to D in offering state, and D answers In-Dialog Refer Where Refer Fails or Refer to Target Is Busy The following table describes the message sequences for the Refer and Replaces scenario of in-dialog refer fails or refer to target is busy. Cisco Unified TAPI Developers Guide for Cisco Unified Communications Manager, Release 15 and SUs 938 Message Sequence Charts In-Dialog Refer Where Refer Fails or Refer to Target Is Busy