return true if this is exactly the same invite (not a re-invite) as the one we have stored */
| 1291 | |
| 1292 | /* return true if this is exactly the same invite (not a re-invite) as the one we have stored */ |
| 1293 | bool SipBase::sameInviteOrMessage(SipMessage * msg) |
| 1294 | { |
| 1295 | ScopedLock lock(mDialogLock,__FILE__,__LINE__); // probably unnecessary. |
| 1296 | assert(getInvite()); |
| 1297 | if (NULL == msg){ |
| 1298 | LOG(NOTICE) << "trying to compare empty message" <<sbText(); |
| 1299 | return false; |
| 1300 | } |
| 1301 | // We are assuming that the callids match. |
| 1302 | // Otherwise, this would not have been called. |
| 1303 | // FIXME -- Check callids and assrt if they down match. |
| 1304 | // So we just check the CSeq. |
| 1305 | // FIXME -- Check all of the pointers along these chains and log ERR if anthing is missing. |
| 1306 | return sameMsg(msg,getInvite()); |
| 1307 | } |
| 1308 | |
| 1309 | // Only the SipMTInviteServerTransactionLayer and SipMOInviteClientTransactionLayer are allowed to call |
| 1310 | // the underlying sipWrite method directly for the invite transactions. |