History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: XCL-98
Type: Bug Bug
Status: Open Open
Priority: Minor Minor
Assignee: Unassigned
Reporter: Andy Jorde
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
sipXtapi: sipXcallLib

Empty SipDialog on CONNECTION_DISCONNECTED under certain circumstances

Created: 2006-05-23 14:06   Updated: 2007-03-17 13:37
Component/s: sipXcallLib
Affects Version/s: None
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: Branch ha_replication (3.0.30)


 Description  « Hide
This condition showed up in the following scenario:

1. Call gets parked
2. Caller loses connection (pull network cable)
3. Executor tries to retrieve call

The DialogEventPublisher sees the disconnect of the executor and tries to remove the dialog from its map, but when calling CallManager::getSipDialog the function does not fail and returns an 'empty' dialog object, i.e. callId and requestUri fields are empty.

The fact that this happens on a failed transfer seems to indicate that dialog data is not set up or copied into the right place under this circumstance.

 All   Comments   Work Log   Change History      Sort Order:
Andy Jorde - 2006-05-24 08:20
One more comment on this issue:

In SipConnection::processReferResponse we set the connection state depending on the response code and then send a CP_TRANSFER_CONNECTION message which eventually ends up in CpPeerCall::handleTransferConnectionStatus. That function then calls

connection->transferControllerStatus(connectionState, cause);

which in turn ends up in SipConnection again:

UtlBoolean SipConnection::transferControllerStatus(int connectionState, int response)
{
    // It should never get here
    unimplemented("SipConnection::transferControllerStatus");
    return(FALSE);
}

Lih-Shyng Tzeng - 2007-03-17 13:37
Downgraded this to Minor since no one has worked on this for almost one year and call parker server has been rewritten.